Fatih Arslan

My thoughts about Programming, Coffee, Bags and various other stuff

How to write idempotent Bash scripts

How to write idempotent Bash scripts

This blog post shows tips and tricks to write resilient and idempotent bash scripts. Read More…

Using go/analysis to write a custom linter

Using go/analysis to write a custom linter

We're going to write a custom linter using the new go/analysis framework which dramatically speeds up creating new linters. Read More…

Tom Bihn Nik's Minimalist Wallet Review

Tom Bihn Nik's Minimalist Wallet Review

A review of Tom Bihn's newest addition: Nik's Minimalist Wallet. Lightweight, simple and clean. How does it perform during day-to-day usage? Read More…

Using the iPad Pro as my development machine

Using the iPad Pro as my development machine

I purchased an iPad Pro with the Smart Keyboard and Pencil to use it as my main computer. Can it replace my local workstation? Is it powerful enough for my day-to-day tasks? Let's find out. Read More…

Recap Year 2018

Recap Year 2018

My annual review and recap about year 2018. Family & trips, Side projects, Youtube channel, Working remotely at DigitalOcean and many other things. Read More…

Taking an indefinite sabbatical from my projects

Taking an indefinite sabbatical from my projects

There are times when you have to take a step back and observe your surroundings. Sometimes you're not aware of the things which put you in an unpleasant situation. After reading 'It Doesn't Have to Be Crazy at Work', I decided to make a big change in my life. Read More…

Tom Bihn Aeronaut 30 Review

Tom Bihn Aeronaut 30 Review

A 30L carry-on bag that can be carried in three drastic ways (backpack, shoulder and suitcase) and is made to last forever. The Aeronaut 30. How does it feel to use one? Read More…

Using Go modules with vendor support on Travis CI

Using Go modules with vendor support on Travis CI

Go modules, an experimental dependency management support is released with Go 1.11. Let's set up Travis CI to use Go modules with vendor support. Read More…

How to write a Container Storage Interface (CSI) plugin

How to write a Container Storage Interface (CSI) plugin

The goal of this blog post is to show you how to write a CSI plugin using examples and explain the concepts in a different way. Read More…

Tips & tricks to batch edit EXIF metadata of photos

Tips & tricks to batch edit EXIF metadata of photos

EXIF metadata contains useful information about the photo. What if your photos don't contain a correct EXIF metadata? Let me show how to batch fix and manipulate photos easily on Terminal Read More…

Alacritty integration with Tmux

Alacritty integration with Tmux

Alacritty is a GPU accelerated terminal emulator which aims simplicity and performance. Due its capabilities, Vim rendering is now the fastest on macOS. Read More…

Why I turned off comments

Why I turned off comments

From now on, there are no more comments sections below each post. It's an long-term experiment and I want to see how it works out for me. Read More…

Recap: Year 2017

Recap: Year 2017

My recap about year 2017: Working remotely with a kid, speaking at conferences, working at DigitalOcean, blogging, open source & side projects and many other things. Read More…

Tom Bihn Guide's Edition Synapse 25 Review

Tom Bihn Guide's Edition Synapse 25 Review

A unique design and one of the most beloved onebag backpacks out there. Now in limited edition. Let me introduce: Tom Bihn Guide's Edition Synapse 25. Read More…

Configure Arq to backup to DigitalOcean Spaces

Configure Arq to backup to DigitalOcean Spaces

Arq is a Mac application that sits in your menubar and continuously backs up your data. Let us configure Arq to use DigitalOcean Spaces. Read More…

Notes about migrating to Hugo

Notes about migrating to Hugo

I've moved my blog from Wordpress.com to Hugo. I wrote some of my thoughts on why I made the switch, ideas, improvements for the design and custom tooling for my editing workflow. Read More…

Blue Bottle in Japan

Blue Bottle in Japan

For a while, I knew Blue Bottle was interested to invest into Japan. Their CEO James Freeman was inspired from a small Kissaten (old Japanese Coffee shop) when he opened his first Blue Bottle Coffee shop Read More…

