OsCon 2010 is done, and I’m pooped. I met some great people, the talks were good, and I saw some promising ideas and technologies. Portland is a great city, with free public transportation, good beer, veggie-friendly restaurants, and Mt. Hood close by. What more could you want?
Here’s my highlights and impressions.
Rolf Skyberg explained where corporate innovation initiatives come from, and Simon Wardley talked about innovation. Those links are to the talk descriptions, but you can watch Simon’s talk on youtube, since it was a keynote.
As a company ages, Rolf says it gets more risk-averse, and that stifles innovation. He names each life-stage of a company for its most prominent employees: innovators, rock-stars, proceduralists, optimizers, and vultures. Once the company becomes so risk-averse that new ideas are stifled, and it starts losing money, the CEO assumes the problem is a lack of new ideas, rather than a culture that can’t absorb them.
As a technology matures, Simon says it gets more stable and ubiquitous, becoming a commodity. This “creative destruction” frees us up to do more interesting things.
I’ll be going back over their presentations, thinking about the commonalities between their talks.
- "there's a false dichotomy between nice & dynamic & interpreted, and ugly & static & compiled"
- Scala is "beautiful and rigorous"
- (my favorite) "a language should be light on the page"
I also talked with a guy whose name I can’t remember, and whose card I didn’t get, about how his friend used Processing to teach math concepts to his kids. That’s a pretty amazing thing. Take that, Mathematician’s Lament!
I really enjoy Processing, but…Java. Can we have something fast, but with closures and easy syntax, please? Either Scala or Mirah might meet that need.
Mirah is a Java compiler that reads Ruby-like syntax: looks like Ruby, but it’s still Java. That seems promising, but I don’t think you can use, say, Array.map, since it’s not part of Java’s core library.
Scala is a functional/OO hybrid language that brings closures and higher-order programming to Java, with a helping of type inference. It seems promising, but it also seems like a lot of features mixed in together; compared to Io or Scheme, there’s tons to learn. But maybe that’s the wrong way to look at it – maybe it’s close enough to Java that it’ll be fairly quick to learn.
Powell’s Technical Books
Powell’s books is humbling, and amazing. There are whole sections I’m not even smart enough to understand. I still walked out with three books, though.
The first one is The Philosophical Programmer, which I’d never heard of, but for $6, I had to grab it. (Yes, it’s an old library book.) I got A Little Java, A Few Patterns because I loved The Little Schemer. Grammatical Picture Generation is about writing tiny languages that generate fractal-type images, something I’ve been playing with recently. And I actually bought Beautiful Visualization at the conference itself, not at Powell’s. It’s fantastic, though, I read it the whole flight home.
OK! Enough fawning over books, I’m embarrassing myself.
1 <script src="stratefied.js" type="text/js"></script> 2 <script type="text/sjs"> 3 /* your code here, including new syntax */ 4 </script>
Reactive Extensions for JS come from open source’s best friend Microsoft. The gist is this: asynchronous coding with call-backs is hard, but if you treat events (from the user, from ajax HTTP, or whatever) as a collection that you can subscribe to, and you can map and filter those collections with anonymous functions, it’s easier. We’ll have to see. The speaker, Erik Meijer, gave a pretty similar talk at MIX.
Badges, with Ribbons
They took some flak for the ribbon color-text, especially for the desperate perl hackers, but they were pretty good about it. They even asked what ribbons we’d like to see next year, so we don’t have to customize quite so much.
Inspiration and Awesomeness
The world is full of inventive, stubborn people doing really cool things to make the world better. Mifos.org helps microfinance banks run smoothly. Arduino and Plumbing making hardware hacking accessible to whole new audiences. OpenSETI wants to involve programmers more in finding whether we’re alone in the universe. Code for America can help our government be more efficient and transparent. If you ever wanted to start contributing to open source, joining any of these projects should be a great start.