Posted on Leave a comment

URL Shorteners Causing a Stir

The Internet is in an uproar this morning. This uproar will probably be done in the next couple of hours for all but a few select people like the programmers at Twitter and Delicious. The debate? Are URL shorteners good or evil?

URLURI shorteners take a long URL like http://realityme.net/2008/08/21/can-you-rely-on-twitter-for-breaking-news/ which search engines love for the embedded keywords and reduce them to as few characters as possible like http://tinyurl.com/43abj6 which search engines may or may not like. Joshua Schachter has posted about the evils of URL shorteners with a plethora of comment from people on both sides of the fence. Dave Winer, who pioneered RSS, says that URL shortners are risky. Basically the concern is that we are creating a situation where broken links may abound on the Internet. Since two URIs go to the same place, content is being duplicated in search engines and bookmarking services and since some of these services use 301 redirects while others use 302 redirect we have no good way of crediting the link to the source. (301 means the uri has been permanently moved to a new uri, ie. the original long uri, and 302 means that the uri has been temporarily moved meaning the search engine or bookmarking service should record the short uri as the permanent resource). Other concerns revolve around archiving and longevity of these shortening services. If Twurl goes out of business, most of my shortened uris will break. As an example of this, Twurl.nl is no longer Twurl.nl but is now Tweetburner. After reading this analysis of uri shortening services, I don’t think I will be using Twurl/Tweetburner anymore anyway; I love their stats but a 302 redirect is deplorable.

To shorten or not to shorten, that is the question. A proposed solution is that publishers should automatically offer their own shortened URLs which could hurt your searchengine-fu. Personally I am going to keep my long URIs but I think I’ll switch to bit.ly or tinyurl.com while they are using 301 redirects (that is until the day they decide not to use 301 redirects…letting other people control your data is confusing isn’t it?!).

Aside: A URL is a subset of a URI. There is some debate about whether URL has be deprecated or not. See Yuri not Earl.

Update: 5 Reasons Why URL Shorteners Are Useful

Posted on Leave a comment

ZZZzzzz Programming

I’m not sure how many different careers allow you to work in your sleep. Probably most of them when you come down to it since our dreams seem to be where we work out our issues. As a programmer, I have solved a variety of problems in my sleep and I love it! Last night I lay down with this complex conditional statement I was going to have to write to finalize yesterday’s coding. I woke up at 4am knowing how to solve the problem in one line of code. Now that’s the way to start your day!

Posted on Leave a comment

The Perfect Job Pet Project

I took my 15 minutes on my pet project in bed as I drifted to sleep. No computer was necessary. The question of how to write the application had to be answered. ColdFusion or PHP? I have hosting for both. This question only applies if I am going to totally custom design the application from ground up.

Custom designing a web application can be compared to redesigning a kitchen. You have skills. You can buy tools and wood at Home Depot. A professional might choose different places for equipment and materials. You could draw rectangles on a piece of paper and build your own cabinets but you will probably make some mistakes that a professional carpenter has been trained to avoid. When your cabinet sags oddly in the middle you might apply a hack by wedging a length of 2×4 under the sag. A professional would never do that but no one is going to see your hack so what does it matter? That is until you try to install an appliance under the counter and realize your counter cannot be used with that appliance due to the accessibility issue created by your 2×4. In the end you will probably have spent the time and money doing it yourself and then time and money to have a professional repair your installation. Of course, at this point you resent the professional because so much money is being spent. A less expensive option would be to purchase pre-built (open source) cabinets. These should mostly fit your situation and you probably have the talent to install them yourself although paying a professional to install the pre-built cabinets will guarantee they are installed correctly and don’t fall off the walls.

