Programming

Let's Go to Mars with Martian Lander

This is the beginning of a series of articles where I develop a variation on the classic lunar-lander game themed around the planet Mars. To do this in three dimensions can be rather complicated, so in the spirit of the original arcade game (that I became rather obsessed with, I should admit), I'm going to tackle the simplified two-dimensional problem.

Dave Taylor and Brandon Perry's Wicked Cool Shell Scripts (No Starch Press)

The new second edition of Dave Taylor and Brandon Perry's classic Wicked Cool Shell Scripts, published by No Starch Press, features a smorgasbord of favorite scripts and 23 brand-new ones. Subtitled 101 Scripts for Linux, OS X, and UNIX Systems, Taylor and Perry's guide features a collection of useful, customizable and fun shell scripts

Finishing Up the Content Spinner

You'll recall that in my last article I shared a long, complex explanation for why spam email catches my attention and intrigues me, perhaps more than it should. Part of it is that I've been involved in email forever—I even wrote one of the most popular old-school email programs back in the day.

The Many Paths to a Solution

A project I'm involved with has made me think about how there are always many solution paths for any given problem in the Linux universe. For this other project, I wanted to cobble together a version of grep that let me specify proper regular expressions without having to worry about the -E flag and get a context for the matches too.

Synopsys' Coverity

The new version 8.5 of Synopsys' Coverity extends the security umbrella of the static analysis tool to mitigate a wider range of security vulnerabilities.

Securing the Programmer

I have a favorite saying: "If you are a systems administrator, you have the keys to the kingdom. If you are an open-source programmer, you don't know which or how many kingdoms you have the keys to." We send our programs out into the world to be run by anyone for any purpose. Think about that: by anyone, for any purpose.

All about printf

In my last article, "Fancy Tricks for Changing Numberic Base", I explored the surprising ability of the Linux shell to convert numeric bases on the fly, including this sweet little snippet that converts FF hexadecimal into decimal notation: $ echo $(( 0xFF )) 255

LiveCode Ltd.'s LiveCode

"Everyone Can Code" is the vision that its maker has for LiveCode, a highly productive coding environment for Linux, Android, iOS, Mac, Windows and Server platforms.

Working with Command Arguments

In this article, I want to cover a more fundamental aspect of shell scripting: working with command arguments. I suspect that most shell scripts go through an evolution with their command flags, a