Programming

Programming

If you've got an interest in programming and web development, this category is for you!

The Programming category carries news and announcements about programming techniques, programming languages, development platforms and developer tools that we feel will be useful to developers who write software that builds upon or integrates with the Tucows platform. We know that our partner developers work on all kinds of web applications, so the articles we post aren't always Tucows-specific, but often cover general web development as well. Here, you'll find useful links, articles, advisories, opinions, how-tos and tutorials on topics of interest to web developers.

Mobile Web Design

The article series Mobile Web Design may be over a year old, but with the current land rush for .mobi domains, it's even more relevant today. It comes in three parts: State of the Mobile Web, Methods to the Madness, Tips and Techniques .

TIOBE Index: This Month's Hot Languages are Ruby and D

The TIOBE Programming Community Index is an attempt to gauge the popularity of programming languages, based on "the world-wide availability of skilled engineers, courses and third party vendors" as well as search engine results. Published monthly, it lists the 50 most popular programming languages. In the September 2006 index. they declare "Ruby and D are the hot languages of today".

More after the jump...

more »

Fun with the Kiko API and Ruby, Part 1

Kiko logo

Here's the first of a series of articles that introduces you to the Kiko API and also introduces the Ruby programming language for those of you who've been meaning to learn Ruby but haven't yet started.

more »

Steve Yegge: "Good Agile, Bad Agile"

Over at Steve Yegge's blog, there's an article titled Good Agile, Bad Agile that's been getting a lot of attention for a couple of reasons. First, there's Steve's assertion that agile methodologies aren't; second, he describes what working at Google is like, and it sounds like a developer's wonderland. Steve's writing style, which I find funny, is a bonus.

7 Things You Need to Know About Ajax

Don Hinchcliffe says the Seven Things Every Software Project Needs to Know About Ajax are:

  1. The Browser Was Never Meant For Ajax.
  2. You Won't Need As Many Web Services As You Think.
  3. Ajax Is More Involved Than Traditional Web Design and Development.
  4. Ajax Tooling and Components Are Still Emerging and There Is No Clear Leader Today.
  5. Good Ajax Programmers are Hard to Find.
  6. One Must Actively Address Ajax's Constraints of the Browser Model.
  7. Ajax Is Only One Element of a Successful RIA Strategy.

Interesting developerWorks Articles

There's a boatload of articles on IBM's developerWorks that might be of interest to you -- I've selected the ones that caught my attention and listed them after the jump.

more »

Sets in JavaScript

A common task in programming is determining if a value is equal to one of a set of given values. Normally, this might involve setting up a large if or switch structure or a long expression full of Boolean ORs. However, in a flexible language like JavaScript, a simple function lets you implement sets, and testing for set membership is easy. For more, see this article: Sets in JavaScript.

Lifestyles of the Rich and JavaScripty

According to a survey by IT JobsWatch in the UK, the average salary for a British Ajax coder has gone up by 33% over the past year, from £29,375 (US$55,853) to £39,228 (US$74,588).

In response, Dietrick Kappe at the Agile Ajax blog wrote:

What's ahead for companies that are developing Ajax applications (and at this stage, that seem to be just about everyone)? There are those that will double down on traditional languages and skillsets via Javascript code generators such as GWT. But there will be enough companies going the pure Javascript route to drive up salaries even further. And behind the demand will come the training and certifications, the standards, tools and blessed frameworks, and the army of freshly minted Ajax programmers to fill all of those well compensated jobs. If you're considering selling all of your Java books and moving to a Javascript commune, do it quickly.

Golden Rules for Bad User Interfaces

In case you were looking to drive your users crazy and have them marching to your door with torches and pitchforks, the SAP Design Guild has a list of Golden Rules for Bad User Interfaces.

DemoCamp 9 Tonight

DemoCamp Toronto logo

Tonight marks the return of DemoCamp -- Toronto's monthly show-and-tell for the software and web development crowd -- to its regular schedule. Check out the full article for all the details.

more »

Yahoo!'s Ruby Developer Center

Ruby logo

Yahoo! has just launched a Ruby Developer Center which features useful links to HOWTOs, educational sites and resources. If you're getting started with the Ruby programming language, it's a good starting point.

Larry Wall's "State of the Onion 10" Presentation

Hey, programmers! Interested in a little diversion? Go take a look at the text for Larry Wall's 10th State of the Onion presentation, in which he talks about all manner of topics, and if you're incredibly lucky, he might mention a thing or two about the current state of Perl. It's good coffee break reading.

Ruby Library for the Kiko API

Kiko logo

If you've been trying to get your paws on the Ruby library for the Kiko API without success, I've got good news for you:

If you're curious about the Kiko API and have got Ruby installed, you can give it a shot in interactive mode using irb -- the tutorial page will show you how. In the very near future, I'm going to post more extensive tutorials.

If Programming Languages Were People

'If Programming Languages Were People', a 'Foobar Jenkins' comic by Mike Arace

