Ansi Art

Viewing ANSI art in MS-DOS virtual machines -

Chinese BBSes and Unicode ANSi Art -

Taiwanese BBSes and Unicode ANSi Art - Part II -

Taiwanese BBSes and Unicode ANSi Art -

Printing ANSi art -

AnsiGo: ANSi to PNG converter in Go -

ANSi Web Browser concept -

ANSi and ASCii themes for Chrome -

ANSi Social Media Icon Set -

Node.js ANSI Logo -

ARM

FreeBSD on the CubieBoard2 -

NetBSD on the NanoPi NEO2 -

OpenBSD/armv7 on the CubieBoard2 -

OpenBSD/arm64 on the NanoPi NEO2 -

NetBSD on the CubieBoard2 -

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

RISC OS on the Raspberry Pi -

NetBSD on the Raspberry Pi -

Assembly

Assembly instructions distribution -

BBS

The future of BBSes? -

C

Character and color cycling effect in C on DOS -

Playing with Kore JSON API -

The journey back to C -

Caml

Playing with Caml Light on DOS -

Command Line

Testing a JSON API with Curl -

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

Parsing JSON from command line using Python -

Compilers

Toolchains adventures - Q1 2024 -

Speedbuilding LLVM/Clang in 3 minutes on Power10 -

Toolchains adventures - Q3 2023 -

Playing with Caml Light on DOS -

Toolchains adventures - Q1 2023 -

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 -

Toolchains adventures - Q1 2022 -

Toolchains adventures - Q4 2021 -

Toolchains adventures - Q3 2021 -

Diving into toolchains -

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 -

Building LLVM on OpenBSD/loongson -

DNS

Fuzzing DNS zone parsers -

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

Distributing files via DNS -

Fingerprinting DNS servers authoritative for the top 1 million domains -

DNSSEC validation at the router level with OpenWrt -

DNS-OARC Spring 2014 Workshop -

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

NXDOMAIN Hijacking: Dnsmasq to the rescue! -

Storing ASCII art in the DNS -

ION Krakow DNSSEC Panel: Challenges and Triumphs of DNSSEC -

Inspecting DNS Prefetching and resolver performance within Chrome -

Special DNS zones for testing purposes -

Testing DNS Resolvers -

Interesting DNS Hacks -

Creating TLSA records (DANE Protocol) -

From DNS with love! -

OpenDNS Stickers -

Namebench: A DNS Benchmarking Tool -

Free Public DNS Servers List -

DOS

Playing with Caml Light on DOS -

Spleen 2.0.0 released with full CP437 support -

File transfers via the parallel port on DOS using LapLink -

Character and color cycling effect in C on DOS -

Playing with DJGPP and GCC 10 on DOS -

Viewing ANSI art in MS-DOS virtual machines -

FreeBSD

My FreeBSD years: 2000-2005 -

On the importance of distfiles -

FreeBSD on the Vortex86DX CPU -

FreeBSD on the CubieBoard2 -

Luarocks on FreeBSD -

FreeBSD CheatSheet -

Nginx on FreeBSD -

GCC

Playing with DJGPP and GCC 10 on DOS -

The state of toolchains in OpenBSD -

The state of toolchains in NetBSD -

Golang

Things I love about Go -

AnsiGo: ANSi to PNG converter in Go -

Installing Go on Mac OS X -

Hardware

The future of VIA x86 processors -

JavaScript

Emulators written in JavaScript -

Character and color cycling effect in JavaScript -

Creating thumbnails using PhantomJS and ImageMagick -

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

JavaScript Canvas Element and JS1k Contest -

Linux

Additional repositories for Debian and Ubuntu -

A different approach to ranking Linux distributions -

UnixBench results: Linode, Tilaa, Hetzner -

Compiling and running UnixBench on Debian and CentOS -

Compiling Apache 1.3.x on modern Linux distributions -

20 Years of Linux: From Typewriters to Computers -

LLVM

Toolchains adventures - Q1 2024 -

Speedbuilding LLVM/Clang in 3 minutes on Power10 -

Toolchains adventures - Q3 2023 -

Toolchains adventures - Q1 2023 -

Toolchains adventures - Q3 2022 -

Toolchains adventures - Q2 2022 -

Clang Static Analyzer and the Z3 constraint solver -

Differences between base and ports LLVM in OpenBSD -

Toolchains adventures - Q1 2022 -

Toolchains adventures - Q4 2021 -

