As some of you might already know I've been building my own business website for the past month or so.
The whole project started with the evaluation of several CMS products. At the end of that process, I decided to go with Drupal.
Drupal is fast. Drupal is well written. Drupal is well designed (architecturally speaking). And Drupal has an amazing community that is actively taking Drupal to higher and higher levels.
I went ahead and installed version 4.4.2 and soon found that it didn't quite have all the features that I was looking for. These features were all the "nice to have" variety - nothing critical. But, the active development community also took note of the same shortcomings and was well on its way to addressing a great number of them. The good news with Drupal (and most open source projects for that matter) is that you can always download the latest snapshot of the development version in CVS. These versions aren't always stable, but if an issue or feature has been addressed, this is the only way to get it without having to wait for the next major version release.
So, I went ahead and started downloading newer and newer updates of the product on a regular basis to keep my site development up to date.
However, I soon discovered that I was having a hard time managing all the different versions of the site I had sitting on my computer. I would download a snapshot and see what files, if any, were new and changed. I would then update my development version and upload it to my web server. But the whole process was a big mess.
The first step that was immediately required to fix my problem was a way to compare the new and old files. I decided this after 2 updates. I was neither going to upload all the files, nor was I going to manually check for changes in file size and date. I had a file comparison utility on my system for ages, but it wasn't good enough. I needed something better that did what I needed to do. Winmerge did a great job of doing just what I needed done - so it was added to my toolbox. Updates were much faster and easier.
Still, Winmerge only helps with comparing core files that I hadn't been monkeying with. Obviously any file that I changed by hacking the PHP wasn't going to match with any new or old files I was downloading from a CVS snapshot. (Well not in my system anyway).
And, what if I want to contribute my changes to the Drupal community? My way of doing things wasn't going to help me. Furthermore, my problem of having piles of files of different versions floating on my computer was going to continue to be a mess.
Part of my hacking of Drupal included adding some community contributed patches. Some of these patches eventually get added to the core of Drupal, but others are considered and rejected. However, some of them, while never likely to make it to Core, still had value for me and modified Drupal in just the kind of way I wanted.
The patches themselves were .diff and .patch files that showed exactly what needed to be changed in the code. And in most cases the hacks were only a few lines of code. Easy enough to change manually. But, what does one do with more complex changes? And where are these .diff files coming from. What if I want to make my own to share my hacks?
The Zen learning experience was taking me to where I needed to be.
I have been wanting to learn how to use a Concurrent Versions System (content versioning system / code Versioning System) forever now. I had played with M$'s source safe ages ago, but never enough to become any sort of master (or novice for that matter). But, the truth is that in all the development environments I have worked in, I have never had the need to actually use CVS (in any form). In most cases I was the only developer working on any files. I had my own way of managing my versions and changes.
But, now... all of a sudden - all the problems I was having trying to apply my old way of doing things to an open source CVS world could easily be solved by just going ahead and updating my skill set.
Sure enough - winCVS had everything I needed to fix my problems. One interface to connect to the latest version of the code I needed to update. One interface to compare file changes. One place to see what those changes actually were... and it supports winMerge so all the tools and tricks I had already learned were still at my disposal. And I could easily create patches and diffs of my own to contribute back to the community.
And, to boot - it took me all of 2 hours to get up and running to the point where I actually knew what I was doing. I already knew what the process was for submitting patches - I just didn't know how to create the proper patch files. I already knew how to manage my code and compare files, I just didn't have a single place to do it from. I already knew how to get snapshots of code - I just didn't know how to get the latest files without having to wait for a snapshot that included a bug fix that I needed NOW.
Long story short the time finally came to stop simply doing things my way (which was fine until now), and start doing things a better way.
The only problem... I think I will be spending much more of my idle time playing with drupal code than I ever thought I would. I'm not only going to be supporting open source, I'm finally going to give something back. This is not so much a problem from a professional development standpoint - but it may turn out to be a personal problem if I don't get away from my computer every so often and spend some quality time with the woman I love.
andre
p.s. The business site is nearly done, but I am hacking some fixes to some bugs that I just can't live with. Besides, how professional is it to have a web technology consulting web-site that is broken...
To all my avid readers... I've been busy developing my business site.. and it hasn't left much time for rants on this that and the other.
This: I have been wondering for some time where the voice of moderate (mainly Western) muslims has been? Where are the voices of those that are devout followers of Islam... those that believe and practice teachings that encourage peace, love and kindness towards their fellow man... those that wish to see an end to senseless violence...
You would think that you would hear more stories about muslims from around the world attempting to appeal to radicals in the middle east (and elsewhere) to stop violence against innocent people.
I am sure that there are countless muslim groups doing just this sort of thing, but sadly there is little media coverage of it. Then again I suppose media editors find a decapitation story to be sexier than a story about people attempting to stop decapitations (unless of course they are successful - as in this case).
I don't mean to make light of this story - nor do I wish to paint all media with the same brush - but there are certainly many voices being heard more strongly, via the media, than others.
That: I never bothered to make the move to Internet Explorer for my day to day browsing. The only time IE would open on my desktop was if there were sites that were broken in Netscape/Mozilla/Firefox (Through no fault of the web browser - rather because some site developers didn't bother to write standards compliant sites). It looks as though the time has come for others to abandon IE for something better. Firefox is certainly leading the way.
Mind you I'm not too thrilled that Firefox opted to take some user interface cues from IE (such as where the browser settings are changed) - but I can understand that if you are to woo the IE user to make a switch you might want to keep things where they (95% of current users) are used to finding them.
But, the speediness, the ability to customize the browser and the standards compliance (to name a few) far outweigh any reservations I have in calling firefox the greatest thing since Netscape 2.0.
Other: Apparently Canadians are just as goo-goo for their Idols as their dopey american counterparts. I don't understand this entire American/Canadian/World Idol fascination.
You would think that people would automatically tune out of something that is so staged and so LAME. This story about fans of the winner of Canadian Idol being upset that a third place contestant's version of a song is being played on the radio absolutely blows my mind. While the fans are upset that the "loser's" version of the song got played on the radio, none of them seemed to be upset to find out that all three contestant finalists recorded the same single prior to the show finale. They aren't upset to discover that regardless of who they (the fans) chose as a winner - they (the fans) were going to be subjected to the same initial single.
Nobody seems to be bothered by the fact that the outcome of the Idol shows has absolutely nothing to do with fan participation. The outcome is always going to be the same - a) some shmoe will be voted fan favorite - b) a single will be released - c) and people will buy it. With b) and c) having little to do with a) besides the name and picture on the sleeve.
I don't know who the winner was - nor do I have the slightest idea of who didn't win. But I know who the losers are: every idiot that has been sucked into this program and has become an active participant in their own manipulation by the show producers.
Get a clue people - its not your Canadian Idol... its the producer's Idol... and your only role is to consume whatever they feed you.
*sigh*
Finally - I find it sad that This That and the Other all share headlines on the same day... Well, not so much that they share the headlines on the same day, but rather that many people are more interested in That and the Other as opposed to This. Especially when you consider how trivial That and the Other are when compared to This.
andre
Just testing aggregation and cron.php.
andre
I am just about ready to open my doors for business, but before I did I needed a business phone.
Up until now I have avoided getting a cell phone... My thinking was - if you can't get me at home... I can't be got. I've also thought, that if I really need to make a call from outside of the home - payphones work well... and the price is right $0.25 per call - unlimited use.
I've also avoided getting a PDA for a long time. My thinking was - I don't want to be a slave of technology. I can walk around without having a computer strapped to my hip. I really don't have enough appointments to warrent carrying around a digital appointment book (with a lot of extra bells and whistles).
I've also been waiting on going wireless with my home network. My thinking - I don't have any wireless devices to network.
Now, all of a sudden, this is all changing. I decided that since I was going to work from home and travel to client sites I would need a business phone that I can take with me. Cell phones go with you.... So I decided I would get a cell phone for all business calls.
I also decided that I would really need to keep track of appointments lest I annoy my customers by missing meetings. I also would need a way to take notes and store voice messages. I also need to carry that around with me... PDA's do that... So I decided to get a PDA.
I started researching my options and wouldn't you know that Telus offers a nifty super cool Samsung i700 phone/PDA combo... And it happens to be one of the most popular convergant devices out there... Verizon users in the states have been raving about this thing... And BONUS - the affinity program between the Hamilton Chamber of Commerce and Telus gives me an outrageously good deal on airtime and features.
Done and done.
And now that I will have this device and its really easy to wi-fi enable... I will be upgrading my home network too... and start roaming the streets of hamilton in search of the best free hotspots.
And ooooh ooooh ooooh - I get to lease this bad boy and have a 100% deductale business expence.
andre
I guess this isn't exactly a post on programming - but it is a post on how poorly IE actually handles CSS.
I am absolutely blown away by how inconsistent IE is at displaying CSS. IE 6x is supposed to be a "standards compliant" web browswer, but I haven't written a single style sheet that didn't have to be fudged to get it to show up 'properly' in IE.
I've been a mozilla /geko user just about from the start (netscape, mozilla, fire-x) - and when designing style sheets I've always found that they show up just the way any rational person would think that they should show up.
I won't go into the details - (mainly because I don't have the energy - and more people than I could possibly count have ranted about the CSS engine in IE with much greater detail than I am capable of at the moment), but its safe to restate what I have said a 1000 times in the past... Internet Explorer is a piece of junk.
I think of standards compliance as a binary thing - You either are or your aren't. IE is not.
andre
Update: Sept 16th: Just so everyone can have a clickable link to Derek's IE7 resource: http://dean.edwards.name/IE7/update.html
I was just going over my site logs and I've noticed that a lot of people are visiting me because they can't spell.
Don't get me wrong. I'm not making fun of these people. In fact if anything I am making fun of myself. I don't spell check my blog. I post everything raw... so I have a ton of spelling errors, not to mention run on sentences and other gramatical nightmares, the kinds of theengs that would drive an english teacher bonkers, what was I writing about, oh yeah, that this site is full of boo-boobs.
But, it turns out that some of my traffic comes to me as a result of people making the same spelling mistakes when they search in google (my top referrer).
I read a list of tips somehwere that talked about increasing the readership of your blog. One of them was to check for spelling and grammer. I would say that this is a good suggestion - but one that I'm not going to pay any attention to. Not for this site anyway. This site (for the time being) is mainly for my own amusement - and it amuses me more not filtering my content before I broadcast it. And it amuses me to see how people are finding me... even if they can't spell.
andre