# rup12.net > Personal blog by Darko Mesaros: Developer Advocate, Technologists, Tinkerer. > Topics: Rust, AWS, serverless, retro computing, homelab, and developer tooling. ## Blog Posts - [AWS SDK for Rust: Using S3-Compatible APIs with Other Clouds](https://rup12.net/posts/s3-api-compatibility-is-awesome): Learn how to configure AWS SDK for Rust to work with S3-compatible APIs from Cloudflare R2, Backblaze B2, Nebius, and more. Complete guide with code examples. - [Running Obsidian on a headless server](https://rup12.net/posts/running-obsidian-headless): How to run Obsidian on a headless Linux server using X11 forwarding and Xvfb for agent automation and note syncing - [I'm Hosting a Website on a SPARC Server in My Garage (OpenBSD + Cloudflare Tunnels)](https://rup12.net/posts/can-my-sparc-server-host-my-website): I'm running a live website on a 25-year-old Sun Netra X1 SPARC server from my garage. OpenBSD 7.8, httpd, pf firewall, Cloudflare tunnels for safe exposure — no port forwarding needed. Yes, it actually works. - [Learning Rust: Getting started with the AWS SDK for Rust!](https://rup12.net/posts/learning-rust-configuring-the-aws-sdk): Complete guide to configuring AWS SDK for Rust: credentials, regions, and localstack integration with practical examples. - [Building MCP Servers in Rust with rmcp — A Complete Guide](https://rup12.net/posts/write-your-mcps-in-rust): A complete guide to building Model Context Protocol (MCP) servers in Rust using the rmcp crate. Covers server setup, tool definitions, and connecting to MCP clients like Claude and Kiro. - [Learning Rust: Download and deserialize 10 000 files in 9.833 seconds](https://rup12.net/posts/download-and-deserialize-10000-files-in-10-seconds): Learn with me how to process CSV files from S3 in seconds using Rust's async concurrency, semaphores, and fearless parallelism patterns. - [Learning Rust: Custom Error types that actually work!](https://rup12.net/posts/learning-rust-custom-errors): Tired of writing the same verbose error handling boilerplate in your Axum handlers? Me too! 🙄 By creating a custom `AppError` newtype that wraps `anyhow::Error` and implements `IntoResponse` + `From`, you can ditch all those ugly match statements and embrace the beautiful `?` operator. - [Amazon Q Developer CLI 1.7.3 - Now with VIM! 😍](https://rup12.net/posts/q-developer-cli-173-update): Amazon Q Developer CLI1.7.3 introduces five key improvements: just type `q` to launch; granular tool permission controls with `/tools trust/untrust` commands; VIM integration via `/editor` command for complex prompts; multi-line editing with Ctrl+J; and enhanced context management through the `/context` command. - [How do I focus (sometimes)?](https://rup12.net/posts/how-do-i-focus-sometimes): Wow, look at this, my first personal opinion post on something. Hey if you are struggling with focusing on your work sometimes, don'f feel bad! We all do! Here I go through a few differetn ways I keep focus on the imporant things to me, even though I am surrounded by screens, chats, and YouTube. - [For the love of PROD: Test your code! (Part 1)](https://rup12.net/posts/for-the-love-of-prod-test-your-code): Why testing your code before it hits production matters more than ever. A practical guide to automated testing, CI/CD pipelines, and building confidence in your deployments using AWS tools. - [Getting and restoring a Sun Ultra 1 Workstation](https://rup12.net/posts/adventures-with-sun-ultra-1-workstation): It is the year 2021 and I've decided to by a Sun Microsystems Workstation from 1995. Can I get it working? What are its flaws? And just how awesome it is? - [My experience with the Apple M1 Macbook Air](https://rup12.net/posts/my-experiences-with-the-apple-m1-laptop): After a long time I bought myself a new laptop. I've decided to bite the bullet and grab the newly fangled Apple Silicon (M1) Macbook. Here I get to tell you my experience with it. - [Awesome vim plugins: quick-scope](https://rup12.net/posts/awesome-vim-plugins-quickscope): Vim is all about speed and efficiency! Movement in a text file is the thing that can slow you down. Let's have a look at a plugin that solves the horizontal movement bit. Quick-Scope - [Awesome vim plugins: vim-plug](https://rup12.net/posts/awesome-neovim-plugins-vimplug): Do you find managing vim plugins frustrating? Do you think there needs to be a better way for that? Well then, let's talk about vim-plug. The plugin manager that plugs in plugins! - [Multiplex Your Terminal With tmux](https://rup12.net/posts/multiplex-your-terminal-with-tmux): Are you tired of your work being lost due to a broken SSH connection? Do you wish you can look at your code and run commands at the same time? Do you just want to look cool? Let's talk about TMUX - the Terminal Multiplexer. - [Do awesome things with Infrastructure as Code (PART 1)](https://rup12.net/posts/do-awesome-things-with-iac-part1): Clicking is no fun if you have to do it over and over again. Let's avoid clicking and start using code to define, describe and create our infrastructure. Let's start talking about doing awesome things with Infrastructure as Code - [Installing Windows 2000 on real hardware in 2021](https://rup12.net/posts/win2k-on-real-hw): Getting Windows 2000 to run on actual hardware! How hard can it be? - [ARCHIVE - My Work From Home Setup](https://rup12.net/posts/old-my-current-setup): Here is how I get all this streaming, recording, and screaming at the camera done - [Add some color to your terminal with lolbanner](https://rup12.net/posts/colorful-banners-with-lolbanner): You did not know you want this in your life until you see it! Colorful banners for your terminal - [Check your spelling in vim](https://rup12.net/posts/vim-spellchecker): Did you know that vim has a built-in spell checker?