Coding with Jesse

Wikipedia Discussions

May 23rd, 2007

I'm sure you all use Wikipedia on a regular basis. But what you may not be aware of are the millions of hours of hilarity, entertainment, and often revealing information waiting for you on every page of Wikipedia. At the top of the page is a link to the "Discussion" of that page, where the authors talk about what they want to add or remove, and often get into great, long debates (read: flamewars) about the contents of that page.

Some notable examples I've uncovered:

Just a small preview of the 1,797,673 "Talk" pages waiting to be discovered. If you find any other gems, please let us all know in the comments!

A URL is (maybe not) forever

May 17th, 2007

Last year, I wrote that A URL is forever. Well, like any good hypocrite, I went and changed my URLs yesterday.

I used to have URLs like:


Originally I thought having the date in there would make my site more scalable, so in 100 years (ha!), I wouldn't have a problem of finding a unique URL for my blog posts. Yesterday, I decided I'd rather have shorter URLs and just make myself come up with unique URLs for my blog posts (a matter of taste, really). So now my URLs look something like this:


So yes, my URLs weren't forever. But I didn't just change them all and break all the old URLs. No, the original URLs all still work. To do this, I added a 301 (permanent) redirect to my .htaccess file, like this:

RewriteEngine on

# need this forever
RewriteCond %{REQUEST_URI} ^/blog/d{4}/d+/.+
RewriteRule ^blog/d{4}/d+/(.*)$$1 [L,R=301]

Now, for the life of this site, I have to support both styles of URLs (at least for all blog posts posted before today). That's a sacrifice I'll have make to have shorter URLs. And that's really what's important: once a URL is released into the wild, it should always bring someone to the page it originally referenced, even if the preferred URL for that page changes.

How to make a web site for cheap

September 9th, 2006

Even though I'm a web developer for hire, I'm not really interested in making really simple web sites. I believe most people could do it themselves, if they just learn a few things. I'd rather spend my time coding web communities or Ajax enhancements or whatever.

