I totally read it on Some Guy’s Blog

It must be true!

Archive for June, 2007

Breathe In, Breathe Out

without comments

It has been an absolutely batty six weeks.

You already saw all about my trip to RailsConf.

I’ve been engaged in a lot of communication with the executive team at ALTERthought, which is where I work. Those communications have gone in a lot of different directions, but there have been a number of good outcomes. I feel that I am contributing more to the organization in new ways that help me grow as a professional. I’m cutting my teeth on preparing and presenting large-scale, long-term service engagements which is new to me. That’s in addition to making sure that ALTERthought remains a premier supporter of Ruby on Rails in the Southeast. Exciting stuff!

And that’s in addition to actually performing my first billable work in a long time, and the first time I’ve worked for a client on site at my job. I still haven’t left the Vantage Place parking lot since December of 2005 for my day job, though. How bizarre.

The wedding approaches. The invitations are set to go out on Monday. There is a lot left to do, but Megan seems happy about taking it all on, at least. We talked last night about how awesome the entire event is going to be. I really hope that a lot of my friends scattered throughout the country will decide to come, although I know it can be expensive.

My fantasy baseball team took the biggest toilet dive that I’ve ever managed. A combination of injuries, bad drafting, and bad strategy are to blame. Rice failed to make it to the title series in the College World Series for the second year in a row after beginning 2-0 in bracket play. Not encouraging sports news, perhaps I’m earning karma for football season.

Megan ended her school year successfully and is now weighing her options for employment. Our financial advisor paid her a very nice compliment by indicating that he would like to see her working alongside him at New York Life. There is a lot to respect about that company and that profession; I also know that Megan would do a great job.

Jeremy, Tasha, Bill, Rob, and Kate are all doing well, and I’m excited to have a close group of friends in town.

Written by bigfleet

June 28th, 2007 at 8:08 pm

Posted in Uncategorized

RailsConf Writeups: Day 3

without comments

For me, this was the slowest day of the conference by design. I was so exhausted, and my feet hurt so badly that I wondered if I would even make it to the keynote in the morning. I did manage to get there without too much problem, and the Aleve that I brought came in extremely handy.

My day included:

During the Memcaching session, I missed my own solitary mention “on the floor” in the Joyent Slingshot presentation when I was mentioned as having worked on porting an application to it. I later got together with the person who was asking about it—Luke Melia is a commiter on Tracks.

Jon, a friend of his, and I walked out to McMenamin’s for dinner. Jon didn’t like the beer that I got (It was named Ruby!) but the meal was decent. After that, we walked back to the hotel and called it a day.

We ended up seeing a clip I had shown Jon at the start of the day on Inside Edition. Jon and I were both tickled because we are evil persons. When I reminded him of the clip, he sent me a link to a better one.

Written by bigfleet

June 21st, 2007 at 3:32 am

Posted in Uncategorized

RailsConf Writeups: Exploring Virtual Clusters for Rails Development and Deployment

without comments

Unfortunately for the fellow at RailsMachine, this talk is an area that I’m really trying to stay abreast of. I historically have had very little money to spend on architecture, and the concept of virtualization has had a huge impact on my professional development. As such, I thought that I would give some time to a practitioner in this space that wasn’t Joyent

Applying the concept of virtualization to Rails deployment is something I’ve already done, and his presentation was more about his offerings than how he engineered them. Any development shop that is concerned with how they will run their product when it becomes successful should have had both ears open. I have been spending a lot of time on this, though, so it wasn’t so useful for me. I’m sure others had a different experience.

Written by bigfleet

June 21st, 2007 at 3:31 am

Posted in Uncategorized

RailsConf Writeups: Memcaching Rails

without comments

This talk was a bit of a stretch for me, having never written an application that was even close to needing Memcached. I had a great seat, though, and really enjoyed meeting Chris at the “Joyent Happy Hour”. I also had just sat through a talk where all the concepts were familiar. What was the worst that could happen?

I ended up really enjoying the presentation for multiple reasons. You can access his presentation here and be sure to look around for the download option. And get the version with notes!!!

