Programming

Powered by
Puppet: The shortest path to better software.

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

AdaCore's GNAT Pro, CodePeer, QGen and SPARK Pro

AdaCore recently announced the concurrent annual release of four flagship products in its portfolio of software development and verification tools for mission-critical, safety-critical and security-critical systems. These include version 17.1 of GNAT Pro, CodePeer, QGen and SPARK Pro. more>>

Pythonic Science in the Browser

In the past, if you wanted a friendly environment for doing Python programming, you would use Ipython. The Ipython project actually consists of three parts: the standard console interface, a Qt-based GUI interface and a web server interface that you can connect to with a web browser. 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>>

The Family Dashboard

I've written a little about PHP before, because I think it's a great utility language for writing quick things you need to do. Plus, it allows you to use a web browser as your interface, and everyone has a web browser. That makes it very convenient for my family, because I can make simple web interfaces for the various things I normally have to do from the command line. 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>>

NTPsec: a Secure, Hardened NTP Implementation

Note: This article was first published in the October 2016 issue of Linux Journal. 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>>

Natalie Rusk's Scratch Coding Cards (No Starch Press)

The phrase "Learn to Program One Card at a Time" plays the role of subtitle and friendly invitation from Scratch Coding Cards, a colorful collection of activities that introduce children to creative coding. 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>>

Syndicate content