TurnKey Linux Virtual Appliance Library

Advice on breaking into freelance consulting, contract work, standard rates, wages and billing practices

Not too long ago, a friend told me he was quiting his day job to try going out on his own as a freelance consultant/contractor and asked for some friendly advice regarding wages and billing practices.

I may not have been the ideal person to ask, as I had never worked in the exact market my friend was going into. On the other hand, in my twenties, a few years back I did work as a computer security consultant.

Rediscovering 19th century literature

Lately, thanks mostly to Moonreader+ TTS on my phone I've been getting a lot more reading done. To my surprise I've become a stickler for 19th century classics. Besides being free, they're old enough to have stood the test of time but not so old that I have difficulty relating to them.

Here are a handful of recommended classics I found particularly enjoyable:

Google vs Microsoft: what's in a name?

Microsoft is a trainwreck. I used to abhor the desktop monpolist as an evil threat to standards-based open source innovation. But in the last decade they've been screwing up so badly I almost feel sorry for them. As much as you can feel sorry for a massive corporation that is.

One thing that puzzles me in particular is how Microsoft fails to grasp that their efforts to compete with Google in the search space are a pointless waste of countless billions and a lethal distraction that has allowed Apple to wipe the floor with them in the post-PC era.

CVE-2015-0235 GHOST: reboot or restart services

A remotely exploitable, 14 year old bug in glibc has reared its ugly head: CVE-2015-0235

Security updates have been pushed out automatically, courtesy of Debian (security tracker) to TurnKey 13 installations. TurnKey 12 installations that have enabled Squeeze LTS support have also received an update.

Phone vs email vs text chats on IM (instant messaging)

Phone vs e-mail

Alon and I usually shy away from handling things over the phone because it requires coordination (especially when you have different time zones), breaks up our work-flow, and isn't self documenting.

In fact, when I'm working I usually put my phone on silent and as far from reach as possible because nothing breaks up my concentration like a phone call. E-mail I can send and reply to in my own sweet time. A phone demands your attention this very instance. Drop everything and talk to me right now!

Nootropics: meta-research summary

For a while now I've been interested in experimenting with stuff that can improve mental functioning so I've spent some time researching nootropics (a broad class of psycho-active supplements) in depth.

Three strikes - time to automate!

I caught myself today repeating a few basic operations by hand what seemed like a zillion times. Over and over again. I didn't really notice it at the time but it was really slowing me down.

For example, after committing to tklbam I would create a tklbam testing package, copy the package to one of my test machines, install it and remove the archive.

The wonderful and terrifying implications of computers that can learn

Watch this. It's a TED talk on Deep Learning AI algorithms:

I think the presenter is overhyping the implications of the technology in the short term. But in the longer term, he's right. Software is eating the world, AI is disrupting the value of human labor (starting with unskilled labor and gradually moving upstream) and those jobs are never coming back.

How to debug a broken cron job

I just fixed a broken cron job. It turned out it was a PATH issue. By default cron doesn't have /usr/local stuff in the PATH.

Tips on how to debug cron:

  • change the schedule for the cron job so it runs every minute. It's harder to debug something that happens infrequently.

  • Make sure syslog sends cron logs to /var/log/cron.log. On one of our servers this line was commented out for some reason:

Why use XMPP: native clients vs generic IM alternatives

XMPP, the eXtensible Messaging and Presence Protocol (translation: open IM) rocks. It has a rich feature set. It's well designed. And as a bit of a security nut I especially like that it supports strong encryption and uses a decentralized, federated protocol like e-mail. Anyone can install their own Jabber server (like TurnKey ejabberd). That way private conversations within your domain never leave the security of a server under your direct control. Just like e-mail.