RSSAmplifier

Blog

Orhun's Blog

Systems programming, Rust, Ratatui, terminal tools, open source & life stuff by Orhun Parmaksız

blog.orhun.devRSS feed ↗39 posts

Latest posts

Today is my first day at JetBrains

Good morning from JetBrains Berlin office!

Ratty: A terminal emulator with inline 3D graphics

Just trying to answer one simple question: What if the terminal was 3D?

Break the loop, move to Berlin

Break the pattern today or the loop will repeat tomorrow.

Write less code, be more responsible

My thoughts on AI-assisted programming.

800 Rust terminal projects in 3 years

I have discovered and shared ~800 open source Rust CLI projects over the past 3 years.

Building a guitar trainer with embedded Rust

All I wanted was to learn how to play guitar, but ended up building a DIY kit for it.

Looking back on 2025

2025 was a crazy simulation. A lot of glitches, plot twists and fun stuff™.

Superbooth 2025 Experience

I went to Berlin for a music event and here is what happened.

How I set up this blog

Like my blog? Here is how I set it up.

Can't trust any VPN these days

After Turkey banned Discord, I had to jump through some hoops, fix my VPN, and learn a bit about how DNS works.

Why I started livestreaming as a Rust developer?

Some thoughts on why I started livestreaming my open-source development sessions and my future plans.

The Name Quest

I went on a trip to Mongolia to find out the meaning behind my name.

Ratatui Received Funding: What's Next?

Let's delve into the realm of open source funding along with Ratatui's journey.

My FOSDEM 2024 Experience

Sharing my experience after giving a talk at FOSDEM 2024!

Why stdout is faster than stderr?

I recently realized stdout is much faster than stderr for Rust. Here are my findings after diving deep into this rabbit hole.

Fully Automated Releases for Rust Projects

Here is how you can publish a Rust project with a single click of a button and automate everything .

From tui-rs to Ratatui: 6 Months of Cooking Up Rust TUIs

Let's take a look at what is new in the new version of " Ratatui " and how it became the successor of tui-rs .

Generating terminal user interfaces with Ratatui + ChatGPT

" Ratatui " is a Rust library for building rich terminal user interfaces. In this post, I'm sharing what's new in the latest version and also a fun way to easily create terminal user interfaces in a jiffy.

Zig Bits 0x4: Building an HTTP client/server from scratch

Let's experiment with the std.http module of Zig >=0.11 and create an HTTP server/client from scratch (along with some benchmarks)!

Ratatui: Build rich terminal user interfaces using Rust

" Ratatui " came a long way since its transition from the original tui-rs crate. In this post, let's take a look at what's new in the latest version.

Taking Rust to the Cloud: Blazingly Fast File Sharing

" rustypaste " is a self-hosted and minimal file upload/pastebin service written in Rust. In this post, I will be talking about its features and telling the story behind how I deployed it to shuttle.rs to make it publicly available for free use.

Zig Bits 0x3: Mastering project management in Zig

In this post, I'm sharing tips & tricks about managing/maintaining an open-source Zig project and mentioning the commonly used practices. I'm also giving a brief introduction to my first-ever Zig project " linuxwave " which led to the writing of this series.

Setting up a packaging environment for Alpine Linux (introducing alpkg)

Recently I have been interested in Alpine Linux and thought it would be nice to maintain some Rust packages in their repositories. In this post, I will share my notes/adventures on setting up a packaging environment and a tool called " alpkg " for automating this process.

Zig Bits 0x2: Using defer to defeat memory leaks

Let's talk about how to detect memory leaks in Zig and avoid them by using the defer statement.

Introducing runst: Handle desktop notifications neatly on Linux!

runst is a dead simple notification daemon 🦡 In this post, I'm introducing the project and giving different usage examples that will improve your Linux desktop experience.

Zig Bits 0x1: Returning slices from functions

I decided to start a new blog series called "Zig Bits" where I share interesting bits of information about the Zig programming language . This series will be especially for beginners because I'm also a beginner.

Packaging Rust Applications for the NPM Registry

Recently I packaged my project git-cliff (changelog generator written in Rust ) for NPM with the help of my friend @atlj . I thought this would be an interesting topic for a blog post since it has a certain technical depth about distributing binaries and frankly it still amazes me how the whole thing works so smoothly. So let's create a simple Rust project, package it for NPM and fully automate…

Zero-dependency random number generation in Rust

Let's investigate how to generate random numbers without external dependencies in Rust.

Open Source Grindset Explained

Let's talk about how to develop an open sourcerer mindset.

I finally found out why I'm so depressed

I'm in Norway and depressed.

My motivation towards working on open source

Some thoughts about open source and the software industry.

Move away from streaming platforms & take your music offline

I don't use Spotify or any other streaming platform for listening to music. Some call it old habits, some call it needless effort, but I'm very used to downloading MP3 files over the internet and putting them in a folder on my phone then using the whatever default media player I have installed. However, for a couple of years, I have been following a better and automated approach for taking my…

How hard upgrading a Rust JWT library could be?

Recently one of my clients requested me to maintain their Rust project. It is a web server that is built with Rocket + Diesel and running stable for a couple of years now. Like any other Rust developer would do, the first thing that I checked was the outdated dependencies via cargo-outdated . The result was close to what I expected: most of the dependencies were out-of-date. However, among all…

Rewriting sysctl(8) in Rust: systeroid

sysctl is a simple and great tool for modifying the kernel parameters. It does its job very well by providing an easy-to-use interface for /proc/sys . It is maintained as a part of procps toolkit for years and it can easily be considered a legacy tool today. So why not push it to its limits and turn it into a more user-friendly and even more useful tool with the power of Rust?

git-cliff 0.5.0

git-cliff is a highly customizable changelog generator that follows conventional commit specifications ⛰️ In this post, I'm explaining the new features in the 0.5.0 release while giving insight into the different use-cases.

Introducing gpg-tui, a Terminal User Interface for GnuPG

gpg-tui is a TUI for managing the GnuPG keys 🔐 In this post, I'm giving a brief introduction to the project as well as describing the thought process and main development challenges behind it.

Spin Up Your Own No-Bullshit File Hosting Service

A guide for spinning up your own instance of 0x0, a no-bullshit file hosting and URL shortening service.

My First Month as an Arch Linux Trusted User

There's a start for everything. A new blog... New responsibilities... Maybe a new role in a Linux distribution that is for advanced users...

Kmon! Let's manage the Linux kernel modules!

Introducing kmon, a Linux kernel manager and activity monitor 🐧💻