Sunday, January 25, 2009

Whoa, where did the time go?

Oh man.  Wow.  Where has the time gone?

So, last post (in July of 08) I said I was off to the Lone Star Ruby Conference.  Well, not so much.  I was really looking forward to that, but it turns out I had to head to India during that week instead to do some consulting with a healthcare company looking for an architecture review of its in-house built HIS and integration options for an EHR as well as overall IT infrastructure and systems.

After returning home I've been steadily involved in the delivery of multiple integration systems and unfortunately let this blog, pet projects, and a lot else slip.

Well, I'm back - and plan to post quite a bit more over the next couple of months.  Wish me luck (or discipline?).

Thursday, July 3, 2008

Heading to Lone Star Ruby Conf

The ticket is purchased and plans have been made... I'm heading to Austin in September for the Lone Star Ruby Conference.  I opted for the day of training prior to the conference and choosing the topic was a bit tough.  I ended up going for the session on Merb and DataMapper though I was very tempted to sign-up for the IO deep-dive session.

If you too are planning to head to the conference, or travel through the Austin area for another reason at some point, do yourself a favor and head just outside of Austin to Lockhart - "BBQ Capital of Texas".  Lockhart has some of the absolute best BBQ in the world.  Of the four BBQ joints there, I can vouch for Kreuz Market and Smitty's Market.  Perhaps this time around I'll get to check out Black's BBQ and Chisholm Trail Barbeque too.

Ruby, good speakers, promising sessions, and meat drenched in smokey goodness.  September can't come soon enough.  =)

Monday, June 30, 2008

Note to self: Don't create an ActiveRecord model named Action

Finally getting around to noting something I ran across several days ago.  While debugging a Ruby on Rails hobby app of mine I had a head-slapping moment when I realized the source of my pain was from blithely naming an ActiveRecord Model Action.

What's the big deal?

ActionPack already expects there to be a params[:action] completely unrelated to a Model named Action (which gets translated to params[:action] when submitting a form for @action).  I subsequently read Josh Susser's post on using Reference as a Model name where it conflicted with a reserved word in MySQL.  This got me to thinking that it would sure be nice if the rails generators might spit out a friendly "hey dork, that's probably not a good idea to use that name..." kind of message.  Perhaps I'll take a crack at that eventually.

Lean Software Development

All of a sudden, Lean Software Development seems to be getting some attention.  Or perhaps I've just noticed that it has.  I picked up Lean Software Development back in 2003/2004 and though I enjoyed it, it doesn't seem to have gotten the attention that Scrum and XP have.

Scott Hanselman recently interviewed Tom and Mary Poppendieck on his Hanselminutes podcast, and then there is the recent post Agile Versus Lean by Martin Fowler.  Check them both out.  Now.

Even if you've already studied Scrum and XP, you might want to pick up a book or two on this particular strain of agile development methods.  It can help you clarify and solidify some of the concepts you're already working with and potentially give you some new tools and techniques to optimize your current methodology.

Saturday, April 12, 2008

Management of podcasts in iTunes

I’ve been frustrated with the synchronization capabilities between iTunes and my iPod. Specifically, I’d like to:
  1. Group podcasts by an arbitrary categorization that I choose
  2. Order the podcasts in each category by the release date
  3. Not include podcasts that have been played
While synchronizing from the built-in iTunes Podcasts directory/location doesn’t seem to provide this capability, at least that I can tell, it is possible to do this using Smart Playlists.

Here’s an example of what I’ve done.

  1. I created a folder in iTunes for each Podcast categorization, e.g. one of the is named Ruby Podcasts
  2. In the folder I added a Smart Playlist for each podcast related to Ruby and Rails development from my Podcast subscriptions and named the folder Ruby Podcasts. As an example, I chose File > New Smart Playlist and entered:
    • Genre is Podcast
    • Album is Rails Envy Podcast
    • Play Count is 0
  3. I created a Smart Playlist like this for each podcast that I felt belonged in the Ruby Podcasts folder.
  4. I created another Smart Playlist in the same folder named All Ruby Podcasts. For each smart playlist in the folder which I wanted to add to this aggregate playlist, I selected: Playlist is , e.g.
    • Playlist is Learning Rails
    • Playlist is Rails Envy
    • Playlist is Railscasts
    • Playlist is Ruby on Rails Podcast
    • etc.
  5. I also chose to Limit to 10 items selected by most recently added in order to limit the number of items added to my iPod. I have a little iPod Nano and lots of podcasts and audiobooks on which to catch up in addition to music I keep around, but don’t listen nearly to enough.
  6. Finally, I ordered the All playlist by Release Date so that the podcasts show up in the order of most recently created in both iTunes and on my iPod. I may change this so that when listening to podcasts that should be heard as a series they are by default in the correct order. For example part 1 of 2 of a series would be heard by default before 2 of 2.
I’ve created multiple such folders for each type of Podcast I’m regularly interested in, e.g. .NET Podcasts, Mac Development Podcasts, Ruby Podcasts, General Software Engineering Podcasts, etc.

Have an alternative way of organizing your podcasts? I’d like to hear about it.

Friday, March 7, 2008

iPhone News

Watching the iPhone software roadmap that was announced yesterday, I'm excited by a couple of points.


1. Exchange integration will be baked into the next version of the iPhone software.  Apple is doing this right by taking advantage of what Microsoft offers directly with Exchange and not forcing you (ala RIM) to buy server products to sit in between Exchange and your devices.


This not only means your email, calendar events, and to-do items, can be pushed to your iPhone from Exchange, but you also get all of the security administration features that Exchange provides, like the ability to remotely secure devices, require pin numbers, and wipe them.


2. Native SDK.  There seems to have been a bit of hype around the web lately that Apple was about announce an iPhone SDK that let you build Widgets, but not "real" applications.  Nope, they're releasing a real SDK that allows for the building of custom applications.  They reveal that the iPhone (and iPod Touch) are the same architecture stack as OS X with the notable exception that they've built a new presentation layer tailored to non-mouse/keyboard driven devices called Cocoa Touch.  Didn't quite get if it is really "net new" or if it is an enhancement/rebuilding of what exists in Cocoa.


Not even half way through the video yet, so I might post more when I get a chance to see the rest.

Wednesday, February 6, 2008

Big First Post

Welcome friend,

Like many of my friends and colleagues I've intended to start a blog for a long time now. Also, like many people I know, I've simply procrastinated about doing it. Why? I'm not entirely sure, but I'm guessing it has somewhat to do with asking myself just what I should say in the Big First Post. Likely I should describe the intent of the blog, a little about who I am, and just who I think I am that feel compelled to share any self perceived wisdom or stand on a soapbox and spout off on occasion.

So, without having any really great witticisms as a rationale for this blog's existence, I've decided to simply just eschew all of the intro type content that should likely be here. Instead, I'll simply leave it at this. Hello world, and welcome to my little corner of the net.

printf( "Welcome" );

Console.WriteLine( "Welcome" );

System.out.println( "Welcome" );

(format t "Welcome")

puts "Welcome"

Transcript show: 'Welcome'

There, now that the Big First Post is over with, perhaps I can begin to simply spout at will.