Lispy Love

My friend Eric's got a Introduction to Clojure video project on Kickstarter at the moment.

He’s nice, and he’s the editor of the Clojure Gazette, so if your Sunday is  going swingingly and you’re feeling in a good and generous mood…


Last Year

In all the excitement of the holidays and New Years, I completely forgot to post an update on the Fun Club meetup we had at the end of 2012. It was quite a good one too, as we joined forced with the Berlin Haskell User Group (Berlin Hug).

What happened?

It was a while ago now. But I think I remember. Florian Hartwig kicked things off by talking to us about Haskell optimisation and performance. Laziness is a beautiful but tricky business.

Then we moved on to talking about functional data structures, with a marathon series of 3 talks.

First came Alesha Summers who explained how Santa Clause could make sure to manufacture the right sorts of toys for Christmas with the magic of regression trees. Regression trees, are a type of tree often used in data mining to categorise data. Here are Alesha’s slides from the evening.

Then came Frederic Kettelhoit, who did a good job of explaining what a functional data structure is, and talked us through the particular example of a finger tree. Here are Frederic’s slides.

Last, but not least, Joel Wright, told us all about zippers, and also managed to nicely tie the evening together by explaining how he’d benchmarked and tweaked his zipper implementation to make it performant too.  His code is here.

Link Love

Andrea Di Persio has set up a handy collaborative list of links relevant to the evening. There’s some interesting stuff in there! http://urli.st/iWP

Apologies and Thanks

Many apologies for not putting this up until now. Better late than never I guess.

And many thanks to everyone who came along, and also to Berlin HUGs for sharing with us, it was really nice to do it together :-)

First for 2013

Our first Fun Club meetup of the year is scheduled! Following on from our Polyglot Puzzles meetup, Lars Peterson is organising another polyglot programming evening, only this time it’ll be a bit more tough - oh yes, those fizzbuzz days are over - but don’t worry, because we’re giving you time to prepare in advance.

What’s the plan?

Lars has devised a programming task, and your challenge, if you choose to accept it, is to program a solution, and then tell us all about it. You can pick your language.

If you’d like to contribute then please email largs@nyantec.com. If you’d rather not contribute, but would like to watch, then please sign up here.

When and where?

This Thurs (Feb 28th), starting 19:30

Generously hosted by SoundCloud @ Rosenthaler Strasse 13, 10119 Berlin

There will be beer, and pizza.

Functional Fan Alesha Interviewed by Berlin Geekettes →

W000t!  Alesha’s been coming to the Fun Club since it’s started, and it’s so lovely to see her featured in an interview :-D


Our very own Berlin Geekette Alesha is pursuing a career in Business Analytics/Business Intelligence and looking for a new challenge. Her love for data is inspiring, courageous, and contagious all in one. And so, in her own words, we’d like the world to meet Alesha Summers:


Last Thursday we had a Fun Club meetup, and the theme was Polyglot Puzzles. This involved sitting around on laptops, solving easy problems in the language of our choice, pasting solutions to piratepad, and then telling each other about them.

It was pretty fun to see everyone’s code popping up on the piratepad - you can see what we did here. Although Haskell was a clear favourite choice of language, we also had solutions in Erlang, Scala, Clojure, Common Lisp, Ruby, Python, D, Java, Mozilla’s Rust, CoffeeScript, SmallTalk, C++, and J.

Also we had solutions is a functional language that’s new to me, called Koka.  Koka is a language that’s been developed by Microsoft Research. It’s a function-orientated language with effect inference, and it certainly seems to take an interesting approach to the whole awkward squad thing.  You can read more about it here.

In the end we only had time for 3 problems, and I think the general consensus was that they were a bit too easy, and people would prefer harder problems, and a strict time-limit, so we can fit in more.

We had:

1) fizzbuzz

2) count backwards from 200 to 1, printing numbers divisible by 3

3) check if a string is a palindrome

The format of the evening was a bit of an experiment, but I think with a few tweaks we will be repeating it again sometime.  So thank you everyone who came, it was delightful to get to share all your puzzle solutions.  And also thank you again to SoundCloud for hosting us, and providing us with drinks.

Now, to get excited about this Thursday, because it’s the next Berlin Haskell User Group meetup, and there’s going to be sessions on lenses and performance optimisations.

Believe it or not, they’re doing fizz buzz.

Believe it or not, they’re doing fizz buzz.

Super Haskell eXchange!

Had so much fun at the fist ever Haskell eXchange. Hosted by Skills Matter in a quite gorgeous crypt (not as creepy as it sounds).

So let me tell you all about it.  Well first off, there was breakfast and a welcome from Neil Mitchell, but unfortunately I completely missed that bit, because I failed to get out of bed.

Front-End Language Features, Simon Peyton Jones

Next up came Simon Peyton Jones, utterly warm, charming and energetic. During the course of just one talk he somehow managed to convey what Haskell was about, give an idea of how the language developed, and also what’s being worked on for the future, all whilst keeping everyone laughing.

