Haskell

Friday Round-Up: 6 – 9 May

blog-post-6-9-may

Here’s what you may have missed at Skills Matter this week!


The Week in Skillscasts

Every week we record the majority of meetups and user groups that come to our offices in London for evening events and talks. These are our Skillscasts – and their all available for free on Skillsmatter.com!

blog-post-6-9-may-2

The London Clojure Community came along to Skills Matter HQ on Tuesday with three fantastic speakers around the topic of Robots, Haskell & Hedge Funds. The evening took the community through topics like DSL and Haskell, with the aim of leaving us better Clojure programmers.

Patrik Sundberg looked at running a hedge fund in Clojure as he presented a case study of a commodity hedge fund making the unusual choice of building their own infrastructure in Clojure. Patrik presented his road to Clojure, how it came to shape a business infrastructure, what it was used for and the lessons learnt in the process.

Dave Snowdon then explored robot control in Clojure as he outlined a small DSL written in Clojure that aims to make it possible to generate animations in a more readable way.

Fianlly, Bodil Stokke looked at Haskell for Clojurists. The talk explained that for Clojure to retain its competitive edge it’s imperitive to keep a healthy interest in the whole field of computer science – especially Haskell, a close cousin to Clojure.

Wednesday brought the London Java Community for a talk on Cloud Developer’s DHARMA. Daniel Bryant looked to redefine ‘done’ for Cloud applications, as he looked at lessons from both a theoretic and practical perspective built from the Cloud Developer’s ‘DHARMA’ rules – Documented (just enough); Highly cohesive/loosely coupled (all the way down); Automated from code commit to cloud; Resource aware; Monitored thoroughly; and Antifragile.

Also on Wednesday, Farid Tejani, Managing Partner at Ignitr consulting, looked at overcoming the challenges to Lean/Agile adaoption in the finance industry for an In The Brain talk. Farid discussed some of the tests people face within Finance and how they manifest themselves and explore how they might be overcome.

Finally, the F#unctional Londoners came on Thursday with Ben Hall to explore using F# to model how physics and biology create organs. This fascinating talk showed how Ben took advantage of different features of F# and other tools to understand the results of a hybrid simulator in F# which allows us to explore how stem cells grow in an organ, and how breakdowns can lead to cancer growth.


The Week in Blog

Crafting Games for Fun and Profit – a guest post from Jonathan Frawley; While It’s Compiling with Cate Huston


Next Week in Brief

Monday: Learning to Code, How to win developers and Deprecating ActiveResource (with the London Ruby User Group); Intro to programming using Python (part 1)

Tuesday: A discussion on Meteor with London AjaxModels of Automation and Automating Google Analytics tracking (with London Selenium)Scalable Real-time Analytics with Storm Trident

Wednesday: CQRS & Scala + Spoiwo with London Scala Users’ Group

This Week at Skills Matter: 28 April – 2 May

Here’s what’s coming up at Skills Matter this week!

in_the_brain_05122013_luke_hohmann_007

Luke Hohmann

Monday:

We have a fantastic kick off to the week today, with three In The Brain talks from some amazing experts:

Adam Gundry, Haskell Consultant for Well-Typed LLP, will be delivering a talk dedicated to employing Haskell records successfully within large projects. He will explain how he has extended Haskell to overcome common frustrations with records. Adam completed a PhD in 2013 on combining Haskell with dependent types, and is a seriously keen Haskell programmer.

Next up, Luke Hohmann will reveal how his team at The Innovation Games Company have been working with organisations to transform the retrospective process, using collaboration games to maximise the wisdom of the entire organisation and improve enterprise retrospectives to work. Luke is the founder and CEO of The Innovation Games Company, author of three books, and has studied not only data structures and artificial intelligence, but cognitive psychology and organisational behaviour. His playfully diverse background and life experience have uniquely prepared him to design and produce serious games!

Last (but certainly not least!) Shashikant Jagtap will tackle Behaviour Driven Design. His talk will show how using Headless browsers like PhantomJS and Zombie, can actually speed up the entire BDD process, making running scenarios easier to maintain and less time consuming.

Shashikant has been working in the Agile BDD environment as Developer in Test for the last few years with massive interest in BDD tools. He has explored BDD tools like Behat & Cucumber and integrated them with open source tools to use in test automation. He last spoke at CukeUp! 2014 in London on Headless BDD & Responsive Test Automation, and we’re delighted to have him back!

