Archive for May, 2006

Source Control Disruptive Technology

May 31st, 2006
[ General ]

I was wondering, during my mks days, what disruptive technology we weren’t allowing ourselves to see. I kept thinking about source control being invisible, possibly at the OS level. It seems I’m not alone in this.

“It seems that the next big change in how we use computers might be the introduction of filesystems that store every old version of every file. With the explosion in size of cheap hard disks, there seems to be no reason not to keep a complete record of your computing life–and several research projects are working on it.”

This of course doesn’t address team collaboration and support for the development process itself, however, it would at least mean I no longer have to run a local Subversion server.

The quote above is from Keeping Your Life in Subversion. I have to confess that I keep my life in Subversion as well.

Cool Code with Brackets

May 31st, 2006
[ General ]

I recently switched bracket styles in code. Here’s what I used to do:

private void writeBugEventLatest() {

string sql = “update bug set ixbugeventlatest….”;
reader.writeOut(sql);
int rowsAffected = cmd.ExecuteNonQuery();

}

It’s clean and doesn’t take up a lot of lines. What I’ve never explicitly done is strived for a code style that makes errors, bad code etc easier to spot. I’ve made the simple switch to this style, which is most likely the more common of the two:

private void writeBugEventLatest()
{

string sql = “update bug set ixbugeventlatest….”;
reader.writeOut(sql);
int rowsAffected = cmd.ExecuteNonQuery();

}

The result is easier to scan and see the opening and closing braces. Actually I really don’t even have to scan, I can just see them. Technically I like the look of the other style better but I agree the latter is easier to work with so I’ve given up on cool and made the switch.

Another Collaboration Tool

May 26th, 2006
[ Geek ]

I’ve been using Persony for several months and it’s great, when it works. The issue I have is it somehow conflicts with my Vonage line. I use persony primarily to collaborate remotely with other developers. Solve a problem together, get a second set of eyes on some code, review sections of code etc. The point is I’m usually on my vonage line at the same time and the calls drop frequently. Annoying as hell.

Guy mentioned another tool recently called vyew. While they’re working on a desktop sharing feature that I wasn’t able to get working, this is more of a collaboration tool so it isn’t in direct competition with persony. The twist with vyew is it’s always on approach. It’s like a boardroom meeting you run and then leave around for weeks after. People who miss the meeting can stop by whenever they like. It’s also free, currently, and requires no software install. Check it out.

Embracing Chaos?

May 26th, 2006
[ Office Gossip ]

An interesting story about innovating from the bottom up.

“In my experience, innovation can only come from the bottom. Those closest to the problem are in the best position to solve it. I believe any organization that depends on innovation must embrace chaos. Loyalty and obedience are not your tools; you must use measurement and objective debate to separate the good from the bad.”

blueprint.jpgI tend to fall on the choas and ad-hoc side of this debate, however, how do you balance that with accomplishing the business goals that keep you around tomorrow? I can’t imagine trying to run a business with any level of productivity while your entire team feels it’s their job to ignore you and do what they want.

The only answer I know of is to embrace them. Google’s tried this with their 20 percent projects. Most businesses spend energy working to stop these projects in an attempt to optimize productivity. It just doesn’t work that way outside of business textbooks. These pet projects exist in some form, possibly only ideas, and you aren’t going to eliminate them so stop wasting your valuable time. Find a way to get them out in the open, embrace them, talk about them and you’ll be startled what shows up.

The point here isn’t to find usable ideas, that’s gravy in my opinion. I’m sure some companies have tried a version of 20 percent projects and then measured it by how many features and products it’s produced. Do NOT measure that. The value here is in engaging your individuals because that’s how you achieve productivity. Work everyday to drag your people into your business problems. That’s how you engage them and allow them to be productive.

Bottom line, people are naturally productive, crave responsibility and ownership. Don’t think of the problem as how do I ‘make’ my people productive because you can’t make anyone do anything. Have some children if you’re unsure of that one. Instead, think of the problem as what’s broken in our environment that’s preventing my people from being productive and taking responsibility.

You can’t control people, you can control your environment. Assume your environment’s broken everyday. It doesn’t mean you were wrong yesterday and that doesn’t matter. You can control your environment so assuming it’s broken at least puts you in a position of control. It gives you something to actually work on.

