Dav Yaginuma;
Husband, Father, Hacker, Thinker, Maker;
San Francisco.

Twitter Updates

    follow me on Twitter

    Dav's bookshelf: read

    Star Wars: Han Solo
    liked it
    tagged: graphic-novels
    See you at the 7: Stories From the Bay Area's Last Original Mile House
    it was amazing
    There's a little dive pub (turns out actually not a dive anymore) I'd been meaning to go to for years, and finally stopped by a couple of weeks back. I love checking out the old San Francisco spots that persist through the decades and ha...
    The Undefeated
    really liked it
    Wonderful poem and great illustrations.

    goodreads.com
    Blog powered by Typepad

    177 entries categorized "Geek"

    How to Find a Dragon and Defeat an Evil Wilderness

    One of my favorite jobs was a consulting gig I did between when my co-founder and I realized we were running low on cash and were not going to be able to raise the funds we needed to grow our two person startup Meexo (most investors didn't believe people would use smart phones for dating in 2011), and when my co-founder got us acqui-hired by Live Nation (for enough money to pay back our investors' convertible note and pocket a little for ourselves, he's really good). Anyhow, the main reason I liked that gig was the people. They were just a great bunch to hang out with, and their product was visionary and interesting as well. I was only there for ~6 months before I ended up at Live Nation, and soon after they also got acquired by Yahoo.

    Their product was an iPhone app that functioned as kind of an expert system personal assistant. It could hook into your calendar, your contacts, use location services to help you get to your next meeting, that kind of thing. The CEO was a highly thought of designer (and not just pixels, but UX chops too) so the product was beautiful and a joy to interact with. The small founding product/engineering team was also bunch of accomplished talented people. Notably several were from the early Netscape days. These people helped make history already, so I was pretty happy to be rubbing elbows with them. Every single one was a particular joy to spend time with in their own way.

    One of my first tasks was to help overhaul the bespoke windowing system one of these founding engineers had created. At the time, Apple had an official SDK for creating iPhone apps including a windowing system called UIKit. Rather than learn this new system, he had taken an old windowing system he had previously created on a different operating system in a different language, and ported it to the iPhone's operating system in Objective-C. The problem with this non-standard approach (I think it was called something-Box, let's call it DBox) was that he was the only person who really knew how DBox worked. If they were going to grow and hire more iOS engineers, either they would all have to learn DBox or the app would need to be refactored to use the Apple's standard UIKit system. Switching to the standard system not only would make the new engineers more productive, but comes with all the other benefits of using a broadly used and official approach: easier to hire experts at it, continued improvements by Apple, etc.

    So I rolled up my sleeves and got to work figuring out how to convert to UIKit. At this point the app was already quite built out with many screens filed with text, buttons, images, animations ... and all of it was some component of DBox. It took a few days of studying the system but I started to get an idea of how DBox worked. It wasn't easy because compared to UIKit which was built by a team at Apple and battle tested across thousands of apps, DBox was limited, bare bones and a bit more difficult in general.

    One day at our morning standup, where the team gathered to update each other about the things we were working on, rather than jump into technical details I said something along these lines:

    Back in the early 80s I subscribed to Dragon Magazine, a monthly periodical for Dungeons & Dragons nerds. It was mostly filled with game-specific articles but it also often featured a short fiction story. One in particular that always stuck with me was about a person who entered a massive dark evil forest for reasons unknown.

    If you want to read this very short story for yourself first, issue #54 is available on the Internet Archive (here). It's on page 49. Scroll down past this image of the cover to continue with my recollection of the story.

    Screen Shot 2022-10-22 at 9.53.10 AM

    This was a gnarled woods that few dared to enter, and none had came back out. Everywhere and everything in this forest was corrupt and trying to kill the person from animals and poison plants to treacherous passages, but they trudged deeper and deeper until they reached the very heart of the forest. When they reached the very center, exhausted and bruised, they opened a pouch and drew from it a single seed. This person was a druid, a wizard of the natural living world. They planted that seed in this deepest depth of this forlorn forest and began to chant spells of growth and protection causing that seed to grow into a massive and powerful conduit of Good in the center of the Evil wood, and as they continued the Good spread outward relieving the surrounding flora and fauna of their malevolent enchantment until the whole forest was free and wonderful. Yesterday, I concluded, I replaced a DBox button in our main screen with a UIButton.

    LOLz. This morning I woke up thinking about that story again, probably because I am once again working for someone from that team and decided to try to see if it was online. I did some searching on DuckDuckGo but nothing was really turning up. There is a comprehensive list of all the short fiction ever published in Dragon Magazine, but none of the titles rang a bell. The indefatigable Internet Archive of course has every issue of Dragon Magazine available for download as PDF (other than the one featuring the lone George R.R. Martin story of course :eyeroll:). I knew the story had to be from the late 70s / early 80s so I started poking around to figure out where that started and decided to download issues 40-99 and search through them. I downloaded a couple through the IA web interface, noted that the URL of the PDF was standardized, so I wrote a quick ruby script:

    (40..99).each do |i|
      puts i
      `wget https://archive.org/download/DragonMagazine260_201801/DragonMagazine0#{i}.pdf`
      sleep 0.25 # just a good habit
    end

    Then I converted all the PDFs to easily searchable text:

    find . -name "*.pdf" -exec pdftotext {} \;

    And finally, grepped the .txt files for something I could remember from the story. "Druid" turned out to be too many hits, but "seed" was only 20 or so, and it was quickly obvious that the usage in issue #54 was from a story. It took about 20 minutes from waking up thinking about this story to being able to find it and read it again for the first time in ~40 years. That's a great way to start the day! The story is as powerful as I remembered, although I had forgotten important bits, particularly that it is told from the point of view of the wilderness itself. Also that the druid was a half-elf, which was always my choice of character to play in AD&D since I was a half-Asian half-Caucasian myself.

    Besides the hapa-based identification with the hero why has this story stuck with me all these years? The month this issue came out, I turned 14 years old. I was a poor-not-white-enough-trash kid growing up deep in the actual woods of North Carolina. My home life with my retired Marine Corps alcoholic adoptive father was physically and emotionally abusive. I was bullied at school by racists (both white and black). We lived pretty far from other houses, surrounded mostly by a forest owned by the local paper mill and I spent a lot of time alone by myself venturing into the woods with my dogs, playing adventurer. I didn't feel powerful though, and was troubled with my own burdens of anger. I didn't feel I could change things although I desperately wanted to.

    At 14 1/2 I started working as a dishwasher, and made enough to buy a Commodore 64. Coding became the new forest to explore. Christmas of 1982 my mother bought me a 300 baud modem and I've been online ever since; it took the rest of the world almost two decades to catch up. Somewhere along the line in this digital online world I started to live, as the short story ends, "for life and not hate, free to have good with my evil and calm with my violence."