The Thinking Hammock

Possibly good ideas from a fellow programmer

  • Let's build series
  • Strong opinions
In Search of a Better Shell
Opinion

In Search of a Better Shell

These days I find myself searching for a better shell. Before I dive into what I want specifically, I would first like to spend a minute complaining about bash and explaining why the

  • Josh Vanderwillik
7 min read
Let's build a backup system
Backup server

Let's build a backup system

I have a database that I want to back up. It took me 3 days of work to assemble this database, and I'm not willing to repeat that work if the server dies.

  • Josh Vanderwillik
10 min read
The Language Exchange Problem
Opinion

The Language Exchange Problem

URL parsing is a pretty common problem. The rules for it are pretty well established, and we have around 600 libraries to choose from, and that's just in the node.js ecosystem. If

  • Josh Vanderwillik
8 min read
BitTorrent Client: Talking to Trackers
Bittorrent client

BitTorrent Client: Talking to Trackers

Last post, we wrote a parser for bencoded torrent files. Now we need to connect to a tracker so we find out which peers can send us the file.Before we jump into

  • Josh Vanderwillik
11 min read
BitTorrent Client: The Torrent File
Bittorrent client

BitTorrent Client: The Torrent File

The starting point of a BitTorrent client is the torrent file. This file tells the client about the file it is about to download. It has a description of where the client can

  • Josh Vanderwillik
11 min read
Let's Build a BitTorrent Client
Bittorrent client

Let's Build a BitTorrent Client

In this post we are going to explore how to build a BitTorrent client. BitTorrent is a protocol that supports data distribution directly between peers without requiring a centralized server to host anything.

  • Josh Vanderwillik
2 min read
The Types of Code
Opinion

The Types of Code

It's easy to think that "code is code" and that the rules are always the same when you write it. It should be reusable; it should use clean, clear functions; it it should

  • Josh Vanderwillik
9 min read
Becoming a Grand Master Information Mage
Opinion

Becoming a Grand Master Information Mage

Programming is a recursively deep field. From the outside it looks like it should be just one set of skills, but it's actually layers of skills, each layer built on the foundation of

  • Josh Vanderwillik
8 min read
The Thinking Hammock © 2022
Latest Posts Twitter Ghost