Toolchains adventures - Q3 2021 -

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 -

Building LLVM on OpenBSD/loongson -

Lua

Luarocks on FreeBSD -

Minitel

Minitel is dead -

MIPS64

OpenBSD/loongson on the Lemote Fuloong -

NetBSD on the EdgeRouter Lite -

OpenBSD/octeon on the EdgeRouter Lite -

OpenBSD/loongson on the Lemote Yeeloong 8101B -

Building LLVM on OpenBSD/loongson -

Miscellaneous

GBA nostalgia and the Flash Advance Linker -

Running a free public API, a post-mortem -

Talk and ytalk nostalgia -

Decommissioning a free public API -

Adventures in running a free public API -

Window Maker Nostalgia -

Capturing text screens on modern operating systems -

SciTE: a lightweight text and code editor -

GoogleCL: Command Line Tools for Google Services -

Decoding YouTube HTTP Error 500 Message -

Zotonic: The Erlang CMS -

NetBSD

On the importance of distfiles -

NetBSD ASCII flag for the bootloader -

Customizing NetBSD boot banners -

NetBSD, CTWM, and Spleen -

NetBSD on the Vortex86DX CPU -

The state of toolchains in NetBSD -

NetBSD on the EdgeRouter Lite -

NetBSD on the NanoPi NEO2 -

NetBSD on the CubieBoard2 -

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

NetBSD on the Raspberry Pi -

NetBSD ASCII logos -

Cross building NetBSD on Linux -

Installing CA certificates on NetBSD -

Networking

Fun with Kermit and ZMODEM over SSH -

Benchmarking HTTP servers -

Getting started with OpenWrt -

Measuring bandwidth on a server from Command Line -

Getting ready for the World IPv6 launch -

RIPE Atlas: an Internet measurement network -

Hurricane Electric IPv6 Certification -

News

Switching from Octopress to Hexo -

From WordPress to Octopress -

Hello World! -

Nginx

The case for Nginx in front of application servers -

Nginx and Server Side Includes -

Compiling Nginx on Debian and Ubuntu -

Nginx on FreeBSD -

Log rotation directly within Nginx configuration file -

Enabling and testing SPDY support on Nginx -

Playing with Nginx GeoIP and Substitution modules -

Nginx packages in Debian stable -

Serving precompressed content with Nginx and Zopfli -

OpenBSD

OpenBSD/arm64 on Hetzner Cloud -

On the importance of distfiles -

Differences between base and ports LLVM in OpenBSD -

OpenBSD folklore and share/misc/airport -

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

OpenBSD on the Vortex86DX CPU -

The state of toolchains in OpenBSD -

OpenBSD/loongson on the Lemote Fuloong -

Modernizing the OpenBSD console -

OpenBSD framebuffer console and custom color palettes -

OpenBSD/armv7 on the CubieBoard2 -

My OpenBSD commits -

OpenBSD/arm64 on the NanoPi NEO2 -

Booting OpenBSD kernels in EFI mode with QEMU -

OpenBSD/octeon on the EdgeRouter Lite -

OpenBSD g2k16 hackathon -

OpenBSD/loongson on the Lemote Yeeloong 8101B -

Building LLVM on OpenBSD/loongson -

Why OpenBSD? -

Powered by OpenBSD httpd -

RDing TEMPer Gold USB thermometer on OpenBSD -

Pkgsrc

Using pkgsrc on Mac OS X -

RISC OS

RISC OS on the Raspberry Pi -

Security

Fuzzing DNS zone parsers -

Teletext

Teletext in Poland - Part II -

Teletext in Poland - Part I -

International Teletext Art Festival on ARD -

Teletext in Greece -

International Teletext Art Festival -

Drawing Teletext Art -

Teletext in Germany - Part III -

Teletext in Germany - Part II -

Teletext in Germany - Part I -

Teletext in France -

Toolchains

Toolchains adventures - Q1 2024 -

Speedbuilding LLVM/Clang in 3 minutes on Power10 -

Toolchains adventures - Q3 2023 -

Toolchains adventures - Q1 2023 -

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 -

Toolchains adventures - Q1 2022 -

Toolchains adventures - Q4 2021 -

Toolchains adventures - Q3 2021 -

Diving into toolchains -

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 -

Building LLVM on OpenBSD/loongson -

Type Design

Spleen 2.0.0 released with full CP437 support -

Spleen - Monospaced bitmap fonts -