Dr Nic

Showcase of CoffeeScript – 2.5 mins for your next Dev Group meeting

If you are giving an “Introduction to CoffeeScript” talk at your local developer group in the future, I have a 2:30min video you might find exciting to show. CoffeeScript is so cool that I thought it really needed to be put to music. Hard rock music. AC/DC.

I finished my session at NordicRuby with this video and I think it helped get lots of people excited about CoffeeScript.

Because of it’s heavy dependence of the backing song – the screencast is boring without it – I’m kind of screwed as to how to distribute it to other presenters. The licensing rules of including music and it’s 600Mb size are prohibitive.

What the hell. I’ve included an inline sample above; and the links to the 600Mb version is below. All self-promotional “Dr Nic made this shiny video” bits have been removed. Go for gold. Share the CoffeeScript excitement.


NordicRuby finished 5 days ago, but many of the attendees and speakers are only finally winding down. Executed with the style, excitement and pizazz of Unspace’s RubyFringe and FutureRuby conferences, I had a brilliant time in Gothenburg. If NordicRuby’s organiser’s Elabs host the event again in 2011 I highly recommend attending. Carefully selected and sequenced speakers from around the world, 30 minute talks with 30 minute breaks over two days, an hour of lightning talks each day, and parties every night. Phew.

To CJ and Lilly, the organisers, the other speakers and all the attendees, thanks for an awesome experience in Sweden. Looking forward to coming back next year.

Why CoffeeScript?

JavaScript has a wonderful feature or two: it’s everywhere and it’s getting really fast. Unfortunately, its syntax was heavily influenced by Java/C++ and other popular goliaths of the time. But the JavaScript runtime is sweet. JavaScript syntax, not so sweet.

Like .NET and it’s selection of languages, the JVM and it’s growing smorgasbord of languages, I think the JavaScript runtime could benefit from more experimentation with alternate languages and/or syntaxes. Objective-J was one attempt. CoffeeScript is another.

Of the two, I like CoffeeScript. A lot.

Demonstrating CoffeeScript at Dev meetups

The video flies through core ideas pretty quickly, so I ran through syntax examples on a slide first, and then said “You know, I think this would go better to music,” and played the video.

Download and Demo

The purpose of offering the 600Mb video version is for the growing number of people doing CoffeeScript talks at their local software dev groups. The music in it is not licensed, not mine, but sounds awesome.

Please play the video with speakers. AC/DC on mute is a cruel act. Also watching the text jump around without the music is probably weird to watch. AC/DC and CoffeeScript. Perfect match, I think.

Formats: Torrent | Download (600Mb)

Tack så mycket

Swedish for “Thank you very much,” pronounced like “tuck sa-meekeh” or thereabouts.

If you use the video at all, I’d really appreciate it if you left a comment below!

How to make a good home-made Open Source

Want to be the funniest person at the next hacker’s picnic? Point at a bottle of red ketchup with its lid next to it on the table and pronounce “Hey look, Open Source.”

Be ready with follow-ups like “Can you pass me the Haml?”

If you’ve used Ruby on Rails, Apache, Emacs, or Linux then you would have been impressed by the awesome quality of these free bits of software which are so important to us. They are free, they are important, and they are awesome.

Paying money for poor commercial software makes awesome, important free software appear even more awesome and important.

The facts seem gloomy. You are a humble developer. Awesome, important free software is a Herculean achievement.

Conclusion? You implicitly believe you will never write awesome, important free software.

But “never” is an awfully long time. And is the only goal “awesome, important free software”?

Reasons to write?

Personally, I don’t think I’ve ever created an open source project that is either important or awesome. I think my motivations for open source — my own projects or stuff added to other’s projects — is either:

“Wouldn’t it be cool if you could do XYZ?” or “Seriously. Why can’t I do XYZ?”

I was either amused or annoyed. Dr Nic’s Magic Models was a joke. ChocTop was vented frustration.

Perhaps there are different reasons. I find the following examples inspiring.

I think the late Why the Lucky Stiff created entertaining free software.

Tim Lucas created artistic free software (‘View Source’ to see the header comment)

Christian Neukirchen created liberating free software.

Ryan Davis created free tools.

Chris Wanstrath ports free software.

Is there a muse that you can choose?

What other reasons are there for writing examples? Perhaps leave comments below and I’ll add them to the list above.

Who? Me?

