RSS Parrot

BETA

🦜 Dr. Brian Robert Callahan

@briancallahan.net.blog@rss-parrot.net

I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline! Brought to you by the RSS Parrot.

---

academic, developer, with an eye towards a brighter techno-social life

Your feed and you don't want it here? Just e-mail the birb.

Site URL: briancallahan.net/blog

Feed URL: briancallahan.net/blog/feed.xml

Posts: 95

Followers: 1

2026-08-11: Cleaning costs, or, examining the OpenBSD -fret-clean flag

Published: August 11, 2026 00:00

Examining whether an OpenBSD compiler-based anti-ROP mitigation is worth it

2025-12-16: Let's run FreeBSD 15.0-RELEASE on a Raspberry Pi Zero 2 W

Published: December 16, 2025 00:00

Instructions to get a small embedded ARM64 device working with the latest FreeBSD operating system

2025-08-17: Despite thoughts to the contrary, GNAT (Ada) is in fact fully supported on illumos

Published: August 17, 2025 00:00

Learn how to cross-compile a native GCC toolchain

2025-08-13: The GNU D compiler has been broken on FreeBSD 14 for over a year and no one noticed, or, why operating system package maintainers matter

Published: August 13, 2025 00:00

Discovery and diagnosis of a bug hiding in plain sight

2025-01-12: Let's port the GNAT Ada compiler to macOS/aarch64

Published: January 12, 2025 00:00

Getting a compiler written in its own langauge bootstrapped for a new platform

2024-12-16: Let's cross compile from FreeBSD/amd64 to macOS/aarch64

Published: December 16, 2024 00:00

A quick tutorial for setting up a complete cross compiling envinroment using a FreeBSD/amd64 host and macOS/aarch64 target

2024-03-06: FreeBSD has a(nother) new C compiler: Intel oneAPI DPC++/C++

Published: March 6, 2024 00:00

A walkthrough to get Intel oneAPI DPC++/C++ to output native binaries for FreeBSD

2024-01-01: FreeBSD has a new C compiler: Oracle Developer Studio 12.6

Published: January 1, 2024 00:00

A walkthrough to get Oracle Developer Studio 12.6 to output native binaries for FreeBSD

2023-07-03: Installing Oracle Developer Studio 12.6 on Illumos

Published: July 3, 2023 00:00

The (mis)adventures of installing Developer Studio on Illumos despite Oracle's many attempts to stop me.

2022-12-19: GCC now includes Modula-2 and Rust. Do they work on OpenBSD?

Published: December 19, 2022 00:00

Reviewing the state of the new Modula-2 and Rust frontends for GCC on OpenBSD.

2022-04-17: I wrote a peephole optimizer (for QBE), part 3: Studying the LLVM and GCC optimizers

Published: April 17, 2022 00:00

We study how LLVM and GCC optimize increments and decrements and teach those optimizations to our QBE optimizer.

2022-04-02: I wrote a simple, explainable, peephole optimizer (for cproc and QBE), part 2

Published: April 2, 2022 00:00

Finishing up our peephole optimizer from the previous blog post.

2021-12-04: Supporting a new C compiler for oksh and review of the vbcc C compiler

Published: December 4, 2021 00:00

Learning how to get the vbcc C compiler up and runnin on OpenBSD and able to compile the oksh shell.

2021-10-20: An LDC bootstrap compiler and LDC package for OpenBSD

Published: October 20, 2021 00:00

A short post writing down how to create a bootstrap LDC compiler for the OpenBSD port.

2021-10-13: Packaging the DMD D compiler for OpenBSD

Published: October 13, 2021 00:00

Previewing my DConf 2021 talk about D on OpenBSD by discussing how the new DMD package came to be.

2021-10-10: Benchmarking the oksh shell, or, let's look at a lot of C compilers

Published: October 10, 2021 00:00

Getting inconclusive numbers about the definitively best Unix shell.

2021-09-06: Let's write a self-hosting compiler, part 1: Reading in source code

Published: September 6, 2021 00:00

Beginning a new compiler-writing adventure in which we will produce a self-hosting PL/0 compiler.

2021-08-26: Let's write a compiler, part 8: Strings, forward references, and conclusion

Published: August 26, 2021 00:00

Adding the last few pieces needed for a finished PL/0 compiler.

2021-08-14: Let's write a compiler, part 1: Introduction, selecting a language, and doing some planning

Published: August 14, 2021 00:00

The beginning of a new series where we will write a simple PL/0 to C compiler from scratch.

2021-08-02: Reviewing my first OpenBSD port, and what I'd do differently 10 years later

Published: August 2, 2021 00:00

Walking through my first OpenBSD port from ten years ago and revising it to today's standards.

2021-06-27: Write an OpenBSD port with me: The TIC-80 fantasy game console

Published: June 27, 2021 00:00

Step-by-step how I thought through and wrote a moderately difficult OpenBSD port for the TIC-80.

2021-04-14: Demystifying programs that create programs, part 8: Finishing opcode processing

Published: April 14, 2021 00:00

Part 8, teaching the assembler about logical shifts, incrementers and decrementers, and the lxi and mvi instructions.

2021-04-13: Demystifying programs that create programs, part 7: Further opcode processing

Published: April 13, 2021 00:00

Part 7, teaching the assembler about push, pop, jump/call/ret instructions.

2021-04-12: Demystifying programs that create programs, part 6: Processing more opcodes

Published: April 12, 2021 00:00

Part 6, teaching the assembler about mov and arithmetic instructions.

2021-04-11: Demystifying programs that create programs, part 5: Processing our first opcode

Published: April 11, 2021 00:00

Part 5, translating nop assembly instructions into 0x00 bytes.

2021-04-10: Demystifying programs that create programs, part 4: Parsing

Published: April 10, 2021 00:00

Part 4, turning lines of Intel 8080 assembly language into their individual tokens.

2021-04-09: Demystifying programs that create programs, part 3: Globals, passes, and error handling

Published: April 9, 2021 00:00

Part 3, understanding assembler passes and setting up our error handler.

2021-04-07: Demystifying programs that create programs, part 1: A disassembler

Published: April 7, 2021 00:00

Part 1 of a new series in which we create an assembler and disassembler for the Z80 CPU.

2021-03-27: My experiences writing my first real D program and using it to improve OpenBSD D support

Published: March 27, 2021 00:00

A detailed demonstration of a D screenshot utility from zero to complete.

2020-08-27: Let's create a protocol, part 1: Introducing the CW Record Protocol

Published: August 27, 2020 00:00

Introducing a new series in which we will learn how to design and implement a data transmit and receive protocol.

2020-08-16: I wrote the world's worst text editor (so you don't have to)

Published: August 16, 2020 00:00

I wrote the absolute minimum that could possibly be considered a text editor.

2020-06-15: TryHackMe|Learn Linux

Published: June 15, 2020 00:00

I decided to play the intro CTF to TryHackMe in order to begin to get a feel for how people think about cybersecurity pedagogy.