Tuesday:

We host a performance and predictability special from the London Java Community on Tuesday, where Richard Warburton will be informing attendees why access platforms are important and what kind of speed you can gain with them. He will discuss how you can write simple high level code which works well with these kind of patterns.

Wednesday:

Neo4J return with an evening based on graphs from the worlds of gaming and recruitment. Mark Wright and Yan Cui will cover topics from building your own private social network using Neo4J, to overcoming the challenges of modelling and balancing the economy of a large-scale game.

The MEAN Stack User Group join us for the first time to discuss Forms Angular – a simple framework built on top of the MEAN stack that enables you to generate forms super quickly. Mark Chapman will show how he used MEAN stack to build forms-angular while Tamas Piros will walk through how to use geospatial data with MongoDB.

Thursday:

The Functional Londoners will be here for a hands-on session with Michael Newton who will provide expert advice on how to construct and hack providers already out there. This will then leave you with the opportunity to create your own first type provider or hack some of the excellent open source providers that already exist.

Codebar, who are also joining us this week for the first time, will be aiming to make the tech scene more diverse by making the jump into coding just that little bit easier. The night will consist of talks that will answer important questions for beginners, introducing attendees to programming and its importance to the real-life stories and struggles of becoming a software developer.

And finishing off the week, the London Java Community will be back with a talk covering the architecture behind LMAX Exchange. Sam Adams, who leads one of the development teams at LMAX echange, will give an overview of their full architecture – all in plain old Java.

While It’s Compiling: Skills Matter interviews Bodil Stokke

Bodil Stokke

While It’s Compiling is a series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.

Find out who we’ll be interviewing next and get a chance to put your questions forward with our hashtag #whileitscompiling.


This week on While It’s Compiling, we talked to Bodil Stokke; a frequent conference speaker in the fields of Functional Programming and internet technologies, and co-organiser of three annual developer conferences in her home town of Oslo. We caught up with her to discuss what she’s been up to in the Functional world.

1. What attracted you to functional languages in the first place?

It was a gradual process. Python used to be my main language back in the 90s, and coming from things like C++ I approached it mostly through its OO capabilities. I’d been aware from the start of Python’s Functions being first class, but it took me a while to realise the implications of this. A few years in, I was so attached to the idea of first class functions that I couldn’t do without them.

This, along with industry trends, led inexorably to Javascript. Eventually, it led to Node replacing Python as my go-to runtime for personal projects. And, as all things Node must, it led to so much frustration I decided enough was enough and I was going to start using a real Functional language. This led to spending a few days learning the basics of Haskell—and even that brief exercise changed my perspective on programming forever. I ended up spending the next three years with Clojure, but knowing even a little Haskell makes you a better programmer in any language, especially another functional one. Clojure very effectively highlighted what in my mind is the core value of Functional Programming: structuring code through composition, not the peculiar OO notion of inheritance. These days, though, I’m less interested in Functional programming than I am in exploring the idea of type systems. Clojure and Haskell both seem dull in comparison to things like Idris.

 2. What are you working on?

I’ve got a long running project exploring programming language design where I’m trying to build a modern typed Lisp, called BODOL. I spend a lot of time evolving my Emacs setup, and have an ambition to turn Emacs into a proper desktop environment, so I can use it for absolutely everything. And for a living I write Javascript game engines using various Functional compile-to-JS languages, the goal being to reduce the time spent building each individual game to as close to zero as possible. Functional languages are fantastic for this, because they excel at abstraction in a way traditional OO can’t hope to rival.

3. Do you work in only FP languages, or does the project you are working on have some FP code and some OO/Procedure code? If so, how does that fit together?

 I try to avoid non-functional languages when possible, and when I do have to write actual Javascript, I do it in a strictly Functional style, even to the point of employing immutable data structures whenever I can. Mutable state is Satan’s handmaiden.

4. What is one piece of advice you can give to new programmers?

Two things stand out. First, read the paper “Out of the Tar Pit” by Moseley & Marks, or all your code will be awful and you won’t know why. Second, always ask yourself, “would Dijkstra have liked this?”

5. You’ve recently moved to London – have you experienced much of the FP community in the UK capital yet?