Laying in bed thinking about the path of least resistance and picking low hanging fruit, I ruled out a custom application despite having the talent to build it. A custom application will take much longer to launch and there is no guarantee that The Perfect Job will get traffic or produce income. Although there is plenty of open source in the ColdFusion community, I will rule it out and limit myself to the PHP open source community. This narrows my decision to WordPress, Joomla, Drupal, and Django (a web application framework..so this is still custom programming). There are plenty of other options but no sense in making the list too long. A comprehensive list can be found at http://cmsmatrix.org/.

I have more experience in customizing Drupal than I do with Joomla or Django. Drupal is a powerful CMS and many consider it a real CMS while WordPress is frequently dismissed as "just a blogging platform." However, Drupal hits a server kind of hard. I don’t pay much for hosting and you get what you pay for so I will rule Drupal out to avoid having increased hosting fees due to too many CPU cycles or memory usage. Once The Perfect Job is getting more attention, I can always upgrade the hosting and reconsider Drupal.

The choice is quickly becoming self-evident. Joomla gets a lot of positive press. It is a split from the Mambo development. If I am not mistaken, Scripps Networks is a fan of Django and that alone should be a reason to experiment with and learn Django. The fact that they are a major online publisher adds more reason. However, I am far more familiar with WordPress customizations than Joomla or Django. The path of least resistance is undeniably WordPress.

So in less than 15 minutes, I was able to come to a firm decision to write the features of The Perfect Job as part of a WordPress installation. The next 15 minutes will come this evening or this weekend and will be to closely read the WordPress licensing agreement to see if the coding I do for The Perfect Job will have to be released into the open source community or not.

Posted on Leave a comment

What do I do?

I often get the feeling that most people have no idea what I do down in this dungeon. Here’s a sample:

In the next hour, I will write, test and prove some php and JavaScript+jQuery to present a table of data, allow a user to click a delete icon, use a modal to prompt for delete confirmation, then remove the data from the database and the row from the table without a page refresh. Will work in IE6, 7, Chrome, Safari and Firefox.

This is also a micro-milestone. I often write these down, although I rarely publish them, when the number of tasks I have is overwhelming, or I have coder’s block, or I need motivation. Giving yourself small, achievable milestones can lead to great productivity.

Update: Had a digression. To get the new code to work I had to upgrade jQuery’s UI from 1.5.3 to 1.7.1. This was well worth the effort. They’ve done a great job with 1.7.1!

Posted on Leave a comment

Pet Projects

Every developer needs a pet project. In a decade of writing code for other people I have had some fantastic ideas and even a couple of false starts but never truly had a pet project. My excuse has always been that I was waiting for a lull between projects to be able to write my own but there is no such thing. Either you jump from one project to another or from a project to marketing for another project. I’ve decided that I will steal away 15-30 minutes a day, no more, to work on my own pet project. For the project, I have chosen The Perfect Job. This evening I will take 15-30 minutes and simply decide between custom coding all functionality of the site versus incorporating it into a CMS such as WordPress, Joomla, Django, or Drupal. As I work through the build out of The Perfect Job, I will blog each 15-30 minute session here.

Posted on 2 Comments

Bureaucracy R.I.P.

An easy mistake as a freelancer is to get behind on paperwork. Maybe that paperwork is balancing your checkbook or sending invoices or mundane like writing up postmortems for projects and filing the supporting documentation or something more evil like IRS filings. Whatever it is, I’m caught up on all of mine!

Posted on 1 Comment

April 1st – the most worthless day on the Internet

How’s the saying go? "Believe none of what you hear and only half of what you see" or did I get that backwards. The point is some inanely hugh amount of information on the Internet is inaccurate. I’ve always said 90%. This is why you should always confirm your sources! On April 1st I just assume 100% of the information is wrong. Of course, whose April 1st are we talking about? Darren Rouse of Problogger fame lives in Austrailia so for many people last year his April Fool’s Day joke came in on March 31st making people believe it was real. My first 30 seconds of looking at the Internet today:

TechCrunch beat me to the roundup. That said, Internet, I’m turning you off today. Even Redditers hate April 1st.

Update: When did April Fool’s Day begin?