Anardil

A spot of sunlight

All Articles

Raspberry Pi Timelapse

Introduction Like videos? If you have a raspberry pi with a camera, you can easily create a fully automated timelapse. Let's walk through some setup and scripts that make this possible. If you don't have a camera, you can pick up a 5 megapixel one...

Haskell coreutils - which

Introduction I've implemented a couple Unix core utilities in Haskell, and want to continue a series of posts going through the details - starting with simple programs like cat, seq, and which, and then moving on towards more featureful programs like...

Haskell coreutils - cat

Introduction I've implemented a couple Unix core utilities in Haskell, and want to start a series of posts going through the details - starting with simple programs like cat, seq, and which, and then moving on towards more featureful programs like...

Steam Library on Network Attached Storage

The Problem Suppose you have a lot of Steam games, but not a lot of local disk space. Maybe you're using a laptop for some light gaming and don't want to sacrifice several hundred gigabytes of your local storage. Maybe you have a couple computers and...

Devbot

Introduction Some of using computers is inevitably repetitive: checking for updates, backing up files, maybe clearing some logs. Scripts are a great way to automate some of the logic around these tasks, but you have to remember to run them or they...

Hangman in Haskell

Introduction Hangman is a simple word game where the user must guess the hidden word. The catch is that there are a limited number of guesses. This is a functional implementation of Hangman in 100 lines. I'll go through each section of the source and...

Stream Programming

Introduction Most simple iterative programming tasks can be rephrased in terms of a 'map' or 'reduce' operation. The advantage here is that if we can work our problem into a map - reduce problem, we can easily increase parallelism. A simple example...