One of the reasons I moved here in the first place was the amazing Clojure community. The Haskell community is even more amazing—not so much because they’re great people (too early to tell, though I’m sure they must be) but because where else in the world do you regularly get almost 100 people attending a Haskell meetup?

6. What would you like to ask the community?

When will there be a London Idris Meetup?


Are you up to organizing a London Idris Meetup? Tweet us at #whileitscompiling or @skillsmatter 

Bodil will be giving a talk on how to Build Your Own LISP for Great Justice at the Functional Programming eXchange 2014.

Friday Round-Up: 3rd – 7th February

Say goodbye to those January blues as we start February off with a week filled with even more User Groups and In The Brains for you guys to enjoy and catch up on. Also, we can’t believe it but it seems as though time is flying by, as our new site has now been live for over a week – so remember to check it out at www.skillsmatter.com – sign up and leave your feedback!

This week in Skillscasts:

blog-post-07022014

Even with a Tube strike, we were busier than ever:

Starting the week, The Phonegap User Group and arrived armed with two fantastic talks by Tom Cartwright and Yacine Resgui for their first ever meetup. Look back at the Skillscasts and catch up on an introduction to the Iconic Framework and the exploration of mobile apps around Phonegap, Angular.js and Ember.js.

The Clojurians were back in town with another two talks delivered by Tom O’Brien and David Snowdon. Tom presented the basic idea of Markov Chains and how they can be used to generate humorous (and sometimes deeply insightful) comments. While David briefly described Communicating Sequential Processes before giving an overview of core.async itself. Exciting stuff!

Haskell got hands-on with Idris an experimental functional programming language with full spectrum dependent types. Taking baby steps, the aim was to get it up and running and work through some simple examples and share what was working.

Gerald Loeffler joined The London Scala User Group who gave an outstanding explanation and critical comparison of the defining architectural principles and coding styles in Akka Actors and Java EE 7 Enterprise Java Beans. Definitely something you should catch up on if you didn’t manage to make it.

London Infracoders brought in the crowd this week offering a little automation fun. Nathen Harvey introduced tooling that can be used to test cookbooks and simplify workflow. Aims: be more efficient and be even more awesome. Simple.

To end the week, The Titanium User Group took a look at how to architect a data-driven mobile app, some strategies for server synchronization and a deep dive into working with datasets in Javascript. Pratik Patel, a seasoned Titanium developer and speaker was something that should not have been missed, so make sure you check out the Skillscast.


Next week at Skills Matter:

Monday: London Ruby User Group, In The Brain of Jimmy Bogard

Tuesday: Limited WIP Society

Wednesday: London Android User Group

Thursday: F#unctional Londoners Meetup Group

Find a list of all our meetups on the Skills Matter website!

This Week at Skills Matter: 3rd-7th February 2014

Here’s what’s coming up at Skills Matter this week!

Monday:

Skills Matter welcome the London PhoneGap User Group for their first meetup! With two talks from Yacine Regui and Chris Shepherd both talking from many years of experience, this is definitely something that should not be missed. Topics include an introduction to the Ionic Framework and how to bulid multi-platform apps from a single source, make sure you don’t miss out!

Tuesday:

The Clojurians are back with an exciting talk on replacing Callbacks with Core.Async by Dave Snowdon as well as talk on Markov Chains by Tom O’Brien. London Clojure User Group – always busy with attendees, so make sure you aren’t left behind and register for this event on our website.

Haskell will be hands-on this week with a topic of Idris, an experimental functional programming language with full spectrum dependent types. Make sure you are around to work through some simple examples and share ideas with fellow delegates!

Wednesday:

Gerald Loeffler will be joining the London Scala User Group with a talk on High-Level Concurrency: Akka Actors and Jaca EE 7 EJBs. A great topic to start the year off for the group, always busy and a perfect opportunity to meet like-minded people to share ideas with. Make sure you register on our website.

London Infracoders will be introducing tooling that can be used to test cookbooks and simplify work flow. There will also be more time at the end to share ideas on efficiency and how to be even more awesome. Get on the website and sign up now!

Thursday:

Titanium User Group will be ending the week with a data workshop delivered by Pratik Patel a US based Titanium Developer. This session will cover a wide range of hot topics from deciding to use SQL or a NoSQL solution to a deep dive into working with datasets in Javascript. Don’t forget to sign up here!