Archive for the 'Django' Category

Working from the road

This will be my second post written from my iPhone. I’m currently in the middle of nowhere in Illinois at Jessi’s mom’s house. We’ll be here until the 30th, which means I’ll have some work to do on the trip. On my previous visits here there was always a wifi network available from one of the neighbors who was kindly sharing his sattelite Internet connection with the rest of the town (it’s a very small town and they can’t get cable or DSL out here). Sadly it turns out that someone had been using up his monthly bandwidth allotmen so that’s no longer available to me. Hence me writing this entry from my iPhone.

Fortunately, I came prepared to work without Internet access. I had planned to do some work on the flight over here, so before I left I created a new Parallels virtual machine and installed a copy of Gentoo Linux in it, and set up a lighttpd server with PHP and Python running in FastCGI as well as SQLite and MySQL so I could do both PHP and Django development without having to only guess at whether or not it would actually work (technically this wasn’t necessary for Django since it comes with a lightweight development server built-in, and OS X comes with SQLite installed standard, but I figures I might as well).

I also tried setting up Tinyproxy on my iPhone so I could share my iPhone’s EDGE connection with my laptop for browsing, but for some reason it doesn’t seem to be working even though I had no problem with it at home.

The end result is that, even though I have no real Internet access to speak of, I can still do my work. I can even keep in touch with everyone thanks to my iPhone and meebo, and, if the need were to arise, I could always set up an SSH tunnel through my iPhone and get SFTP access to my webserver (or any other, for that matter) that way. So even way out here where they don’t even have DSL, I’m still fully connected. This is one of those times where, even though I spend pretty much all my time working with technology, I’m still completely amazed by it.

Now, I believe, it’s time for dinner.

My first Django site

My first Django project is now live. Sadly it’s not a very interesting one, just a re-develop of the dy/dx tech website. It looks exactly the same as before, but it’s now powered by Django. This doesn’t really offer any advantages at the moment, but it will. For example, pretty much all the data on the site is currently stored in a database which means it will be extremely simple to add, remove, or change any of the services show in the services tab. Not that I really expect that to change any time soon (although you may notice that the services tab is the one part of the website that has changed; I’ve added a few, and consolidated some redundant ones), but the principle is sound.

More importantly having the site powered by Django will make it much easier for me to add some new features/online services that I’ve been thinking about for a while. The first one will definitely be a portfolio tab. I’ve worked on a pretty good number of websites in the year or so since I started this business, and I really should have a portfolio on my website to show off my work. I’d also like to put up a clients tab where I can list my clients and, if I’m lucky, get some testimonials to put up there as well. Then of course there’s the WiFi database that I’ve been talking about for a while, that will have it’s own subdomain, but I’ll give it its own tab as well. Hopefully now that the whole site is done with Django and I’m a little more familiar with how the framework works development of those things and others will go a little faster.

dy/dx tech’s WiFi Database

A little while ago I posted about an idea to create a good online database of places that offer WiFi. My motivation for this is that, as I have no real office, it’s often nice to work from a cafe or something like that. This is especially true during the summer as those places usually also have air-conditioning that I can take advantage of as well. Additionally, while there are any number of sites that claim to fulfill that purpose, none of them do a good job at it. I’ve been unhappy with every such site I’ve tried for pretty much as long as WiFi has existed. So now I’m going to do something about it.

This project is also a good opportunity for me to learn some more web development skills. Up till now the web development that I’ve done has been almost entirely in PHP. It’s also been coded 100% by hand. I like doing things that way because it means that I know exactly how everything is working under the hood, and have no qualms whatsoever about going in and changing things. Now, however, I’d like to expand a little beyond that. I’m comfortable enough with the way web programming works that I no longer feel the need to be completely in control of everything; it’s time for some shortcuts. Fortunately, frameworks such as Ruby on Rails and Django exist to provide exactly those sorts of shortcuts. Being, as I am, a huge fan of Python I’ve decided, with a little input from Jesse Legg that I’m going to create my WiFi database site with Django (I’ve got another project planned for the near future that I plan on using as an opportunity to learn Ruby on Rails as well).

I’ve just finished installing Django on my web server, so development for the WiFi project will be beginning shortly. The way I see it, the key to creating a successful site as opposed to the ones that have existed previously, is to make sure that all the relevant information that people might want (information such as available bandwidth, number of outlets available to customers, whether or not you need to purchase a coffee to get a code before you can use the internet, &c) is available, make sure it’s presented in an easy to use way, and, most importantly, make sure that the list is complete enough and the site good enough that users actually want to contribute. This will never work if I just try and make a list of cafes with WiFi that I maintain myself; it absolutely needs to allow for contribution by users. People need to not only be able to find out that the Boloco in Davis Square has free WiFi, they also need to be able to add the Grand Prix Cafe to the list as well if it’s not already there. They need to be able to let other visitors to the site know if they’ve had problems connecting to the network with Vista or OS X or Linux, or if the staff at that particular cafe tends to be rude with people who spend ‘too much’ time using the WiFi. There’s a whole lot of information out there that someone looking for a place to get WiFi could use, and the only way to make sure that all that information is available is with some sort of community participation.

Basically, this is probably going to turn out to be a pretty large project. It will be interesting to see if and how it grows. It will also be interesting to see how much data needs to already be on the site before it hits that critical mass point and becomes useful enough for people to want to add more data on their own. It should be fun.