Meetups
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.
Developer Day

In case you haven’t heard, Developer Day is drawing near and is scheduled for October 10th (Saturday). It is being hosted by Vigit Labs and Relevance, led by Ben Scofield, and will be held in Boulder, CO.
I, myself, have registered and am looking forward to a day of learning and mingling with my peers. Early registration fees are $50 only. If you don’t register early, the normal price is $75 which still isn’t bad. The day starts at 8:30am and runs until 5:30pm. Yeah, it’ll be a long day including the drive to and from the Springs but worth it.
If you are interested, register today. …and if you are coming from the Springs and need a ride up, just let me know.
jQuery on Rails Talk

For those in the Colorado Springs area, I’ll be giving a talk tomorrow at Panera Bread for the Not Just Ruby (NJR) group on the merits of jQuery as your JavaScript framework of choice when building Ruby on Rails apps. The talk is both an intro to jQuery (in some sense) as well as how to make jQuery easy to use after I have weened you off of the out-of-the-box Rails helpers. You’ll learn to write unobtrusive JavaScript code, support graceful degradation, not open yourself up to security holes, and more.
For those of you who would like to get a jumpstart on the talk, here are the files I’ll be using for the talk:
- OmniOutliner Outline (4KB)
- Ruby on Rails Demo App (1.5MB)
In the strange event that you are not able to install the necessary gems needed to run the Ruby on Rails demo provided above, then you can goof around with the live version here if you like. I know the demo doesn’t look like much but its what is happening under the covers that will be of interest.
See you at the meeting tomorrow!
Colorado Springs Open Source Meetup (WordPress)
Attended another open source meetup tonight. The first talk was by Chad Davis on intellectual property rights. He discussed how the currently evolving economy of intellectual property and how the method in which it is being licensed will effect us as software developers in the future. Worth paying attention to if you are not already because you could wake up one day and find that you have to pay for every byte that comes down your internet connection. It is a shame that he doesn’t have a blog or Twitter feed to follow (at least I couldn’t dig up any info on him doing a quick search).
The second speaker was Michael J. Hammel - The Graphics Muse. Entertaining speaker who gave a great talk on WordPress. Although, I have to admit that WordPress seems old hat these days. I’ve written plenty of WordPress posts on this site, built a dedicated page to the software, attended WordCamp, and even this site is powered by WordPress. So yeah, I guess you could say I’ve been there and done that.
Anyway, another good meetup as usual. BTW, for those attending the next open source meetup, I will be giving an “Intro to Ruby” talk which I hope all will enjoy. Finally, don’t forget that the first Not Just Ruby meetup will be taking place this February 11th, so don’t miss it!
Colorado Springs Entrepreneurs Meetup (Round Table)
Got a chance to attend the Entrepreneurs Meetup for the first time tonight and glad I did. It was the kind of fresh perspective and discussion that I was looking for from fellow entrepreneurs. Tonight’s meeting consisted of a massage therapist, real estate investor, electrical contractor, serial entrepreneur, and a web developer. Here were a few topics of interest:
- History - Apparently the meetup has been around for a while but only recently has it started back up again (November of last year to be exact). It is now being led by Mike Schmidt. There are 96 members of the group but only five of us were in attendance for the night. I suspect, and hope, that this will grow as the year rolls on.
- Networking - We talked about how people making use of networking in their business. For the electrical contractor, real estate investor, and massage therapist this consisted of word-of-mouth representation and with no money spent on marketing what-so-ever. The serial entrepreneur found that LinkedIn was a great asset, and for me I recommended blogging and use of Twitter. Open source development would help too but, of course, not really relevant to the rest of the group.
- Investors - As most people who live here know, this city is about as backwards as it comes to thinking out-of-the-box or nurturing any kind of investment funding for start-ups. I was glad to hear that both Mike and I share similar interests in working to change this. Easier said than done, of course. Especially considering the ultra-conservative views, heavy religious influence, and military presence. It’s almost a herculean task but one that would be of great benefit to the city and fellow entrepreneurs.
- Existing Entrepreneur Groups - There are a few other groups trying to foster movement in this city besides Colorado Springs Entrepreneurs Meetup. There is the Peak Venture Group as well as the Colorado Springs Technology Incubator. The first one I was aware of but the second one was new to me. It would be nice to see all of these groups communicating as one voice rather than fragmented entities but we shall see how this plays out.
Besides passing out business cards and giving a brief overview of what each persons business was about, there was a decent discussion on green energy and technology related to green energy. Got a chance to learn more about how this city’s Chamber of Commerce works as well as issues with the Colorado Springs Utilities company. There are decent hurdles to overcome in building a business that could provide solar and wind energy. Investment money for hardware being a primary concern but connections were made tonight that might actually help one person’s idea get off the ground and running.
Not Just Ruby (NJR)