I loved the introduction which definitely made me feel like I might have been sitting there in that GameSpot booth with the same challenges. (Although odds are good that I would have been watching the braniacs do the real work.) He also didn’t set himself up as an expert, which I normally respond well to, especially if the speaker is obviously lying because he is in the middle of presenting at RailsConf. I also really appreciated that he shared a mistake he made that brought down GameSpot. Learning from others’ mistakes is the best.

The introduction to memcached couldn’t have been better, from my perspective. I knew almost nothing about it, and learning very quickly about the basics was nice. Everyone knows what a hash is like, and the presentation built appropriately from there.

It takes balls to put a YAGNI slide 25 slides into your presentation… about your presentation itself!

The cache_fu plugin appears to be one of my favorite sort of plugins, the sort that does a lot of assembly and simplifying of other work. The code was never that hard to grasp and his presentation is still available as a starting place.

This presentation also sounded another note about using mocks and stubs. Gotta look into getting more hands-on experience there. Check out slide 70 for goodness sakes, although that’s not a result of mocha or stubba.

The biggest take home for me is it’s OK to make mistakes. It happens all the time. The problem is not being able to react because you don’t know what you’re doing. That’s why you can listen to the front-runners and make sure that you do it as right as you can the first time out.

Written by bigfleet

June 21st, 2007 at 3:30 am

Posted in Uncategorized

RailsConf Writeups: The Dark Art of Developing Plugins

without comments

This presentation was one of the highlights of the conference to me. For me, it was a perfectly structured talk. It joins the V is for Vexing, Joyent Happy Hour, and the make_resourceful talk as the overall highlights of the conference for me. (make_resourceful link coming soon!)

In my experience, there are a lot of developers who are learning Ruby by programming in Rails. Most of us know that Rails takes a lot of advantage of the advanced metaprogramming techniques in Ruby, but how many of us take the time to learn all the mechanics of how it works? What made this talk so effective was that James was able to take a part of Rails that a lot of developers have to interact with (plugins) and explaining some of the Ruby magic behind how it all comes together.

You’re left with a very solid understanding of how everything works behind the scenes. As a result, you’re in a much better position to be able to write your own plugins, but also how to be a good plugin consumer. Don’t waste any more time listening to me, download the talk and check it out.

Written by bigfleet

June 21st, 2007 at 3:29 am

Posted in Uncategorized

One of these states is not like the others

without comments

Written by bigfleet

June 4th, 2007 at 9:36 pm

Posted in Uncategorized

Life, Liberty, and the Pursuit of Happiness

with one comment

Pretty lofty title for a post about World of Warcraft, but I quit playing yesterday, and I feel free today. I got caught playing by Megan, which was the impetus for deleting my entire application folder on the spot. (My Auctioneer data—- noooooo!!!!) I had spent some portion of the day attaining level 37 (of 70) with one character and was about to reach level 38 with my primary character.

But instead Mises and Ditholdri have given their lives so that I might live more freely.

What is it about World Of Warcraft that is so compelling to me? I have a long history of being absorbed by video games, so that part is definitely not a hurdle.

Unlike so many other parts of my life, changes in the game are made immediately, numerically verifiable, and easily tested for effect. Along with that, provided that you have a good guide, major upgrades (aka, the next fix) is never that far away.

To be successful at playing World of Warcraft, it’s not enough to just “play through the game”. You have to learn a wide array of skills, and how the different parts of the game (including the other players) interconnect. This is especially the case for Druids, like Mises. Otherwise, as you advance, the game will become so difficult that you’ll be likely to quit. I find my ability to keep up and to get better as I have played more to be quite satisfying.

Why do these things make me happy? Why do they make me willing to fully engage in “battle” game play that’s so simplistic? (Of course, at higher levels, it’s more sophisticated. And I feel it’s simplistic because I’m not that good at it.) Why do I sometimes feel compelled to spend time on a world that doesn’t even have a physical manifestation?

I suppose answering that question would mean this isn’t really a post about World of Warcraft at all. Anyway, more time on the real world (like this blog post?!) from here on out.

