Tuesday, June 26, 2007

Smarty wasn't so hard...

Smarty is a template engine for PHP.

Smarty was relatively easy to install compared to PHP / MySQL without using WAMP. Luckily someone had already installed the package on Windows and there is a link to his instructions right at the top of the "Quick Install" page. My only issues were that the package came only in a tar file instead of a zip file (I found an open source product to open the tar files called 7-Zip) and the instructions for windows installation had a slight typo (the cache and compile directories were different in the demo than in the installation instructions).

I quickly read through the documentation. It seems pretty straight forward. I look forward to using Smarty for the presentation interface of my new site.

Template Engine (Smarty): $0

Total cost of project to date: $7.99

Monday, June 25, 2007

WAMP rocks!

I have now officially spent way too many hours trying to get PHP to talk to MySQL. I've read several "how to" (example) sites and I still get a bunch of errors that state that my extensions (which aren't on by default upon installation) can't be found. I've installed and uninstalled several times.... if I can't get the most simplistic things to run on an operating system I've very familiarity with, this exercise does not give me a warm fuzzy feeling about launching this thing on a Linux box. So I decided to go with WAMP.

For you unfamiliar with this, WAMP stands for Windows Apache, MySQL and PHP. It installs very nicely into a directory called wamp off the root of my C drive and with the exception of having to modify the httpd.conf file (I want Apache to run off port 8080 since I'm still running IIS on this box) it was ready to go. The only thing missing was the MySQL GUI tools which I prefer over SQLiteManager that comes bundled with WAMP.

Next I'm going to tackle Smarty and Zend Framework.

Saturday, June 23, 2007

The tools

I've been using Microsoft's programing and platform tools for many years. My previous start up (I'll refer to as "Company X") is completely based Microsoft technology (with the exception of some Flash on the front end). A small farm of Windows 2003 servers, running IIS .NET applications written in C# with a gigantic Microsoft SQL server behind the whole thing. This, along with bandwidth, costs us a small fortune in licenses. I've been thinking about getting my Microsoft Certified Professional Developer certification for years... I just wish I could get a bit of a kickback from them on the certification costs considering how many zillions of dollars I've made them over the years (Bill, are you listening!!!)

I'm not a stick in the mud, but I have to admit I have been a bit wary of "Open Source" tools over the years. I remember the good old days of trying to get a few programmers to work together without management. You got an interface only a geek could love written in code no one could read and God help you if you found a bug.

But since Microsoft ain't givin' it away, open source is the way to go. Let's just see how far I can stretch my Microsoft based technical skills before they snap.

I've chosen to write my application in PHP on an Apache web server with a MySQL back end. PHP seems very similar to "classic" Microsoft ASP pages and I've started to read about the Zend Framework that should remove spaghetti code from the start. I'm familiar enough with Apache to be able to configure it and get it up and running and MySQL has gone from a neat little toy to quite a powerful database. MySQL adding stored procedures as a feature on the 5.x pushed me over the edge on doubting this platform (sure the other fancy features like clusters, large scale database, monitoring tools, etc. are important... but if your database can't even create stored procedures then you are not a REAL development platform in my humble opinion).

I'm not quite ready to jump ship from my trusty Windows operating system quite yet. I have installed Apache, MySQL and PHP on my woefully underpowered home computer. Linux will have to wait until my brain stops throbbing.


Web Server (Apache): $0

Programing Language (PHP): $0

Database (MySQL - Community Version with GUI tools): $0


Total cost of project to date: $7.99

Friday, June 22, 2007

What's in a URL?

Okay, step one... choose a domain name. First of all let me say, I loath those swine who are sitting on millions of domain names that go to websites that show nothing but advertisements for other websites! (Of course, if you are one of those swine who happens to have a job opening for an entrepreneurial technologist drop me an email. You're probably making money hand over fist and can pay a nice salary for talent such as mine!)

After burning up thesaurus.com and the WHOIS function at GoDaddy for a few hours, I finally came up with a name that sort of, in a Web 2.0 way, gives the feeling of what my service will offer.... of course I hate it, but all of the good names were taken. The .US domain names are good right? Worked for del.icio.us, right?

Domain name: $7.99

Total cost of project to date: $7.99

Okay, here are rules.

A few weeks ago I was reading a blog post by Guy Kawasaki entitled "By the Numbers: How I built a Web 2.0, User-Generated Content, Citizen Journalism, Long-Tail, Social Media Site for $12,107.09" and it really got me thinking.

If you read the article, a great deal of Guys expense was on "outside" profession services. $4,500 for software development, $4,824.14 in legal fees, $399 for a Logo and $1,115.05 in legal fees. I've had the honor of meeting Mr. Kawasaki a few times (though I'm sure my face is as recognizable to Guy as the paper bag my nome de plum wears) and his book "The Art of Start" is a must read for all you entrepreneurs out there. He dropped $12K on this little project of his, let's see if we can bring down the price tag even further.

So here are my rules.

1. Only work on this project during "off" hours - I'm currently gainfully employed by a company I co-founded in 1999. Over the years I have heard the horror stories of hardworking entrepreneurs who have had all kinds of legal trouble from former employers who claim that the intellectual property of the company that the entrepreneur created was on the former employers dime. A great article on this subject is "The Dangers of Moonlighting" at Found+Read. My current colleagues are the nicest of guys, but let's just say that every time we go out to lunch calculators are involved in divvying up the check. So rule number one means no working on this project for 9am to 5pm Monday through Friday... weekends, holidays and the wee hours of the morning are mine.

2. Only work with my own resources - Like only working on "off" hours, I will only work on equipment, services and licenses that I pay for out of my own pocket. That means working on my home computer (the under powered one that my wife uses for email and family photos and my daughter uses to watch Homestar Runner) instead of the fancy laptop that my work provides. I will not use my cell or office phone for calls related to this project. I will use the DSL line off my home phone line instead of the high speed cable modem that work reimburses me for.

3. I will Blog my progress - Every day that I work on this project, I will report my progress on this blog. This is a tough one! I don't consider myself a writer.... I've written a few patents (not exactly riveting material), technical specs and the occasional love letter to my dear wife, but nothing that has forced me to write every day. Please be kind to my ramblings!

4. I will report every time I incur (or didn't incur) an expense - For example, my domain (which will for now remain secret), was purchased from GoDaddy and cost me $7.99. This blog was free from the wonderful folks at Blogger (or should I be thanking Google? It gets so confusing on the 2.0 version of the web). As a guy who doesn't have thousands of dollars to spend, I'll be attempting to squeeze every bit of value out of open source tools, low cost hosting and good old reliable begging and bartering.


So thems the rules, let the games begin! Nothing worth doing is ever easy... though some day I'd like to give it a try!