2023

My FreeBSD years: 2000-2005 -

Toolchains adventures - Q3 2023 -

Playing with Caml Light on DOS -

OpenBSD/arm64 on Hetzner Cloud -

On the importance of distfiles -

Spleen 2.0.0 released with full CP437 support -

Fun with Kermit and ZMODEM over SSH -

Toolchains adventures - Q1 2023 -

NetBSD ASCII flag for the bootloader -

2022

Toolchains adventures - Q3 2022 -

Toolchains adventures - Q2 2022 -

Clang Static Analyzer and the Z3 constraint solver -

Differences between base and ports LLVM in OpenBSD -

Assembly instructions distribution -

OpenBSD folklore and share/misc/airport -

Customizing NetBSD boot banners -

File transfers via the parallel port on DOS using LapLink -

Toolchains adventures - Q1 2022 -

GBA nostalgia and the Flash Advance Linker -

FreeBSD on the Vortex86DX CPU -

FreeBSD on the CubieBoard2 -

Toolchains adventures - Q4 2021 -

2021

OpenBSD on the VIA Eden X2 powered HP t510 Thin Client -

NetBSD, CTWM, and Spleen -

Toolchains adventures - Q3 2021 -

OpenBSD on the Vortex86DX CPU -

Diving into toolchains -

NetBSD on the Vortex86DX CPU -

Character and color cycling effect in C on DOS -

Playing with DJGPP and GCC 10 on DOS -

The state of toolchains in OpenBSD -

Speedbuilding LLVM/Clang in 2 minutes on ARM -

Speedbuilding LLVM/Clang in 5 minutes -

The state of toolchains in NetBSD -

OpenBSD/loongson on the Lemote Fuloong -

NetBSD on the EdgeRouter Lite -

2020

Playing with Kore JSON API -

Modernizing the OpenBSD console -

NetBSD on the NanoPi NEO2 -

Viewing ANSI art in MS-DOS virtual machines -

OpenBSD framebuffer console and custom color palettes -

OpenBSD/armv7 on the CubieBoard2 -

Chinese BBSes and Unicode ANSi Art -

2019

My OpenBSD commits -

Fuzzing DNS zone parsers -

2018

Running a free public API, a post-mortem -

OpenBSD/arm64 on the NanoPi NEO2 -

Spleen - Monospaced bitmap fonts -

The future of VIA x86 processors -

Oldest domains in the .com, .net, and .org TLDs -

Booting OpenBSD kernels in EFI mode with QEMU -

The journey back to C -

2017

OpenBSD/octeon on the EdgeRouter Lite -

2016

OpenBSD g2k16 hackathon -

NetBSD on the CubieBoard2 -

Talk and ytalk nostalgia -

OpenBSD/loongson on the Lemote Yeeloong 8101B -

Building LLVM on OpenBSD/loongson -

Why OpenBSD? -

2015

Powered by OpenBSD httpd -

Decommissioning a free public API -

Adventures in running a free public API -

Distributing files via DNS -

RDing TEMPer Gold USB thermometer on OpenBSD -

GPU-accelerated video playback with NetBSD on the Raspberry Pi -

RISC OS on the Raspberry Pi -

2014

The case for Nginx in front of application servers -

Benchmarking HTTP servers -

Using pkgsrc on Mac OS X -

Fingerprinting DNS servers authoritative for the top 1 million domains -

DNSSEC validation at the router level with OpenWrt -

Window Maker Nostalgia -

Luarocks on FreeBSD -

FreeBSD CheatSheet -

Testing a JSON API with Curl -

NetBSD on the Raspberry Pi -

Nginx and Server Side Includes -

Compiling Nginx on Debian and Ubuntu -

NetBSD ASCII logos -

Cross building NetBSD on Linux -

Installing CA certificates on NetBSD -

Nginx on FreeBSD -

Emulators written in JavaScript -

DNS-OARC Spring 2014 Workshop -

Log rotation directly within Nginx configuration file -

Visualizing progression of file operations using pv (Pipe Viewer) -

dnc: a CLI tool to check domain names configuration and statistics -

NXDOMAIN Hijacking: Dnsmasq to the rescue! -

Storing ASCII art in the DNS -

Parsing JSON from command line using Python -

Getting started with OpenWrt -

Additional repositories for Debian and Ubuntu -

2013

Switching from Octopress to Hexo -

Enabling and testing SPDY support on Nginx -

Measuring bandwidth on a server from Command Line -

ION Krakow DNSSEC Panel: Challenges and Triumphs of DNSSEC -

Inspecting DNS Prefetching and resolver performance within Chrome -

Taiwanese BBSes and Unicode ANSi Art - Part II -

Capturing text screens on modern operating systems -

Special DNS zones for testing purposes -

Testing DNS Resolvers -

Taiwanese BBSes and Unicode ANSi Art -

Playing with Nginx GeoIP and Substitution modules -

Nginx packages in Debian stable -

Serving precompressed content with Nginx and Zopfli -

Character and color cycling effect in JavaScript -

A different approach to ranking Linux distributions -

Interesting DNS Hacks -

Teletext in Poland - Part II -

Teletext in Poland - Part I -

Creating TLSA records (DANE Protocol) -

2012

The future of BBSes? -

International Teletext Art Festival on ARD -

Teletext in Greece -

Minitel is dead -

Things I love about Go -

From DNS with love! -

Creating thumbnails using PhantomJS and ImageMagick -

Printing ANSi art -

International Teletext Art Festival -

UnixBench results: Linode, Tilaa, Hetzner -

Getting ready for the World IPv6 launch -

Compiling and running UnixBench on Debian and CentOS -

Drawing Teletext Art -

AnsiGo: ANSi to PNG converter in Go -

Installing Go on Mac OS X -

RIPE Atlas: an Internet measurement network -

OpenDNS Stickers -

Hurricane Electric IPv6 Certification -

ANSi Web Browser concept -

2011

Compiling Apache 1.3.x on modern Linux distributions -

Setting up a Node.js development environment with NPM and Cloud9 IDE installed locally -

SciTE: a lightweight text and code editor -

Teletext in Germany - Part III -

Teletext in Germany - Part II -

Teletext in Germany - Part I -

Teletext in France -

From WordPress to Octopress -

ANSi and ASCii themes for Chrome -

20 Years of Linux: From Typewriters to Computers -

ANSi Social Media Icon Set -

Node.js ANSI Logo -

2010

GoogleCL: Command Line Tools for Google Services -

Decoding YouTube HTTP Error 500 Message -

Zotonic: The Erlang CMS -

Namebench: A DNS Benchmarking Tool -

JavaScript Canvas Element and JS1k Contest -

Free Public DNS Servers List -

Hello World! -