Posts from the Web Development category

A Much Needed Update

Finally bringing colbypalmer.com into this decade.

Today I get to release something special: a site I've built just for myself! This is special because I have been SO busy with client work that my site had become somewhat dated. I had been wanting to swap out the software from the excellent ExpressionEngine to a custom Django back end. (I mostly build in Django these days and it bugged me that my own site wasn't built with it.) I also wanted to update the front end with a modern HTML5/CSS3 interface - believe it or not, my old site was old enough to predate jQuery (not to mention border-radius and the like) so most of the UI was pretty rusty - not at all a showcase of my current skills.

So, welcome to the new colbypalmer.com. Tight, ain't it?

The site has a responsive layout that serves a different experience for desktop, tablet, mobile (landscape) and mobile (portrait). Try resizing your browser window to see what I mean! It's packed full of the latest HTML5/CSS3 goodness, with appropriate fallbacks for older browsers. It also is running a full-featured Django blog app that I've built and plan to open-source as soon as I can package up the code.

I plan to write up a couple things related to this site: a colophon page so I can credit folks whose plugins/apps this site uses, and tutorials on some of the cooler features I've got here - a few things that I developed in the course of making this site are worth sharing.

I'd love to hear your thoughts on the new site design - and if you chance to find any bugs I'd love to find out about those too! Please use the fancy new threaded commenting system to share your input.

Comments on this post (0) →

Blocked Port 25: SMTP Using Postfix on Go Daddy Dedicated Server

How to use Godaddy's relay server for outgoing email on a Go Daddy dedicated server.

I've been setting up a new dedicated server at Go Daddy running Ubuntu 8.04 (Hardy Heron).  I was following The Perfect Server guide at HowToForge, and it was very helpful, especially in the area of setting up email using Postfix, which is new to me. I did run into an unexpected problem with outgoing email - it wasn't going out, or anywhere for that matter!  Taking a look in /var/log/mail.log showed an error saying "No route to host".  Trying to telnet to any other domain would give me the same error.  A little Googling dug up the fact that Godaddy blocks outgoing traffic on port 25, which is used for SMTP.  However they do provide a relay server that you can use for your outgoing mail. The relay server is k2smtpout.secureserver.net.  To use it, edit /etc/postfix/main.cf and set the relayhost line to look like this:
  1. relayhost = [k2smtpout.secureserver.net]
Then restart Postfix with the command:
  1. sudo /etc/init.d/postfix restart
And that should do it!  I had a lot of trouble diagnosing the problem and then finding the solution, so I thought I would post it here to help anyone else experiencing this problem.

Comments on this post (0) →

A New Way To Share Video

This new video sharing site lets you share video face to face, in real time!



For one long year, my fiancée and I lived in different states (before we were engaged and parents and stuff). I don't recommend the long-distance relationship to anybody who likes the person they are with, but sometimes it's unavoidable. We found that it took a LOT of telephone time, and we also explored some creative solutions to spend time together as well. One of our favorites was the long-distance movie date - while talking on the phone we would rent the same movie and watch it together while we talked on the phone. The trick to it was starting the movie at the exact same time, so we could share the laughs and surprises without annoying each other. You can picture how this went:

"One... two... three... press play!"
"Did you start it?"
"Yeah. How close did we get?"
"Umm... OK the credits are starting..."

And so on. If we had done it correctly, we could comfortably watch the movie together while talking on the phone. If we had done it incorrectly, we started over. It was kind of fun, if you looked past the hassle of trying to sync the movie.

Enter nxtgen.tv: Shared Video on Demand. This video sharing site allows you to share video with people, in realtime, online. The syncing of the video is handled automagically, and you can actually discuss the action live, via webcams and/or group text chat.

Sign up and send your personalized channel URL to your friends along with a time to meet there. Then you control the action: when you start a video, or pause it, your friends see the same thing in real time!

