Books Music Programming History Purchase Interviews

Since 1994, I have been programming, primarily for the Internet.

Programming for me began as a necessity. I was working for a famous celebrity type, and he called me into his office one day to talk about "this Internet thing." During the meeting, he asked me what I knew about it (which was precious little at the time), and how he could get a presence online. Our ideas about the Internet were way different back then. I didn't have the answers he was looking for, so I told him I'd come back the next day with answers (I was 25 years old, and I thought confidence was a good substitute for planning).

That night, I hightailed it to my local Barnes and Noble and got everything I could find on the Internet - because in those days, there was no Google. In my rush to get answers, I never even thought to submit the receipts to my boss - something I should totally do now, with interest. Anyway, I found what I was looking for: the Internet was basically a place where anyone with enough motivation could learn to create a site. 

And that's when I discovered HTML, using a simple book called HTML for Dummies. I consumed the book in two nights, and by the second night, I was creating what at the time were pretty sophisticated Web pages. 


There's an old adage in life that I'll paraphrase because I'm too lazy to look it up: If you show someone you can do something, they'll wonder what you can figure out next.

My boss wasn't satisfied with a static Web page. He wanted people to be able to interact with the site, to contact us, to order things from our site using their credit cards (back then, you only got a credit card if you were credit-worthy; debit cards were still a relatively new phenomenon). So I rushed back to Barnes and Noble and picked up another "Dummies" book: "Perl for Dummies."

Perl

Some of my Perl code

Perl was the first popular programming language on the Internet. It was a Unix-based language that used an interpreter, which meant it was a high-level language - the programmer didn't have to interact with the computer's hardware or operating system at all. The interpreter handled those interactions. So I learned to make a quick contact form using perl, enabling the site's users to enter their information and ask questions or whatever. My program was simple: it received the user's input and recorded that input onto a file, separating the items with a pipe character, which another program would then interpret and display for whoever was handling Web site interactions. It was super-simple, but it impressed the hell out of the boss, who immediately asked me when we could have a store online. 

Well, that's a whole other story, as they say. That took a lot more research and some interaction with IT guys who speak Unix. Ultimately, it took a couple of months, but we got a crude store online and the boss was happy. 

It's been 20 years, for crying out loud

That's right, STILL 66,000 results, 20 years later

Like a dog with a bone, I got excited about the possibilities of Perl, so I started my own web site (the one you're on now), and started experimenting. My first program was a more advanced contact handler, my second a simple blog script - the very one that would later land me all over Internet search engines for insecure problems that I had no idea even existed at the time. When I was notified about the security vulnerabilities, I fixed them right away. Mind you, this was in the mid-1990s. Even though those vulnerabilities were fixed twenty years ago and the programs in which they existed no longer themselves exist, those Internet security warnings STILL appear in Google to this day. Sigh.

Anyway, I expanded my Perl knowledge and skill, and I thought I would never need another programming language. And then...

RealBasic

Steve Jobs came back to Apple after being forced out of his own company. With Steve came a passion for turning the Macintosh into what the Next computer was supposed to be and never became. That meant trashing the entire operating system and creating a Unix-based system that still looked and worked kind of like the old Mac system. OS X was born. In 2000, it was launched, and I knew it was going to change everything.

Interface design: Not my strong suit

I think it's safe to say interface design isn't my strong suit

At the time, I was doing a lot of ghost writing for televangelists. I know. Shut up. I'm better now. Anyway, as such, I needed a program with which I could quickly search the Bible and then be able to copy and paste from it, without having to do a bunch of deleting of verse numbers and other garbage. So I decided that, since none existed for the fledgling OS X, I would make my own. I started researching programming languages for Mac OS X, and I could find only one that was readily accessible: RealBasic. So I bought the stuff I needed to buy, and a month later, I had a working version of the presciently named iBible. A month after that, I started giving it away, asking for a donation of from those who liked the program and could afford it. For several years, iBible turned into a nice, steady stream of income. But life intervened, so I eventually let it fall behind and other Bible programs showed up, so I didn't feel the urgency I had initially felt to program it. 

Plus, OS X changed architectures, from Carbon to Cocoa, which necessitated that I switch languages from RealBasic to ...

Objective-C

Big plans

I had big plans for iBible 3, including the ability to include study notes and read the Koran

Within two months of the release of Cocoa, I had an Objective-C version of iBible completed except for a few small details. But part of the problem with me is, when something is simple (the remaining details were), I tend to lose interest. So the Objective-C version of iBible was never released. At the time, the majority of my income was coming from ghost writing, so I had to dedicate most of my time to that, and programming languished for awhile.

PHP

In the early 2000s, the newspaper at which I was a managing editor still didn't have a Web site, because the lumbering corporation we worked for hadn't deemed our paper worthy of the resources it would take. So the executive editor asked me to make one. By that time, a new language had taken precedence on the Web because it had been designed from the ground up to work with the Web. So I learned PHP. In a week, I had a Web site working, one where the copy editors at the newspaper could simply take a Quark page (Quark being the layout program the newspaper used to create its pages), dump it onto my program and the program would turn that page into stories online, complete with photos and headlines. The executive editor loved it. 

Corporate, however, was not nearly as pleased. Apparently, they had in place a bunch of agreements that required any of their newspapers with online presences to also tie into other sites like Cars.com and other bullshit like that. So corporate's word to us was unmistakable: "Shut it down. Now."

It would be another several years before the newspaper got online finally, in 2004, using a standard CMS that anyone could get for free, forcing copy editors to painstakingly copy and paste each element of each page into the CMS to create the content. 

Javascript/JQuery

Ugh

My bad taste knows no bounds. MuskogeeNOW circa 2010

I don't remember when I started working with Javascript, but it was pretty early on. I never liked it back then because you couldn't count on people's browsers to support it. But through the years, several aspects of Javascript were widely supported and easy to use, so I did. It wasn't until JQuery - a simple Javascript library - came along that it was possible to implement a lot of javascript code without worrying that browsers wouldn't support it. My first JQuery-heavy site was MuskogeeNOW.com in 2009 - the site I created shortly after I was fired from my newspaper job for making fun of Senator Tom Coburn on my personal blog on this site. Since then, I have incorporated JQuery far more heavily, and in my new Content Management System (tentatively named IneffablePress), it's an integral part of the functioning of the site.

So there you have it. If you read all this way, you're a boring person, just like I am.