I am happy to announce that Kevin and I have launched the first Ruby group in the Springs today called Not Just Ruby. The primary goal, as with any group, is to make connections, share knowledge, and grow as individuals. While most topics will be based around the Ruby language, we want to encourage discussion in other areas such as design and business, much like the Refresh Denver group.
Our inaugural meeting will be held on February 11th at 7pm at the following location:
Trinity Brewing Company
1466 Garden of the Gods
Colorado Springs, CO 80907
719-634-0029
Additional details can be found here so make sure to sign up.
In the future, I plan to be talking more about the Ruby language on this site but, in the meantime, feel free to check out my Ruby page in order to get started.
Colorado Springs Open Source Meetup (Blender)
It has been a while since I last attended the Colorado Springs Open Source Meetup. This time the talk was on Blender and OpenOffice. I’m not even going to attempt to talk about Blender except to say I wish I had more time to play with it. Pretty amazing stuff but comes with a stiff learning curve. BTW, a good discussion on Blender can be found by listening to FLOSS Weekly - Episode 25 - Blender if you haven’t checked it out already.
As for OpenOffice, I use it in a rather limited capacity. Actually, I’ve been using NeoOffice but tonight convinced me that I need to drop NeoOffice and check out OpenOffice again. It has improved quite a bit since I last used it. It even supports extensions. Neat.
I spoke with Gary, who runs the Colorado Springs Open Source Meetup, and offered to give a talk on Ruby, Ruby on Rails, etc. I mean, c’mon, the meetup has only been running since January of this year and still, there is no talk of Ruby or Rails? That needs to change. Hey Brett, if you are listening, I think you should fly up. We could give a rather compelling demo of Ruby, Rails, and Google Maps.
EclipseCon 2008 - Day 4

Today is the last and final day at EclipseCon and here are a few notes (organized by sessions):
Panel: Services Versus Extensions by Neil Bartlett, Jeff McAffer, James Branigan, and BJ Hargrave
The panel discussed the pros and cons of OSGi Services and Eclipse Extension Points with James mentioning how Jazz can fuse the two together. While I could not find an article that would explain all three in detail, I did find Neil Bartlett’s article that compares services to extension points.
For those that might want to follow this space more, I suggest visiting Neil’s blog.
Creating Your Own Extension Points: It’s Easier Than You Think! by Mark Melvin
The PowerPoint slides are worth checking out.
Article Series - EclipseCon 2008
- EclipseCon 2008 - Day 1
- EclipseCon 2008 - Day 2
- EclipseCon 2008 - Day 3
- EclipseCon 2008 - Day 4
EclipseCon 2008 - Day 3

It is day 3 at EclipseCon and here are a few notes (organized by sessions):
Eclipse 4.0 by Steve Northover, Jeff McAffer, Jochen Krause, and Mike Wilson
- The goal is to build a better desktop application, make it easier to build plugins, and bring Eclipse to the web.
- The biggest news seem to be around the Rich AJAX Platform (RAP) which is a subset of SWT to bring Eclipse to the web.
- The Eclipse versions are splitting. 3.x will be supported into the future while 4.0 moves forward. Changes applied to 4.0 will be applied to 3.x when apt.
PDT - The PHP Development Toolkit by Assaf Almaz
This talk had very little content as it was mostly an overview of what PDT 1.0 currently does and what is going to be new in PDT 1.1. It will be interesting to check out the new PDT 1.1 features when it is released this September (the first milestone is in May). PDT 1.1 will be built upon Eclipse 3.4 and WTP 2.0 (although the presentation mentioned 3.0 so I am confused about that).
Check out the PDT Project page for more info.
The Future of SWT by Silenio Quarti and Steve Northover
A significant amount of work has gone into SWT but more is needed to work within HTML, Flex, Silverlight, etc. Some demos where shown displaying SWT cross-compiled to run in Flex and HTML + Dojo Javascript library. There are implementations for WPF and Cocoa as well. Check out the demos.
Introducing the new Web Tools Javascript Features by Phil Berkland
The JavaScript Development Toolkit (JSDT) is a sub-project of the AJAX Toolkit Framework (ATF) project and currently in incubation. The talk started out with a brief overview of JSDT and then quickly dived into a demo of JSDT features to write and edit JavaScript code. JSDT looks to be more interesting than JSEclipse but check out the demos for more info.
Article Series - EclipseCon 2008
- EclipseCon 2008 - Day 1
- EclipseCon 2008 - Day 2
- EclipseCon 2008 - Day 3
- EclipseCon 2008 - Day 4
EclipseCon 2008 - Day 2

