What is it with the building standards over here? In our hotels rooms they have one-glass windows. Come on, it's not like Portland is close to a desert or something. It's up north! It is October and it gets freezing in our rooms in the morning. Imagine how it would be here in the middle of the winter. To be fair though, this is easily compensated by the fact that it gets way too warm in our rooms in the evening. Well sometimes at least. In Sweden, which seems to be quite similar climate wise, we have 3-glass windows. Even England now a days have standardized on 2-glass windows. On the other hand Portland has about a million small, sometimes restaurant local, beer breweries...
Aaah, a cup of free watery hot coffee later at the conference and I'm almost feeling warm again. I'm no coffee addict but it is a good thing they have so many Starbucks around here, so you can actually get a decent cup of coffee. Of course this being the US, the smallest one is called "tall" and is more coffee than I usually drink in an entire day. Don't get me wrong though, I like it over here!
The OOPSLA conference update
Monday was a busy day here. I'm still having problems with the time difference, and I woke up at 5 in the morning today too, unable to go back to sleep. Oh well that's OK and expected. Most of the day was spent in a tutorial named "Patterns for concurrent and networked objects" from 8.30-17.00 (5pm). More on that later. That was directly followed by the OOPSLA Welcome Reception (17-19.30) and then followed by other things such Eclipse event sponsored by IBM.
During the morning Jon and Niclas held their "Generate the Repetitive, Boring Code: How to Write Code Generators" tutorial, which seemed to have been very popular. Jimmy actually tried to get in there in the middle of it but was not allowed in due to the amount of people already there (people standing up in the back). I met up with them after their tutorial for lunch and the people coming out of there didn't look too unhappy.
Surprise photo of Jon and Niclas at their tutorial.
After the welcome reception, the eclipse event after that, etc, Jon, Anders and me ended up in the hotel sky lounge bar but we didn't last long there. Soon we passed out in our beds.
I'm not too sure what to say about this tutorial, "Patterns for concurrent and networked objects". Interesting subject for sure. Too long? Definitely Schmidt a good speaker? Sure is, and obviously very knowledgeable too. Design patterns for distributed and concurrent systems are quite interesting, but it felt like we only did that for the last couple of hours or so. At 11.00 (after 2.5h!) the introduction was over. It covered very basic topics and I'm not sure who would have understood especially the last 2h if they didn't know all those things rather well already. Sure it is nice to have a good introduction but that seemed a little too much, I'm sure most people there knew that we use OSes and middleware underneath a domain specific layer or two day!
The last part involving aasynchronous I/O in patterns was very interesting though. But the actual pattern was nothing new. Just look up any Java asynchronous I/O server example and that is the way it is done. Well I guess that's the point of a pattern and I'm probably just a little bit disappointed that most of the things were already fairly well known to me. Again though, Schmidt is a good speaker and it did give me some new insights here and there along with a slightly different view on some things. The notes/slides were terrible during the actual presentation but good to have afterwards (way too wordy!).
One of the things I liked was the real world examples he used. Very good ones I must say and the stories, patterns etc applied very well to the ideas presented. Furthermore they were both very suitable and especially the first one "sexy" (for a tech geek). The first one involved the computer software for Boeing fighter jets such as the F-18 E/F and F-15 E. When I was young(er) I loved reading all about fighter jets so of course this appealed to me on that level(plane?) too. First they had introduced a basic publisher-subscriber pattern there for all those different software modules (GPS, mission computer, weapons lock, weapons release systems etc). It was a success but after success comes the request for even more features and soon they had more things than they could handle on a single cpu board. Then when you add a second board you all the sudden have a distributed system, and you need to adapt your design patterns and/or add new ones. Very nice real world based introduction to the problem domain I must say. The second example was a more complex x-ray imaging acquisition and distribution system that provided the opportunity to explain a lot more distributed/concurrent patterns.