It’s the same with personal relationships. The only reason I’m still married today is because I always assume I’m wrong. It isn’t about who’s right, it’s about what I can do. I can control my behaviour not my wife’s so that’s where I need to focus. After I’ve calmed myself down I get into the headspace of ‘ok you were wrong, what can you change to make this better?’

Do the opposite and focus your energy on controlling the people around you’ll frustrate yourself to no end while driving everyone away. Wow, I somehow ended up on my soapbox in the end, sorry about that….

Standards versus Monocultures

May 24th, 2006
[ General ]

In technology, we’re always discussing standards when it comes to formats and interfaces. Industries need to standardize on this format or that format in order to facilitate communications and the exchange of information, specifically digital information.

The thing is, aren’t we better off keeping the pool diverse? If you’re successful in having your industry adopt your standard, have you not simply created another monoculture and thereby signed your death cert?

Would any business in this position work towards NOT having their standards globally adopted in order to stave off extinction of that standard? Would it spell the end of MicroFormats if they somehow achieved global adoption?

If you’re not sure what monocultures have to do with technology then read this. It’s one of many reasons I use a limited amount of Microsoft technologies.

Hacking Windows into *nix

May 24th, 2006
[ Geek ]

It’s interesting to see the volume of keyboard based “apps” being built for windows. Example, slickrun “gives you almost instant access to any program or website. SlickRun allows you to create command aliases (known as MagicWords), so C:\Program Files\Outlook Express\msimn.exe becomes MAIL.”

Great idea, however, these classes of “apps” are simply watered down versions of a shell. They offer you 1/1000th of what a shell will give you. Type this into a shell, or add to a config file:

alias mail=”C:\Program Files\Outlook Express\msimn.exe”

And mail becomes “C:\Program Files\Outlook Express\msimn.exe”.

These windows apps are gateway drugs and if you’re enjoying the freedom they offer, treat yourself and get the real thing. Similarly to the vi scenario, once you get used to the power you have in a shell it’s difficult to ever turn back. Most IDE’s are a pretty way to get limited access to vi. These apps are a pretty way to get limited access to the shell. Just go to the source.

Restoring Database Backup Files

May 22nd, 2006
[ Geek ]

This is one I’ve run into enough times that I need the notes somewhere. If you’re often passed MSSQL database backups to restore then you will, at some point, run into issues related to drive letter names etc. It’ll manifest itself as an error message about drive letters, clustering, or with move. I’ve added my notes to the wiki about my way to restore that’s a little more hands on.

Mesh Notes (All Together)

May 22nd, 2006
[ General ]

I ran into Rob Hyndman the other night, one of the organizers of Mesh, and he asked me how I felt Mesh went, no bs. I didn’t get a chance to answer him completely so here I am.

My take, Mesh was very well organized. As far as conferences go, this one was painless from the choice of location, to the layout, to lunch, etc. The only thing I missed was more details on the speakers, possibly adding small bio pieces to the conference pamphlet.

Content, the keynotes were great, some outstanding, the home run for me was Michael Geist. I’m biased, however, I think the StoryStream videos were a great addition as well.

Where things went a little off the rails for me was during the afternoon panels/workshops. I’m really not the best person to ask as I’m deep in technology not marketing. Anytime you put a technologist into a marketing focussed panel discussion you could be in trouble. While some of the discussions were interesting, most didn’t work for me. At times it just felt like sitting around discussing what other people may do in the coming year. We were gossiping. Will blogs be monetized, where’s web 2.0 heading, etc. The reason I know I’m not the target audience is because I’m sure that’s exactly what they’re supposed to be discussing in these sessions. Me, I’d rather build something than jabber about what someone else may build someday. I suppose that’s another reason I’m not in marketing.

Will I go to Mesh again? At this point yes.

More Web 2.0 the Term….

May 22nd, 2006
[ General ]

Paul Graham wrote an interesting piece about the term web 2.0.

“And the fact that I both despise the phrase and understand it is the surest proof that it has started to mean something.”

His Web 2.0 list:

  1. Ajax
  2. Democracy
  3. Don’t Maltreat Users

shiftMode The Wiki

May 19th, 2006
[ Geek ]

If you’re interested, shiftMode the wiki is open for business.

What is it? Good question, not sure, I know it’s a wiki. I was hoping you could help out with that. Think of it as an online blackboard or notebook. A place for rough notes, things to remember and use again, thoughts, etc.

Take a peek, contribute if you like. There’s now a “shiftMode the wiki” link over on the right hand nav in the links section.