Building tractor (升级) as an online card game

Introduction This COVID-19 pandemic has left me with lots of free time spent in front of a computer at home. I’d been spending time with my friends playing various videogames online (the Jackbox Party Pack games work reasonably well over Discord or Zoom), and my fiancée suggested that we try to play tractor online… but I couldn’t find one that was easily available over the internet! What’s tractor, anyways? Tractor is a trick-taking card game popular in China, played with four or more players and with multiple decks.

Silly Formatting 2

So, as a follow-up to the original silly-formatting post, I spent some time trying to figure out just how bad the LALRPOP-based sillyfmt implementation was. It turns out that there’s really nice utilities for using the afl fuzzer with Rust, so I hooked that up with some pretty basic heuristics and let it run for a few seconds. Then, since it turned out to be really bad, I got nerd-sniped into setting up a different parser called tree-sitter that uses a more generic parsing algorithm.

Silly Formatting

In my time at Dropbox, I found myself fairly often trying to quickly read through “traces”, which were essentially developer-formatted text logged from the Dropbox desktop client. The Dropbox client was originally written back before structured logging was common in industry, and in any case setting up structured logs can add a fair bit of overhead to the day-to-day debugging lifecycle. After spending an inordinate amount of time opening complicated traces in vim and using the rudimentary formatting options available there, plus a bunch of manual labor, I eventually decided to save myself a lot of time by looking for a formatter that could automate the work away.

The Slippery Slope of Building Computers

Resurrecting GLaDOS After a little over five years, the small form factor desktop computer I built back in late 2012 refused to boot properly. For a couple of months, I resisted–I have a work-issue Macbook and iPad Pro, and I don’t play nearly as many computer games as I used to. It didn’t feel all that necessary for me to have a desktop on top of all of that. But, it turns out, it’s really quite nice to have a computer setup of your own.

angercore.aeturnalus.com is dead

For the past couple of years, I’ve kept a box in DelimiterVPS’s Atlanta data center named angercore.aeturnalus.com. For just $20 a month, I had a (very old) HP BL260C blade server with plenty of disk space and RAM to run many of my random experimental projects on. Unfortunately, angercore.aeturnalus.com has been offline for over three weeks, and it’s not looking like it will come back anytime soon. C:\Users\RobertYing>ping angercore.aeturnalus.com Pinging angercore.

Poor Man’s Breadboard Arduino

A note from July 6, 2018 When I was in high school, I wrote a short post on building a low-cost Arduino on a breadboard. It’s been quite some time since I’ve done any significant hardware hacking, but since my old blog is mostly dead at this point I reproduce that post here I’ve burnt out a few Arduinos recently, and have found it expedient to just build my own on a breadboard rather than pay $34.