Jorin's Logbook

Reads RSS Github

Use Go Channels to Build a Crawler

The other day I built a crawler that checks links on your website to see if there are any links that you can update from HTTP to HTTPS. You can find it at

I came up with an implementation that abstracts the coordination using channels and I would like to share it in this article.

Services That Make My Day Better

While I wish I could write all software myself, I like to share a few services that greatly simplify my life and on which I gladly rely on.

Note Taking

I created a note taking application, but stopped using it. Let me explain how I take notes nowadays.

Code Challenge: Follow the Dirty Money

This is a link to the latest code challenge.

Create a 3D globe with D3.js

D3 is an excellent tool to visalize geo data. See how to implement a simple example.

Automating the Backup of GitHub Repositories Using ghbackup

I explain my setup to keep backups of my repositories on my own server.

How to Find Short, Available Handles on Github and Twitter

Use the power of Unix to check names for availability.

On Mastering a Skill

I definitely know how to brush my teeth! Or do I? How long does it take to master brushing your teeth?

A Subway Ride Home

The other day I was on my way home, sitting on the subway. At the next stop a guy got in and sat down next to me.

What Are Your Most Used Shell Commands?

I used the Unix shell to get some insight into my most-used shell commands.

Duplicating Text With Unix Tools

This is a quick explanation of a way to repeat text in Unix using seq and xargs.

Writing a Search Engine in Python

I wrote an small search engine in Python to demonstrate basic concepts of searching.

Only HTTPS For One Month

I’m excited about the future of HTTPS. And I did an experiment where I only used HTTPS for one month. In this post I share the results of this experiment.

Deploy With Travis CI and Git

I explain how I automated the deployment of an open source project with Travis CI.

Search with Grep and Edit Files

I will explain a quick-tip to open files in your editor after you found them using grep.

Fix Broken Zip Files

Here’s a quick-tip to fix a broken zip file.

Git Cloc

Here is a quick-tip to see how many lines a Git project contains.

Edit Encrypted Files Quickly

I wrote a little script to make it easier to edit encrypted files. Would be happy about any help to improve this script.

How to Write Your Homework in Markdown

Here I show my workflow to create longer documents using Markdown and how to generate a PDF file from it.

Internship in Bangkok

A summary of what it’s like to do an internship in Bangkok, Thailand.

Debug With Docker and Boom

Docker and Boom helped me to emulate production conditions and track down a tricky bug.


An introduction to interesting ideas in React world

Experiments with Ruby and Go

This is a summary of my impressions of experimenting with Ruby and Go.

Cleaning Up Your Github History

If you want to open source a project you don’t want it to contain any sensitive data. I would like to share my workflow to achieve this.

CSV Challenge

I created this little experiment to find out about the tools and workflows of other developers.

Lessons Learned Building an Angular App with Node.js API

When working with new technologies there are always some surprises and it might be a good idea to take a moment after the work is done to think about what was good and what could be done differently.

Create Animated SVG Charts

I built a simple SVG chart including animations without any SVG Javascript library and it’s not as difficult as you might think.

Animated Sir Sierpinski Triangle

This is an implemenation of the Sierpinski Triangle using Pixi.js. I added some animations on top of it to demonstrate the performance Pixi gives you out of the box.

Convert Videos With Ruby

Ruby can be a good choice as scripting language and here is an example doing some video conversion. This might be less trivial to implement as shell script.

Filter Images In Canvas

I implemented a few image filters using a canvas element.