Tom Bihn Tri-Star Bag Review

Tom Bihn Tri-Star Bag Review

Let me introduce my newest bag, the Tom Bihn Tri-Star. A midsize carry-on friendly travel bag for the traveler or weekender. The idea of traveling with a single bag, also called one-bagging is a fascinating topic. Read More…

Tom Bihn Daylight Briefcase Review

Tom Bihn Daylight Briefcase Review

A classic, ultralight, minimalist briefcase for the urban dwellers. I purchased this briefcase because I wanted to have something that is lightweight yet durable - something I could carry with me in the city. Read More…

The ultimate guide to writing a Go tool

The ultimate guide to writing a Go tool

This is a lengthy blog post that explains every single detail of how to write and build a Go tool from scratch. It contains many unique details,  tips & tricks and unknown Go bits. Read More…

Why I left Medium and moved back to my own domain

Why I left Medium and moved back to my own domain

When I’ve started writing my stories on Medium it felt realy good. Medium was the perfect medium to share your thoughts with all your followers. However in couple of years it changed a lot and I didn’t liked those changes. What were these? Read More…

Minaal Daily Bag review

Minaal Daily Bag review

It’s time for another backpack review! This time I want to share my experiences and thoughts about using the Minaal Daily Bag. As some of you know, I use a bag extensively before writing down my thoughts on it. Read More…

Goruck GR1 (26L) Backpack Review

Goruck GR1 (26L) Backpack Review

I had to start carry something more comfortable and something that could hold more in a better way. I’m also working remotely from home, so I was not going to use the bag every single day. Read More…

Starting your Coffee journey

Starting your Coffee journey

I’m a coffee geek. I really love coffee. Every single morning I have the same routine at home. The smell of good coffee is everywhere in our home. I frequently get a lot of questions about how to drink fresh and quality coffee. Because the number of questions is increasing I’ve decided to provide some guidelines. Read More…

Navigation between functions and types in vim-go

Navigation between functions and types in vim-go

Text-objects are great to modify and change the function. But we also might want to move around functions. Suppose there are several function declarations in the current file and you want to jump to them directly? Read More…

Treating Go types as objects in Vim

Treating Go types as objects in Vim

Motion is the name I gave to the whole project that combines the parser and CLI tool, vim implementation and the idea behind this story. Read More…

My journey about implementing an HCL parser in pure Go

My journey about implementing an HCL parser in pure Go

One of my new side projects was about a scanner/parser family written in pure Go for the Hashicorp Configuration Language. I had two reasons for it, the first one was to have fun and learn the internals of Go’s own parser family (go/{ast,token,scanner,parser}) and the second one was to have a hclfmt command, just like gofmt, which would format an HCL file based on predefined set of rules. Read More…

A look at Go lexer/scanner packages

A look at Go lexer/scanner packages

I’ve decided to create a lexer (a.k.a scanner) for an upcoming hobby project. Before creating the lexer, I wanted to see how a lexer can be implemented in Go. Also important for me was how to implement it with an idiomatic Go usage. Read More…

Drift: A coffee geek’s dream magazine

Drift: A coffee geek’s dream magazine

Drift is a magazine about coffee, the people that gives coffee a meaning and the cities they are shaping. Each issue is about a specific city. It explores the city’s various layers and shows a detailed lookup. Stories are not just about coffee itself, they’re about humans exploring coffee and creating with it the city’s culture. Read More…

Ten Useful Techniques in Go

Ten Useful Techniques in Go

Here are my own best practices that I’ve gathered from my personal experiences with dealing lots of Go code for the past years. I believe they all scale well. Read More…

Receiving Kindle books as donation for my open source project

Receiving Kindle books as donation for my open source project

Recently I’ve was asked a lot whether I was receiving donations or not. I was not. Because I didn’t need it and I thought it was not necessary. However the number of requests of having a donation option was increasing. People wanted to give something and I wasn’t providing them a way to fulfill their wish. Read More…