The Crapolla According to Fek'Lar
You Know You're a Real Geek When...
you scream "amateurs!" at the TV whenever a tech story comes on the news.
You've stumbled onto another issue of The Crapolla, a journal written for software professionals. No not the managers; I mean the people who do the work.
This Crapolla is sponsored by...
In This Issue...
I start thinking of life after WTHAIS.
The WTHAIS death spiral continues. It now has been years since we made money. To tell you the truth, I don't think the company ever broke even. (Making as much profit as was invested in the company via the private and public offerings.) This company is dead. It just hasn't stopped twitching.
I'm hanging out, collecting paychecks. I've never complained about my compensation. I can see being here another year, but would jump ship as soon as I got a good offer at the same price, hopefully close to Casa de Fek.
So while I'm collecting money and being a thorn in management's side, explaining to them what they are doing wrong (the list has no end), I decided to take a contract job on the side.
I have a photographer friend who wanted a web site. That's all he knew. He's not a computer person. We all have friends who want us to fix their computers. Most of us fake an injury when we get that call. But I needed a project and this wasn't going to be a fix-it job. The money's not good, but I got to choose all technology, and architecture.
My friend was surprised at how many questions I had for him about the site. Of course, he figured you just knock up a site in an afternoon whilst drinking Diet Coke. I made sure he knew at the end of the afternoon that's how your grandma does her web site. We're showcasing and this needed to be done right. A good site will last more than ten years. You need to be able to re-skin it, expand, and most importantly in this case, think about photography, not the web site. Once this is finished, I walk away and he has to be able to run it.
The trouble with being in the same job for so long is you forget to keep your skill set up-to-date. You settle into the skills you need to do this job, but tech keeps moving. This project was going to give me a chance to stretch my legs, as it were.
I started the project as all projects should, but some don't, by capturing the requirements. It's funny how many projects don't take the time for this, mostly because it is costly of time. I've even seen some project requirement docs that simply said, "Make it faster!" That was it, without even the method of measuring speed!
After the requirements were done, I started prototyping in static HTML. This was just to make proposed look and feel pages. The content was made up garbage. You need to see what every page will look like. After it's accepted, you just keep making the real stuff look like the fake stuff, but functional.
The requirements also determine the technology to be used. I'm a minimalist. I want to achieve the goal with the simplest, and most baked-in technology available. Bleeding edge technology is hard to maintain, and buggy. This isn't a tech site and doesn't need to show off technology. This guy wanted to show his content, not bloatware. (Although I did have to explain the evilness of dancing baloney.)
A modern web site is a collection of layers of technology, each with its own function well defined. For this project, the operating system is MacOS. You know I'm a Mac guy. Am I going to build a web site on Winders? Hell no! What about Linux, or BSD? Remember, this site belongs to a non-computer guy. He has to be able to do the monthly patching. Do I think he's ready for Linux, or BSD? Hell no! As good as they are, they aren't for the "normal people" out there. I don't care how much the Klingons yell that they're going to put Linux on my mom's laptop. Ain't going to happen!
On top of the OS is Apache, and on the same layer is MySQL. Sun just bought MySQL, but haven't had a chance to screw it up, so we're still safe with it. The presentation layer is handled by a PHP program, and Perl handles all batch processing. All of the pieces above the OS are free off the net, non-proprietary, known code.
Now the bit where I do my coding. The prototype identified seven types of pages. No matter how big this site ever gets, all of the content will be one of seven types of presentation. I created a template for each type from the prototype, and figured out how to get PHP to serve the template, and trigger PHP subroutines from the template. The templates, like everything else, are contained in a database. If my friend ever wants a new type of page, I just create a new template from a new prototype. This would also be true when the site gets a new skin. The skin is just the template and style sheets.
There is no content in the skin. The content is well defined and in the database. You can pull any kind of content for any template. This was the most important requirement. Content never lives in HTML. Formatting and style elements never live in content.
As you get pieces working, you start writing the installation procedure from the beginning. You will not remember in a few months how you got this thing working, so write it as you go! This needs to include the database schema. In one of these 'from scratch' projects, you might think you know what every table will look like, but you are going to make modifications along the way. You need to keep the schema up-to-date in the installation procedure doc or the production deployment is likely to be a nightmare.
The first milestone is complete. Now I start working with an artist to create the branding. All sites need branding, and working with a good artist is worth the money.
I've gotten to brush up on some skills, and added a few. Since this is a phrased implementation, I have more work to do, and more to learn. It doesn't pay much, but I'm getting to play on someone else's dime. So it's not a bad gig.
This Issue's Headline submission to the National Daily World Enquiring Globe.
Ronald McDonald Gay!
Wacko Christian Boycott DOOMS Multi-National Fast Food Corporation (Just like Disney)
Heard in the halls of various software companies.
"I don't have rats in my freezer anymore."
"The ticketing system runs on geologic time."
"The difference between a marketing puke and a sales puke is urgency."
"About the 20th of the month, the service automatically cuts off the users."
"That's just dumb! No notice, no explanation. Your feature is a tech support ticket generator, and more importantly, pisses off customers."
"You don't understand business."
"I still have warts. Don't ask where."
Class is about to start.
Fek'Lar
They pay me to think. These are my thoughts. Do you think they are getting their money's worth?
Remember: The Crapolla contains my personal opinions. That's right they're mine, so get your own! And you kids get off my lawn!
Although written with the software professional in mind, my mind tends to wander all over the place, and I sometimes write about politics, mass stoopidity, dumb things I saw, and whatever else comes to mind.
From time to time, I use salty language, thus The Crapolla is not intended for children, or certain people in the Bush Administration.
This whole mess is copyright © 2008 by LowComDom Performances, all rights reserved. Wanna send this to your friends? Go ahead and pass out the URL.
feed available from http://www.lowcomdom.com/crapolla/index.rss
EOJ
<-- Read the previous Crapolla or Read the next Crapolla -->