A whole day, spent in one window.

Twenty-four guides, one for every hour from 6am to 5am. Email, news, spreadsheets, music and even Star Wars, all without leaving the terminal. (Not the airport kind.)

Start at 6am: Mutt 0/24 read
jkmove ↵open xread ccopy 0–6filter

Morning

Inbox, weather, news, then build something.06:00–11:59

6am
MuttCommunication
Replace your email client with Mutt

Set up Mutt on macOS, then read, write and file email from the command line.

$ brew install mutt
7am
wttr.inRead
Check the weather with wttr.in

One curl request returns a forecast for where you are, or anywhere else.

$ curl wttr.in
8am
NewsboatRead
Read the news in Newsboat

Subscribe to RSS and Atom feeds and browse them in a fast console reader.

$ brew install newsboat
9am
Taskwarrior + sayProductivity
Spoken reminders with Taskwarrior

Pair Taskwarrior with the macOS say command so your terminal reads out what's due.

$ say "Stand-up in five minutes"
10am
NanoBuild
Build a webpage in Nano

Write a simple HTML page by hand in a terminal text editor.

$ nano index.html
11am
GitBuild
Push your page to GitHub

Create a repository and push this morning's webpage with Git.

$ git push -u origin main

Afternoon

Search, calculate, organise.12:00–17:59

12pm
bashBuild
Watch your website with a bash script

A short script that checks your site's status on a schedule and reports back.

$ curl -Is https://example.com | head -1
1pm
textutilFiles
Edit Word documents from the terminal

Open, convert and edit .docx files from your file system without launching Word.

$ textutil -convert txt report.docx
2pm
grepFiles
Find anything with grep

Search inside files across folders and narrow the results with grep's options.

$ grep -rn "invoice" ~/Documents
3pm
TaskwarriorProductivity
Manage tasks with Taskwarrior

Add tasks, set due dates and group them into projects.

$ task add Write report due:tomorrow
4pm
bcProductivity
Do the maths with bc

Arithmetic, decimal precision and calculations inside shell scripts.

$ echo "scale=4; 22/7" | bc
5pm
sc-imProductivity
Spreadsheets in sc-im

Install sc-im, then move around, edit and format cells from the keyboard.

$ sc-im budget.sc

Evening

Print the day's work, then play.18:00–23:59

6pm
lprFiles
Print without the print dialog

Send files straight to a printer with lpr, pick a printer and fix common problems.

$ lpr -P Office notes.txt
7pm
SoXPlay
Make music with SoX

Install SoX and play a simple rendition of Smoke on the Water. No programming needed.

$ play -n synth 0.4 pluck E2
8pm
cd, ls, mvFiles
Get around the file system

Move between directories, create and rename files, and edit them in place.

$ mkdir -p projects && cd projects
9pm
SpotifydPlay
Control Spotify from the terminal

Set up Spotifyd and play music without leaving your editor. Requires Spotify Premium.

$ brew install spotifyd
10pm
SnakePlay
Play Snake

Install a terminal version of the classic game for a quick break.

$ brew install nsnake
11pm
FreereadRead
Read classic books

Use Freeread to find and read public-domain literature from the command line.

$ freeread

Night

Messages, uploads and the Matrix.00:00–05:59

12am
LynxRead
Browse the web with Lynx

A text-only browser for distraction-free reading, from install to configuration.

$ lynx duckduckgo.com
1am
Twilio CLICommunication
Send texts with Twilio CLI

Install and configure Twilio CLI, then send SMS messages from your shell.

$ twilio api:core:messages:create
2am
Slack APICommunication
Post to Slack as yourself

Use a user token and chat.postMessage to post under your own name, not a bot's.

$ curl -X POST https://slack.com/api/chat.postMessage
3am
asciinemaCommunication
Upload a video to YouTube

Record a terminal session, convert it to MP4 and upload it without opening a browser.

$ asciinema rec demo.cast
4am
telnetPlay
Watch Star Wars in ASCII

Connect over telnet and watch A New Hope drawn in text characters.

$ telnet towel.blinkenlights.nl
5am
cmatrixPlay
Digital rain with cmatrix

Install cmatrix and tune the Matrix effect before the day starts again.

$ cmatrix -b

6am again. Start the day over.

Back to 6am