The single editor myth(ology)

One of the perniciously popular stories that you'll hear peoplesaying and repeating all around the tech world is that you imprinton your first serious editor (or the first editor you master) andyou can never really shift to another one. If you start out withGNU Emacs it's absurd to think that you can really move to vim,and vice versa, and so on. Among other things this leads people atthe start of their career to worry about what editor to learn andto try to figure


more, less, and a story of typical Unix fossilization

It all started on Twitter:

@palecur :I know enough about Unix to get along but you will never convince meof a meaningful difference between 'less' and 'more'

@thatcks :In the genius Unix tradition, the answer is that less is more.

(Sadly, this is true at about 3 to 4 levels. It's a long story.)

In the beginning, by which we mean V7, Unix didn't have a pager atall. That was okay; Unix wasn


Blindly trying to copy a web site these days is hazardous

The other day, someone pointed a piece of software called HTTrack at Wandering Thoughts . HTTrack is a piece of free software that makes offlinecopies of things, so I presume that this person for some reasonwanted this. I don't think it went as they intended and wanted.

The basic numbers are there in the logs. Over the course of a bitover 18 hours, they made 72,393 requests and received just over 193MBytes of data. Needless to say, Wandering


Link: File crash consistency and filesystems are hard

Dan Luu's File crash consistency and filesystems are hard is about what it says it'sabout, with examples and interesting academic citations (that arekind of depressing) and the whole lot. If you want more reading,it has a whole bunch of links to further papers that you can gothrough. Most of them are apparently depressing reading, becausethe capsule summary is 'this stuff is hard and almost no one getsit completely right'; not user programs, not filesystems, and notthe actual


Link: Git from the inside out

Mary Rose Cook's Git from the inside out isa highly detailed and thus fascinating recounting of exactly howGit's graph structure and on disk tracking of things works as youevolve a repository. I knew many of the broad strokes just fromgeneral git knowledge but the details are illuminating and quiteuseful, especially the details around what exactly happens andgets recorded where during more advanced operations like merges(especially with conflicts) and pulls.

(I care about git things at this level of detail because theylet me


An interesting case of NFS traffic (probably) holding a ZFS snapshot busy

We have a few filesystems on our fileservers that are considered sufficiently important that we take hourlysnapshots during the working day. We use a simple naming and expiryscheme for these snapshots, where they're called - (eg Tue-15 ) and the script simply deletes any old version beforecreating the new one. Both because it's the default and because itenables self-serve restores, we NFS-export the ZFS snapshots aswell as the main filesystem. Recently that


A belated realization about 'TLS suicide' and user CGIs et al

As part of my general 'web infosec' reading habit, I recently woundup going through Scott Helme's Using security features to do badthings ( via ).This discusses a number of ways to use HSTS and HPKP for evil, bothfor sniffing out what sites people have visited and for damagingsites that you've compromised. It's neat work and I like keepingup on this sort of stuff in general, but initially I didn't thinkit had any particular relevance to us. Then


My pragmatic decision on GNU Emacs versus vim for my programming

One of the reasons I've been thinking about vim lately and working on learningit more isthat I've been flirting with the idea of switching to using vim forall of my programming in order to focus all of myattention on one editor instead of splitting it across vim and GNUEmacs as I nominally claim to do . Thereality is that I already spend most of my editing time in vim,because these days I don't do much programming (especially in the languages I use GNU Emacs for


My current Go autocompletion setup in GNU Emacs

A while back I wrote about getting gocode based autocompletionworking in GNU Emacs , and then about things about the autocompletion that I was unsatisfied with . After a certain amount of struggling Iactually wound up with a Go autocompletion setup that I'm happywith, and I've now realized that I never wrote it up, and thereis one change that wound up quite important for me.

GNU Emacs has at least two auto-completion systems, auto-complete and company-mode . In my original approach I


Localhost is (sometimes) a network

Everyone knows localhost , 127.0.0.1, the IP(v4) address of everymachine's loopback network. If you're talking to 127.0.0.1, you'retalking to yourself (machine-wise). Many of us (although not all)know that localhost is not just a single IP address; instead, allof 127.*.*.* (aka 127/8) is reserved as