Jonathan Lam

Core Developer @ Hudson River Trading


Blog

2024 year in review

On 1/20/2025, 9:11:13 PM

Return to blog


It's been a little while! In 2024 I was quite busy with work. Eventually I did manage to focus on a few projects outside of work, but blogging was not one of them. That will change this year! I hope to write at least once a month. Here are the highlights of my 2024 endeavors.


Fountain pens

I started this hobby collecting lower-end common pens. I have many Parker 21's and 45's, Sheaffer "school pens", and Wearever Pennants. This was a good introduction to the hobby, but I found myself wallowing in pens, many of which are known to not write well (or are known to have uninspiring looks). This year I wanted to work on nicer pens.

Typical pen soaking process

I've always been fascinated with P51s, the trendsetting, minimalist, workhorse pen that still is a fabulous writer half a century later. These come in the "Aerometric" and "Vacumatic" varieties. The former are more recent, generally easier to find, and simpler to service. The latter come with a larger ink capacity and share the same mechanics as the translucent Depression-era Parker Vacumatic, which in my opinion is the prettiest classic pen. The rarer vacumatic filling mechanism makes them generally more collectible (and expensive), practicality be damned! I acquired a few of these along with the tools to service the vacumatic filler -- the flexible rubber parts degrade over time and require replacement. Among other finer Parkers, I picked up a 61, 75, Premier, and Sonnet, which are all very fabulous writers (and almost all 18K nibs!).

I love many things about the Vacumatic. This shows the cap band, translucent barrel, and standard Parker engraving of an azure blue Vacumatic.

I also collected and serviced a few Sheaffer Snorkel pens, culminating with the most recent, most hefty, (and most expensive) model, the PFM "Pen For Men". Sheaffer pulled out all the stops when innovating and advertising these pens. These pens are unique both for the "snorkel" filling mechanism (which was an evolution of their "touchdown" mechanism), as well as the nibs (with conical steel, palladium-silver, and gold "triumph" conical nibs and later their inlaid diamond-shaped nib). These too require a specialized set of tools. Each of these pens also comes in a few standard trims, ranging from the higher-end 14K-Triumph-nibbed pens with metal caps, to steel classic open nibs and plastic caps.

A ... very unfortunate Triumph conical nib

Later in the year, some Japanese pens caught my eye. The Pilot VP "Vanishing Point" retractable pen is very cool but I didn't end up buying one. I was pleasantly surprised by the commodity Platinum Preppy pens, which are incredibly practical compared to vintage pens -- the only weak complaint I can manage is that the default cartridges ink is very unsaturated, which is really a nonissue. It's a very gift-able pen for the fountain-pen-curious. At the end of the year I spent much time with a Pilot Elite of unknown vintage. It's a small pen with an 18K white gold XF "Script" nib, sterling coating, and it takes a cartridge. At the end of the year, I also acquired two older Montblanc pens, which are known to be the Rolex of pens, albeit my pens were lower tier models. I have not written with them yet.

Pilot Elite Script nib

I plan to write a dedicated post about getting started with this hobby in the modern age, and the tradeoffs of fountain pens vs. modern gel and ballpoint pens.


Cycling

This year was a whirlwind tour through modern road bike history. I started the year on the steel '86 Miyata Seven-Ten purchased for $200 in California. I did a bit of work on this bike, mostly aimed at modernizing the weak and uncomfortable vintage braking experience. The brake calipers and hoods were replaced with Tektro brand ones, and I upgraded to Dura Ace brake cables (which are fantastically better than the Shimano standard cables). This photo is after my latest additions: replacing the stem to match the azure blue fork (Nitto 100mm, 26mm clamp), and added modern short-reach handlebars (Soma Hwy One). This bike comes with 6-speed 13-26 Suntour shifting and a Sugino crank, which you can also see from Miyata's '86 catalog. I put Look Delta pedals and cheap Vittoria tires on it.

Miyata in the snow!

