Hello, World -- The Site Is Finally Live
If you have visited before, you probably saw the banner: "coming soon." It has been there for years. Today that changes.
Who I Am
I have been hacking on hardware and writing software for more than 40 years -- personally and professionally. My career has covered cross-platform development libraries, security research and development, including reverse engineering, and contributing kernel patches to some major open source operating systems, among other things. On the side, I ran a consulting company in the late 1990s and 2000s, helping small businesses get on the internet at a time when that was still genuinely hard: standing up FreeBSD-based firewalls, rolling out VoIP phone systems, and stitching together site-to-site VPNs across heterogeneous environments where they often used different protocols.
Since 1998 I have worked professionally on operating system development -- starting in host-based security research and, for the past 22 years, building network operating systems. I keep the day-job details light here, but if you are curious about the professional side, my LinkedIn profile has the full picture.
I am also a FreeBSD src committer, which means I have direct commit access to the FreeBSD source tree. Much of what I will be writing about here grows out of that work.
What This Site Is For
hackagadget.net is a platform for four things I care about:
- Open source software development -- contributing to and building on the ecosystem I have depended on for decades
- Operating system and software engineering education -- explaining how real systems actually work, with interactive courses rather than dry reference pages
- Security research -- reverse engineering, vulnerability analysis, and responsible disclosure; I notify vendors privately before publishing anything
- Hardware hacking -- teardowns, embedded systems, bus analysis, firmware extraction, and the occasional repair adventure
What's Here Now
The site launched with two interactive courses on FreeBSD internals, covering the CPU scheduler and Capsicum capability security. They are self-contained HTML/JS apps -- no login, no tracking, just the material.
The Contributions section tracks my active open source forks. I do not have a narrow focus -- if I see something that needs improving and I can do it, I do. Being an active participant in the open source ecosystem matters to me.
The Hardware and Security sections are live but thin -- that will change as writeups are published.
What's Coming
My near-term queue of updates is mostly FreeBSD-heavy:
- MAC/veriexec -- I originally contributed the veriexec subsystem to FreeBSD, adapting the NetBSD implementation to integrate with FreeBSD's MAC framework. I have been continuing that work -- improving the metadata store and adding MAC methods to broaden policy coverage. Expect a writeup on how it works and notes on the ongoing development.
- Node.js SEA binaries on FreeBSD -- Node.js 21+ supports Single Executable Applications, but getting them to work on FreeBSD required a kernel-level fix and changes to some of the utilities. I will document both the problem and the solution.
- More courses -- a few more topics are in the pipeline for the interactive course format.
Hardware and security research will show up as I am able to write it up -- there are some devices sitting on the workbench already waiting for me to dig in.
Thanks for checking in. The "coming soon" sign is down for good.