I went to the Limerick OpenCoffee club today. Patrick and John Collison of Auctomatic gave a talk about their experiences starting Auctomatic. You can view their talk online at ustream.
This was an excellent event - congratulations to all involved. Patrick and John gave an excellent talk. But more than that there was the feeling that this was a new kind of event within the Irish tech community.
Conn Ó Muíneacháin streamed the event live using ustream and Bernie Goldbach was recording it for later broadcast. People from the Irish tech community tuned in to the live broadcast and we were able to follow their reactions on Jaiku, Twitter and IM. People who were viewing the live stream remotely were able to ask the guys questions live.
I arrived quite late and by that stage there was nobody left in the coffee shop. I was able check the #irishopencoffee Jaiku channel and see that opencoffee people were still there. Then I was able to watch the live stream while I had a quick coffee. I could see from the live stream that they were in a boardroom and was able to find the room after asking the staff for directions. It was an interesting collision of people and communication channels.
I got to talk to both John and Patrick over lunch about the technology that they are using at Auctomatic.
They use Ruby internally for automation and maintainence tasks. They built their initial prototype in Rails but then moved to Seaside. Seaside is a smalltalk framework for building web applications. Seaside takes a very different approach to developing web applications than most other current frameworks. It is continuation-based, it manages state, it lets you attach code to links and you build your interface programatically with it’s component objects. Each of these features become more compelling when you can see a live demo of them in action. Check out this article for a good introductory overview of Seaside.
I got a lengthy Seaside tutorial. I was impressed by the squeak debugging tools. You can halt the execution of your web-app at anytime and inspect or edit all the objects in the system. It was interesting to see objects being edited in the development environment and then see the changes update in the browser.
I played briefly with Seaside a while ago but never followed it up because 1) I don’t know smalltalk very well (it’s currently number 3 on my new languages to learn list), 2) there is not much documentation and 3) it seems to have quite a steep learning curve. The guys from Auctomatic initially learned Seaside by visiting the creator of Seaside and by trawling the Mailing Lists. From what I saw today I want to revisit Seaside at some stage and invest some time into learning it. Apparently Auctomatic are now the largest single group of Seaside programmers in the world.
I also got to play briefly with an iPhone. My initial impression is that it is a very nice device. The interface works as well as it does on the apple promotional video. Even without the phone part I would still like to get one. It seems like an excellent mobile web/email device for when you can access a wireless network and it’s also an ipod and a video player.
Other folks have blogged about this.
It is remarkable that you used the infostream to locate the group and even more remarkable that camera2 unlocked the door to let you in. Great report!
Great to see you in Limerick yesterday - Seaside does seem like an interesting framework. Though I'm still a Rails & Django fan.
I wish I'd been there! I had a look at Seaside about 18 months ago. It is a very elegant framework but I see two problems with it:
Did Patrick or John talk about this?
1. They don't have meaningful urls and they don't care.
2. I asked them about memory usages due to tracking lots of state. I think Patrick mentioned a figure around 20Mb per user. I think this is not a problem for their application as it is a subscription service so they know and can control how many people are accessing each machine. The application doesn't use a relational database. Instead it stores an image on disk for each user. When a user logs in the image for that user (which contains all the objects associated with that user) is loaded into memory. Thus there is a fairly clean partitioning of data with users making it easy to scale by adding more memory/boxes.
Post new comment