Tuesday, August 23, 2011

Silently Failing

Unix applications are pretty good at telling you when they break. You'll either get informative messages at the command line or you will get informative messages in a log file somewhere (/var/log for Linux boxes where I live these days) and Googling for said messages is usually rewarding too. I've had to track down a few bugs lately where I got neither helpful command line warnings or helpful log messages, in one instance it was syslogd and in another it was sshd and both were silently failing to start/run. In both instances the failure was caused by SELinux. So my new debugging rule for anything which is silently failing is to try disabling SELinux first (or changing it to permissive mode though that doesn't always work either), if the service works without SELinux the problem is with SELinux.

NB. Java programs unhelpfully break my assertion about helpful logging- Java developers seem to delight in spooling out pages of eye-gouging text instead of just telling you what broke, how and why.

Thursday, August 18, 2011

Parallel Lives

I first came across the drabble in a Neil Gaiman's Smoke & Mirrors anthology- Nicholas Was... I love the form and I've written a few since. Here's one I wrote some time ago, somewhat autobiographical.

Parallel Lives

We live parallel lives.  He is a poet, I am a computer engineer. He thinks of philosophy, nature and love, I think of hardware, software and debugging.  I go to the gym, he takes long walks.  He treasures a fountain pen, I a laptop computer.  His friends are arty alternatives, mine are geeky misfits.  I am concerned about tax rates, mortgage rates, holidays and return on investment, he about social justice, global warming and the numinous.  He lives for a better world, I live in a virtual world.  He weeps, I anesthesiate.  He is the dreamer.  I am the dream.