Posts by Abhinav Sarkar
Archives
Search
Subscribe
New post on abhinavsarkar.net: Generating Standalone Haddock Docs for a Multi-package Haskell Project
December 31, 2023
Generating Standalone Haddock Docs for a Multi-package Haskell Project So here’s a thing I recently wanted to do. I am working on a personal Haskell project,...
New post on abhinavsarkar.net: Implementing Co, a Small Language With Coroutines #4: Adding Channels
June 3, 2023
Implementing Co, a Small Language With Coroutines #4: Adding Channels In the previous post, we added coroutines to Co, the small language we are implementing...
New post on abhinavsarkar.net: Adding Mastodon Comments to a Website
May 19, 2023
Adding Mastodon Comments to a Website Two of the core ideas of IndieWeb are POSSE and Backfeed. The idea behind POSSE is that you publish your content on...
New post on abhinavsarkar.net: Automating Mastodon Backups with NixOS and Syncthing
May 13, 2023
Automating Mastodon Backups with NixOS and Syncthing Six months ago, a bunch of my friends and I started the Mastodon instance fantastic.earth. Till now, we...
New post on abhinavsarkar.net: Interesting Links for April 2023
May 2, 2023
Interesting Links for April 2023 Here are some interesting things I read on the internet in April 2023: Haskell Pedagogical Downsides of Haskell Why teaching...
New post on abhinavsarkar.net: Interesting Links for March 2023
April 1, 2023
Interesting Links for March 2023 Here are some interesting things I read on the internet in March 2023: Haskell Evolving isDigit memfd: An example of Haskell...
New post on abhinavsarkar.net: Interesting Links for February 2023
March 29, 2023
Interesting Links for February 2023 Here are some interesting things I read on the internet in February 2023: Haskell 6 ways to manage allocated memory in...
New post on abhinavsarkar.net: Pulling missing context of replied toots in Mastodon
March 5, 2023
Pulling missing context of replied toots in Mastodon Mastodon is a decentralized social media platform that’s become increasingly popular in recent years....
New post on abhinavsarkar.net: Implementing Co, a Small Language With Coroutines #3: Adding Coroutines
March 2, 2023
Implementing Co, a Small Language With Coroutines #3: Adding Coroutines In the previous post, we wrote the interpreter for basic features of Co, the small...
New post on abhinavsarkar.net: Implementing Co, a Small Language With Coroutines #3: Adding Coroutines
February 11, 2023
Implementing Co, a Small Language With Coroutines #3: Adding Coroutines In the previous post, we wrote the interpreter for basic features of Co, the small...
Writing a Static Site Generator Using Shake
December 17, 2022
Static site generators (SSGs) are all rage these days as people realize that plain HTML websites are good enough for most cases. SSGs take raw data in...
Solving Advent of Code “No Space Left On Device” with Parsers, Zippers and Interpreters
December 9, 2022
In this post, we solve the Advent of Code 2022, “No Space Left On Device” challenge in Haskell using parsers, zippers and interpreters. This post was...
Solving Rock-Paper-Scissors in Type-level Haskell
December 2, 2022
Let’s solve part 1 of today’s Advent of Code challenge “Rock Paper Scissors” in type-level Haskell. Instead of using term-level programming as we usually do,...
A* Algorithm in Haskell
December 1, 2022
The start of the Advent of code today reminded me of the A* algorithm, which I often find myself using for graph pathfinding related problems. If there is a...
Monitoring VPS Network Usage with vnStat and NixOS
November 16, 2022
I self-host a bunch of services on a VPS. To monitor the network usage of the VPS, I use vnstat, a simple network monitoring tool. After enabling the vnstat...
Just, Nix Shell and Podman are a Killer Combo
October 5, 2022
Let’s say, for some unclear reasons, you need to compile the “Hello World” C program using a variety of C compilers. #include int main() { printf("Hello...
Setting up Fail2Ban with Nginx and Cloudflare on NixOS
August 31, 2022
Fail2Ban is a service to scan the log files of various services on servers to find malicious IPs (by matching log lines to predefined regular expressions),...
Creating NixOS custom image for Digital Ocean VPS
August 27, 2022
Recently, I decided to move my Digital Ocean (DO) VPS to NixOS. The first step to do so is to create a custom NixOS image because NixOS is not an OS option...
Solving Advent of Code “Handy Haversacks” in Type-level Haskell
January 4, 2021
I have been trying to use type-level programming in Haskell to solve interesting problems since I read Thinking with Types by Sandy Maguire. Then I found...
Newer archives