Archive

Archive for the ‘Software’ Category

Best Tip Ever

August 11th, 2007

I’ve long exposed this wisdom that was given to me by some sage but that an engineer would take the time to build it into, of all things, a Microsoft development tool really tickles my fancy!

Best tip ever!

Via Tech Republic.

Development, Software

Magellan

August 11th, 2007

Recently, a friend of mine and I were talking about the Big Ball of Mud pattern especially as it pertains to staffing. When you’re dealing with spaghetti, technical skills aren’t nearly as important as familiarity with the code, a truth captured nicely in this quote:

…architects depart in futility, while engineers who have mastered the muddy details of the system they have built in their images prevail…This advantage can extend to those programmers who can find their ways around such code. In a land devoid of landmarks, such guides may become indispensable.

Now, I understand that in many organizations, knowing the path through the swamp is a vital skill and many individuals have made very good livings out of being guides. But problems crop up when people start confusing comprehension with competence - knowing the back way to your house doesn’t make you Magellan.

Development, Off Topic, Rants, Software

The Rich Web Experience

July 18th, 2007

I’ve mentioned this to a few people here and there but mark your calendars for The Rich Web Experience September 6-8 in San Jose. Whether you’re a seasoned Ajax vet or someone that’s just trying to get your head around what the heck XHR is, RWE has something for you. The lineup looks absolutely fantastic and I’m excited to be a part of the event - if you’re interested in going, you can get a $200 discount by using this promotion code: nfjs2007speaker200. I’ll be doing an overview of various Ajax libraries, a deep dive on Prototype, and a talk on how to add Ajax to an existing application. Hope to see you there!

The Rich Web Experience

Ajax, Development, Talks

I {Heart} Dynamic Languages

June 26th, 2007

I’ve been meaning to blog this for a couple of weeks now but for some reason (oh, that’s right, the little rug rat) the only time I find to write is when I’m sitting in airport terminals. Today I find myself in the glorious C concourse at MSP even though I’m taking one of my shortest hops of the year - all the way to Milwaukee! It’s just a good thing I married one of the most understanding women on the planet; after leaving her to play man up on the little one for the weekend, I’ve increased the challenge by disappearing during the week. Thank god I can compare my travel to Venkat!

Anywho, two weeks ago I found myself fixing some JavaScript and I was reminded why I so love dynamic languages. We had a situation (two actually) where I had to add additional parameters to an existing method to clean up some issues that were showing up on one particular page. Since JavaScript isn’t too particular on method signatures, I was able to make the changes without impacting *any* existing calls to the method - they weren’t even aware I made the change. Now, I know that in static language land, I could have just overridden the method but then I’d be left with those little one line orphans that do nothing but call the new improved function. Oh, and I would have had that wonderful recompile stage! Small thing, but I was just ever so tickled that I could quickly and easily fix a specific problem without fear of disrupting other code.

Just last week I had another “dynamic languages rock” moment. One of the interns has been busy getting Groovy working on some simple scripts to help out with a couple of things. First, he wrote - in just a few hours - a Groovy script that combined a handful of JavaScript files into one (akin to what the Prototype folks do). Thanks to Scott’s presentation, he was up and running in almost no time. His productivity was quite something - it seemed like he was asking for more constantly. I’ll be the first to admit that I had mostly written off Groovy what with JRuby and all, but after seeing what we were able to do in just a short amount of time, I’m definitely on the bandwagon. But then it’s not a zero sum game ;)

Now I’m sure some will call the tasks we accomplished in the last couple of weeks “trivial” or perhaps “academic” but I just don’t care. Groovy scratched an itch and JavaScript is one again reminding me that it’s a first class language; perhaps even the next big thing.

Agile, Development, Rants, Software

Wisconsin JUGs

June 26th, 2007

If you find yourself in Milwaukee or Madison in the next day or two, come see me speak! Courtesy of No Fluff Just Stuff, I’m heading across the boarder right into the heart of Badger country. Tonight I’ll be at the Wisconsin Java User Group and tomorrow I’ll be at the Madison JUG - or MadJUG as they say in these parts ;)

Agile, Software, Talks

Where Does Your Language Rank?

March 17th, 2007

I ran into this hierarchy of programming languages over at David Weiss‘ blog (originally posted by Steve Rowe). It’s quite humorous (seriously, VB is higher up than Ada?) and I’m sure it’s just understood that Smalltalkers are superior to everyone!

Here’s a PDF of the above.

Development, Off Topic, Software

No Fluff Just Stuff Anthology 2007

March 17th, 2007

NFJS Anthology Cover

I’m a huge fan of the No Fluff Just Stuff tour (yeah, I know - I could be seen as “biased”) and I’ve wholeheartedly recommended it to many, many people over the years. For those of you who have (inexplicably) ignored my advice, you can get a flavor of what a typical symposium is like by reading the latest and greatest No Fluff Just Stuff Anthology, Volume II. That’s right, for a low low price, you can have your very own copy of what will, I’m sure, be lauded as one of *the* great works of the 21st century (to point, the chapter on usability is top notch!) But don’t just take my word for it, see what Neal “let’s-see-how-many-books-I-can-write-in-one-year” Ford (otherwise known as the cat wrangler of the anthology) has to say here. You can order your very own copy from the Prags or Amazon (don’t forget, Anthologies make *great* gifts). Enjoy!

