Today’s tip, as most of these prime numbered tips, comes from something that was a default years ago that I stuck with.

Put your build output in an edit window.

Most programmer’s editors or IDE’s relegate the output from a build to some sort of tool window that is typically in a tab group docked a the bottom.  This is how SlickEdit works by default, because it is what is expected today.  Sometimes you have to jump off the bridge because all of your competitors did.  But that doesn’t mean that is the most powerful way to work.

Try right clicking in the Build tab and selecting “Send Compile Output to Editor Window”.  This means the build window (what we call the the “concurrent process buffer” or simply ”process buffer”) is in the ring of open files when you cycle through them using the next-buffer/prev-buffer commands, or pick one from the Files tool window.  This is actually very powerful.  At first it may seem that you can’t move freely, but you can.  The cursor-up key will cycle through the command history by default, but clicking the mouse or using a non-cursor key to move (page-up for example) will allow you to move freely through the output, or delete it by hand.  I find this much more useful than trying to view my output through a porthole.  Try it out and let me know what you think.  You can always turn this off by right clicking in the Build tab (or the process buffer) and turning off “Send Compile Output to Editor Window”.

Guys usually get the shorter end of the stick when it comes to Valentine’s Day gift-giving. The best we can usually hope for is to be allowed to sneak a couple chocolates from the heart shaped box we overpaid for. But if the Techo-Universe at large wanted to be my Valentine, here are some thoughtful, if not realistic gift suggestions.

  1. I would like Time Machine to not start up right away as soon as I log on. Please, please allow me to fire up Outlook, start a Terminal session, and fetch the latest from subversion before you start monopolizing the disk I/O.
  2. Non-silent ‘everything’s OK’ compile output. Some compilers and linkers do a decent job of this. Some report useful things like “All files up to date”. It’d be great if all command line tools did this.
  3. Some helpful hints when it’s time to create a new password. Every couple months I am forced to dream up a new password, something sufficiently secure but easy and fast to type. Perhaps an interface similar to Captcha prompts? Give me a couple suggestions that already meet the password complexity criteria.
  4. Rechargeable batteries for my Magic Mouse that actually hold a charge for more than 1 week.
  5. A release of Java that is free of Zero Day security flaws.
  6. Ditto for Flash…
  7. …and Internet Explorer
  8. An e-mail client feature that automatically truncates replies. All we really need are the most recent 3 or 4 responses of a long-running back-and-forth e-mail thread when composing yet another reply. I can’t remember if it was web-based gmail or the Mail app on my iPad that did this for me recently. I sure wish this was everywhere.
  9. Selective Bookmark Syncing. There are some links I’d like to have everywhere, and there are some links I have at the office that I’d like to show up on my home devices (and vice-versa). But it seems that most current implementations are an “all or nothing” affair.
  10. A Seat Belt detector for my phone. I can’t count the number of times I’ve gotten to the first traffic light on my way home and remembered that I’ve left my mobile phone in my front pants pocket. Perhaps a clever trick could be done with the accelerometer to detect the motion of getting into the driver’s seat.
  11. A big red reset button. When you’ve got a runaway process that’s hogging all your system resources, how do you stop it? Right, by invoking the Task Manager or Force Quit dialog, which itself requires resources. It’s a huge chicken/egg problem. In my grade school days there was this awesome red button on the TRS-80 (complete with ergonomic recessed finger tip dimple) that would reset the system. How about something similar that would would kill everything except kernel and OS processes?
  12. Stretchy Cables. Ok, so this one’s a little bit strange. But it sure would be convenient to be able to stretch a cable to exactly the length you need. Right now on my desk I have a headphone cable that is much longer than needed to reach from my speakers to my head and a power cable on my MacMini that is just a teensy bit too short for where I’d prefer to position it relative to my UPS. The only perfectly sized cable is the USB cord that reaches from my keyboard to the back of the computer.

Did I miss anything?

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.

« Previous PageNext Page »