Written by bigfleet

June 4th, 2007 at 7:24 pm

Posted in Uncategorized

RailsConf Writeups: Day 2

without comments

Friday was the first “real day” of the conference, with DHH’s opening keynote (well summarized by Patrick Reagan here) and the first day of sessions. You’ll have to wait for my own summary post on the entire conference to get my impressions of the keynote speakers.

My day included

After that, Jon, Patrick and I had a horrible dinner at American Cowgirls which I will now erase from my memory forever. After that, we walked to some bar whose name I can’t remember where I fell asleep in a chair on the back patio. We took a cab back to the hotel, and I relished my good fortune.

Written by bigfleet

June 1st, 2007 at 3:21 pm

Posted in Uncategorized

RailsConf Writeups: Clean Code by Uncle Bob

without comments

If you’ve never been to a talk by Bob Martin before, one picture really does equal a thousand words. (Make sure to check out the link in the third comment.) He is a very passionate, very intense speaker. He challenges the listener to rise to a higher level of code-fu. This was the first time I had heard him talk, and I won’t be likely to forget it anytime soon.

More than any of the lessons about Ruby that we went through, what stuck with me the most was the attitude he shared with his listeners about rewriting and redesigning the system you’re working with. In his view, the “main build” never ceases forward motion. Requirements will be added and the code base will change in response. Thus, any redesign is still aiming at a moving target. His warning was to be very careful about pinning all your hopes as a developer on the Once and Future Rewrite.

He would recommend that when you work with a certain piece of code, check it back in a little cleaner, and a little nicer. Eventually, those habits will accrete and really start to add up in terms of code quality.

You can get a lot of the benefits of this talk (without Bob’s inimitable style) by reading his presentation files. Those files use Java as the language, but feel free to skip those bits to get the flavor of his message. It’s definitely worthwhile.

Written by bigfleet

June 1st, 2007 at 3:20 pm

Posted in Uncategorized

RailsConf Writeups: Taking Rails Tests to the Next Level

without comments

I originally found Jay Fields’ blog from a reference in the back of Rails For Java Developers from Stu Halloway. Reading his blog was really interesting and dealt with a lot of unfamiliar topics. As a result, I was eager to hear him speak.

Jay had one slide for his entire presentation, but a lot of ideas. Visiting Jay’s blog particularly the posts that he has tagged Testing Refactorings would be an excellent start.

Jay’s session started one of the ongoing themes of the weekend for me, which was rethinking my approach to testing. Just because tests deal with models does not make them unit tests. Just because tests deal with controllers does not make them functional tests. That determination depends on the context, and what precisely it is that you are testing. To that end, during the presentation it was revealed that Rails plans at a later date to begin structuring the test hierarchy to include model/ and controller/ directories under test/ instead of unit/ and functional/.

Less than ten minutes into the presentation, Jay mentioned that one of his development goals was test each test case should fail in isolation. In other words, if you make a change to your code-base and run the tests, there should be no cascading failures. I found this to be an outlandish idea at first, but when I started to think about it, it made a lot more sense in certain ways. My first question for him was if that led to an explosion in the number of his test cases, which he answered in the affirmative. It makes sense to me, though, that a fuller explication of every bit of behavior that you expect will lead to healthier code-bases in the long term.

One reason that Jay is able to have goals like these is that he is comfortable with Ruby metaprogramming and the various mock libraries for Ruby. As in Martin Fowler’s Mocks Aren’t Stubs article, I have been a classicist for a long time. Like Mr. Fowler, I find the mockist dependence on implementation troubling. Unlike Mr. Fowler, I have not worked with mocks nearly enough to have formed my own opinion of their benefits. It’s an exciting area of inquiry for me.

My summary is that Jay is a very thought provoking thinker who is very serious about his testing. I really appreciated the conversational tone of his talk, and I wouldn’t hesitate to ask him a question if I come up with one while looking into the area.

Written by bigfleet

June 1st, 2007 at 3:19 pm

Posted in Uncategorized