Thursday, June 10, 2010

RailsConf 2010 Day 3

Author's Note: wow, this post is way overdue. I actually wrote this the day I got back from RailsConf, but never got around to publishing it.

Day 3 started with Bob Martin's keynote. Very exciting, this is the first time I've seen Bob Martin in person. His energy is really powerful, doesn't alway translate when I've watched videos of his talks. Kind of like live music, it's better if you are actually there. He gave the usual astronomy-backed introduction to his talk. This was quite relevant to where he was going with the rest of the keynote. To sum up, hardware has advanced at a frighteningly astonishing pace in the last 40 years. However, software has made marginal, if any, progress in that period of time. The rundown of current languages and where they came from was fascinating. I'd love to see a family tree in visual form of what he was talking about.

Now that the game has changed in hardware improvements (slower, but more processors), the game must change in software. There are languages that are addressing this by the bigger companies and communities (Scala & F#), but those languages look like what you'd expect from those communities (big and complex). He likes Clojure for its simplicity.

Another takeaway for me, is that I have a new set of books to read. In order, Uncle Bob recommends 1) The Structure and Interpretation of Computer Programs, 2) Structured Programming, and 3) The New Turing Omnibus

The other hightlight of the day for me was Agile the Pivotal Way with Ian McFarland. This was a very good presentation with great content. We use Pivotal Tracker on our projects at Dominion Digital, so I wanted to see how development was done by its creators. No big surprises here. I am interested in how they set up their workstations. No one has their own laptops out in the project development areas. That is pretty interesting. They take pairing to the next level. I'd like to experiment with that on an upcoming project. Not sure if everyone else is going to buy into to it though.

Wednesday, June 9, 2010

RailsConf Day 2

I don't have too much to report from today. When I woke up, I knew there was no way I was going to the conference. I spent the morning sessions going to Patient First and figuring out what is wrong with me (just a cold, a really bad one). Then I spent the afternoon sessions sleeping.

I really hate that I missed today. The sessions were chocked full of things I'm interested in. I can't wait to see video of Neil Ford's keynote on Constraints and Creativity (please tell me that's going to be posted). There were also multiple JRuby and NoSql talks I was looking forward to. Oh well.

I did get myself together for the evening keynote by Derek Sivers. He gave an entertaining talk, and had very good stories to tell. He talked about his path from PHP, to Ruby, back to PHP, and now back to Ruby (for the first three steps of this path, see his famous blog post). He came across as a very good, humble guy, which is different a different impression I had of him 2 years ago when I first read that blog post. For as good and entertaining as the talk was, I have some criticisms of it. I felt like he was all over the map, and strayed so far from his own story, that it got lost. Also, I have a pet peeve when speakers don't give full credit to their resources. He couldn't remember the name of the book Switch, and he pulled multiple stories and statistics from that book.

I still greatly enjoyed the talk, I'd watch him again, and I'd love to see how the story ends up.

Tuesday, June 8, 2010

RailsConf Day 1

Today was a full day of conference action. I was able to hang through it all by a thread. Unfortunately, I feel as bad as I did yesterday. Don't worry, I won't give a minute by minute rundown on that again. But here are highlights from my notebook today

To start off, Ben Scofield and Chad Fowler gave a good, short introduction. Then they kicked off the morning keynotes. I was really fired up because I admire both DHH and Michael Feathers so much. DHH covered the changes in Rails 3 that he is most excited about. They are working to pushe Rails 3 closer to release this week (note: by the end of the day beta4 was released w/ RC promised in the coming days). Also, almost tongue in cheek, he even highlighted some of his wishlist for 3.1.

Michael Feathers talk was around a topic he is quite famous for: Legacy Code. He had a little twist on it because he hasn't had to do much work on legacy Rails apps. Some of my biggest takeaways from this talk: read his paper on Testable Java, start mining source code repositories for information about projects.

Glenn Vandeburg's talk on Software Engineering was good and very well thought out. However, it was more of a history lesson to me. I don't think there was anything that is going to make me change how I do things. However, I may go back to the original paper by Winston Royce that is credited with starting the waterfall movement (by accident because it was so poorly written and presented).

The State of eCommerce panel was really good also. There are a lot of things people don't consider when they want to start an eCommerce site. The panel was obviously battle-tested and very insightful.

Ruby's Dark Corners w/ Charlie Nutter and Evan Phoenix was fantastic. These guys are no joke, very technical and highly entertaining. The biggest moment of the day was that I sat through this deeply technical Ruby talk, and I understood what they are talking about. Maybe I'm finally getting it!

The evening keynote was done by Yehunda Katz. I was expecting a technical talk from Yehunda, but got a very inspiring one instead. He has a very good background story to tell. And set out to explain that anyone can make an impact. He gave many examples from the Ruby community where people made impacts by plugging away at easier problems. He also gave examples of people taking on problems that were considered impossible or nearly impossible.

RailsConf Tutorial Day: Drinking from a Fire Hose with a Sore Throat and Hacking Cough

Below is a rundown of my first day at RailsConf. In the end, I had a good time and learned a lot. But it was a tough road since I probably should have stayed in my hotel room to get over a pretty bad cold.


5:00 AM - woke up in misery w/ this chest cold. Sore throat, hacking cough. Things are going to be rough today
6:00 - woke up again coughing. At least I have another hour of sleep
6:11 - damn this isn't working out like I had planned
6:30 - ok good, I have 30 minutes before my alarm

7:00 - alarm, hit the shower. Crank up the hot water. Stay in shower as long as I can stand it
8:00 - head over to conference center. Cringe when a friendly guy tries to strike up a conversation w/ me. My voice hardly lets me respond.

9:00 - settle in to Rails3 Ropes Course tutorial w/ a cup of herbal tea. Seems to help.
-whoa, Pollack is flying through these slides. I should have worked ahead before I got here.
-this thing is like drinking from a fire hose.

11:38 - ActiveRelation and ActiveModel have been the best sections so far. For the first time today, I completed the lab!! And they said that would be the hardest lab of the day. I think that really shows how much of a novice I am w/ Rails. The simple stuff can really trip me up sometimes.

ActiveRelation looks suspiciously like linq. I like the way ActiveRelation and ActiveModel are working to separate the model from always extending ActiveRecord. Seems like Rails3 is much more configurable out of the box

11:45 - speedwalking to CVS to pick up some medicine
12:00 - speedwalking back to the conference to grab some lunch
12:05 - disappointed in my roast beef sandwich.
12:30 - iPhone + Rails w/ Mike Clark. I'm able to keep up, but just barely. Mike is flying through this stuff. Guys sat down beside me, w/ Windows machines, didn't know what language was on the screen, and just started talking the rest of the session
12:45 - His slides were done in HTML5. Pretty cool, you can just used the arrow keys to go through them. This is a good idea. I'll have to look at the source later.
2:45 - the session has gotten more advanced quickly, keeping the same pace as when we were reviewing the simple topics. Starting to get a little lost and distracted.
3:30 - OK, so I picked up on most of the topics here. It's pretty easy to get iPhone and Rails to talk to each other in the simplest cases. He also gave some examples of good third party tools to assist in creating iPhone apps for RESTful communication