Vehbi Sinan Tunalioglu

Vehbi Sinan Tunalioglu @vst

About: My name is Sinan. I am a computer programmer and a life-style entrepreneur. I am re-posting my technical blog posts on dev.to.

Location:
Singapore
Joined:
Jan 9, 2024

Vehbi Sinan Tunalioglu
articles - 67 total

I Blogged Every Day for a Month -- Again

Today marks the final day of my second month-long blogging challenge. The first was in August last...

Learn More 5 0May 31 '25

Daily Z Reports and Weekly Reviews

This is not about improving productivity, but rather a simple but bottom-up hack to improve personal...

Learn More 0 0May 30 '25

Cross-Compiling Haskell under NixOS with Docker

I learned how to cross-compile Haskell projects under NixOS using Docker images for ARM...

Learn More 0 0May 29 '25

The Terminal State of Mind

I use the terminal. Not because I am a command-line wizard or particularly efficient with it, but...

Learn More 1 0May 28 '25

NixOS Rebuilds, Upgrades and Generation Diffs

Today, I upgraded my NixOS system to the latest version, v25.05. It went smoothly. I just want to...

Learn More 2 1May 27 '25

Boring on Purpose: Bold Moves in Internal Tooling

Boring work is often the most effective work. It is the kind of work that might lead us to understand...

Learn More 0 0May 26 '25

A Glimpse into My Shell

A glimpse into my shell history reveals the tools I rely on daily. These are not curated -- just raw,...

Learn More 1 0May 25 '25

Data Definitions, Not Flowcharts

Computer programs are best understood in terms of the data they consume, process and produce....

Learn More 0 0May 24 '25

Magic JSON in Haskell

Among all Haskell libraries I have used, the one I reach for the most is autodocodec. I will explain...

Learn More 1 0May 23 '25

Hacking Haskell with Nix: Two Tricks

I have mentioned a few times in my posts that Haskell is my go-to language. This is true even for...

Learn More 1 0May 22 '25

Hacking with mdBook

This post explores how to hack an mdBook project with scripts. A few days back, I wrote a blog post...

Learn More 1 0May 21 '25

Haskell Project Template with Nix Flakes

This post introduces my Haskell project template powered by Nix Flakes -- a simple setup I use to...

Learn More 0 0May 20 '25

Deadman Checks in Grafana

This post is a quick, technical note on how to set up deadman checks in Grafana with InfluxDB as the...

Learn More 0 0May 19 '25

Stop Feeling Intimidated by Complexity

Let me tell you the conclusion up-front: Complexity is not inherently bad. The complications are the...

Learn More 0 0May 18 '25

Choosing A Template Engine: The More Powerful Problem

Continuing on the topic of template engines, I would like to share my thoughts on the power of...

Learn More 7 0May 17 '25

Thinking in Templates

I believe that there is value in thinking in templates when it comes to programming. I will try to...

Learn More 1 0May 16 '25

SDK-Driven Development: A Litmus Test for Good Software Design

This-driven development, that-driven development, and now you should bother with this other thing? I...

Learn More 1 0May 15 '25

Why I am Migrating From Zola Back to Hugo

This post is a summary of my recent decision to go back to Hugo after using Zola. I also report on...

Learn More 1 0May 14 '25

Code is Liability

While programming, we often aim to avoid repetition. Repetition is boring, and ironically, much of...

Learn More 1 0May 13 '25

Build a CLI Emoji Picker with fzf and Nix

In my blog post yesterday, I mentioned fzf. Its simplicity and power make it a good tool for many...

Learn More 2 0May 12 '25

Wayland Application Launchers: Stick with Rofi

Today is a lazy Sunday, and I did what nobody should do on a Sunday: Spend time trying to replace...

Learn More 2 0May 11 '25

GitHub Projects My Way

This post explains why and how I use GitHub for nearly everything. I will also explain how I use...

Learn More 1 0May 10 '25

Time and Truth: Lessons from Tracking My Work with Watson

I started using Watson with low expectations. Two and a half years later, it is still one of the few...

Learn More 0 0May 9 '25

Why and How to Patch a Python Package in Nix

I bumped into an annoying issue today while upgrading my Python dependencies in a codebase. And I...

Learn More 1 0May 8 '25

Nix-Powered Python Development

After a few years of floating from one hack to another, this is my practical guide to setting up a...

Learn More 2 0May 7 '25

Nix Flake Templates

Nix is now central to how I structure my workstation setups and manage development and production...

Learn More 1 0May 6 '25

Working with OpenTelemetry Metrics

I have started adopting OpenTelemetry in my workshop to unify metrics, logs, and traces. This post...

Learn More 0 0May 5 '25

Hold My Data

This post is about data snapshots, backups and archives, why we create and keep them, and how this...

Learn More 0 0May 4 '25

Vectorized Data Pipelines

This post shows how to use Vector to capture and persist webhook events -- like those from SendGrid...

Learn More 1 0May 3 '25

Ruff and Ready: Linting Before the Party

In this post, I share why I value linters and formatters, and how I migrate from traditional Python...

Learn More 0 0May 2 '25