Complete Single Server Django Stack Tutorial

Introduction

I notice a lot of people these days using Heroku to host applications they’ve written with Django or Rails. This may save them some time and effort, but they are spending way more money on this specialized hosting than they would pay for a generic Linux host. They are also giving up control of a large portion of their application. I consider the entire stack to be part of my application, and complete control over all the pieces is mandatory.

Because I encourage people to administer their own servers, I have written this tutorial to remove just one more of their excuses not to do so. This tutorial covers everything you need to do to configure a blank Ubuntu Linux 12.04 LTS 64-bit server to run a Django application properly. I will not be covering anything about writing the application itself. I will also only provide minimal discussion of some topics, like database configuration. If you can finish this tutorial, you can Google the necessary documentation for other things. The only thing I completely skip is configuration of search using Haystack and Solr since it is not needed by most applications.

If you want to use a different Linux distribution, most of this tutorial will still be correct. You will have to translate all of the apt-get statements and package names to your distribution of choice. Configuration file paths and layouts may also differ. I chose Ubuntu 12.04 because it is very popular, available on almost every host, and its long term support will keep this tutorial relevant for a longer period of time.

Continue reading

To OAuth or Not to OAuth

You’re feeling some pains, so you go see a doctor. The doctor sends you to have some tests done at a lab on the other side of town. The results come in a week later and you have to get those results into your doctor’s hands. You could just go back across town and get them, but that’s a pain. It would be much easier if your doctor could get the results directly from the lab. It would be even better if they could be transferred digitally.

But now we run into problems of security. What if someone else calls the lab impersonating your doctor and gets your test results? What if you change doctors and the lab releases the test results to your old doctor against your wishes? What if the lab is full of jerks and they send all sorts of crap to your doctor in your name. We have this exact same problem on the Internet, and that is why OAuth was created. Continue reading

You Don’t Impress Me. Try These Hacks Instead.

Recently there have been a lot of computer security attacks. It’s actually hard to say if they are more frequent now than they have been in the past. What is certain is that they are being publicized more now than before. Even so, the majority of these attacks are lame. I may agree or disagree with the motivations behind some of them, but they are almost all just pathetic. I am disappointed. Continue reading

Keep your California out of my New York

More and more the entrepreneurial community has integrated itself into the technology community. You have to commend them on what an excellent job they have done. At this point startup news and technology news are basically synonymous. At least half of articles posted on tech sites are actually about business and have little at all to do with technology. I’ve mostly just observed and lightly complained about them, but now they are trying to attack my home turf. They are attacking New York City. Continue reading

Game Developers – Stop Failing at Online Multiplayer

Independent video games are all the rage lately. Minecraft and Angry Birds are the premiere examples of how games developed outside of the big commercial industry can become huge successes. This is mostly because of platforms like Steam and other digital stores allowing these games to get vast exposure. This is great because after years of genre cookie cutters we finally have a new fountain of ludic innovation in the video game world.

Despite the greatness in the indie video game scene, there is also a great deal of fail. Because indie developers lack the resources of giant corporations like Nintendo or Electronic Arts, there are certain flaws in their games that we have to accept. The controls won’t be as polished and smooth. There might be graphical glitches on certain video cards. The game might crash under weird circumstances. Without the money or time for thorough testing, this is just a reality of life we must accept. I forgive the indie games for these kinds of flaws.

That being said, there is one area in which failure is absolutely not acceptable. That area is online multiplayer. It seems that just about every week a cool new multiplayer game comes out on Steam, but the networking is a complete disaster. This is absolutely unacceptable. If it’s primarily a single player game with a small online component, then it’s no big deal if that part doesn’t work. However, if it’s primarily an online game then the game may as well not exist if the networking is busted.

Continue reading

Why Not a Little Open?

If you look around at the world of hardware, there is one thing that is immediately obvious. The open hardware is shit compared to the closed hardware. In terms of industrial design, battery life, price, and just about every category other than openness, the closed devices are superior. The thing is, it doesn’t have to be this way, and the electronics manufacturers would actually stand to make much more money if they bucked the trend. Continue reading