The next bike was borrowed from my dad. It is an '06 (or so, I don't know the exact year) Coppi Magic 05 with full Campy parts -- a 10-speed Centaur groupset. There's not much information on the web about Coppi bikes, so I don't know much about this bike. It bears several hallmarks of high-end bikes of this era: aluminum frame with carbon stays and fork, super skinny tires (23mm!), and a untrustworthy-looking spoke arrangement (Campagnolo Ventos). I got some good rides in with this one: the NYC 5-borough bike tour (which I volunteered for and participated in), my first bike-train adventure (to Tarrytown, 30 miles north of NYC), and my first metric century (a group ride to Nyack, also hitting NYC's Summer Streets). I don't think this bike has had much riding or maintenance in the last 20 years. I had to replace the stem, a Thompson stem which had a very scary crack -- looking online, this doesn't seem like an uncommon problem with this part. I replaced it with a generic two-bolt Bontrager stem1. These have Wahoo Speedplay "Frog" pedals installed -- clipping in/out is easy, but it's not very snug and there's a lot of float.

Magic in the front, Tarmac in the back. Geometry is surprisingly similar given 15 years in between and different frame materials.

However, at some point I decided stealing my dad's bike was no good, and I ought to have my own. I found a secondhand '21 Specialized Tarmac Sport with disc brakes (which comes with their base FACT 9r carbon layup and Shimano 105 hydraulic mechanical groupset) for $1900, a modest depreciation from its $3200 MSRP. It did however come with a power meter which adds a few hundred bucks, and a custom carbon seatpost2. It was in pretty good condition except for scrapes on the hoods which look due to a crash3. Surprisingly, riding it home felt no different than the Coppi, but when I went on a long Central Park ride a few days later, I set many Strava segment records. My first ride on this bike was a second metric century, the Wall Street Rides FAR fundraising event, with some 4500 feet elevation gain. I think this bike is a feat a marvel of modern bike engineering: the lowered seat stays, semi-aero frame, larger gearing range and compact crank, wider tires (Specialized 26mm tires) ... and the fabulous braking system, especially compared to the Miyata. Disc brakes, hydraulic smoothness, extremely cushy hoods -- it's lovely, and I've had no problem even in the rain. I have Shimano SPDs on these.

The result of weeks of soaking in degreaser (+ breathing in fumes) and a few trips to the ultrasonic cleaner.

I hope to use this bike for a long time. It's not top-of-the-line carbon, but it is still a modern bike with mature carbon technology. In ideal conditions, the frame and components should be able to endure decades. The biggest project I've done with bike maintenance was "waxing" the chain, which is a popular cycling fad. I use solid wax (similar to paraffin wax) to lubricates the chain, which allegedly is less sticky and lower-friction than oil. This means the drivetrain (chain, cranks, cassette, and jockey wheels) undergo less friction and thus last longer. The tradeoff is the higher upfront effort, which involves stripping the chain and drivetrain super clean of oil and dirt before submerging the chain in molten wax. This process involved weeks of leaving the chain in the degreaser (mineral spirits a.k.a. petroleum distillates, a strong solvent for oil), followed by several rinses in an ultrasonic cleaner, followed by a final rinse in a weaker solvent (denatured alcohol), followed by the final dunk in molten wax in a dedicated wax melter ($10 Walmart slow cooker)4.

... I don't know how this happened. Or the derailleur.

Other than the bike, I made several other upgrades to the cycling experience. Padded bibs come with me on every ride after a particularly painful metric century. I picked up several articles of Pearl Izumi gear: fingerless gloves, a light jacket for warmth, and a secondhand convertible windbreaker (which is the coolest thing ever). I have a warmer pair of (non-Pearl Izumi) gloves for winter wear5. I finally have a helmet to fit my head (Cannondale-branded, with the controversially-effective "MIPS" brain protection system -- so much more comfortable than the helmets I had from Walmart previously) and shoes to fit my feet (Shimano XC501 Wide). I also upgraded my stationary bike experience: the power meter is the same as on my bike (the now-defunct Stages brand), and the pedals support SPDs, so I feel at home at the gym!


Running

Consistently running is new to me in 2024. I ran semi-regularly in the last three months of 2023, but that fell off in early 2024 once I got swamped with work.

Marathon relay at the Armory indoor track!

There's an annual indoor marathon event at the Armory indoor track near Columbia University in April. Divide a marathon into 24 legs of a relay (roughly one mile per leg), and teams can have up to eight runners who run up to three noncontiguous legs. This was my first time on an indoor track and I kept tripping on the inner railing on the curved sections. Pacing was also difficult and I completely blew out my lungs on my first relay leg. Among our team were an ultramarathoner (our company's resident "BAT-man") and his 7-yo daughter, who ran six miles in two relays that day! Another fun mid-year run was 10 miles through central Manhattan for NYC's Summer Streets. I ran this with friends J and S (and Citi-biked the way back).

Summer streets run with J and S

I didn't run much during the summer due to work, and cycling was my primary weekend activity at this time. In September, I was introduced to the Run For Chinatown (RFC) run club. It's a social run club that's picked up popularity since its COVID-time inception. The weather was extremely cooperative (warm and dry) every week of the season. After joining the run club, I began to run much more regularly, and also saw steady gains in running performance.

RFC: Run for Chinatown or Request for Comments. I didn't mean to catch the Freedom Tower in the background, it provides a modern contrast.

