17th April 2008, 11:03 am
At the risk of being marked as blog-spam, I got some pretty funny spam messages in my junk folder recently:
Annoyed by fiasco in bed? Light up now! Leave tiresome experience behind! nice escape is attainable! Flood of feelings is just a few clicks away!
Had enough of problem in bed? Cheer up now! Leave harrassing experience behind! urgent rescue is almoust there! Wow emotions is just minutes away!
Bored about trouble in bed? Liven up now! Leave tedious experience behind! quick help is within reach! Awesome bedtime is just a blink away!
Feeling uneasy about problem in bed? Cheer up now! Leave unnecessary experience behind! emergency is almoust there! Perfect date is just minutes away!
Frustrated disaster in bed? Perk up now! Leave odd experience behind! your magic remedy is available! Emotional breakthrough is just inches away!
Bored about problems in bed? Liven up now! Leave monotonous experience behind! your salvation is accessable! Unforgettable sensation is just inches away!
Disappointed at troubles in bed? Get up now! Leave worrying experience behind! helping uplift is within reach! Emotional breakthrough is just a few steps away!
It's a fun game trying to figure out what each message is peddling. Is it mortgage refinancing, watches, or penis enlargement pills? It's like a mystery!
16th April 2008, 12:51 am
My copy of Pro PHP: Patterns, Frameworks, Testing and More by Kevin McArthur has already been worth the money I spent on it.
In our, albeit slow, upgrade to more modern development practices (code version and unit testing being the last elements on my list), I was particularly fearful of code versioning namely concerning issues of automating a build process to export a copy of the repository to our shared development server, or just have a local server installed for everyone one.
However Chapter 8 has pointed me to two programs that I sincerely regret not having heard of until now: Phing and Xinc.
Phing is a build system written in PHP that works extremely well with PHP and PHPUnit. You can configure your own build targets, for example like "get" (SVN update essentially), "test" (run PHPUnit or any other unit testing), "try" (copy to a development server), and "deploy" (copy to your live server).
Xinc is a continuous integration server. Essentially, it monitors an SVN repo and performs a user defined action (usually running a phing buildscript) on any changes to the repo. Which is awesome because its solves the issue of updating the dev server. Having Xinc run a > phing try on SVN updates is exactly what we need! I'm even having delusions of grandeur of having it monitor tags for doing live deployments as well.
Don't take my word as gospel, I haven't actually installed and tested these systems out, but when I do you can rest assured I will be writing about it.
1st April 2008, 01:34 pm
I am by no means a database expert, such titles are best left to people like Peter Zaitsev and Vadim Tkachenko, however one of my co workers has been asking me for some help on how I come about my database designs, particularly issues concerning normal form.
Whlie I could spend several posts going over the intricacies of 1st, 2nd, 3rd, and 4th normal form as well as "The key, the whole key, and nothing but the key so help me Codd" Boyce-Codd normal form, however reality dictates that time spent strictly to these academic levels is either time wasted (projects with due dates unfortunately cannot spend forever on the database design) or pointless as being reasonably intelligent will bring you very close, if not within 3rd normal form.
If you're really interested, Wikipedia provides a great resource to get started learning the more academic aspects.
I'm going to assume that you have done a bit of database work and at least understand the concept of a join.
The one of the goals of database normalization is to reduce the repetition of information and thereby reduce the complexity of an update of said information. If the same string is in the database N times, we should abstract it so that if we need to update said string due to a typo or anything else, we need to only change but one location.
Continue reading ‘Database Normalization And Design: A Primer’ »