Coding

I’m falling behind on projects because I’m stuck on something. I’m trying to design a new Mike and the Ninja website in time for Cape Comic Con, and I want to implement a PHP archiving system that will automatically attach the right comic, date, and blog entry to the page when a user clicks on a corresponding link. This eliminates the need to build an individual webpage for each individual Mike and the Ninja comic, which would be extremely inefficient. Instead, I build one page, and it pulls in the right comic and info.

However, it doesn’t work. My code looks good, and doesn’t produce any errors. Instead, it just produces a blank page. No comic, no title. Nothing. What is happening? What is the problem?! At the rate I’m going, it might take less time to build 305 separate web pages for each comic than to build this one page that it turns out I don’t actually know how to build.

Here’s the thing. I know a little about PHP, which is the worst position to be in. If I don’t know anything about a programming language, it’s an okay position to be in because if I look at code I don’t know, it doesn’t mean anything to me, and I can just ignore it. If I know a lot about a programming language, I can dive right in and do whatever I need to do, so that’s also a good position to be in.

But, if I know a little about a programming language, I’m in trouble. Knowing a little produces a false sense that I can write functional code, but that is not the case. I might as well be sitting over here banging rocks together trying to get this thing to work. By complete accident, I got the archive page—the page that lists all the comics—working just fine. But getting just one comic to show up (which I feel should be significantly less complicated) is impossible, even though I’ve seen a million other comic sites, news sites, and blogs do it. In fact, this blog is doing it right now, but I have WordPress to thank for setting it up for me. But WordPress is actually too complicated for the purposes of the comic site, so I don’t want to resort to that. Plus, this is something I need to learn to do myself. I’ve been talking about learning PHP since 2008, and it’s gotta happen sooner or later.

Frustrating as it is, this is a necessary step in how I learn to code. I’ve taken numerous online courses on javascript and php and several other languages, but the results have been unsatisfactory. They help me learn the syntax, but because the courses are all built on completing partial, example projects, they don’t help me learn to build my own projects. As soon as I am faced with creating something on my own, outside the confines of the lesson, I’m still too dumb to figure out where to start. From my experience, the best way to learn code is to give myself a project and muddle my way through it until it works. As I take on more and more projects in the same language, it gets easier each time, and soon enough, I get to a point where I know what I’m doing.

Since I started writing this blog, I did finally figure it out. One word somewhere in the code needed to be another word, and once I changed it, it worked. In an instant, utter frustration became jubilation, and my knowledge of PHP graduated from “total gibberish” to “almost total gibberish that sometimes makes things appear on the screen.” So, I think I might finally be getting somewhere.

Now begins the repetitive task of moving all of my old comic blog entries into the database. It’s going to be a lot of work, but once the new site is done, it’s going to be great.

That Time I Lost My Driver’s License in San Francisco

I’m a responsible guy. Organized, too. My papers are always in order. I try to clean off my desktop (physical and otherwise) once a week or so. I dot my lowercase Js. I plan ahead for everything. I have PC backups from five years ago, tax papers from ten, pack extra underwear, triple-check the door to make sure it’s locked, and check my pockets to make sure I have everything I need not five minutes after leaving the house, even though I know I have all of it because I already checked my pockets before leaving.

Naturally, I lost my driver’s license about as far from home as possible (without crossing any international borders or waters) in a situation where not having it could make getting back home quite complicated.

My colleagues and I flew to Silicon Valley to attend the global conference for Startup Grind, an entrepreneurship community. We listened to fireside chats with people who own, started, or otherwise have some stake in some of the biggest, most prominent tech startups going today. The experience was about as motivational and inspirational as you can get.

But then I lost my stupid driver’s license, and no amount of inspiration or motivation could undo the knot this little misplacement tied in my stomach.

After taking a hedonistic afternoon drive down the coast, we were almost back to the place we were staying when I began absent-mindedly flipping through my wallet. I noticed that something was missing. Something important.

Yep. Driver’s license wasn’t there. I’d like to believe I played it cool, but I’m sure the panic was evident as I flailed about, checking my pockets a hundred times each and checking behind every other item in my wallet to see if I had stuck it in the wrong place. No luck.

I sent emails and texts to Startup Grind to see if maybe it had turned up at the conference somewhere. I left a message with the Redwood City Police Department to see if it had been turned in there. I called Southwest Airlines to see if I could even get home without it. They said I could, but to get to the airport early because it would take a while to pass through security. I worried about blowhard TSA officials lecturing me on responsibility and not losing my papers. Would they perform extra searches? Oh, crap—cavity searches. Was I going to be cavity-searched?! Come on. I just lost my ID. These things happen! Even the guy with a bomb isn’t dumb enough to try to board a plane without a (professional, painstakingly crafted fake) ID.

If there was any remotely good news I could fall back on, it was that I had a pretty good idea of how and where I lost it. We had to present our IDs when we checked in at the conference. My hands were full of crap and I was trying to get out of everybody’s way, so I hastily stashed my license in my pocket, rather than try to put it back in my wallet and risk dropping and losing a bunch of stuff. As we took our seats in the Fox Theatre, I forgot about it and proceeded to take my phone out of my pocket ten thousand times over the next few hours to take notes or look up websites. I had a good feeling that one of those times, I accidentally pulled my license out with it and it fell on the floor beneath my seat. So, there was a chance. I didn’t remember it being in my pocket later in the day, so it seemed most likely it was lost at the conference.

Or, I might have lost it in the street, and somebody was well on their way to identity fraud at my expense. Or, it fell out of my pocket on the California coast and lodged itself in some poor whale’s blowhole.

The next morning, I rushed to the registration table. Startup Grind’s lost-and-found featured a very full wallet, and the ID of some guy who definitely wasn’t me, so no luck there. But all was not lost! The guy who showed me the lost-and-found said that the Fox Theatre had their own lost-and-found I could also check. And man, lemme tell you, when it got around in the theatre lobby that I was looking for my lost ID, I couldn’t have had more help getting it back. Two security people, two Fox Theatre staff members, and one Startup Grind staff member all swarmed. And sure enough, one guy checked in the back and returned with a Missouri driver’s license, complete with unflattering photo of yours truly. Somebody out there was kind enough to rectify my boneheaded mistake, and I am grateful.

Anyway, the trip was good.