So your aunt or some of your clients are bugging you for a free web site (and you don't want anything to do with it), then think about passing these tips along.

  1. Get a free web design

    There are a bunch of sites out there with free web designs available to the public. The Internet is so big, it really doesn't matter if you have a one-of-a-kind unique web design. Check out Open Source Web Design, Free Site Templates, or just search Google for free web design.

  2. Find really cheap (or free) web hosting

    There's a bunch of places that offer free web hosting, but a lot of them won't let you get your own domain name, or they might put a banner on your site or whatever. Plus, you'll want to have hosted email, and the only way to get that is by paying for it. Web hosting is the only thing you really have to pay for.

    The good news is, web hosting is pretty cheap. DreamHost, only charges $9.95/month ($7.95 if you pay for 2 years in advance). Plus, you get to register your domain name for free. There are other companies out there that are even cheaper and offer different things as well, so if you shop around you can find a good deal.

  3. Create the web pages yourself

    Get a copy of Dreamweaver or Microsoft Expression or something similar. This way you can put in your content yourself. You can even learn a bit of HTML and CSS and get your hands dirty. HTML is really easy to learn, and there are thousands of books and free web sites that can get you started.

Ten years ago, the only web sites out there were ones people made for themselves. Nowadays, with so many web companies out there, most people think they have to pay big bucks to get a web site. There is so much free information on the Internet that really anyone can learn how to make a web site, and it only takes a few hours for people to learn how to do it themselves.

Connecting People

August 22nd, 2006

I've become convinced the ultimate benefit of the Internet is and will always be the ability to connect people. Lots of people know this already. You can see evidence of it by the rapid pace of new Social Networking web sites being made. But I'm not interested in these billions of MySpace rip-offs.

There have always been people-matching sites on the web. Dating and Friend-finding sites (connecting individuals to meet in real life) and sites for finding jobs (connecting employers with employees) are some of the most common examples. We can also see people connecting through the uses of forums, blogs, online groups and other communities. But I think there is a lot of potential for specialized sites that solve a very specific problem for a potentially large group of people.

Take a look at BookMooch. This is a new site which lets people trade used books. No money is exchanged. Instead you get points for mailing books to people, and you can use those points to get books mailed to you. It is a perfect example of the potential of connecting people. It's not just connecting me to you so that we can chat about our shared interests. It's about connecting anyone who wants to trade books, and allowing the most complex of trades to happen very easily. "I'll give this book to her, and she'll give that other book to him, then he'll give some book to you, and finally you give this book to me."

Web professionals should check out Programmer Meet Designer. It's a place for finding freelancing partners who can help out each other in any number of ways, from a few hours on a single project to a permanent professional partnership. Most notably, it's geared to a specific yet large problem of matching programmers and designers, and it solves the problem well.

The possibilities are rather endless, and I think the room for competition or co-existence between these sites are quite large. For example, there are a large number of job searching sites which co-exist in harmony. As I outlined earlier this week, there are job searching sites which specialize in jobs for web professionals. There are also dating sites which specialize in every conceivable niche. People can use more than one of these sites at a time, and many do.

If you're trying to come up with a new web business, try to find a way to connect people who can benefit from each other. These sites will always be in demand, simply because everybody benefits.

The Desktop Web

August 15th, 2006

That dynamic duo Tara Hunt and her PiC Chris Messina have got me thinking. They've been talking about web applications starting to move to the desktop. Okay, that doesn't seem so interesting, desktop applications are like the oldest things there are. But we've learnt some lessons from web apps that we can try to bring back to the desktop.

Tara asks:

I sync my iPhoto with Flickr and Riya - but why couldn't I store all of that data on my desktop?

Chris sees web apps coming to the desktop more literally:

I'm seeing a third generation stack emerging that holds a great deal of promise for sewing up the future of offline-sync-online experiences.

That stack looks a bit more like Rails, SQL Lite (which the next rev of the Firefox bookmarks will be based on), Microformats, some blend of JSON/AMASS/jQuery/behaviour.js/scriptaculous/prototype and, yes, WebKit. What do they have in common? Well, enough inter-woven stickiness to make the heart of a true web geek start to murmur.

This got me thinking about something nobody really talks or cares about anymore: peer-to-peer.

Why doesn't every computer on the web run it's own web server? If you want to share something with the world (photos, music, a blog, etc.), you put it on your personal web server and people come to you.

Try to do this today. I ran a web server off my own computer for a few years in University.. that is, until the assholes at Rogers Cable told me to block port 80 or they would cut off my Internet service.

Okay, I understand the logistical problems here. Even our high-speed Internet connections couldn't handle the bandwidth issues of a busy web site, let alone a dial-up connection. And we would have to leave our computers running all the time. We would also need a static IP or heavily use, plus I can't picture average Internet users configuring their router to port forward to their personal web servers, nor configuring Apache. Not to mention the security implications.

Okay, it sounds like a bad idea for 2006. But I'm talking about the future of the web here.

Eventually, I hope, our current bandwidth will be as funny as 2400-baud modems are to us now. Eventually, perhaps, IPv6 will let every device have a static IP so we won't have to hide behind our routers. Eventually, when a web server becomes as easy to set up as a web browser, we will find them in every household. Eventually.

Best site in bleep!

August 13rd, 2006

Pretty much the only comment/form spam I get is of the variety that ends with:

Best site in bleep! My thnx to webmasters.

The rest of the message is usually different. Two recent examples are "Excellent site you have! Awesome content. Thank you." and "Thanks for nice and actual info' Be the Best!". These examples don't have any URLs in them, but many often do. I suspect the ones without URLs are a sort of ping/robot system that is going around testing for new places to submit.

The "From:" address is fairly consistent as well. It's nearly always from a address, though there are exceptions such as a recent one that came from [email protected].

What is this spam?? A search on Google only comes up with fellow blogger John Bokma's site, plus 37,800 other pages probably containing actual comment spam. John has logged a ton of different URLs and IP addresses of this spammer (nicknamed "Bleep"), and has concluded Bleep is actually comprised of a small botnet. He also describes Google's apparent inaction towards stopping this spammer on Blogspot.

I have a theory that Bleep isn't just a single spammer, but perhaps the default output of some kind of comment spam software used by hundreds of different spammers.

I'm rather interested to get my hands on some comment spam software - not to actually spam but just to see how the thing works to get some ideas of how to fight comment spam - but it seems impossible to find it. Searching on "comment spam" just brings up web pages against spam. Plus, I'm pretty sure whoever writes the software wouldn't name it "Comment Spam 2000" or something. It probably has a name like "Web Advertiser 2000" that makes it sound not-so-evil.

Does anyone have any info on this Bleep bot? Or any ideas of where I can find comment-spamming software?

The Timely Web

June 5th, 2006

Did you ever own a directory of the web? Like this big yellow pages book with every known web page on the Internet? I did. I never used it. I guess I skimmed through it, but it was very soon out of date. Not only were half the links gone, but there were so many new sites that just weren't included. The thing is like an antique now. It'll probably be in a museum one day.

A few years later, the web got bigger and bigger. Soon it was too big to be navigated by a book, and of course search engines took over. The web was filled with many new web pages, most "Under Construction", and we were told to "Check back soon". Still, it felt like we could conceivably read the whole Internet if just given enough time. What we didn't consider was that the growth of the Internet would never stop.

Now look at where we're at. It's impossible to stay up to date on the 10 or 100 or 1000 web sites we visit without using RSS feeds. Thanks to technorati, we can see what others are saying about a topic in nearly real time. We've been forced to give up trying to "surf" the whole web, and have mostly settled down into our niches with barely enough time to do even this.

With so much information to choose from, only the very newest is often paid attention to. When you arrive at a new site, or subscribe to a new blog, do you take the time to read all the old posts? Or do you just sign up and look forward to the next posts, the newest stuff. I know I rarely have time to go back and read older stuff.

The Internet is indeed a giant repository of information, but the way many of us are using the Internet is changing along with the web itself. The blogosphere isn't just a sign of the personal web, it's also a sign of the timely web. We're less interested with what others have said about a topic, now we want to know what they've said about it lately.

Let's get personal

March 29th, 2006

I think personal homepages are going to be the next big thing on the Internet. Seriously, hear me out.

When the web was new, pretty much everyone got themselves a Geocities or Tripod account and set up some kind of web site. That's what's so new and special about the Internet: anyone can have a web site. Not everyone can have a TV show or a Radio show or a Magazine column. Plus, web pages can reach even more people than any TV show or Magazine can.

Then, all these companies figured out they need web sites. All you heard about was eBusiness and dot-coms and how the Internet was changing business (though nobody knew how, exactly). So the Internet started to get all corporate.

Now, "suddenly", personal web sites are big again. I'm mostly talking about blogs. But what's really special about blogs? The fact that one person can easily get a site and start writing, and build an audience, even more readers than some newspapers out there. That's pretty crazy.

The whole nature of the web makes this possible. It's totally leveled the playing field. Anyone can do good on Google without spending a cent. Good content thrives on the Internet. You just have to contribute something valuable and people will find it.

Okay, so web sites with pictures of cats aren't so interesting or revolutionary. But personal doesn't have to be boring. This site is a personal web site. It's about web development, but it's just my take on it. Stuff I've figured out, thought about, and so on. It's my personal contribution to the web development world.

So when I say personal, I mean individual. I mean that one person by themself can do bigger things on the Internet than they can in real life. They can publish a book. They can sell (or give away) their music. They can make movies. They can create a popular comic strip. They can start groups. They can start businesses. They can run a huge business just by hiring and outsourcing to other people on the web. And these other people can just be individuals too, doing the same outsourcing themselves.

There are a LOT of people who don't have web sites yet. And all of these people have special interests, passions, talents and things to say that are just hiding away. Soon, these people will make pages (whether on MySpace, blogger, LivePages, or something else). They will start to open up and share their hidden talents with the rest of us.

Everyone benefits from this. The more information and entertainment on the web, the better. The Good Stuff will rise to the top, and the more available, the better the Good Stuff gets. And, of course, the people making the Good Stuff will benefit too. This will just make more incentive to make Good Stuff, and you can see where this is going.

So what can you do? Get out there and contribute. Don't be shy. Get your drawings, pictures, movies, stories and rants on the web. Help your friends and family to do the same. Do what you love, do your best, and do it in public. Your audience will find you.

A URL is forever

March 21st, 2006

The golden rule of URLs: They never change.

This certainly isn't a new topic. In fact, it's as old as the web itself. It seems like it's been long forgotten, brushed off and ignored. It is still highly relevant and can't be stressed enough.

When designing URLs, assume they will be still be used 1000 years from now. Why? People already assume they won't change. They bookmark the page, search engines index the page, other sites link to the page. It's your responsibility to keep the page there.

Web applications, search engines, online shopping and sadly even simple web sites have designed URLs to be disposable, full of variables including session IDs and other junk. How often have you sent or received a URL that didn't work because the "session has timed out" or some other reason?

You can improve the permanence of a URL by making it as simple as possible. Try not to include a file extension (.html, .php, etc.) Try to split things up into a logical hierarchy. Using dates in the URL like /2006/3/ can help a site grow over time, but so can using a unique ID such as a number or title.

Sometimes URLs just have to change. Perhaps the original URL was one of those temporary, junk-filled ones and you are migrating to a permanent URL system. When this happens, make sure you put something in place to send the visitor to the new location.

There is already a great document written on this topic, so rather than repeat everything, I will include it here. I highly suggest you read it if you haven't yet:

W3C: Cool URIs don't change

The Future Is Now

March 12nd, 2006

So what's next with the web? Will we see the next big thing come when CSS3 gets adopted? Will there be a revolution on the Internet when browsers support XHTML 2? No, of course not. These things might make life easier for us, but they aren't going to change what we can do right now. We already have all the tools we need.

Even XUL or XAML will just make things easier. They're not going to change what is possible. We can do anything right now using JavaScript, CSS, HTML and (for the really tricky stuff) Flash. We can communicate to the server in real time with XMLHTTPRequest or Flash Remoting. We can make complex interfaces that update themselves. Nearly anything that is possible in a desktop application, and so much more, is possible on the web.

So what does this mean? It means we're not waiting for anything except new ideas. Whatever the coolest, greatest new thing will be in 2010 will probably have been possible right now, if only we could have thought of it.

It's only our perception that changes over time. For example, Google Maps used technology that was there for years to do something very useful, and it pushed the limits of what we thought were possible in a web page. And it didn't take long for Microsoft and Yahoo to roll out their imitations. We could have had maps like this years before, if only someone would have thought of it.

It'll take some time to explore what other possibilities exist in the technology we have available. But there's no need to wait around. Let's see what's possible today.

What is Web 2.0?

February 14th, 2006

I know, this question has been answered thousands of times. Even still, nobody can agree on what it is exactly. Here's my take.

Web 2.0 obviously implies the "next version" of the web. Ask Tim O'Reilly (who coined the term to promote a conference), and he won't really be able to summarize it either. He'd rather define it by example. DoubleClick is Web 1.0, Google Adsense is Web 2.0. Personal websites are Web 1.0, blogs are Web 2.0. Content Management Systems were Web 1.0, wikis are Web 2.0.

Web 2.0 is said to include everything from tagging, Ruby on Rails, AJAX, peer-to-peer, RSS, the perpetual Beta, and user-contributed data. Let me propose this: Web 2.0 includes anything that was done successfully on the web in 2005. There, I've said it. Now, I'd like to propose something else: Let's focus on the different ways the web has improved, and let's never use the term Web 2.0 again. Seriously, starting right now. Who's with me?

Having said all this, the many different definitions can finally be read without that nauseous feeling. Don't worry any longer that your website is running the wrong version of the Internet, just relax and take a look at how far we've come. It's not worth much to say "This website follows the new trends in web sites, this one doesn't". There's certainly no need to start a new industry over it. Instead, let's just see what works and what doesn't.

If we spend all our time defining such a vague marketing term, we're going to severely miss the point. There is no Web 3.0, and there needn't be a Bubble 2.0. We have a lot of really great examples to follow, and there's still a lot that hasn't been done. So let's just keep doing what we do best.

So let's see what we can do with Folksonomies, let's find things every web site can learn from blogs, and let's see what new directions we can go in in the future of the web.

What I love about the web

February 7th, 2006

Right now, A List Apart is asking its readers what they love or hate about the web. I just sent off mine, but I thought I'd put it here so it doesn't go to waste if they don't include it in their next issue:

What do I love about the web? Anybody can have a voice. It just takes one person with something to say to make a huge difference. The whole world is having a discussion at a round table. Everybody is an expert. Education, social status, location, race, gender, etcetera are completely irrelevant. All that matters are thoughts and ideas.

Not merely an ideological utopian vision, we are already living this reality. Blogs are not simply a new trend in marketing and journalism, but the beginning of a fundamental shift in the way the world interacts. We, the people, run the world. We are growing less reliant on government and big business to get things done and are doing things ourselves. Together, we can do anything, and nobody can stop us.

If you want to submit yours, they say:

Send yours to [email protected] and include your full name, e-mail address, and occupation, and a statement giving us permission to publish your remarks. We reserve the right to edit responses for length and to correct spelling errors.

Update: Indeed, mine was included. I even got to have little AJAX and DOM sweethearts beside mine :)

