Observations on software: from "State of the Nation" to nitty-gritty technical details.


Distributed version control

Recently, Joel on Software published a blog entry discussing the advantages a distributed version control system [DVCS] has over a version control system [VCS] with its dependency on a central repository.  The key point, Joel says, is that "with distributed version control, the distributed part is actually not the most interesting part," but "that these systems think in terms of changes, not in terms of versions."  Joel doesn't get it.


Introduction to security via password policies

Security is an enormously complicated topic and it has a surprisingly large number of subtopics.  Security, at the 10,000 meters level, is all about making sure that a person or program (the privileged user) that should have access to some data, information, program, system or physical location (the asset) can obtain such access reasonably quickly and easily, with a common caveat that such access is logged and recorded.  Every other individual or program (the attacker) that may deliberately or accidentally attempt to obtain access is "satisfactory" denied, with a similar caveat that as much information as possible about the denied access is also logged and recorded. Here we explore how and why corporations rely on passwords.


Caching ssh private keys using openssh on GNU/Linux

You probably use ssh on a daily basis, I know I do.  I find that many people I talk to don't know that typical ssh installations have the ability to cache their private keys, so they wind up having to type their private key passphrase several times a day.  Some people actually get frustrated enough with this process that they remove the passphrase from their private key file entirely.  Don't do that!  Trust me, there is a safer and better way.

In this article I discuss how to setup GNU/Linux (using openssh) hosts to cache your private keys on startup.  I will discuss how to configure Microsoft Windows hosts using Simon Tatham's excellent PuTTY applications in another article.


Elegant parallel processes in bash

Thanks in large part to a desire to facilitate better use of my multi-CPU GNU/Linux system I decided to put together a script that would allow spawning parallel tasks according to a simple template provided on the command line.

Welcome to Insights into Software

Here I will post my observations on software. My primary focus is on GNU/Linux software. This blog is going to be on technical issues of particular interest to software developers.