A bash script to check domain expirations

I have a bad habit, and that’s of buying domain names. I have about 20, with several different registrars. If I was smart, I would consolidate them under one registrar, but, even then, checking expirations on the domains is a pain. I usually have autorenew turned on, but I still like to know when they are getting close to expiration.… Read more →

Set your Raspberry Pi up for Wifi roaming

I’ve had a Raspberry Pi 2 just sitting around for several months, waiting for a purpose. Since I haven’t come up with a purpose, I decided to make it a portable headless Linux box that will travel with me, connect to Wifi automatically, and eventually, hopefully, set it up as a Piratebox. First things first, lets get it connecting. It… Read more →

Fixing my .taskpaper reset alias for bash

There was a little problem with my alias to reset a .taskpaper list by removing all of the @dones. It didn’t remove any spaces before the @done, so each line would gain a space every day. This fixes it: alias rst="sed -i '' 's/ *@done\(.*\)//g'" Now it removes one or more spaces that could be before @done. Read more →

Switching terminals in tmux with ALT-numbers

I’m a big tmux fan, switching from screen a few years ago. Lately, I’ve been working on ways to switch between terminals faster. Now I’m using the ALT (Option key actually) under OS X to switch between the different terminals. The switching starts with the backtick and goes across the upper row of the keyboard until the equal key for… Read more →

Working with Taskpaper files in vim

I’ve been experimenting with Taskpaper for lists over the last couple of weeks, and really like the flexibility. All of my lists are stored as text files in Dropbox, which makes it easy to use/update lists from anything or anywhere. On my iPhone I use Drafts to quickly add to the task lists and Editorial to work with the tasks.… Read more →

Using a Here Document with bash and MySQL

This past week I worked on a bash script to create some input files from a MySQL database. My problem was trying to use multiple line MySQL statements, which was messing everything up. The solution was to use bash’s Here Documents. It’s a way to direct lines into a command. For me, the command looked like this: mysql DBNAME <<EOF… Read more →

Resetting a daily taskpaper list

I have a couple daily taskpaper lists that by the end of the have an @done on each line and I need to reset it for the next day. Instead of trying to do a search and replace everyday, I added a bash alias to .bash_profile (or .bashrc): alias rst="sed -i '' 's/@done\(.*\)//g'" The extra ” after the -i is… Read more →

Saving bash shell history for multiple shells

The history from the commands typed into bash are very useful from time to time, especially when I think “Oh, I’ll remember that command next time I need it”, and then I don’t. The problem with bash’s history are twofold: It only saves history when the terminal exits cleanly, so if your connection drops or you have to kill the… Read more →

Markdown to presentation

Since my preferred interface is the command line, yesterday I was thinking how cool it would be to knock out a presentation from Markdown. I could work on the content, and not get distracted by the interface. Luckily, I didn’t have to look any further than Pandoc. Pandoc can take a multitude of formats and convert to other formats. For… Read more →

Jumping to multiple hosts with ssh behind a gateway

At home I have several hosts that I need to ssh into at various times. Unfortunately, since IPv6 is widely deployed, I am stuck sshing into one host that is publically accessible, and from there sshing into other hosts. Cumbersome to say the least, but it does look cool when I’m showing it off. Anyway, you can automate the connection… Read more →