Skip to main content


Showing posts from 2014

Joy of Take Command - Repeated Dots

Everytime I use JPSoft's TakeCommand shell (or its free version TCC), I learn something new.

Today's lesson:

Repeated Dots.  In the table below, you  can see a TCC command on the left and the equivalent standard Windows cmd.exe version on the right.  Remember, in TCC you don't have to type the word 'cd' to change directories.

TakeCommand/TCCWindows CMD.EXENotes .. cd .. (nothing new) ... cd ../.. (three dots) .... cd ../../.. (four dots)
You get the picture.

This is a real time-saver when you want to quickly move up 3 or 4 levels in a tree.

Learning regular expressions from Damian Conway

This is the best description I've ever seen on regular expressions.

I would say the main thing I learned was that my understanding of regular expressions was incorrect and that I have assumed non-greedy matching.  I know now that I should add the suffix '?' which provides this behavior.

Also, it is sad that there are at least 6 kinds of regular expressions (VIM, Gnu Emacs, GREP, PERL 5, Perl 6, etc.)  I notice that Lua has yet another.  I miss the simplicity of REXX.

parse var telephone '(' area ')' npx '-' line

Thank you Damian!

As always, Jamie Zawinsky's rule applies.

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

the importance of hustle and why it matters

Anyone who has played a team sport, say soccer, knows the difference between speed and hustle.

Speed is distance over time.  Hustle is mind over matter.  Speed is how quickly you can get to the ball. Hustle is how quickly you get to the ball when ...

a) it's sitting in front of your goal and the goalie is gone
b) you're tired but you need that burst of energy to stop a run-away forward on the other team
c) when you decide you won't let the other guy/gal get to the ball before you.

In other words, hustle is what you to do win.  It's the difference between waiting for a pass to get to you and going out to meet the ball. It's Wayne Gretzky skating to where the puck will be.

In business, it is following up with a customer, or staying late one night because it is the last push to production.  Hustle is writing that thank-you note to the cleaning staff even though you want to go home or dropping a pizza off to the operations team working late tonight.    You don't h…

Exploring the DVCS family that uses change sets rather than timelines (darcs and camp)

I've been interested in DVCS systems for some time. I spend most of my solo programming time for school projects using Fossil which meets my needs perfectly. So far, it has performed very well.  I use git at work.

I've known about darcs but quite frankly I couldn't remember what made it unique.  I spent a few minutes looking over the documentation and watching an excellent video on "camp", a member of the darcs family of DVCS.  The video makes the point that darcs is based on patches, not on chronological commits and branches.  It doesn't sound like much but this is a  huge difference.

While the video makes a great case for how the branches essentially are automatic, it does not address the issue with binary diffs.  And that's where I suspect this system has problems. But that's a minor problem given that binaries are not (traditionally) checked in to source control. With images and video now becoming part of products, this may be an issue in the futu…

Use effective subject lines and abstracts to get attention and results

The tip is simple to remember - don't make me look.

I receive anywhere between fifty and a hundred emails a day on average.  I'm in meetings most of the day.  I get a couple of seconds between meetings to scan my inbox and determine what I'm going to handle immediately.

Don't make me look deeply into your communication.  Tell me why I should open your email, read your blog, look at your tweet, or read your document. I'm not talking about a teaser email, like an advertisement.  I'm talking about an indication of what you expect from me and sufficient information to find your email in the future.

A more completely reasoned version of this was developed by a former McKinsey consultant (Barbara Minto) into the Minto Pyramid. It boils down to leading with the conclusion.

Example #1 (poor):
Subject: important Example #2 (good)
Subject: important email about your trip to Cancun
Example #3 (best)Subject: No Action Required: Confirmation for 3/14/2014 trip to Cancun
The fi…

Blast from the Past: Software Toolsworks

I came across an old company I bought products from as a teenager, long long ago: The Software Toolworks. (Software Toolworks )

The founder is Walt Bilofsky. (

I enjoyed his software on Heath-Zenith computers "back in the day" (between 1981-1985). I had a Z-100 computer (5mhz 8085/8088 processors wth 128k of memory. Yeah, "k").

I learned C using Walt's compiler, C/80. I seem to remember Lisp/80 as well. Later, I moved my code over to Z-DOS (Zenith branded MSDOS) and DeSmet C/88. But that's another story.

All I want to say is, "Thanks Walt!"

5 reasons for keeping your company's software up to date

There are lots of reasons to keep your software up to date. Here are some that I consider when I am updating software.

1. Updated software generally includes patches for security problems. Even if there are no new features that you require, you can benefit from these security patches.  Reputable vendors clearly identify the content of their patches so that you can see what is included.
2. Newer software has newer features and functions, some of which you may want.  Sometimes the features are not new capabilities. For example, an application may have better compression, more transfer options, better user interface, better integration with other applications, etc. So, while it may not do more, it does what it does better.
3. Older software may be no longer maintained by the vendor leaving you open to vulnerabilities. Check your maintenance contracts if this is paid software. This can be a compliance issue if you're in an industry or country where this matters.
4. Skipping versions c…

The three principal types of information systems

Information System Classification Scheme Definitions
First, let us define that there are only 3 basic types of information systems. They are all high value but for different reasons.

Type I systems take a large amount of data, and turn it into a small amount of data.

Examples:  Business intelligence, reporting, analytics, data warehousing.

Characteristics: high I/O, high storage, low compute

These are systems which collect information, often from other information systems, and perform statistical and analytical computation to produce refined information for decision-making.

Type II systems take a small amount of data, and turn it into a large amount of data.

Examples: Simulation, Computer programming, Rules-based systems,

Characteristics: low I/O, high compute

These are systems that take a small amount of effort or information and transform them into a large amount of information.

Type III systems take some amount of data and turn it into the same amount of data.

Example: Business Proces…