Journeys of intellectual wandering, that involve learning, problem solving and discovery, where the destination isn’t that important.

By the end of this article I hope you can see why investing your time in such projects is interesting and useful, and how such projects could be beneficial for you.

Photo by Filip Mroz on Unsplash

odyssey (n): an intellectual or spiritual wandering or quest

Merriam-Webster online dictionary https://www.merriam-webster.com/dictionary/odyssey

Introduction

Ever since I got into computing and technology, I’ve embarked on large, ambitious solo projects to create things. Most of the time, but not always, by writing code. …


I want to explain how I use this setup, and how I got here. Perhaps I will encourage you, to experiment with your desk and workflow.

6 monitors.

Pictured above, is my desk. It does indeed have 6 monitors. It also has 4 computers with 3 operating systems (2x Linux, 1x Windows — for gaming, 1x Mac — for iOS development).

I don’t intend to brag, or show off, or try and say that this set-up is absolutely essential for me and that nothing else would work. However, it certainly works for me. This is what I naturally got to after lots…


My desktop after the story; i3, st, and some other stuff.

It was worth it, but I need to explain how I got here.

It’s about 2pm on a Friday afternoon, my week of meetings is finally drying up. I have a few hours in my calendar the rest of the day — and I’m not going to spend it catching up on more emails. I want to fill these last couple of hours with something a bit more fun, so I pick up the Ansible collection I was hacking code on and get to work.

About 20 minutes in, I found a small issue that ideally needed me to upgrade…


If you’re like me, you spend your whole day in SSH sessions. Simply knowing how to save a few seconds here and there will add up to minutes and hours over time.

Photo by Soumil Kumar from Pexels

Use Mosh for bad and laggy connections

https://mosh.org/ — use SSH while roaming, with bad or laggy connections, most importantly, support for local echo (ie, you don’t want for the server to send keystrokes back to you).


It should be impossible for me to ever lose any of my files again.

Photo by Markus Spiske from Pexels

In the past, I lost files. It pains me that I cannot get back some of my early files from my first PCs and computers. I’ve had corrupt disks. Typos in disk format commands. Busted RAID controllers, and I’ve been permanently locked out of cloud storage access, etc. I can’t stop any of that happening again, but I refuse to lose any more data because I thought I could trust the storage.

This is so important now that so much of the important stuff is only…


Photo by Pixabay from Pexels

How to automatically build AsciiDoc into HTML on every Git commit using GitHub actions, and host it using GitHub pages.

Example of the end result;

Setup AsciiDoc in your repository

GitHub favours Markdown the the README — so in my projects I keep a README.md that describes the project like normal. , but I use AsciiDoc for the “real” documentation. My real documentation spans multiple files, so I use a docs directory in my repositories. As your project grows, you’ll find you cannot document everything in the README.md .

While your README.md serves…


Photo by Markus Spiske from Pexels

Increased speed and accuracy with a Linux command line can lead you to be hugely more efficient and productive than you once were. This article is a continuation of the hugely popular first article; Speed up your command line navigation (Part 1).

autocd and cdspell —lazily move between directories

Instead of having to type cd usr , cd bin , etc. You can literally just type “usr”, and “bin”, any any other directory name that exists. This is called autocd . Enable it like this;

user@host: shopt -s autocd

Then, if you would normally cd bin, you can simply type bin(you don’t need cd anymore!).

user@host: cd…


Image by bohed from Pixabay

How much is actually free now? df -h

df -hwill give you a simple understanding of how much disk space you’ve got remaining. You can filter out loopback and temporary partitions easily with; dg -h | egrep -v 'tmp|loop'

Filesystem                 Size   Used   Avail   Use%   Mounted On
/dev/mapper/centos-root 100G 60G 40G 60% /
...

How big is that file? — du -h

user@host: du -hs messages
20M messages

Which files are taking up space? — ncdu

You probably need to install the NCurses Disk Usage tool; yum install ncdu (Fedora, CentOS) or apt-get install ncdu (Debian, Ubuntu, etc). It’s awesome though;


How often do you look at people’s calendars, finding a total mess, and lack of convention around how they schedule their appointments? How many times do you have people who refuse to look at, or interpret your own calendar?

I personally use Google calendar appointment slots make this pretty easier on other people. Quite a few other calendar options have this (eg, Outlook).

Step 1) Find some actual free time every day

Before I set this up, my calendar was very blocked back to back with appointments. I suggest you look a few weeks ahead where you calendar is more empty, and start carving out some appointment slots.

In…


There are many elaborate tools out there for building custom raspbian images, and injecting, and adding files. Using just a simple local mount and a bit of bash, you can easily make reproducible raspbian images as well.

Setup Linux Build Server

You’ll need a Linux “build server” to do this. This could be another running Raspberry pi (although it’ll be slow). I used my Fedora workstation. This article doesn’t cover MacOS Bash or Bash for Windows, as it needs losetup to do the real work.

Create a build directory, and download the latest version of Raspbian;

root@buildserver: mkdir /opt/myraspbian root@buildserver: mkdir /opt/myraspbian/filesToAdd/ root@buildserver: wget…

James Read

Public Cloud and Open Source advocate. Red Hat Solution Architect during the day. Enthusiastic developer at night :)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store