The patented core technology of the app was invented by a couple sharp individuals who brought it to The Illusion Factory along with a Facebook app and their great idea. Since then we have hammered it into a working demo app and started to show it off a little bit. Enough interest has been raised that I've recently been given the OK to "go nuts" with the project, wheeeee!

A "movie date" between two people is just one application of this technology; I am also working on some different configurations, for giving presentations, providing unique customer service, and collaborating on video editing. I am also building out the social aspects of the site. Soon I hope to launch a new version with full-fledged social and sharing features! So stay tuned for lots more from nxtgen.tv ... but until then I would invite anyone who is interested to sign up for our demo site and give it a try! We are always interested in user feedback, especially from you, web-savvy individual that you are.

This technology is available for license in any custom format, be it entertainment, service, media, or enterprise. We think nxtgen.tv is a lot of fun and there are many possibilities for the technology... if you can imagine shared video having any synergy with your product or service, drop me a line!

Technorati Tags: , , , , , , , ,

Comments on this post (0) →

Install libjpeg and PIL on OS X Leopard

You will need these if you're working with ImageFields in Django.

I have been building my first site using the Python-based development framework Django and it is really fantastic! I am picking up some of it very fast (the concept of templates and template tags, for example) because of my experience with the PHP-based CMS ExpressionEngine, and some of it is totally foreign to me... but as I muddle through it, I can tell that I've begun to learn some very powerful tools, especially once I got Django working with the jQuery javascript library.

When working with images such as profile avatars, you need to have the Python Imaging Library installed, which also means installing the libjpeg library to compile PIL. I found a couple articles here and here but it seemed that only part of each worked for me. Last night I installed everything again on my PowerBook running Mac OS X Leopard 10.5.4, so I recorded the combination that worked for me:

1. If you haven't already, you must install the Apple Development Tools (XCode).
2. Download and install the Unix software installer Fink. The binary installers for the Mac worked great, both on my Intel and PowerPC machines.
3. Open a Terminal window and type:
  1. fink install libjpeg
  2. curl -O http://effbot.org/media/downloads/Imaging-1.1.6.tar.gz
  3. tar -xzf Imaging-1.1.6.tar.gz
  4. cd Imaging-1.1.6
  5. sudo python setup.py install
And that's it!
Technorati Tags: , , , , , , , , , ,

Comments on this post (14) →

Speedy SquirrelFish on Safari

WebKit's new JavaScript interpreter may improve performance for the iPhone.

The Surfin' Safari blog announced SquirrelFish today, a new javascript interpreter for WebKit that is 1.6 times faster than the current interpreter. This is incredible, as Safari is already a super-fast browser, but as John Gruber points out in Daring Fireball, it may mean improved JavaScript support for the iPhone. If you've read much of this blog, you already know my opinion about the whole "JavaScript on the iPhone really sucks" thing. I was recently reminded of this when translating some jQuery/JSON scripting from the Web to the iPhone. What ran as a fairly simple and speedy app on the Web became unusable on the iPhone, and I had to strip out tons of code to get even basic functions up to speed. Keep your fingers crossed that SquirrelFish makes it to the iPhone, and soon!  I'm not sure if its release so close to the WWDC conference means it won't be making it to the upgraded "iPhone 2" that everyone is expecting to be announced, or if an iPhone software update will be released after the new iPhones hit the market.  The sooner the better! The creators of SquirrelFish say this is just the beginning of new breakthroughs in compile times, and it sounds like they've done some very intensive and boring research to create their mutant aquatic rodent.  Thank goodness for the brilliant and patient minds (read: obsessives) who sort these complicated things out so the rest of us can have a better Web experience. Oh, and yes... as everyone seems to notice, the SquirrelFish logo is way badass. It looks like it may evolve into a StimpyFish in a later release. Leave comments on this blog, or let's talk on Twitter or Facebook.

Tags: , , , ,

Comments on this post (0) →