Busy End to January

Sorry for the lack of posts and tweets this week but as a certain one of my client sites moved closer and closer to release (which we still haven’t hit yet) my time was devoted squarely to finishing it. And as much as I love these clients (and I mean that seriously) I’ll be really happy once we’re finished because it has started to drag a little bit at the end here. Plus – Finishing this site has been on my to do list for literally the past month. No bueno.

See all of you next week!


I was told recently that my Math Comment SPAM WP Plugin was actin’ all buggy so I took a second to look at it the other day. Turns out that it WAS in fact actin’ all buggy, and when I went to go look for help I saw that it hadn’t been updated since 2007 or something. Bleh.

But I said to myself that no one really reads this site anyway, so I probably didn’t need to worry about replacing it. Well turns out that even if you don’t have any readers, you can always count on SPAMbots to give you some love. After a day of being eaten live by gruesome comments, I decided to do something about it and I found the SI CAPTCHA Anti-Spam plugin I’m using now.

I’m really liking it so far because unlike other plugins:

  • It works
  • It’s customizable
  • It seems to be updated regularly

So FYI, if you’re looking for something – Might want to give SI CAPTCHA a look.

Bugzilla Install Was Torture

Saying that installing Bugzilla was painful would be the understatement of the year. From what I’ve been able to piece together through this nightmare, it probably took me 9 hours to get the whole thing done – 3 hours on 3 separate days. And if it wasn’t for @mkanat suggesting that I give it another try, I probably would’ve walked away a LONG TIME ago.

I mean, I believe that everyone who works on large computer projects like myself should have some kind of issue tracker setup and while I’ve been using Mantis very happily – It doesn’t look very attractive (which is important when opening this up to clients and associates). So I began searching for something that it looked a bit better which is when I found Bugzilla. *shaking head*

First Things First
If you’re thinking about installing this on your server, know that it’s not for the feint of heart. There are A LOT of “moving parts” with this thing (Perl, CGI, db stuff) and many of them are things that I don’t have intimate experience with. Aside from that, the install guide that comes up Bugzilla is very vanilla in that seemingly ALL the issues that came up for me were not addressed in the guide either in notes next to the instructions or in the troubleshooting section. Even Google searches weren’t yielding me the help I really needed. @mkanat suggested that I use the Bugzilla newsgroup which I tried, but look – I’ve never used a newsgroup before and at 11:30pm at night well into hour 7 or something… I just wanted to get this done, not learn yet another thing.

So hey, I finally got things going last night so I wanted to put something out there that might help others who are going through the same pain. This isn’t an install guide but just the problems that I had that I didn’t see answered anywhere else. Oh and keep in mind that I don’t fancy myself a Unix Administrator either so if I get things wrong or sound stupid – It IS what it IS.

