Dr. Brian Robert Callahan
academic, developer, with an eye towards a brighter techno-social life
2025-01-12
: Let's port the GNAT Ada compiler to macOS/aarch64
2024-12-16
: Let's cross compile from FreeBSD/amd64 to macOS/aarch64
2024-12-12
: A GDC package for macOS/aarch64
2024-06-09
: A DMD package for OpenIndiana
2024-03-06
: FreeBSD has a(nother) new C compiler: Intel oneAPI DPC++/C++
2024-01-22
: Can GCC use Clang as its assembler?
2024-01-01
: FreeBSD has a new C compiler: Oracle Developer Studio 12.6
2023-11-19
: Enabling LLVM with m68k (and more) support on OpenBSD
2023-08-13
: Can mold be used as the OpenBSD system linker?
2023-07-23
: Using non-GNU assemblers with the Portable C Compiler
2023-07-05
: Porting the Portable C Compiler (PCC) to Illumos
2023-07-03
: Installing Oracle Developer Studio 12.6 on Illumos
2023-06-26
: GCC --enable-languages=all on OpenBSD
2022-12-19
: GCC now includes Modula-2 and Rust. Do they work on OpenBSD?
2022-11-13
: I took the CompTIA CySA+ CS1-003 beta exam for fun
2022-07-04
: Your next C compiler is a D compiler: Introducing DMD's ImportC
2022-06-29
: OpenBSD has two new C compilers: chibicc and kefir
2022-04-27
: I ported the new Hare compiler to OpenBSD
2022-04-26
: Let's try V on OpenBSD
2022-04-18
: Let's install OpenBSD/riscv64 on QEMU
2022-04-17
: I wrote a peephole optimizer (for QBE), part 3: Studying the LLVM and GCC optimizers
2022-04-06
: Hand-optimizing the TCC code generator
2022-04-02
: I wrote a simple, explainable, peephole optimizer (for cproc and QBE), part 2
2022-03-30
: I wrote a peephole optimizer (for QBE), part 1
2022-03-21
: I built the new gcobol compiler on OpenBSD
2022-02-22
: I took the CompTIA Linux+ XK1-005 beta exam for fun
2022-02-20
: I wrote the least-C C program I could
2022-02-05
: I took the CompTIA Project+ PK1-005 beta exam for fun
2021-12-04
: Supporting a new C compiler for oksh and review of the vbcc C compiler
2021-10-31
: More OpenBSD and D news
2021-10-20
: An LDC bootstrap compiler and LDC package for OpenBSD
2021-10-13
: Packaging the DMD D compiler for OpenBSD
2021-10-10
: Benchmarking the oksh shell, or, let's look at a lot of C compilers
2021-09-11
: I got the J language working on OpenBSD
2021-09-06
: Let's write a self-hosting compiler, part 1: Reading in source code
2021-08-29
: Let's get hands-on with QBE
2021-08-26
: Let's write a compiler, part 8: Strings, forward references, and conclusion
2021-08-22
: Let's write a compiler, part 7: Arrays
2021-08-19
: Let's write a compiler, part 6: Input and output
2021-08-18
: Let's write a compiler, part 5: A code generator
2021-08-17
: Let's write a compiler, part 4: Testing
2021-08-16
: Let's write a compiler, part 3: A parser
2021-08-15
: Let's write a compiler, part 2: A lexer
2021-08-14
: Let's write a compiler, part 1: Introduction, selecting a language, and doing some planning
2021-08-02
: Reviewing my first OpenBSD port, and what I'd do differently 10 years later
2021-08-01
: I write for QEX, and you should too
2021-07-10
: I wrote a 231-byte Brainfuck compiler by abusing everything
2021-06-27
: Write an OpenBSD port with me: The TIC-80 fantasy game console
2021-06-09
: I wrote a linker everyone can understand!
2021-06-06
: Introducing 8088ify
: The CP/M to MS-DOS assembly translator
2021-06-04
: I participated in my first "game" jam
2021-05-29
: Profiling our assembler with the DMD compiler
2021-05-22
: The GNU D Compiler on OpenBSD/armv7
2021-05-20
: The GNU D Compiler on OpenBSD/arm64
2021-04-25
: A multi-platform "compiler"
2021-04-15
: Demystifying programs that create programs, part 9: Pseudo-ops
2021-04-14
: Demystifying programs that create programs, part 8: Finishing opcode processing
2021-04-13
: Demystifying programs that create programs, part 7: Further opcode processing
2021-04-12
: Demystifying programs that create programs, part 6: Processing more opcodes
2021-04-11
: Demystifying programs that create programs, part 5: Processing our first opcode
2021-04-10
: Demystifying programs that create programs, part 4: Parsing
2021-04-09
: Demystifying programs that create programs, part 3: Globals, passes, and error handling
2021-04-08
: Demystifying programs that create programs, part 2: Starting an assembler
2021-04-07
: Demystifying programs that create programs, part 1: A disassembler
2021-04-03
: I got the GNU Modula-2 compiler working on OpenBSD
2021-03-27
: My experiences writing my first real D program and using it to improve OpenBSD D support
2021-03-20
: A working D compiler on OpenBSD
2021-03-11
: Quick shameless plug
2021-02-15
: All the C compilers that can produce working binaries on OpenBSD -current
2021-02-14
: I donated a patch and got a free compiler!
2020-11-24
: I wrote a pager that works on Unix and CP/M
2020-11-18
: Comparing a new language for tiny machines
2020-11-04
: Why aren't new hams getting published?
2020-10-10
: Where are all the protocols?
2020-09-26
: From new ham to QEX author in two months
2020-08-27
: Let's create a protocol, part 1: Introducing the CW Record Protocol series on hiatus
2020-08-25
: Why I got my amateur radio license in 2020
2020-08-16
: I wrote the world's worst text editor (so you don't have to)
2020-08-12
: Can we do better than our C compiler?
2020-08-08
: Where do argc and argv come from?
2020-08-06
: Compiler numbers, and why they don't matter
2020-08-03
: Extreme minimalism and constraints in game development
2020-07-26
: Introducing Free Bee
2020-06-15
: TryHackMe|Learn Linux