Another day has passed at the conference and here are a few notes (organized by sessions):
How eRCP stacks up against Android and other Mobile Rich Client Platforms by Ken Walker and David Girle
Ken and David built web apps using the following technologies:
- eRCP: Supports a very small user base. Not many apps are developed using eRCP.
- Android: Easy to setup. Only needs the SDK and ADT (Eclipse plugin). Really brings the desktop and mobile world together. Supports JDK 1.5.0. UI is a bit ugly though. Easiest to use but works in an emulator only as no devices exist yet.
- WebKit: Has a popular and large user base due to the iPhone. Works on Android.
- Others (things to consider): Java ME + MIDP 2.0, Adobe Flash/AIR, Silverlight, and GWT + Google Gears.
Based on this discussion, I would focus on the WebKit since it has a good user base already and can be easily tweaked to run on Android as well.
Java Annotations by Walter Harley
I’m glad I don’t have to work with annotations much.
Android and OSGi: Can they work together? by Neil Bartlett and BJ Hargrave
The answer is yes. Neil and BJ demonstrated running Equinox and Concierge on Android and made mention of a couple other OSGi technologies:
Code from the demo can be found here.
Introduction to the Jazz Technology Platform by John Wiegand
- Jazz is built upon layers (listed from top to bottom): Clients (Eclipse, Visual Studio, etc.), Jazz Server Kernal (works with Jetty and Tomcat), Databases (state is stored as structured items stored as XML and arbitrary content stored as BLOBs), and finally the Equinox OSGi Framework.
- Supports Lucene full-text search.
- Authentication is performed by the Jazz Team Server communicating with a corporate directory server (LDAP).
- Teams have projects and projects have processes.
- In the future, Jazz will support more of a Web UI and communication protocol.
Probably best if you just check out the Jazz Demo Videos rather than refer to my notes.
Android, OSGi & Cloudsmith: Cool Things Come in Threes by Ken Gilmer, Lucas McGregor and Henrik Lindberg
Interesting talk that discussed using web technologies to develop, test, and use applications and hardware. For instance:
- Cloudsmith + Eclipse Spaces + Felix + Android.
- Cloudsmith + Felix + Bug Labs
- Cloudsmith + XDrive
The demo showed a picture taken by a Bug Labs device and uploaded to an Android emulator.
Introduction to Groovy by Andres Almiray
- Groovy is a an agile and dynamic language built on Java.
- Looks like Java code which means the learning curve is very low for a Java developer.
- Compiles to Java byte code so that it can run anywhere Java does.
- You can use dynamic or static typing.
- Variable interpolation can be used: ${my-variable-to-substitute}
- Exceptions can be caught but if you choose not too catch them, they will be promoted as runtime exceptions by Groovy.
- Supports annotations (JSR 175), generics, enums, and closures.
- Supports operator overloading.
- There is an Ecipse plugin for developing Groovy code in Eclipse.
In case you are looking for other languages that can compile to Java byte code, they are: Scala and JRuby.
Article Series - EclipseCon 2008
- EclipseCon 2008 - Day 1
- EclipseCon 2008 - Day 2
- EclipseCon 2008 - Day 3
- EclipseCon 2008 - Day 4
Search
Categories
- Adventures
(105)
- Announcements
(36)
- Business
(19)
- Electronics
(28)
- Employment
(1)
- Epicurean
(10)
- Games
(3)
- Literature
(1)
- Mechanical
(4)
- Meetups
(18)
- Movies
(2)
- Music
(26)
- Photography
(1)
- Services
(29)
- Software
(136)