Developer Day Experiences

In an earlier posting on this site, I mentioned that I signed up for Developer Day. Yesterday, I drove to Boulder to attend the event. It was a brutal experience getting there as the first ice storm of the year had just hit. What should have been an hour and half drive (tops) ended up being over two and half hours. The roads were covered in black ice, visibility was low, a section of I-25 to Denver was closed due to a major accident, a lady slammed on her breaks (you should never do that on ice) and nearly spinned her front end into the side of my car, etc. In essense, I really shouldn’t have been traveling. Yet, I made it unscathed and glad I did.
The following are some observations, notes, reflections, etc. from the event.
The Passionate Programmer by Chad Fowler
I didn’t get to hear Chad speak, as mentioned above, but his book The Passionate Programmer is worth checking out.
TurboGears: An Exercise in Natural Selection by Chris Perkins
I had finally arrived at the conference by this time only to catch the end of this talk. I haven’t been following the Python crowd much but what I got from Chris was that the web frameworks in this space are still too disparate. There is nothing like Rails in the Ruby realm where one framework is emerging as a leader. It seems that Chris is pushing TurboGears as one solution to this problem.
The Cloud - Real World Applications and Pragmatics by Rob Sanheim
In this talk, Rob talked about using Chef or, more importantly, Chef Solo. Chef Solo requires less overhead and is a great way to get started without having to get mired in complexity of the more advanced Chef features. Basically, both allow you to write less code and use “cookbooks” which automate a lot of what you need for managing servers in the cloud. These cookbooks can be altered and modified for your needs creating a living, personalized, and updated cookbook for your unique situation.
BTW, the Relevance team has a continuous integration solution called RunCodeRun which might be of interest to some.
Playing Nicely with Others by Jeremy Hinegardner
Jeremy gave a talk on the various tools and languages you might need to get your job done. He mentioned several tools but I’d like to point out MongoDB and CouchDB as alternative database solutions to relational databases. I’ve not had a chance to play with these, myself, but they are on the radar. As for more tools you might need to be aware of, well, check out my Ruby page. That will keep you busy for a while.
Lightning Talks
These were a lot of fun. There are two I’d like to point out. The first was by David Eisinger who’s intro to Ruby loops, blocks, conditionals, etc while producing rap mixes with the MacOS system voices was hilarious. It was a good technique for introducing the language to newbies while keeping it entertaining. The second talk was by Jess Martin who emphasized the “right way” for developing CSS style sheets. BTW, you can find his slides here. There are a few things to take away from this talk:
- Collapse your CSS, don’t nest it (i.e. keep each style to one line). Trust me, you’ll get used to reading CSS this way and it’ll make it much easier to browse. I’m glad to see more people supporting this practice.
- Maintain your HTML structure within your CSS stylesheet. In other words, begin your CSS code with a header, then body, and finally footer as you would when building your HTML. Again, much easier to browse and all of it is in one place.
- Don’t split your CSS into multiple files. Keep one and call it screen.css. In some case you might need a print.css or ie.css but that should do it. You might also need a reset.css or jquery-ui.css, which is fine as well. However, in the case of reset.css or jquery-ui.css, don’t touch these. It makes it hard to upgrade and maintain if you do.
I’ve been practicing these CSS guidelines for some time so, again, awesome to see more people promoting these practices. Although, Jess did mention that its not a bad idea to create CSS IDs and/or classes to mimic your RESTful routes. For example, /public/tasks could be #public #task { color: #000; }. That’s an interesting idea and worth giving more thought.
Stepping Up: A Brief Intro to Scala by Derek Chen-Becker
This was an excellent talk and some of the best exposure I’ve had to Scala since I’ve seen so little of it. That said, if I wanted to couple legacy Java software with a more productive language, I’d go the JRuby route instead of Scala or even Groovy. Scala is an interesting language though and still in its infancy.
Core Animation on the iPhone and Mac by Bill Dudney
Fun talk and demo of animations with Objective-C. There is a lot of amazing things you can do with Objective-C libraries in this space, a lot! I can’t help feeling a little weighed down by the ceremony of the language, though. Again, I’m spoiled with Ruby. It’s hard to get excited about a language where you are forced to type more than you have to. Like Bruce, later mentioned after his talk below, there is definitely a lot of square brackets in Objective-C.
The Archaeology of Language Features in C++, Java and Python by Bruce Eckel
I really enjoyed Bruce’s talk on the archaeology and evolution of programming languages over the years. Granted, this was a limited view where the focus was on C++, Java, and Python. It is clear that Java is a legacy language now. To emphasize my point, I think its best if you see what fellow attendees had to say in this regard:
- chadfowler Today at #developer_day, Bruce Eckel expressed his belief (and pleasure therein) that Java was becoming a legacy language.
- nealenssle Bruce Eckels: “Java is likely going to become a legacy language.” #developer_day
- digokili Dynamic languages are efficient and not afraid to be improved by breaking backward compatibility #developer_day
BTW, you can find these and more by searching for #developer_day on Twitter. Oh, and you might want to read Seeking the Joy in Java.
I would love to see this talk expanded to cover Smalltalk, Objective-C, Ruby, Scala, etc. In fact, a pros and cons matrix of each language with additional links, footnotes, etc. would be handy. This way one could delve deeper into each language to easily study how it ended up the way it did, the choices made, etc. All good stuff.
Final Notes
The TechStars office is awesome. I’ve watched Andrew Hyde produce various videos within the TechStars office before but to experience it first hand was nice.
There were some problems with the event:
- The TechStars address was easy enough to find but the door to the cafe was locked and there was no sign indicating what to do. I later found out there was a second door with a note that you needed to call Ben in order to get in. Boo.
- For some odd reason, no one could figure out how to turn the heater off for the building. The entire day was a sauna. I’m sure the energy bill is not going to make someone happy.
It was fun following the #developer_day Twitter feed while listening to the talks. Good to see people tuned in and providing feedback. I did find myself wishing I could hold up my iPhone over the crowd using some kind of augmented reality app that would show me what people were saying, in real-time, above their heads. Yeah, yeah, I read too much science fiction…bit it will happen…soon.
I did get to speak with Ben briefly about Haml. He agreed that it sucked as well. In fact, I think the words “devil” and/or “evil” were used but my memory could be bad. Fine by me, I hate Haml as well. I do like LESS for CSS though. As for an HTML template better than ERB…well I don’t have an answer to that as of yet.
Spending a dedicated day together with fellow passionate programmers can’t be beat. I wish I could have stayed longer with the crowd into the evening but I had a long drive home. Glad I went despite the weather.
No comments yet.
Leave a comment
You must be logged in to post a comment.
Search
Categories
- Adventures
(145)
- Announcements
(39)
- Business
(20)
- Electronics
(22)
- Employment
(1)
- Epicurean
(10)
- Games
(2)
- Literature
(1)
- Mechanical
(4)
- Meetups
(15)
- Movies
(2)
- Music
(26)
- Photography
(1)
- Services
(27)
- Software
(134)