The only proper way to finish the title sentence is “… I don’t write code”.  The way that it absolutely not be finished is “…I just use vi”.  Here are the reasons people seem to claim for using vi most often:

  • It’s always there.
  • It’s always the same.

But there’s more to it than just that.  Insisting on relying on vi for your editing needs is a pride thing.  The pride of walking into the wilderness with nothing but a knife.

That’s right.  We all want to believe we’re able to rush out into the wilderness with nothing but a knife, able to survive for days like John “Yes, I do have a first name” Rambo.  After all, it’s not just a blade.  It also has a compass, a couple of waterproof matches, and a needle and thread in case we need to stitch a large gash up ourselves.  You picture yourself, looking rugged with a headband and makeshift burlap shirt, running through a rocky ravine and stopping to check the compass built into the end cap of the handle (an image which I looked for for literally hours, impeded by copyright police and the fact that I can’t remember which Rambo movie it was in – so please take a second to paint the mental picture).  The truth is you look more like Michael Scott out in the woods wearing his pants on his head (an image I spent absolutely no time looking for – if you’ve never seen The Office (the U.S. version), Michael Scott is a man who is far too dumb to breathe, and he tries to prove he is clever enough to walk into the woods wearing just what he has on and survive.  He’s not, and somehow he winds up wearing his pants on his head.  It is marginally funnier than it sounds).

So, we’ve established that vi is like a survival knife with a blade and little else except a compass and some waterproof matches and enough needle and thread to stitch up a cut yourself.

A slightly more acceptable answer for why you don’t need SlickEdit is that you use whatever editor is included in your modern IDE.  The IDE editor tends to be sort of like a Leatherman tool.

(Leatherman is a trademark, but I think they were first in this space, I’ve used their products for over 20 years.  Although I am not a paid spokesperson, I am completely willing to be.  Just contact me here by leaving a comment below).  The Leatherman type multi-tool is sort of like a Swiss Army knife that is actually usable.  It has usable screwdrivers (different types and sizes), pliers, wire cutters, scissors, a saw, and of course a knife. They have different models that have different types and numbers of tools, and any knife maker worth their salt has their own version.   And these can be used for more reasonable tasks.  I’ve never had to stitch myself up, but I have found myself needing pliers, a screwdriver, file, saw, etc.  You could actually use one to perform an emergency car repair.  Pliers are not ideal for this sort of thing, but in a pinch, you could probably use this to change a belt, and certainly use it to replace a hose.  But you can’t use it to rebuild an engine.  There are a number of reasons why.  But here’s a big one:

This is a piston ring compressor.  It is a specialized tool used to compress the rings on a piston when you put them back in an engine.  And there is probably a way to get a piston into the cylinder without one.  It probably involves cutting up a beer can and using a strap wrench, getting a really nasty cut, and making it worse trying to stitch yourself up with the thread in your survival knife, then going to the doctor who informs you that you should never, ever try to stitch yourself up again unless you’d like to lose your hand, and finally going to an auto parts store on the way home to buy a piston ring compressor.  You could probably do something like that.   But I wouldn’t try it.  If I were doing serious work on engines day in and day out, I would try to have the right tools on hand.

And that’s the thing.  If you’re reading this, odds are you’re not a guy who is not making emergency code repairs on the side of the road.  Odds are you are a guy who is building and rebuilding engines (race car engines, right?), or at least maintaining them, every day.  You won’t do your job effectively with a survival knife or a multi-tool.  You need a tool box.  A big one.

And this tool box is SlickEdit.  A great deal of it is stocked when you get it.  There are other tools that you have to put in the box, but it leaves a nice drawer there for you.  It’s customizable, so you can cut a piece of foam out to fit your special tools.

Quit trying to build engines with a pocket knife.  Get the tools that will best help you do your job. Some of my best friends are mechanics.  They have to buy their own tools and move them from job to job.   They don’t buy cheap ones.