What is Ajax really?

April 10th, 2005

There has been quite a bit of buzz surrounding Ajax lately, even some coverage in the Wall Street Journal. So what is Ajax? A software package? A programming language? A dutch soccer team?

Ajax stands for Asynchronous JavaScript And XML. It's a buzzword to refer to using DOM Scripting and JavaScript Remote Scripting to build interactive web applications. Until now, the concept behind writing web applications was to let the server code produce HTML and send it to the browser. Now, for some reason, everyone is starting to realise that a lot can be done with JavaScript, HTML and CSS.

A web page sitting in a browser can act much like any program on your computer, and often even better. Look at Google Maps. Accessing a large database over the internet is a great idea. Keyhole does this on the desktop too, but Google Maps might be even easier to use than Keyhole itself.

I think there's a lot more that can happen here beyond the benefits of retrieving data. Forms can be submitted to a hidden IFrame, allowing the web page to add records to the database. Or with Google Suggest, even the interaction with form elements can be enriched.

If we start thinking about web applications as full-blown applications, we can see other areas that aren't being utilized. For example, a web browser is capable of handling all the events a desktop application uses such as the dragging Google Maps uses, or the keyboard interaction CSS Zen Garden uses. Also, Flash can be used for some complex interactive pieces (such as a Calendar) and talk back and forth with the web page and the server using JavaScript.

It's time to take a look at the web applications we have around now and figure out how Ajax can be used to improve them. This'll be a major turn in what the Internet has to offer. It turns out standard web technologies achieve what Flash and Java have done, but with much smaller file sizes. I really think this is the color-television revolution of the internet.