Self Haxx0ring

As noted in my last post, this is my first week as an employee of Google. I’m trying to get up to speed on the types of things that I will be doing, which meant spending most of today learning about the ad system, revenue forecasting models, how the Google backend works, etc. Unsurprisingly, there’s a tremendous amount of Google-specific knowledge developed over the past ten years on these topics. Somewhat surprisingly for an engineering organization, the internal documentation is fairly good, and is well-linked to other relevant documentation.

This led to an interesting situation, where my brain started feeling very odd with a sort of buzzing sensation, and I started having trouble thinking clearly. I eventually figured out where I’d felt that way before – it had been during Mike Murray’s Hacking the Mind talk, when he had pulled a buffer overflow attack on the audience by opening loops (by starting stories) and never closing them (by finishing the stories). What had happened is that I had started exploring one topic, seen a link to another topic, opened a new tab to look into that topic, seen a link to a third topic, opened a tab for that, etc. By the time I noticed my brain feeling odd, I was up to ten open tabs on various topics. Yup, I had committed a buffer overflow attack on my own mind to the point where I’d impaired my own functioning.

Once I figured that out, though, it was easy to figure out what to do – I had to close the loops in my mind and offload the storage from my brain. So I started a to-do list with the different topics of interest to be explored later, and the links that I had open in each tab for that topic. I also started a list with links to the tabs that had particularly useful information for future reference. Once I created those lists, I started closing the tabs and thus convinced my brain that it could free up those memory pointers. With the swap space that had been devoted to those open loops, I then had the brainpower to actually think again.

It was an interesting process to watch, but it also highlights a danger of my typical way of learning. I like learning in a top-down fashion, where I learn the big picture of a system first, which gives me a framework on which to attach my understanding of pieces of the system. At the previous startups I had worked at, I could read all of the documentation written by the startup in less than a day, and get a big-picture understanding of how everything fit together pretty quickly. Trying to do that at Google was like trying to drink from the firehose and demonstrated that there are some systems that are just too big for me to hold completely in my brain at once.

So I’ll have to be more disciplined about organizing how I’m learning things this week. As noted, I’ve opened up a couple files to help me organize what I’ve learned so far and what I still need to learn. I’ll also need a few more files to offload information once I’ve learned it, at least until I see it enough times that it can be transferred to long-term embedded storage, which has more capacity.

Anyway, I was entertained by this incident of accidentally malicious self-hacking, so I figured I would share.

Leave a Reply

Your email address will not be published.