# Shell Scripting

## Scissors, Paper or Rock?

In this article, I'm going to tackle a children's game that's extraordinarily complicated, with many variations, and the programming task is going to be quite tricky. Just kidding! Rock Paper Scissors (or RPS, as it's known) is pretty darn easy to simulate because there aren't really many variants or possible outcomes. more>>

## Is the Moon Waxing or Waning?

In my last article, I talked about the complications of calculating the phase of the moon and decided simply to scrape the same website that Google uses. more>>

## The Current Phase of the Moon

Ladies and gentlemen, we've left Mars. Well, at least I'm done with the Martian lander from my past few articles. I hope you had chance to experiment with it and find out that it's not too easy to land a craft on any planet! more>>

## Wrapping Up the Mars Lander

In my last few articles ("Let's Go to Mars with Martian Lander" and "Mars Lander, Take II: Crashing onto the Surface"), I've been building a variant on the classic video game Lunar Lander, with a few simplificatio more>>

## Mars Lander, Take II: Crashing onto the Surface

In my last article, I spent almost the entire piece exploring gravitational physics, of all unlikely topics. more>>

## Bash Shell Script: Building a Better March Madness Bracket

Last year, I wrote an article for Linux Journal titled "Building Your March Madness Bracket" My article was timely, arriving just in time for the "March Madness" college basketball series. more>>

## 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. more>>

## 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 more>>

## 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. more>>

## Spinning and Text Processing

I have a dirty secret to share, and I hope you won't think less of me once you learn it. more>>

## Polishing the wegrep Wrapper Script

When last I discussed shell scripts, I was presenting a shell script that offered an alternative to the -C context flag in GNU grep. more>>

## 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. more>>