This one amused me: Mike "Mike-O-Matic" Arace's comic, titled If Programming Languages Were People.

Intro to XForms

As if there wasn't enough new client-side technique to cover, what with Ajax, DHTML, CSS and so on, there's also XForms -- the next-gen, XML-based, MVC-based, portable answer to HTML forms. They were made an official W3C recommendation back in March, they work in IE and Firefox, and they could very well become part of the Web 2.0 toolkit. Get the skinny at the first of a three-part series at IBM's developerWorks in an article titled Introduction to XForms, Part 1.

Good Ajax Reading

The people at Zimbra, the company that makes open source messaging and collaboration software, have been blogging about Ajax recently. I've listed some of their articles of note after the jump.

more »

10 Things You (Probably) Didn't Know About PHP

PHP logo

At (Yet Another Web Development Blog), there's an article titled 10 things you (probably) didn't know about PHP, which the author Jamie describes as "a short list of cool features that might have slipped under your radar as well."

Dreaming in Browser Swamp

I've been keeping a dirty little secret: in spite of all the fuss about web applications that can do what only desktop apps could, "Web 2.0" and Ajax, I have until recently been pretty ignorant of JavaScript, DHTML, the DOM and even CSS (I was using tables for layout until this year!). The shame isn't just mine; a lot of programmers to whom I've spoken have said "Yeah, me too."

Steve Yegge was in the same situation and he's been doing what I've been doing: self-training in JavaScript, Ajax and DHTML. He's written some notes and based on this experience in a blog entry titled Dreaming in Browser Swamp. He makes some interesting observations, my favourite of which is:

JavaScript is probably the most important language in the world today. Funny, huh? You'd think it would be Java or C++ or something. But I think it just might be JavaScript.

Language Wars, Part 1

Mexican standoff from the film 'Resevroir Dogs'.

Here's some food for thought for warriors on either side of the Ruby/Python language war: the c2 wiki entry titled Python and Ruby and Converging and Wheel of Ezekiel's Ruby vs. Python - why no-one should care.

Python 2.5 (Final) is Now Available

Python logoToday's a big day for Python programmers. You can download the final, production, ready-for-prime-time release of Python 2.5 starting today. For more information, you can read a quick overview of Python 2.5's highlights, or if you're craving some depth, check out Andrew Kuchling's What's New in Python 2.5.

Programming Languages You Should Learn

Programming

eWeek has published an article listed the "10 Programming Languages You Should Learn Right Now". I think it offers some bad advice and promotes a short-sighted view of programming and offer some counter-advice.

more »

Java, Groovy and JRuby Side-By-Side

Programming

This handy table created by A. Sundararajan provides side-by-side examples of the use of various features of the Java, Groovy and JRuby programming languages.

Rasmus Lerdorf: "Getting Rich with PHP 5"

Programming

Rasmus Lerdorf, creator of the PHP programming language, has posted his slide from his keynote at the php|works / db|works conference titled Getting Rich with PHP 5. His presentation covers a wide array of topics: common problems and risks for PHP programmers, Internet Explorer annoyances, getting rich by writing a PHP Web 2.0 app that can handle the load put on a popular web app, how pleasant PHP 5 makes working with XML and web services (see the 5-second RSS parser) and PHP 5.2's hooks for applications that support file upload.

Paul Reinheimer's Presentations and Book on Web APIs

Programming

Paul Reinheimer had two presentations on web services sessions at the php|works / db|works conference in Toronto yesterday. In this article, I do a brief review of his presentations and a preview of his book, Professional Web APIs with PHP.

more »

Kiko From a Developer's Point of View

There's been a lot of noise on various web sites and blogs about the business aspects of the Kiko acquisition. That's fine, but as a developer working at the company that acquired Kiko, the acquisition is far more interesting for another reason: I'm hoping to get a look at the code.

Kiko is written using the web development framework called Ruby on Rails (a.k.a. "Rails"), which in turn is written using the programming language Ruby. When I first came to work at Tucows in July 2003, Ruby was still considered to be a fairly obscure language. When I was told that Blogware was being implemented in Ruby, I was a bit skeptical: where would we find maintenance developers who knew how to program in this language that nobody seemed to use?

Ruby is no longer considered obscure, thanks to Rails, Ruby's "killer app". Rails is designed to be fun to work with and eliminates a lot of the headaches and annoying, repetitive and dull parts of development (what I refer to as "yak-shaving") through automation, good design and the use of programming conventions. It seems to have caught the attention of many programmers; the Rails in-house tutorial session I'm leading here at Tucows next Tuesday is going to pack our boardroom.

I've only worked on very small-scale Rails projects that run on my PowerBook -- little programming experiments and the example application provided in the must-have tutorial Agile Web Development with Rails. I've only seen the code behind demo or "toy"applications written in Rails, not something that has had some real-world "mileage" and has handled tens of thousands of users. To me, Kiko represents an opportunity to see the code behind such a real-world Rails application, learn from it and even share some insights. I'm looking forward to seeing that source code.