Archive for July, 2006

Flash, Done Right

July 31st, 2006
[ General ]

Tad, Rudi, Mark and storystream kids have a new site. I’ve never been a fan of flash based sites but they deserve credit for building a flash site that isn’t completely obnoxious. Even though the navigation is unique in each area, it’s still simple to figure out and use.

I know they’ve done something right when they have me considering using flash on our site. Considering I said.

Parameter Naming Conventions

July 27th, 2006
[ Geek ]

MSDN’s suggested naming conventions for parameter naming never really worked for me. My problem is that using camel case for parameters conflicts with their method level variable naming convention. That makes it difficult to easily distinguish between the two.

public void DoSomething(int someInt)

Which is great until you define a method level variable using the standard conventions:

int anotherInt;

Then later in the method, set it:

anotherInt = someInt;

It’s not readily apparent that one of these is a parameter passed into the method rather than a method scoped variable. While I can’t stand the way it looks I’ve been dabbling with prefixing all parameters with “p”:

public void DoSomething(int pSomeInt)

Resulting in this statement:

anotherInt = pSomeInt;

Now it’s quite clear what’s happening here, a method scope variable is being assigned a value that was passed in as a parameter. It works and solves this issue, however, I really really can’t stand the way the “p” prefix looks.

Agile’s Hard

July 27th, 2006
[ Software Development ]

Nice quick read sent over by Bobby, Why Is Agile Development Hard?

Don’t let the title of this fool you. While some people may view it that way, this is not an article about why agile processes suck. This is a great little endorsement article about why you want agile if you’re a business owner. To do that, however, you need a team that can actually be successful in an agile process. You’ll only find failure if you take an existing team working in a traditional process and shuffle them over to agile. It won’t work.

Agile is much more difficult. Ultimately it’s about the people. Agile requires intelligent people who are intrinsically motivated and self-managing. You need technical people who are willing to act like business owners. Traditional processes can be simpler and requires less thought, well I think the author summed it up…

“YOU HAVE TO USE YOUR BRAIN!”

His other points:

  • Don’t Mistake Activity for Progress
  • Show Me Working Features
  • Learn to Say “No”
  • You Must Lay the Proper Groundwork to Be Agile
  • Agile Is a State of Mind!

“In agile development, you (and everyone else) are charged with the rather difficult responsibility of always challenging yourself to ensure you are doing the smartest thing possible that will bring about the best solution for the current project (and within its context).”

While we are far from being agile bigots, we certainly are an agile software company, based on these tenets. We value working deliverable software over activity.

This places a big burden at the front of our funnel during our hiring process. We have to ensure we only bring in people that want to use their brain today and three years from now in the middle of a long project.

If you work in a traditional software process and find yourself pissed off because the process prevents you from doing what you know is right for the business, well email me your resume because we’ve all been there and we’re looking for you.

Simplifying Windows

July 26th, 2006
[ Geek ]

I’m not sure whether I’ll see any impact but I shut off a lot of the services talked about in this Guide to Useless Windows Services article. Windows certainly tries to be everything to everyone and in doing so has to have a lot of services running that the average user may never ever call. In theory, shutting those off has the potential to reduce startup time, free up some memory, and speed up your machine in general.

VIM tutorials?

July 25th, 2006
[ General ]

In reading this, the vim tutorial part surprised me:

“Feedback overhead on irc from Damian’s vim tutorial: hardwarehank: ahhh the vim tut is friggin aawesome. Damian said someone leapt up after the third vim technique and testified: “WOO! This was worth the tutorial cost alone!”. I love it when I follow my gut and the instinct pays off: who would have thought that he’d have about a hundred people in a tutorial room for a tutorial on vi?!”

It’s easy to assume everyone else knows what you know, or more. While I’m far from being advanced, I do understand how to use some of the more advanced vim capabilities referred to in this tutorial. Would anyone be interested in some straight forward tutorials on them being posted here?

Smackberry

July 20th, 2006
[ Geek ]

Chris has a great idea that’s a spinoff of the smacbook pro. I play hockey with a bunch of those RIM boys and I know at least one of them reads this site the odd time, can we inject this idea over there at the RIM borg?

This is an idea I’d actually pay for.

Ruby On Rails versus .Net/Java

July 20th, 2006
[ Software Development ]

I was recently asked about Ruby On Rails(ROR) versus .net or java. Specifically, a CEO of a startup is planning to use ROR, in what situation would we use ROR? First off, I have essentially no experience actually developing in ROR so I should really keep my yap shut. Having said that, this is all best guess, big grain of salt stuff. Some of my response is below:

Here’s some specifics to go with that….

ROR is impressive at first look, big ’shock and awe’ value. This is what sucks people in. My question is what’s it like to work in when it’s a large, long-running codebase, multiple developers, etc. ROR sucks people in because you can prototype really fast, and again that makes it impressive when watching demos etc. There’s nothing cool looking about demonstrating how a well architected java or .net app makes working in a multiple developer, large code base scenario more managable. That’s just boring but which does a particular client need?

As far as I know, ror isn’t a strongly typed language which presents some major issues. In the end, if I was building an application that I wanted to have staying power, ie I plan on the codebase lasting a while, then I would use java or .net along with a whack of available frameworks like spring, hibernate, etc to accelerate development time. In that light I’m not sure ror has much of an advantage. If you’ve never used those frameworks or a good O/R mapper then ror would be even more impressive because that’s a big piece of the shock and awe value you’re getting. I think the piece that impresses most people is it’s built in O/R mapper.

The real question is why? What does that CEO feel he’s getting by using ror? Cheaper developers? Better technology? No licensing costs? Better scalability? Faster development?

“After my run with RoR, I played around with ASP.NET 2.0. My thought the whole time was similar … where are the blog in 2 min (or 5 or 10 or w/e the RoR demo was) demos on this? Cause really, its a whole lot easier with ASP.NET 2.0 than in RoR. Its practically no code - all the controls are drag and droppable. Now, the biggest thing is that when you want to come back and do a real app in ASP.NET 2.0 after the initial wowing, you still can! You are the ones writing the SQL statements for the data sources (with tools to make it quick) and caching is very easy to implement. A lot of the plumbing is there for logins, user management, site navigation, etc, etc. And with all of it, if you need to, the provider model is easy to customize as you like.

That definitely sounds biased but thats how I honestly feel about it: They’ve done good with RoR’s marketing (the “demos”) but beyond basics, it really disappoints. Not so with ASP.NET 2.0 - only thing is maybe someone should do the 2-5 min “demo” for ASP.NET 2.0.”

Above quote from comments here.

vi(m) 101

July 18th, 2006
[ General ]

If you don’t use vi(m) and were intriqued by my previous post, take a peek at this and join the cult.

Sales not Marketing

July 12th, 2006
[ General ]

Tom reminds us it’s about sales NOT marketing. It’s interesting that sales has taken on that dirty word status. The idea that marketing’s fine but whatever you do, don’t sell me something.

Drupal

July 12th, 2006
[ General ]

These guys were mentioned on a recent twit. The twit site is built on drupal and those guys helped build it. They seem to be taking an approach we’re always discussing when it comes to simple website development, that is using drupal to build sites but making sure they don’t actually look like ‘drupal’ sites.

No one should be building simple websites by hand anymore. Use drupal or one of the blog engines so that you’ve got a publishing platform underneath.

We’re contemplating building our new site using drupal in contrast to the new CreationStep site which we built on Wordpress. Oh, by the way, our brand new CreationStep site is now live.

For a high end example of what you can do with drupal, check out the onion which is built on drupal. Can you say 5 columns?