RFC went on pause for winter in early December, but I continued to run regularly through the end of the year. I exprimented with running form -- leaning forwards helped my pace dramatically without much side effect. I also experimented with energy gels on longer runs, and did several half-marathon ("thon")-length weekend runs. I currently experience hip (flexor?) pain on long runs and have been trying to improve my running form and stretching to alleviate it.

I stumbled into a 15K race in Central Park. There are races practically every Saturday morning, so it's not too unexpected.

Suffice to say, Strava is currently my primary social media.


HmmOS project

I started writing LaOS in 2022 as an attempt to better understand operating systems concepts through practice. The project fulfilled its purpose, and I learned a lot through the attempt. However, it was hopelessly doomed from the start as a well-designed OS due to my initial misunderstandings.

In mid-2024, I realized that I should reboot the project if I wanted to take it further. For the new OS (dubbed HmmOS), I wrote the bootloader from scratch, which gives complete control over the bootloader-kernel protocol and interface. I didn't focus as much on the terminal/console/keyboard drivers as I did in the last iteration. I focused more on the tooling and infrastructure, including C++ runtime support, a more sensible test framework, and debugger support. Development has been slow but I've reached a similar point as LaOS, which is to reach userspace. The next step is to implement syscalls and load userspace binaries from disk. Recently I've spent time learning about disk drivers, filesystems, and the virtual filesystem (VFS) abstraction, as many syscalls are part of the VFS interface.

This year, I'd like to have a working userspace shell, which should be a nice capstone project for the existing work that's been done. It's not a terribly difficult goal, considering that I don't dedicate too much time to this project. In the long run, I'd like to focus on particular driver implementations -- a network driver + TCP stack, and a simple graphics driver6.

(Sorry, no fun pictures in this section. Not until I write that graphics driver, at least.)


Miscellaneous

I didn't spend much time on Typeracer this year. Currently I've stagnated in the mid-130's wpm. I think my concentration has improved (i.e., this is closer to a "true" non-quit average), and it's not bad considering I'm using my Thinkpad keyboard which is admittedly not the best. I do like my work keyboard a lot (Das Professional 4 with Cherry MX Brown switches), so I'll probably pick up one of these for home use. Depicted below are roughly 25,000 races.

Typeracer improvement over time on my colemak account. I've slacked recently.

Long gone are my Clash of Clan days, but I did spend some time earlier this year completing Breath of the Wild. I love the story and freedom to find your own path. The gameplay is just the right level for for a gaming noob like me :).

I beat this game. Well, not all the koroks.

Cat tax. Pictured is Jane. Sharon has had some health issues this year and is shy after having some teeth pulled due to mouth disease7. Josie (not a cat) has been doing alright. I think the three of them have become more wry -- better able to calculate how to humor or spite us with their actions. More proud too -- the cats are indignant when picked up, even though they like it.

Cat tax

I traveled quite a bit this year for work -- to Austin, Puerto Rico, and Singapore! It's a lot for a homebody like me. This is the first time in my adult life traveling to southeast Asia, and second time overall -- seeing a modern, safe, efficient city is a breath of fresh air. It contrasts very strongly with American cities. Many aspects of NYC (or Austin, or SF, etc.) are dystopian in comparison. I would say the current sociopolitical situation is not improving things, but I also don't know how to effect this kind of change.

Halfway across the world

I have some resolutions for 2025. More biking and running are the obvious ones. I want to step out of my comfort zone more: become more independent, make new friends outside of work, experience new perspectives (possibly by traveling). And hopefully write some more. It's going to be a busy year!


Footnotes

1. I only learned after the fact that two-bolt stems are generally considered lower-quality and more prone to catastrophic failure, but I don't think my dad or I are doing any riding crazy enough to effect failure.

2. The brand is Mt. Zoom. Apparently these seatposts are super light, but they're also a major PITA to tighten due to the angle of the bolt.

3. I only know this because I had a minor crash on my friend V's rental bike a few months later and received a similar scrape on the hoods. Luckily this was covered under insurance.

4. This also involved copious amounts of fumes from the degreaser ... definitely do not do this in the room you sleep in ... totally not speaking from experience .. . . hahaa

5. REI coop "guide gloves", which are much softer and more flexible than any of the Gore-Tex winter gloves I could find

6. Both of these are hardy endeavors. I recall some internet stranger's two cents about writing a graphics stack, which was (paraphrased): "Don't try to write a graphics driver unless you have more than one lifetime to live." I assume this refers to a commercial, performant graphics driver, which is not my goal here.

7. If you've ever seen How To Train Your Dragon, imagine Toothless, but as a cat. Which is not hard as Toothless was modelled after a cat.


© Copyright 2025 Jonathan Lam