Dr. Brian Robert Callahan

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



Blog archives

2021

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

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

Top

RSS