Getting Started
First you’ll need to probably shell into your server using the username for the website you’re installing it into. That’s to say, even if you think you can only or SHOULD shell in as “root”, you should instead shell in as the group/owner of the website where you’re installing Bugzilla… This will probably fix problems for you later. After you download the Bugzailla tar file and untar it, you have to run this script called checksetup.pl. (You run it by typing “./checksetup.pl” at the command line. When you first run it, you’ll be told about all the Perl modules you need to have installed to get things going. It will also say that to install all the modules, do “./install_modules.pl –all”. When I did that, everything went fine until it prompted me for “pg_config” which is when the first big headache started.

Installing the Modules – Oh and “pg_config” or “pg_path” is the Devil
I found out later that the “pg_config” prompt was for a PostgreSQL module. Here’s the thing, I have MySQL. You can think that you can just skip this by pressing [enter] but when you do, the script quits out and then I was getting an error when re-running it saying “Can’t locate Constant.pm in @INC” blah blah blah. At this point, I couldn’t go forward in my installation. The only way I found to deal with this was re-installing Perl (if you use CPanel, you can follow the instructions to do so here: >http://docs.cpanel.net/twiki/bin/view/11_24/AllFAQ/PerlFAQ#How_do_I_upgrade_Perl After doing this 2 or three times, I think I stumbled onto something through Google searches saying that you may NOT want to install ALL the modules. This was a big turning point. Instead, (after I was able to run checksetup.pl again), I ONLY installed the modules that were required (I think there was about 3). After that, I got past this HUGE hiccup. And again – Why this information isn’t included as a note in the install guide is beyond me.

And Then There Was the Group Owner Permission Problems
After all this, I finally got to the point where I could try and run things again (./checksetup.pl and the like) and I was still getting problems. Turns out now that I had group/owner permission problems… Remember before when I said you should make sure to shell in using the group/owner account of the website where you’re installing this? Well see, I’m using something that I found out is called SuExec… From what I understand, it makes individual websites on your server run scripts by that website’s group name… If you let them run as “nobody” or “root”, it’s a big security thang. So anyway, when I installed all of this Bugzilla stuff as “root”, my owner and group permissions for all these files were all over the place (which is obviously bad). Using the commands “chown” and “chgrp”, I ended up fixed things and I made sure to update the “localconfig” file with the right group name.

At about this time in the process, you can run “testserver.pl” to try and see what’s wrong and even though things were a little broken, it was saying that the group name on the “localconfig” file was different than the name being used by the webserver. Even though it says “this MAY not be a problem”, when nothing is working you tend to second guess yourself so obviously I spent hours changing my Apache httpd.conf file, restarting Apache and then changing Bugzilla’s “localconfig” file and hoping it all worked. Bleh. Let me sum up things for you if you’re a bit confused:

I’ve been looking at this screen a lot lately.

Let’s say that I’m on my Linux box running Apache with Cpanel installed. I’m going to install Bugzilla onto hockeyrules.com – A domain that I own (for conversation’s sake anyway). When I FTP or or login to the CPanel for this domain, I know my username is “hockey”. Chances are, this is what SuExec is using for your group name when running scripts. So this is what you’re going to use in your “localconfig” file’s $webservergroup variable. Got it?

403 Forbidden My A$$
At this point, “checksetup.pl” was lookin’ good but I still was having problems with “testserver.pl” saying that it couldn’t retrieve some PNG file or something. When I checked out the site through my browser, I saw that I was getting a 403 Forbidden error. I mean seriously, could this thing just work!?!? After a little while searching and a little while investigating, I found out that my Bugzilla directory that was supposed to be serving files didn’t have the right permissions. What tripped a flag was when I saw that “Other” didn’t have read permissions which is when I think I chmodded it to 755 to get it to serve…

And that my friends is when it FINALLY worked.

So now I have a working version of Mantis AND a working version of Bugzilla. Oh, and I tried to get into Bugzilla a little while earlier today, but I found myself bamboozled. There’s a lot in there and it’s going to take a while to suss out I think. And don’t worry – I still plan on comparing the two so check back in a little while and you may see a FANtastic (or mediocre) review!

I'll Tell You What I Want What I Really Really Want (Part 1)

Before my wife got her hooks into me, I used to spend money like it was going out of style. Which is really all to say that I never saved money and just enjoyed a comfortable single guy lifestyle of eating out all the time with friends.

Now that I’m married, have kids, and just “getting off the ground” with web design stuff, I’ve REALLY had to dial it back. But with every new financial foothold I gain back (it’s a rough transition from the 9-5 to this), the more I can dream about life’s little luxuries.

Day Care
By far, the biggest luxury I’m looking forward to in the near future is being able to afford day care again for my 2 kids. Don’t take this the wrong way, the kids are great and I know I’m lucky to be able to spend so much time with them – But trying to program while my littlest one is on my lap turning off my monitors, trying to take conference calls while my oldest is yelling for more apple juice… It can be a bit trying sometimes. And I also look at this as an important milestone because conceivably with more time, I’ll have more of an opportunity to grow my business. Or at least the theory goes.

I know you’re going to get a kick out of this one Pete, but I can’t wait to have decent insurance again either. Right now we have the “if you lose an arm, you won’t lose a leg” insurance so for things like going to the Allergist, I’m pretty much SOL. I’ve been pretty lucky that I haven’t been really sick either but just being able to get back on my allergy meds would do so much for my sleeping habits.

Lastly on my list of “must haves” is the gym. I belong/used to belong (it’s complicated) to a Globo Gym with admittedly, a pretty high price tag. I really want to get back in there because we all know that staying healthy does A LOT for you. But when you’re home with the kids every waking moment, it’s kinda hard to find a yourself out of the house with an hour to lift.

And of course I have a ton more on my list, but if I wrote them all out here, it would be an extremely long post. I think I’ll probably post more next Friday (fun stuff at that) – So make sure to check back then!

12 of 12 – January 2010

I think this might be a good omen. You know, getting a 12 of 12 done in the first month of the new year. Now unfortunately the day couldn’t be any more ho hum, but sometimes married life with kids is like that haha. Anyway, thanks to Chad for starting this whole thing and given me something to post about!

Currently, I’m working from home not making any money – Which means the wife is doing the whole 9-7 thing. It also means that I’m doing the whole Daddy Day Care thing with the kids while I desperately try and get work done. Thank goodness for DVDs.

I read this book once that said you have to feed your kids so that they grow. Now even though it was from a Chia Pet instruction manual, the sentiment surprisingly still holds up. Now for someone as ill equipped as myself to take care of kids, the best thing in my arsenal is Eggo waffles. You just pop them in the toaster and in the amount of time it takes to put a kid in his chair, they’re done. Now Kellogg is currently experiencing a nationwide shortage of Eggos (which has rocked my world BELIEVE ME) so I’ve been reduced to store brand waffles. And even though they all suck, the kids know that beggars can’t be choosers.

Butter and syrup come close to masking the horrible taste of these store brand knockoffs and this guy is letting me know he appreciates the effort.

Pictures of my desk are always cool because they’re really bound to change over the years. I was proud of myself because I FINALLY managed to update my design website with new work and an overall more attractive look.

My mother-in-law loves leaving her horrible dog at our house. Why? I’m not really sure. But this dog attacked my oldest about a year ago, (like full on lion pounce), she thought about going after my youngest yesterday, barks all the time at nothing, just a pain in the a$$. And here she is taking my poor Fiyero’s dog bed.

If any of you are ever thinking that you can work at home with kids, you might want to think again. If they aren’t constantly turning off your monitors…

They’re eating your memory.

Later on in the afternoon, my youngest paused to announce that he was going to harass Fiyero. This poor dog… Ever since the kids got mobile he hasn’t been able to relax unless he can get upstairs to our bedroom, which is a hard task since we have baby gates that are constantly closed.

So I was hoping to get a picture of me cooking a la Pete, but I was obviously more concerned with eating and remembered to take a picture after I was done stuffing my face. Taco aftermath is very attractie n’est-ce pas?

Aftter dinner, my wife announced that she was going to be giving the kids a bath. I was thrilled because I thought I’d have a chance to play video games for 10 minutes but then I had to clean up dinner which took longer. Ugh. So I decided instead to take some pictures.

And here’s another with my wife who is thrilled to be on my blog!

Finally, my youngest wouldn’t be my youngest if he didn’t go out on a high note which he decided to bust out right before bed. Happy 12 of 12.

Facebook Development Sucks

Sometimes when you have a burgeoning web design company, you find yourself doings things you wouldn’t normally want to do. This weekend was such an occasion as I completed my first soup to nuts Facebook application for a local radio show.

Now let me be straight – Helping a radio show I like (with all things web) is something that I would do happily, especially when I met one of the hosts last year during a crazy ice storm where I found myself stranded and he couldn’t’ve been nicer. But I swear… If I knew what I did now, regarding how much work it would take to get this App off the ground… I don’t even know. I think it took me about 2 days work of straight programming to get this done and it was some of the most frustrating work I’ve done in quite some time.

I Have Developing for Facebook
Like most of the things I work on intensely, my wife gets to see all the peaks and valleys of the journey. Well this was no difference, and after two days of burying my head in my hands and occasionally pounding my fists on my desk, my wife asked “What’s wrong?” Now usually this question would drive me up a wall but she’s getting to be really good at finding the right times to ask these questions, so I answered her in words that she would understand…

  • Facebook’s developer documentation sucks
  • There doesn’t seem to be clear instructions on how to setup your dev environment
  • The tutorials don’t help that much and seem to use nothing but depreciated functions

Now maybe I’m way off on the above but look, I think of myself as a developer. And I’d like to think that over the past two days of furious work that if the above were NOT the case, I would know it by now. So I could go on and on and let this Facebook rage consume me talking about all the problems I had and what I did to try and fix them… But instead I will tell you about what irked me the most…

Facebook Has Crappy Documentation
Over the weekend I would run into the same code snippets from the same PHP tutorial using Profile.setFBML. (You’d think I’d run into other tutorials but there seems to be only one PHP tutorial people can find for Facebook). Anyway, when trying to figure out why this Profile.setFBML wasn’t performing as expected, I pulled up the following on Facebook’s Wiki:

So this is great. Not only will this method be depreciated, but it will happen oh… RIGHT ABOUT NOW. Unfortunately we don’t know if it HAS been depreciated or NOT, so I guess we gotta just roll the dice if we’re going to use it and hope that the depreciation hammer hasn’t fallen. Oh, and if you follow that next line about “application tabs” you know, if you wanted to program for the future, there’s basically no functional information in there either and instead points us again to the Developer Roadmap. If you go THERE, you will see the following:

And if you click “Detail” you get this: “Going forward (in the short term) application tabs will be the only way applications can integrate into profiles and Facebook Pages.” Soooooooo, application tabs are coming SOMETIME in early 2010 (but nobody knows when) and it will be the only way to integrate your apps into the profile, BUT there’s nowhere to find information on how to do it… *GROAN*

Again, this was an exceedingly frustrating weekend, but I got the App done, the programming is awful and sorely needs to be cleaned up but a Win is a Win. Screw you Facebook.

Get Paid – You Can and You're Worth It!

On my post Care For Your Clients yesterday, I relayed a story about a certain client who I gave tech support to even when they didn’t have the money to pay my employer and even after I was ordered to stop. I did that out of a responsibility I feel towards my clients, but Ian brought up something else that I tend to forget these days..

Just out of the virtue of you knowing things about computers or technology, people feel that they can come to you with any of their problems and that you will fix it for them for free. I think a lot of people in our industry have gone through this before. For me, it was my family who was always coming to me with their problems and expecting that I could not only fix ANYTHING they threw at me, but would do so out of the goodness of my heart.

And the majority of times they were right.

I Love This Stuff
It’s true, and that was a large part of the problem. If I didn’t like all this computer nonsense, it is a mortal lock that I would’ve tried to find any excuse I could not to work on computers and everyone’s associated problems. But because I love learning, I love tinkering, and I love helping people – I would eagerly sign up to do everything I could to fix their stuff. What this usually resulted in was me spending a LOT of my own time and often some of my OWN money in the pursuit of their happiness. And I remember at one point that I looked around at all the things I “needed” to do one day, and most of them were computer freebies – Which sucked. I mean, who wants to be doing free work for everyone else that takes up your entire day’s time? Personally I would’ve rather tooled around on XBL given the choice.

So I Started a Company
At the beginning, I think I started my company so I could write off my hosting fees that I was paying regardless of whether I had any paying clients or not. *laughs* I think that my thinking was, “If I can write off my hosting fees, I’ll have a ton more money!”. Well let me tell you cupcake – That’s not quite how it works. But I’ll tell you that almost immediately, it had a radical effect on all these people trying to get the free work out of me. Next time I saw them I just said, “I’m really excited to start this new company of mine and if you have anything WE can help you with, please don’t hesitate to ask.” Almost immediately, people stopped asking me to do stuff for free. And amazingly, these people would still come to me saying that wouldn’t mind paying since they trusted my work and wanted to support my new endeavour!

So I don’t know kids… Pople are getting paid for way less out there and for me personally, organizing a business was a BIG turning point in my life. Don’t you want to write off your hosting fees too? (#):)

Care for Your Clients

“You may not know this Joe Rogan”, but I run a web design company. And despite the fact (at the time of this writing) that I have not uploaded any of our work online, and the only site I HAVE posted is a crappy one that yours truly designed (hence its crappyness), I continue to get some decent clients.

Yesterday I met with one of them (who truth be told) isn’t really a client, but will be very very soon. I have supported them and their website for probably a year now since I was the ones who pretty much put it together -And the whole time without compensation. (I know that probably sounds like a losing proposition, but there is a lot of story here that I probably shouldn’t divulge…) To put it another way, I wasn’t really ALLOWED to help them, but if I hadn’t, their life would’ve been hell and their brick and mortar business might have started out being a veritable disaster… So I helped them anyway. Hopefully I can tell the full story one day but this should be enough to catch you up for now…

People First – It’s a Karma Thing
At my last employ, the company certainly didn’t think about people first. For even the smallest of changes to this client’s website, you best believe we were charging them upwards of $100/hr. Now that may work for big clients like the US Government, but for smaller clients who are just trying to get their footing… I think showing them some compassion in those early months of their business pays dividends down the road. Now don’t think that I’m advocating to do everything for free (because I’m not) but if you’re getting paid anyway from them and you know that they’re struggling as it is, why not extend some free help to them once in a while? Case in point…

My previous employ didn’t really follow this thinking and my clients told me that at sometime during the whole process of getting their website “up to snuff”, they realized that any text they wanted to change and any question they had was going to cost them money. A lot of it. And because at the same time they were dealing with a myriad of contractors who were squeezing even more money from them, plus all the other headaches that come from opening up a brick and mortar space – They just stopped asking my employer for help.

And Where Do You Think This Leaves Everyone?
In a horrible spot – That’s where. In a place where the client had already spent tens of thousands of dollars on their website alone, it still wasn’t what they wanted and they didn’t have the money or energy to fight on its behalf any longer. And what’s worse, we (as the website provider) had completely fallen out of favour as their trusted advisor to all things Web. Sounds like a lose lose situation to me. They’re not getting what they want, and my employer had basically killed all future business with them but were either too dense to notice or too cold-hearted to care.

Honestly, I think what happened was as we were nearing the end of this project, a huge supposed money maker came in that El Jefe wanted us to devote most of our time to. Now I get that but on the other hand, you can’t really just abandon your clients because you think another project will be more fruitful. I’ve always felt that I had a responsibility to my clients, and especially with things like computers and the Internet – They’re coming to you because they don’t know anything about it. Furthermore, how do you know what is going to be a better return on your investment 5 years down the road?

Fast Forward a Year Later
And this past client of my employer has done over a half million dollars in sales, and by their estimate – 95% of which were completed through the technology we (or largely I) put together for them. And do you know how happy they are that I stuck by them when all the other S was hitting the fan? Do you know how much trouble I was getting in for working on their site on my own time ensuring that what we as a company delivered to them, WORKED? I know – The concept is a BIT out there. So anyway –

Yesterday they invited me to their space for what can now be described as a thriving business. They can finally get a decent night of sleep knowing that the million dollars they raised from investors will be repaid, and that they’re not going to lose the shirts on their backs. And not only did they treat me to a FANTASTIC three course meal with as much wine as I could drink, but they also prepared an exquisite gift basket for me, complete with a TON of chocolate, wine, fancy cooking ingredients, freebies from their business for myself and my wife, and yes – More wine! Oh and did I mention that they also invited me to put together a proposal for more work for them? Now I find myself with not only great new friends, but great new clients.

Moral of the Story – Care for your clients.