Patrick Dubroy's blog

programming, usability & interaction design
https://dubroy.com/blog/ (RSS)
visit blog
One way to do applied research
7 Nov 2024 | original ↗

In some of the communities I hang around in1, there’s a fondness for the kind of industrial research that happened at places like PARC and Bell Labs. Things like Smalltalk, Mesa/Cedar, and Plan 9 not only introduced new ideas but demonstrated them in practical, working systems. If you want to actually do research like this, how should you go...

Memories of some fantastic internships
31 Jul 2024 | original ↗

During my CS undergrad at Carleton University, I had the opportunity to do a bunch of internships.1 Looking back, I can’t help but think how lucky I was! I got to work on some great teams, learned a ton, and had a lot of fun. Corel My first real internship was on the Linux team at Corel in the summer of 2000. I was super excited about this, for a...

Playing like a kid again
30 Jun 2024 | original ↗

For the last 13 years, I’ve done the same thing almost every Monday night. At 9pm, I head out to a small sports club on the outskirts of Munich to play 5-a-side soccer. Many players have left, and new people have joined, but there’s a core group of us who’ve stayed the same. When you’ve been doing the same thing, with the same guys, for more than...

Taking learning seriously
30 May 2024 | original ↗

Like many programmers, I’ve always enjoyed learning new things. But over the past year, I’ve started taking learning seriously in a way that I never did before — at least outside of a formal academic setting. Earlier in my career, learning was basically a given: almost any interesting project I could take on would involve diving into things I was...

Bytecode VMs in surprising places
30 Apr 2024 | original ↗

In response to a question on Twitter1, Richard Hipp wrote about why SQLite uses a bytecode VM for executing SQL statements. Most people probably associate bytecode VMs with general-purpose programming languages, like JavaScript or Python. But sometimes they appear in surprising places! Here are a few that I know about. eBPF Did you know that...

Two little interpreters
26 Mar 2024 | original ↗

Late last year, I read a few blog posts that said something like “everyone knows that bytecode interpreters are faster than tree-walking interpreters”. And then I saw the paper AST vs. Bytecode: Interpreters in the Age of Meta-Compilation” when Stefan Marr shared a draft on Twitter. I realized that although I’d written a number of tree-walking...

Casual programming
12 Feb 2024 | original ↗

I’ve got three young kids. If you were to spend a day in my house, one thing you’d notice is that there are a lot of alarms going off. Time to leave for school. Time to brush teeth. Time to finish the bedtime story and get into bed. Maybe it sounds stressful — but for us it’s the opposite. Making liberal use of alarms and timers makes our daily...

Thoughts on Scratch
22 Jan 2024 | original ↗

Last Monday, I found myself standing in front of eight kids, trying to explain what a y-coordinate is. “Um, it’s kinda like a street address…?” How did I end up there? Well, my kids go to a Montessori school, and one of the traditions at the school is afternoon projects run by parents. These cover all kinds of different subjects: yoga, gardening,...

Cold-blooded software
28 Dec 2023 | original ↗

It’s 2004 and I’m sitting in one of the largest lecture halls at my university. I’m a computer science major but I’m taking a course on natural history — plants and animals — as one of my electives. The professor tells us that he’s brought something from home, something he found in his freezer. He reaches down behind his desk, and then holds his...

The influence of Self
1 Nov 2022 | original ↗

Self is a prototype-based dynamic object-oriented programming language, environment, and virtual machine centered around the principles of simplicity, uniformity, concreteness, and liveness. — selflanguage.org I’ve been reading a bunch of old papers from the Self project. It’s pretty incredible how many things they invented that are absolutely...

Core dumps, feedback loops, and a game of telephone
28 Apr 2022 | original ↗

In the fall of 2003, I started an eight-month internship at IBM Ottawa that would later turn into my first full-time job as a software developer. I had joined the J9 Java VM team to work on a new, multicore garbage collector. I knew next to nothing about GC, but was happy to jump into the deep end. On this kind of software, the feedback cycles...

↑ these items are from RSS. Visit the blog itself at https://dubroy.com/blog/ to find other articles and to appreciate the author's digital home.