Saturday, September 24, 2011

Finally got slime working for clojure

At strange loop, I finally got Slime kind of working on Clojure.  Here is the secret:  lein.

Instead of building all of Clojure from source, I just followed the directions here, and installed an up to date slime.  Also, it appears that slime does not start a REPL automatically anymore, so I had to adjust settings for that too.

Phew.


Friday, September 23, 2011

Strange Loop 2011 notes (day one)

Back from Strange Loop 2011, trying to collect my thoughts.

I went for two reasons - the speakers, and to meet like minded people.  Both goals were met.   Gerald Sussman, Erik Meijer, and Bryan O'Sullivan were enough to get me interested.  The rest was icing.

I was sold.

The organizer, Alex Miller, wants to make Strange Loop the best conference we ever attended.  The conference wins the award for me.  I only have the MSDN Developer conference to compare it to, and there was a wide gap in the quality.

Unfortunately, I signed up too late for the workshops I wanted.  Machine Learning with Hilary Mason, and Haskell (for data analysis) with Bryan.

A take away I have this year is to go to the talks with speakers I really want to see, even if I think someone else has a better topic.

Erik Meijer mentioned in his keynote that we keep reinventing things over and over again, and then later in the day Gerald Sussman reinfected me with the desire to tell everyone that every new idea was already done in Lisp.   He also inspired me (again!) about how fun programming can be.  Watching him, I realized that a lot of software engineering is to protect us from ourselves.  People like him, though, should be allowed to do whatever they want with a computer.

Also Professor Sussman pointed out a lot that can be done with code.  If we start worrying about performance less, and also stop worrying about proof as much, we can play and learn.  He showed some interval math code, like in the classic book, but also showed other ways of interpreting math code.  Notably, he showed how to use evidence as input, and how the program can determine better answers with better evidence, how it can fix imprecise evidence, and how it can help remove conflicting evidence.  Of course, this misses all of the deeper points.

Regardless, I am going to treat my code as data more often!

Neal Ford's functional thinking talk had a very important message.  Functional thinking can be used in any language.  He did not get into a lot of depth, but I think he had one of the better deliveries I saw, and I loved that his slides were there only to help his presentation.  That makes "sharing" the talk later difficult, but I wish more speakers had slides like his, and some sort of a draft of their talk for sharing afterwards.  (end of presentation rant)

Andrei Alexandrescu and Bartosz Milewski were kind enough to humour me after lunch on Monday, and we chatted C++, D, and F#.  I put my foot in my mouth at least once that I realized, and likely again without knowing it.  Andrei's D talk was a lot of fun.  Generic programming is something that you can do in several languages, but they all have some weaknesses.  D appears to have addressed most of the serious issues.  The last time I read up on D was about ten years ago... time to take another look!

I looked forward to Sarah Allen's "Teaching Code Literacy", and it was different and more important than I expected.  She talked about the importance of teaching programming to kids, and how to help them.  All kids learn about biology, even though few will be biologists.  They need to learn about the world they live in.  Programming is important because of all of the computer's around us.  And, they might love it, and become great programmers themselves.   Again, this is only scratching the surface.

This is still just day one!

After the conference, the languages I am most likely to play with:  Scheme (again) and D.