Cool Stuff

My theory for speeding up web app development

I have a theory and so far it has worked out correctly. There are three ways to complete a web application project. The wrong way is to skip the planning step and just start designing and coding. This greatly decreases the chance of finishing your project. However there are two ways that I’ve used to complete projects:

telnet for testing ssl/https websites

OK, here’s the problem… you want to test a website by sending custom headers, but the website uses https. Normally you’d just telnet to port 80 like so:

telnet www.somesite 80
GET /index.html HTTP/1.1
Host: www.somesite

(Note you need to press enter twice at the end)

This would be a valid HTTP GET request and you’d see the server’s response headers and response data. But with an SSL website this won’t work at all. What do you do?

Upgrading from Ubuntu 6.06 server to 8.04 server worked perfectly

I have a few servers (virtual and physical) and all of them run Ubuntu 6.06 LTS (aka Dapper Drake). Until now. I did my first LTS to LTS upgrade and it went without a hitch. So now I’m running mostly 6.06 servers and one 8.04 server.

I was very brave, maybe foolish even. I didn’t create a snapshot of the server before I started. 8-) I just did the upgrade. Apache upgraded fine as did MySQL, Django, Python and Samba. There are some warnings about upgrading SSH in place but I did it and had no issues. There were numerous warnings about needing to upgrade grub that scrolled by but the installer handles these for you automatically so you can disregard the warnings.

I did this because I wanted to install couch db (via) which is an exciting distributed database project. My first impression is that it is an excellent and exciting project but I will do more investigation and report later. In the meantime, test the LTS to LTS upgrade!

Netbeans 6.1 spanks Eclipse and challenges Visual Studio

Strong words, I know, and there are definitely some qualifying statements. I am not throwing out Eclipse just yet because it can still do some things that Netbeans doesn’t. But first, let me say that I’m excited by Netbeans 6.1, which is currently in Beta. I’m excited because I see in it a product that will challenge Microsoft’s Visual Studio, especially for new users and those doing development without a computer science background.

jQuery vs Mootools, one year later

A year ago I was making my decision on a javascript library. At that time I felt Mootools was the best deal. It was small, it was easy to learn, the ajax was dead simple (and needed no stupid tricks like reading the HTTP header for json data), it had beautiful effects and it was fast. It was far smaller than dojo and mochikit and it was a toss-up between it and jQuery as to which would dominate in the “market” that they both shared.

Getting your website done quickly - think inside the grid

I’ve done a couple little projects using the fabulous Blueprint CSS Framework lately. Let me just say, this rocks for getting your stuff done quickly. It allows you to create fixed-width layouts much faster than if you do your layout by hand. If you’ve already created your own CSS framework then it may not be a huge benefit, but you may still want to give it a try.

It works on the premise that you create a container that is a grid made of columns (by default, 24 columns 30px wide) and each column has a 10px gutter. Then, you assign styles to your elements that packs them into the grid. You can use an online application to generate a custom grid for you so that the result will be a layout that matches the widths you’ve specified for your site.

Using gzip compressed js and css without an app server

I am in an odd situation, maybe you can relate. I cannot easily serve dynamic content based on individual user/browser preferences. For me, its because my site is behind a somewhat dumb but effective caching proxy. However, this could as easily be applicable if you were hosting content on a site that only allowed static HTML content.

However, I’d still like to benefit from the phenomenal performance boost of using gzip’d Javascript and CSS (often a 70% reduction in file size). So is there a way to detect if the browser handles gzip’d media files using only client-side code? YES, here’s how:

Must listen to this CD: Classic meet cuba

I think I’ve blogged about this before but this group is so good, you really need to get this CD - Klazz Brothers and Cuba Percussion: Classic Meets Cuba. You can get it at the iTunes store as well.

The group created a mix of classical songs with a cuban style. Check out Cuban Dance, Mambozart and Air for some of my favorites, though the whole disk is good (a rarity).

Also, if you watched the movie “Surf’s Up” and wondered what that song is at the end of the movie that left you with a warm fuzzy feeling for the rest of the evening, it’s You Get What You Give by the “New Radicals” (link is to the amazon MP3). I think they’re a one-hit-wonder so don’t be surprised if you’ve not heard of them. I bought the CD at the used music store for $5 and wish I’d just bought this one song since its the only thing on the album I like.

Speak and Spell Code Feature Cracked!

OK, that subject line makes this sound more cool that it really is. The process was pretty simple. A little python script is attached that you can run locally. I’ll probably remake this in Javascript using a cool image based font that looks like the display on the speak and spell, but for now I just wanted to post this before I forgot about it. (I almost recycled it while cleaning off my desktop!)

Embedded Linux + Kindle

I’m getting excited to see embedded Linux showing up in so many places. The reason I think it’s cool is because very often it can be hacked to do something far cooler than the original intent. By hack, I mean disassembled, modified or improved in some unexpected way.

The Kindle is an expensive e-book reader that has an innovative screen and form factor. It also has a cellular data connection so that you can download books and apparently surf some websites. I did not realize that it is based on Linux.

Syndicate content

Back to top