The third installment of my version control manifesto is a short story made long with a simple moral at the end.  If you’d rather skip the story, just read the title and take that to heart.

Recently what started as a lovely afternoon at Guitar Center ended with me changing a car battery in a parking lot after dark.  On New Year’s Eve.  I’m not really complaining.  I’m not that handy, so when I can fix a car and look manly in front of my family, I’m pretty happy to do so.

Fortunate as I am to have a good job, I can drive cars that are just new enough I don’t carry tools in the trunk anymore.  Just emergency reflectors and jumper cables.  This is fine because:

  1. As acknowledged above, I’m not that handy.
  2. You can’t do anything to cars yourself anymore. Changing spark plugs on one of my cars requires removing the intake manifold.

Despite my best efforts with jumper cables, I could not get the car to start.  So, I found myself at Walmart buying a battery and asking if I might borrow a wrench, because even though I went home and picked up tools, I couldn’t fit a ratchet and socket into the space I needed.  The gentleman went to the back and got me a side-post battery terminal wrench:

This is a 1/4″ ratcheting box end wrench.  The handle is short, so if you slip, it should not be long enough short between the two terminals of a car battery (yes, I have done this with a ratchet before).  Also, the handle is insulated so were you to do that, hopefully it still won’t short anything out.  It is flimsy (as wrenches go).  It says right on it not to use it on anything except a battery terminal.  And that flimsiness serves a purpose.  Car battery terminals are made of lead, so you don’t want to over-torque them.  Also, because it’s flimsy they sell for about $5, which means I was happy to just buy one so I could throw it in the trunk when I was done.
This little tool is genius.  Why?  It does not try to do too much.  It is an affordable solution for a niche use.
So, if you’re at home in your basement writing the next big version control system:
  1. Don’t try to do too much.
  2. Stop.  There are enough out there.  We talked about this already.

There are larger systems out there have their own file systems and work well when developers are distributed across multiple sites.  That’s fine.  This doesn’t mean that to win my seal of approval (which I know is all the rage in the version control world) your system needs to scale things back to the features of RCS.  It means that the interface should be straight forward enough that a user can figure out the basic features common to all version control systems without trying too hard.  Diffing a single file, viewing a version of a single file, viewing the history for a file, checking in a file – these should be easy.

Have I overlapped another episode of the manifesto?  Perhaps.  But

  1. In general, manifestos are supposed to be long rambling documents written by the semi-crazy, and it seems like it’s OK to repeat myself.
  2. This particular issue is this important.

Don’t believe me?  You can’t figure out how I could possibly be right, and you be wrong, given that I’m toiling away in a cubicle filled with years of so much junk my desk is nearly unusable, while you are on the precipice of taking over the version control world? OK, let’s take a look at what happens when you try to do too much. A great idea, years ahead of it’s time that just didn’t catch on.  And still hasn’t. Ladies and gentleman, I give you Aerocar:

What are the most important methods of travel in our modern world? The automobile, and the airplane.  The automobile, an amazing invention that let’s us live 30 miles from our office, or go to the store when we need something, even if it’s dark already.  I am told before the automobile was invented people got along somehow.  Personally I don’t even like to think about it.  And don’t even get me started on the airplane.  Without the airplane, my children would never have seen Disney-world – because I could never handle that drive (not with my kids anyway).  It’s just like a big, fast, car in the sky.  And like an automobile, practically anybody can drive one – provided you have hundreds of hours of training and understand that in an airplane when you have a “fender bender”, everybody dies.