For me the loveliest part of this was to find out about the things for the future, because they seem genuinely useful, and because it’s nice that Haskell, even at it’s relatively grand old age, is continuing to be a play ground for ideas about how to make this thing called programming even better.


High Performance Concurrency, Simon Marlow

Simon Marlow told us all about his async package. Not only was this a useful a practical guide to a package that would probably come in handy for all of us (it already has for me), but also a really great example of how a really well thought through libraries can help developers, and really give a language power.


Making EDSLS Fly, Lennart Augustsson

Okay, I admit, I didn’t pay good enough attention to this one, as I was playing on my phone. Lennart Augustsson showed us an example of a DSL language implemented in Haskell, that is compiled to code that runs on a VM (specifically the LLVM), so that it can run super fast. I recommend watching it for yourself.


Scalable Web Applications with Yesod, Blake Rain

In this talk Blake Rain took us through a fairly comprehensive whirlwind tour of the Yesod web framework. If you’re thinking you’d like to build a website in Haskell I’d definitely recommend watching it.

I couldn’t help but think during the talk however, that maybe Yesod is trying to do too much including; webserver, templating for css, html, and javascript, stuff for chatting to sql, composable server-side widgets. It feels like a tighter focus might be more natural.

Also Yesod achieves all this with an awful lot of template Haskell magic, so that you can write some html, in a similar way to the way you write normal html, only the amazing Haskell compiler is checking through everything you do. Now I love the idea of getting the Haskell compiler to help me with this stuff, but the template Haskell stuff is a bit scary, because it’s quite confusing, and I guess one of the things I love about Haskell is its transparent and concrete nature. Apart from this I worry about what would happen if your website miraculously makes some cash, and you can hire a front-end dev, they’re not going to be too keen to work with all this stuff - it might be technically scalable but maybe not so organisationally scalable.

Having criticised Yesod’s approach, however, I think that they’re up to some really interesting stuff, and Blake did a fantastic job of covering an awful lot of content.


Cloud Haskell, Duncan Coutts

Here Duncan Coutts told us all about the Cloud Haskell implementation that he’s been working on. Cloud Haskell is a library that brings cool Erlang distributed stuff to Haskell.  It looks like super fun to play with, now to think of an excuse!


Integrating Haskell using AMQP, Rob Harrop

Here Rob Harrop offered a practical solution to all those Haskell lovers who can see how Haskell could be so useful at work, but don’t feel able to use it. He took us through an example where he carved off a piece of important functionality from a Ruby Sinatra app, and implemented it in a Haskell server. He then stuck the two together with the sticky-tape of message queues, specifically RabbitMQ. Also, for good measure he threw a node.js middle man into the mix, but that was to show us it was possible, rather than because it was needed.

For me the demonstration was very useful, as the technologies at my work match up well with the ones he was using, but apart from that it was quite joyous to see a representation of the  varied and polyglot world that development is, and how different languages can all get along together.


Park Bench Discussion

Aided by a break for beer and pizza, the park bench was a fun occasion. I was struck by the openness of everyone involved, people genuinely encouraged others to get up on the bench too - this sort of generosity was especially lovely coming from people like Simon Peyton Jones. Topics were varied, including talk of whether if Haskell had it’s time over again it would be lazy. Some discussions centered on how support for Haskell can transition more from it’s traditional academic community, to a wider community of developers.


Then we all went to the pub.

It was a lovely day, and I think my favourite conference yet.  The line-up was just amazing, sessions were useful and informative, and the feeling was friendly, and open. It feels like Haskell is all grown up and ready for the real world now!

Haskell eXchange 2012

Good heavens above, I’m getting all excited because I’m very luckily going to the London Haskell eXchange 2012, on October 10th.

What a line-up, 2 Simons! I’m a little worried I’ll just get star-struck and forget to listen to anyone, and turn into an incoherent puddle on the floor.

Also, the next Fun Club meetup is scheduled for Thur 18th Oct. It’s called “Polyglot Puzzles”, and we’re going to be all solving simple programming puzzles in the language of our own choice, and showing each other the results.

You can do the puzzles in whatever language you want, it doesn’t have to be functional; it’s just nice to learn by comparing.

Sign up here.

Functional at GeekGirlMeetup

Wondering why The Fun Club hasn’t really done anything recently?  Well, there’s two reasons:

* I’ve been really busy organising a thing called GeekGirlMeetup, which is a one day female only tech conference.

* Markus is in Scotland, and discovering the joys of British teabags and the sorrows of British bread (hope you find a good bakery soon Markus).

But don’t worry, at the GeekGirlMeetup we kept the functional flag flying; we had two functional talks. The first was from myself and was a basic introduction to functional programming. This was followed by a fantastic talk from Monika Moser all about Erlang. I’m totally inspired to head along to the next Erlounge meetup.

Right, so now that’s all done with, time to cook up something fun for The Fun Club!