Book Reviews, Development, Software, Talks, Usability

Bits and Pieces

February 25th, 2007

As I mentioned yesterday, it’s time to clean out the old inbox of all the bits and pieces that have been stacking up. These aren’t in any particular order and they’d all justify a full write-up but I’d rather get them out there than have them stagnate in the email bucket. Enjoy!

First off, I’m on a bit of a Seth Godin kick. Here is a short riff titled What smart bosses know about people who read blogs. Maybe I’m wrong for being somewhat amazed at how many folks in this industry don’t read blogs - but at least I’m not alone. Eric Sink covers this point in his post Baptists and Boundaries where he asserts (correctly) that most software engineers don’t read blogs. Ask yourself: what kind of people do you want on your staff? Those that, when the day is done, got home and watch the latest in reality television or those that are passionate enough to crack a book? Sadly, most managers want Sheepwalkers.

Some of this, I suspect, is a fear of failure and it’s clear that most people would rather fail conservatively than succeed in a radical manner (I know I’m quoting someone but I can’t seem to find the attribution, shout if you know but for now, take a look at this excerpt from Alistair Cockburn). Of course what it means to fail is a very fluid concept that Seth touches on in The Tyranny of Opportunity Cost.

Let’s get back to that passion bit. Kathy Sierra has a great post entitled Don’t ask employees to be passionate about the company! Amen. I know why C-level types are such cheerleaders but I’m always surprised when people wonder why the rank and file aren’t.

So these last two pieces aren’t related at all to the previous ones (hey, this is a tab clearing exercise!) but they’re still very interesting. James Duncan Davidson comments on the lack of Java on the iPhone but what really caught my attention was this quote:

For me, having Java was really important. But after I left Sun and talked to more end-users, I realized that as an end-user, the technology used to create something is not important. The important part is the result.

Couldn’t have said it better myself. Ryan sent me this link to a jQuery plugin for Taconite. Very cool stuff!

Last but certainly not least, Tim Bray has a very interesting post titled Comparing Frameworks. The moral of the story - you can’t really say Java is “better” than Rails without defining what you mean by better. What do you care about more? Notice where he ranks the options in regards to developer speed and maintainability. Last I checked, most of our projects spend the *vast* majority of their life in maintenance mode and I don’t think I know too many customers that want their projects later than sooner. Anyway, good read.

Whew, that helps ;) Looks like most people here in the big Minnie will be spending significant portions of today just digging out from the snow we got/are still getting. Oh well, this *is* Minnesota after all. I hope you’re reading this somewhere warm and dry!

Agile, Development, Off Topic, Software

Links for Charles

February 24th, 2007

The other day I gave a presentation with a set of links in it and when I mentioned that to my friend Charles (no, not that one) he said post them to the blog. So, let it never be said I don’t listen to my constituents!

First and foremost is an interview with Mary and Tom Poppendieck over on InfoQ. By the way, *great* content Floyd - if you haven’t been keeping track of the latest offering from Mr. Marinescu, you really should. I also posted a couple of articles on multitasking, something that I’ve commented on in Quick is Slow and You Have 11 Minutes. I pointed to two posts from Kathy Sierra: Your brain on multitasking and Multitasking makes us stupid? Along the same vein is an oldie but goodie from Joel on Software: Human Task Switches Considered Harmful. I’ve said it before and I’ll say it again - multitasking is a myth. People seem to harbor this insane notion that they can juggle half a dozen high priority tasks and do justice to them all…sorry, it’s not possible. But continue to believe that. Really.

Anyway, from the look of my inbox I’m going to have to do a deck clearer post…there’s been a lot of great articles out there that I’ve been meaning to comment on but have lacked sufficient time (something that I’ll have in even shorter supply in coming weeks!) If you’re getting the snow we are here, I hope you don’t have to drive anywhere this weekend…

Agile, Development, Off Topic, Software

Software is like…

February 12th, 2007

Since I practically goaded Glenn Vanderburg into the conversation, I just have to point to a very insightful post he wrote entitled Bridges and Software. In general I have a hard time wtih most of the comparisons of software - push comes to shove, software is like, well, software. It isn’t a pure construction process but then little of what we create would be classified as art. That said, I tend to think ours is a craft more closely aligned with the later than the former.

Anyway, I was particularly struck by the fact that Robert Maillart’s bridges were originally derided while the “state of the art” produced one of the most widely known engineering failures. I can’t help but think - what “truth” do we hold so dear today that will soon be considered folly (I’m hoping useless meetings and process definition teams)? What object or scorn today shall soon be seen as state of the art (please let it be offices with flat panel monitors and comfortable chairs). Great post Glenn!

Development, Rants, Software