After over 1700 posts here at Tucows Farm, this blog is moving! I'll still be posting programming articles for web developers, but from now on, they'll appear at the Tucows Blog, located at tucowsblog.com.
In addition to my regular posts (which will return to their regular posting frequency), the Tucows Blog will also feature articles by other Tucows people. Don't worry, the programming articles will be very clearly marked with these graphics:
![]()
...but be sure to read my coworker's posts too -- they've got lots of stuff that you might find very useful if you're making a living off the web.
One of the current top entries on reddit is a link to an excerpt of Neal Stephenson's essay In the Beginning was the Command Line in which he talks about a powerful drill called the Hole Hawg.
For those of you who were wondering what a Hole Hawg looked like, I've posted a picture below. Click it to see its page in the mytoolstore.com catalog:
Martin Schulze, who goes by the nickname "Joey", writes that the upcoming release of Debian, codenamed "etch", is going to ruin its reputation forever:
When etch was installed we wanted to access the USB disk in order to move some pieces of the backup to the new system. It was pure horror. After plugging the cable into the USB slot, an icon appeared on the screen and after clicked caused the system to mount the first partition on the external disk. It worked. Out of the box. Without tweaking anything. That's so non-Debian...
I also noticed a while ago that a USB mouse with a scroll wheel was also simply recognised by X.Org in etch and just worked. Huh? That's not how Debian is supposed to react.
Where are the hours of fiddling around how to properly add USB stuff to the system? Where are the evenings you needed to debug such stuff? Nowadays it just works? Where's the Debian we all knew?
After a brief hiatus to help put together The Tucows Blog, I'm back to posting more developer news here on Tucows Farm. Thanks for bearing with us!


For those of you who follow the news about web companies, you're probably aware that the web calendaring application Kiko was recently put up for sale on eBay and sold for US$258,100. The only clue to the identity of the buyer was the eBay username "powerjoe1998".
Well, now that all the i's have been dotted and the t's have been crossed, it can now be revealed: it's us, and by us, I mean the company for whom I hold the title of Technical Evangelist: Tucows.
Want to know more? Check out the article on our new blog: Why We Bought Kiko.com.
I've just finished recording a podcast with our CEO, Elliot Noss and our General Manager of Retail Products, Ross Rader. It'll get posted later this week and will go into more detail about the Kiko acquisition and have a tiny bit about my small but not insignificant role in it.
More about this in upcoming posts.
You try it yourself -- go to Kiko.com and get yourself a calendar -- or if you'd rather read about it, check out all these links on Reddit.com.
In the comments to Python: Not Just Java Without the Compile, Michael Geary writes:
Joe's article has the wrong definitions for first-class functions and metaprogramming. His definition of continuations doesn't look right either, but it's too early in the morning for me to be sure. :-)
Michael's right -- serves me right for giving the article only a casual glance. Joe defines a first-class function as "a standalone function, it doesn't have to be a member of a class". First-class functions are more than that -- they've got all the powers and privleges that objects do. Basically, with a first-class function, you can:
For more on first-class functions, take a look at Wikipedia's entry.
First came the Python site's redesign, and now comes one for the Ruby site.
As of today, here's what you'll see if you go to http://ruby-lang.org/en/:

The original recipe Ruby site. Ghetto-licious!
But you can get a glimpse of the (very) near future at http://new.ruby-lang.org/en/:

The new-look Ruby site, all Web 2.0.
For more about the redesign, see this entry in RedHanded and check out the Ruby-Lang resdesign blog.
Over at his blog BitWorking, Joe Gregorio writes:
I've had several conversations recently where it's become clear to me that some people view dynamic languages like Python and Ruby as just Java without the compile step. Yes, one of the advantages of a dynamic language is the ability to drop the compile from the edit/compile/run cycle, but there is much more to it than that.
In the article, Joe covers ten things that distinguish dynamic languages like Python from Java, may of which are also applicable to Ruby:
Over at Encytemedia, there's a hilarious imaginary conversation between an open source developer and a designer. Here's the first part:
It’s Monday morning and “Designer” has just decided to help “Developer” on the open source project “ProjectX”. Designer doesn’t know it yet, but he’s in for a long day.
Developer: Hi Designer! We’re really glad you decided to join our project. We could really use a kick ass UI because we all suck hippo ass at design.
Designer: Thanks! I’m looking forward to helping out. I have some really great ideas for the project.
Developer: Thats awesome Designer. I’ve got you an svn account setup.
fred/23rSD@#$SDRsdfEasd5323. Go ahead and check out the source.Designer: Where do I check out the source?
Developer:
svn://open-source-project-x.com/svn/trunk/Designer: Cool, thanks!
[10 minutes later...]
Designer: Uhh...I don’t see anything at that url.
Developer: ???
Designer: When I go to that url, I don’t see anything. Safari just gives me a message saying it can’t open that url or something.
According to a survey conducted by Evans Data Corporation, developers in the "BRIC Countries" (Brazil/Russia/India/China) are embracing Ajax development more than their North American counterparts. "Brazil is breaking through the pack with 25% of developers using the technique," states the press release. "China has the lowest adoption rate with a little over 16%, closer to North American levels of AJAX adoption which are just below 18%."

The survey collates the responses from over 400 developers from Brazil, China, Eastern Europe and India.
PHP adoption varies by 20%, with Eastern Europe on the high end at 39%, North America at 35%, China and India at 31% and China with the lowest useage rate: 21%.

Other interesting tidbits from the report:

PrimeShooter, a 2-D shoot-'em-up written in JavaScript. Yes, I added a little motion blur to the image to show that the player is firing a "2" at the oncoming number.
Perhaps the combination of JavaScript, HTML and CSS is not the ideal platform for implementing a 2-D shoot-'em-up game, but that doesn't mean it can't or shouldn't be done. It's a fun way to learn some things about JavaScript programming and you may also be pleasantly surprised as what is possible.
In the article Notes on Writing a 2-D Video Game in Javascript, Phillip Dorrell shares his thoughts on the development of a game called PrimeShooter, in which numbers attack your ship and you must reduce them to 1 with prime factors and missiles that can destroy prime numbers (it's actually a little more fun than it sounds). The article covers a number of aspects of JaavScript programming, from cross-browser issues to JavaScript's odd way of implementing OOP to keypress detection to collision detection.
The php | works / db | works conference takes place in Toronto from Wednesday, September 13th through Friday, September 15th. I'll be attending, taking my traditional copious notes and taking accordion requests.
Click here for a complete schedule and synopses of the sessions.
Hey, readers! I'll be on a short vacation from Monday, August 21st through Thursday, August 24th and returning back to work (which includes this blog) on Friday, August 25th. I may have a couple of items on auto-post during that time, but there are no guarantees.
Sooner of later, if you're processing text that's come from any number of platforms, you're going to run into the newline Tower of Babel. This OnLAMP article, Understanding Newlines, may come in handy.
According to Dustin Weber's article, the 10 things are...
Okay, so it's more of a "Nyeah, nyeah, look at the cool stuff in my office" list rather than a list of must-have amenities. But it's still interesting to see what the environment is like at other offices.
Here at Tucows, we've got two kitchens (one fully decked-out, one partial), a deck with seats, tables and two gas barbecues, a few World of Warcraft players, a large number of stuffed cow toys, a couple of comfy couches, a reasonable set of toilets, a shower and a meeting room with a projection screen.
What's your office like?