this post was submitted on 03 Mar 2026
1 points (100.0% liked)

Today I Fucked Up

112 readers
2 users here now

r/TIFU means Today I Fucked Up.

founded 2 years ago
MODERATORS
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/tifu by /u/chillaban on 2026-03-03 05:25:11+00:00.


This happened about 20 years ago but a recent college reunion jogged my memory.

Between college and grad school I got fired from a nonprofit group by building a fax machine web browser. So the project was to help rural communities share information about fracking prospectors in the mid/late 2000s. Problem statement was that rural people did not have internet but they had faxes and mail. Meanwhile the fracking industry was accused of using shady tactics to secure land rights from farmers. Our group was building essentially Yelp for fracking companies and my boss already turned it into a specific assignment: Build a ScanTron form that has a 1-5 star rating, a few yes/no question about the prospectors, and then a free form comment area.

Being a fresh college grad and with a whole misspent youth of Gentoo/Slackware hacking, I was still in that mindset to think outside the box and treat assignments as contrived and build the general solution. I had a brilliant idea that felt OBVIOUS, build a fax based web browser. What if you can just print out a webpage, circle a radio button, fax it in, and what you circled gets replayed as input events? Over the next 3 months I started with the early open source WebKit (wanted to learn it), implementing print-to-PDF functionality on the Linux port (macOS uses Quartz for that). I extended Linux coredumping to freeze/thaw processes. Basically you can cat a coredump into a /dev/unthaw node and the kernel would inject that process back onto the system (at least for a headless WebKit process, it was peak nerddom testing what processes survive the round trip). So the rough gist was render a webpage headlessly -> print to PDF -> coredump, and when they faxed/sent in a hand marked up printout of the website, the server would send the coredump into the /dev/unthaw node, out comes the original WebKit process and use OCR to feed in simulated input corresponding to the pixel diffs. The biggest snag I hit was fax distortion but I noticed ZXing can still scan QR codes distorted! Taking second year linear algebra at the time, I had a postprocessing step dynamically place QR codes. The QR grid can be solved as a system of equations to reverse the warp. But also the QR codes were close to most input elements so I could do a simpler fallback if the math didn't work. 

I kept the project a secret because I genuinely believed it would impress my boss, stalling and lying about delays until I was ready to demo. When that time came, I didn't even bother demoing the fracking survey, I jumped straight to browsing Slashdot and Digg using a printer/scanner -- you can upvote posts by circling the UI element. You can navigate to the comments in Slashdot and hand write a reply and then circle the post button and it was smart enough to know the order of operations. It took like 2 minutes per interaction but the demo worked.  Meanwhile my boss was absolutely livid.... he was actually a CS professor and started asking questions about how it worked. He then asked what about the fracking survey and I said oh I didn't work on that yet, but it's just a basic PHP/MySQL web app. He ended up just saying 'ok... ok...' and starting to say this is both the smartest and dumbest thing he's witnessed.

I was fired about a week later, I was told I have huge potential if I stop getting distracted and building useless art exhibits, but also I am completely unmanageable and not the right fit for the nonprofit.

TLDR: Was given a simple programming task, turned it into an absurd "fax-and-mail based web browser for rural farmers"

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here