DEV Community

Cover image for From Byte-Pushing in a Bookstore to the Emacs Matrix
Andy Stewart
Andy Stewart

Posted on

From Byte-Pushing in a Bookstore to the Emacs Matrix

If the first 18 years of my life were spent in "Survival Mode," the years that followed were my true "Bootstrapping" phase. This is how I built my own internal kernel.

Rejecting "Hello World" Hand-holding
At 18, I almost fell for the flashy TV ads for expensive coding bootcamps. But my pride stopped me. I realized that real knowledge isn't in a standardized classroom; it’s in the raw technical manuals.
I bought a book on Visual Basic (VB), read half of it, and threw it away. The idea of dragging widgets onto a window and double-clicking to write snippets felt like playing with toys. I wanted to know: How is the window drawn? How is memory allocated?
I decided to start on "Hard Mode":

C++ from Scratch: I spent two months grinding through the C++ Complete Reference. My English was terrible back then, so I translated it word by word using a digital dictionary.

X86 Assembly: I picked up nasm and started writing assembly to understand the CPU’s heartbeat.

RedHat 6.0: I saw Gnome and KDE running for the first time and realized there was a parallel universe outside of Windows.

404 Error: The Beijing Failure
At 17 and a half, I took a train to Beijing with a few thousand yuan and a dream of becoming a "hacker."
Reality hit me like a system crash. I was too young to legally enter internet cafes (where I needed to search for jobs), I lived in a 50-yuan-a-night basement, and my cash was leaking like a memory error. I was rejected by over a dozen security firms. To them, I was just a scruffy kid with a "hippie" attitude.
I went home defeated, learning that passion without a "Production-Ready" resume is worthless.

The 150-Yuan "Sandbox"
I returned to my hometown and took a job at the bookstore where I had spent my high school years. The salary was 150 RMB a month.
People thought I was a failure. I thought I had found a goldmine. The deal was simple: I got free access to every tech book in the store and time to study. I saw the rise of J2ME (mobile gaming) and decided to master Java.
I didn't have assets, so I "reverse-engineered" them. I recorded PC games, took screenshots, and used the Photoshop eraser tool to manually crop sprites pixel-by-pixel. It took me 15 days to create a 360-degree flight animation for my first game.

The "Bat Algorithm": My First Elegant Hack
I eventually moved to Chengdu with my independent game and 1,500 yuan in my pocket. During an interview with a major mobile game studio, I demonstrated a "Bat Tracking Algorithm."
Drawing from my interest in biology, I modeled my missile AI on how bats use ultrasound. The missiles used low-frequency detection to save CPU cycles, only switching to high-frequency tracking when the player got close. It was a simple trigonometric solution that created a sophisticated "predator" feel on low-spec phones.
That "Bat Algorithm" earned the respect of the technical leads. Despite being an 18-year-old high-school dropout, I landed my first professional job.

Emacs: The Portal to Hacker Culture
While my colleagues were using heavy IDEs, I fell down the Emacs rabbit hole. It changed everything.
I discovered Lisp (Elisp), and my worldview was inverted:

Code as Data: Lisp taught me that the boundary between algorithm and data is an illusion.

The No-Mouse Challenge: I automated everything—email, IRC, file management—all within the terminal.
I began contributing to the global community on EmacsWiki. I collaborated with hackers in Japan to build auto-complete and anything (the predecessor to helm). We never met; we only knew each other through our coding styles. I wrote over 100 plugins that year, learning more than I ever could have in a classroom.

Advice for the "Lone Developer":

Don't beg for solutions: Read the source code until your eyes hurt. True understanding comes from struggle.

Simplicity is King: The best algorithms often come from observing reality (like the bat), not from a heavy textbook.

Master Your Tools: Find a tool that shapes your mind—be it Emacs, Vim, or a specific language. Your tools are the lens through which you see the logic of the world.

Next, I will share how I transformed from an Emacs enthusiast into the creator of Linux Deepin.

Top comments (0)