But what happens when you get where you’re flying?  If you left home, you probably left your beloved automobile there.  Well not if your airplane is a car.  A car that is an airplane. An airplane that is a car.  It’s like peanut butter and jelly.  No, it’s even better than that.  It’s like peanut butter and chocolate.  So why did I embed a video from when people got their news from movie theaters because 24-hour television news channels did not exist?    More recent films of Aerocar exist.  But the truth is they don’t matter.  Why?  Because it’s a car that is an airplane.  It’s not just a chance crash into another car on the highway at 70 miles per hour.  It’s a chance to hurdle out of the sky at terminal velocity into cars on the highway that are doing 70 miles per hour.  It’s not like peanut butter and chocolate.  It’s like alcohol and power tools.  Let’s put safety aside for a moment.  As a car, it makes the Edsel look attractive.  And to be effective as an airplane, you have to bring a small trailer (just about the size of an airplane wing) wherever you go.  It tried to do too much.  So you can go see one of the six that were built at various museums around the United States.

I’m a guy.  I love tools, whether I need them or not.  I love a lot of things that don’t make sense.  I love sledgehammers.  I love drag racing – because I can think of no pursuit more ridiculous pursuit than going 1/4 mile in a straight line as fast as possible.  Naturally, I love this thing.  If I have to check out of this world, I can’t think of a better way than crashing a flying car.  There would be no terminally ill men in this country if crashing a flying car were offered as a method of euthanasia.  But it was the best thing I could come up with to make my point.  A tiny motorcycle that fits in your plane is a more practical idea.

To sum up:

  1. Don’t try to do too much.
  2. Stop it!  There are enough version control systems in the world.