And “awesome” sounds awfully challenging to aim for. Surely, “Awesome” is just one end of a scale with “Worthless” at the other end. “Moderately Good”, “Average”, “Below Average”, and “Where are the test cases?!” are in the middle.

Have you ever visited a friend who you find putting on the finishing touches to a 6’ by 4’ canvas painting of their entire family from their last Christmas dinner together, and they say “want to help?” Unlikely. Fortunately open source software “paintings” are a free-for-all.

You can write Libraries, Adaptors, Applications, Frameworks, Tools, Extensions and Services.

You don’t even need to create new free software. Fix something that someone else broke. Add a feature that was missing. Write documentation after you eventually figured out what to do.

Mid-Year’s Resolution

It’s now April. If you’re still looking for a 2010 New Year’s Resolution, borrow this one: “Write some open source software.”

If you’re going to RailsConf, perhaps come along to my tutorial The 8 Steps to Contributing to OSS or let’s catch up in the corridors. It’s going to be a great RailsConf!


RailsCamp.au #5 – book now

Imagine yourself and a posse of like-minded Ruby hackers on a country retreat with zero internet for a weekend of fun. You’ll laugh, hack, learn, cry (well, you probably won’t cry… but you know… it felt poetic) and most likely play a crap-load of guitar hero. [manifesto]

In chronological order, the first RailsCamps in Australia were in the states: New South Wales, Victoria, New South Wales, and South Australia.

This time, between May 15th and 18th, it’s in Queensland. God’s Country. The Sunshine State. Home of Steve Irwin (deceased), Sir Joh Bjelke-Petersen (deceased), Greg Norman (expat), Keith Urban (expat), and Kristy Hinze (marrying ex-Silicon Graphics/ex-Netscape billionaire Jim Clark; expat). So its a pretty famous and popular place to come from.

More Mexican (by Lachlan Hardy)

Book your tickets now for RailsCamp #5.


Why you should see Dr Nic at RailsConf

There are 5 sessions on at 11:35am on Tuesday the 18th of September, 2007, at Rails Conf Europe.

If you are unlucky enough to be one of those speakers, then I have pity for you.

I should know, I’m one of them, and I have pity for me.

So, I thought I should give a completely unbiased opinion about which of the five sessions you should attend, and which you should avoid like the plague.

Rails Full Text Search with Ferret

By Jens Krämer.

Jens is a German, so this conference is a home game for him. The room will be filled with local Germans all wearing their home strip, and will all be chanting and cheering in German throughout. I watched World Cup 2006 on the telly – that’s what they did then, and Jens’ talk will be no different I’m sure. You can’t learn anything with other people chanting and carrying on like its a football/soccer match.

Screenscraping as a Tool for Changing the (Legacy) World

By Jesper Rønn-Jensen and Mads Buus Westmark.

Jesper and Mads are Danes, from Denmark. A small European country who’s royal crown price recently married an Australian girl. Her father, Dr Donaldson, was my Calculus lecture in 2nd year university. He yelled at me once for talking in class. Whilst not directly Jesper and Mads’ fault, its something to keep in mind.

ActiveRecord and Service Data Objects: Adding New Data Models Beneath Your Rails Apps

By Doug Tidwell from IBM.

IBM is a large country off the coast of all tax-paying countries. Most likely in the Pacific Ocean, as its probably big enough for IBM. Whilst the session talk description is enterprise gobble-de-gook, it probably would be interesting, but I’ll summarise it for you: write specs for your underlying data layer and how they map to the #find and #save methods of ActiveRecord, and bob’s yer uncle.

3rd Partying Issues and Solutions

By Ryan Garver, ELC “Diamond Sponsor” Technologies.

There are three diamond sponsors for RailsConf – ThoughtWorks, Sun Microsystems and ELC. Diamond sponsors are a good thing. Sponsoring things is a good thing. I hope Dr Nic Academy will sponsor things in the future. I’ll talk to the owner about it.

Meta-Magic in Rails: Become a Master Magician

By Dr Nic Williams.

Dr Nic is Australian, so he has a funny slang accent that can be quite awkward to understand, especially when he starts talking very fast. Australia was cheated in World Cup 2006 by Italy who, with 10 seconds left in their round 2 map, dived in the box, got a penalty kick, scored, won the game and went on to win the World Cup. So, logically, if Australia hadn’t been cheated, we’d have won the World Cup instead.

Thusly reenacted here on YouTube:


11.35am on Tuesday might be a good time to grab a coffee, and talk to Chad Fowler about the shame of putting 5 awesome speakers on at the same time as each other.