It’s time to review the year that was 2012.  I would like to thank the good folks at Wikipedia for helping me to remember (for the first time in some cases) what happened this year.
  • January, 2012 – I solemnly vow not to lose a single ounce during 2012, or at least that’s how I remember it now.  This was a runaway success.
  • January 20th, 2012 – We release our first “real” version of SlickEdit for Mac. Our Mac beta testers rejoice that the near-weekly beta builds are now at an end.
  • February 3, 2012 – Van Halen releases it’s first album with David Lee Roth singing in 28 years.  Mostly comprised of completed songs that have been floating around on their demo bootleg for years, it is actually good.  The tour got derailed halfway through for a myriad of reasons.  Long time Van Halen fans still see this as “better than average”.
  • March 13, 2012 – (directly from Wikipedia) “After 244 years since its first publication, the Encyclopædia Britannica discontinues its print edition.”  This was bound to happen as nobody has bought an “old school” encyclopedia since sometime around 2004.
  • April 4th, 2012 – Public beta testing for SlickEdit 2012 begins. Two weeks after the Spring Equinox each year we are required by law to release the first beta of our upcoming version. Check your almanac.
  • April 8, 2012 – Jack Tramiel, founder of Commodore Portable Typewriter, which became Commodore Business Machines, dies at the age of 83.  Rest in peace, sir.  As noted in last week’s post, your VIC-20 led me to a career.  Mr. Tramiel was also a holocaust survivor, having been liberated from Auschwitz in 1945.
  • April 13, 2012 – North Korea launches an ” Earth observation satellite“.  It goes about as well as my weight loss efforts.  I hope they did it at night, it was probably much cooler than any fireworks display.
  • Spring-Summer-Fall, 2012 – After losing 100 games in 2011, The Chicago Cubs have a new General Manager, Manager, and the fans have renewed hope.  The Cubs lose 101 games in 2012.  Ron Santo, veteran Cubs player and broadcaster is inducted into the baseball hall of fame.  I think he would have liked to be inducted on the previous ballot, when he was alive to see it.
  • May 2, 2012 – (directly from Wikipedia) “A pastel version of The Scream, by Norwegian painter Edvard Munch, sells for US$120 million in a New York City auction, setting a new world record for an auctioned work of art.”  While we continue to hear about a sluggish economy here in the U.S., and in fact, around the world, apparently some of us still have lots of disposable income.  I could have taken the original, run it through some Instagram filters, and sent it to a place that prints pictures on canvas for a US$1 million, and netted a profit of around US$999,900.
    • Instagram was in the news this year.  I’ve never used it so I’ll mention it vaguely.  I rarely take a picture worth sharing, and if I do I don’t usually want to convert it to sepia-tone first.
  • June 24, 2012 – Lonesome George, the last known Pinta Island tortoise, dies at an unknown age believed to be over 100.   I don’t know about you, but a world without the Pinta Island tortoise, is a world I can live in just fine… because it looks exactly like every other larger tortoise I’ve seen at a zoo or Disney’s Animal Kingdom.  George was quoted as having said “The meaning of life is…”.  I’m joking.  He was a tortoise folks.  If he could have spoken he would have asked “Is there any more of that lettuce?  I would like some lettuce”.
  • July 27 – August 12, 2012 – The Summer Olympics are held in London.  This event gives swimmers a chance to be sports icons … until there is a professional league for them to compete in.  It also serves as a reminder that by and large, Americans do not “get”, or care very much about, soccer.  Also, we aren’t very good at it.
  • October 14, 2102 – (directly from Wikipedia) ” Austrian skydiver Felix Baumgartner becomes the first person to break the sound barrier without any machine assistance during a record space dive out of the Red Bull Stratos helium-filled balloon from 24 miles (39 kilometers) over Roswell, New Mexico in the United States.”  I’m curious if he’s scared of heights.
  • October 23rd, 2012 – Apple formally announces the iPad Mini, confirming and ending a years worth of speculation. Still to be determined is if this was the first Apple product released against Steve Job’s wishes, or simply the culmination of the late founder’s final act of misdirection and subterfuge.
  • October 26th, 2012 – Microsoft releases the Surface. For the first time in a long time the Microsoft faithful can stick out their tongues at the Apple and Android tablet disciples and chant “nya-nya-na-boo-boo”.
  • October 29th, 2012 – I was going to write something about Scott Forstall being forced out at Apple. But the man’s name will forever be associated with the first iteration of Apple Maps for iOS, so I feel no need to pile on further.
  • All of November, 2012 – A whole lot of nothing continues to happen in the NHL labor talks. This could have serious consequences for SlickEdit in 2013. In addition to our observance of the Spring Equinox, we also usually rely on waiting until the Carolina Hurricanes are mathematically eliminated from the Stanley Cup playoffs before readying the beta builds.
  • November 23, 2012 – Actor  Larry Hagman dies.  I remember as a child when JR was shot.  I still don’t know who shot him, and it wouldn’t matter very much since I’ve never seen another episode of Dallas – I just happened to be up that night.  But whether you loved Dallas or not, I think we can agree that in the last few years Mr. Hagman’s eyebrows had become kinda creepy.
  • December 20, 2012 – I write a Christmas themed post about receiving a VIC-20 for Christmas in 1983.  Along with the Commodore ad that features William Shatner, I try to fit a video of William Shatner singing (or perhaps it’s a dramatic reading of) “Rocket Man” at a Sci-Fi award show in the late 1970s.  We decide it doesn’t fit and it is omitted.  If you haven’t seen this, look it up on YouTube.  It is much funnier than anything I will write here.
  • December 21, 2012 – The world failed to end, highlighting the fact that if the Mayans were so terrific at predicting things, we would have more… Mayans.  My favorite Facebook post regarding this had Marvin the Martian staring into a telescope saying “Where was the Kaboom?  There was supposed to be an Earth-shattering kaboom”.
  • December 30th, 2012 – The Carolina Panthers eke out a come from behind victory over the New Orleans Saints, capping off yet another almost-but-not-quite season at 7-9, stringing us North Carolinians along for yet another year. Perhaps the Earth-shattering kaboom would have been preferable.  Can we get Cam Newton to stop doing that “Clark Kent ripping open his shirt- Superman thing” until they have a winning record after the fourth week of the season?
  • December 31, 2012 – Our first year in review post is completed.  Unless we did one before, I didn’t check.  The NHL and the player’s union are supposed to meet today.    We would love to add one more entry…

« Previous PageNext Page »