TurnKey Linux Virtual Appliance Library

Secure, flexible and scalable Amazon EC2 instance preseeding

I'd like to introduce Joe. He is a good looking, experienced sys-admin and like all good sysadmins, he has more stuff to do than time to do it.

Joe wants to get up and running on Amazon EC2 with a Wordpress installation, and chooses to do so with a pre-configured appliance. These are the steps Joe performs:

TurnKey website refreshed

I've just finished updating the TurnKey website with a range of improvements designed to smooth over existing rough spots and better accommodate the needs of the project as it expands with the upcoming release. 

Veteran community members using modern browsers may also notice the site looks just a bit more visually pleasing now. Otherwise I've just been obsessively tweaking the stylesheets for nothing.

Git - Fixing commit mistakes

I use Git. I use it a lot. I basically use it for everything I do, from code revision control to revisioning my notes, my journal, even my email archive (don't ask, it's a long story).
 
As with anything you do, you are bound to make mistakes.

Making TurnKey more turnkey - the end to default passwords

In our quest to make the upcoming TurnKey 11.0 release more "turnkey", I set out to extend the firstboot inithooks to include application specific configuration hooks such as setting of the admin password, email and domain to serve (where applicable).

I'm glad to announce that the quest is now over, and that puts the end to default passwords.

Tweaking Django exceptions with custom middleware

When settings.DEBUG is set to False, exception tracebacks will be sent to settings.ADMINS. To make it simpler to track down how and why the exception was raised, it's beneficial to know which user caused the exception.

It's quite simple to do this using some custom middleware. In the Hub, we include the associated users email address in the exception with the following:

Headless PHP Drupal script deletes spam zombie user accounts

For for the last few months automatic bots have been creating hundreds of zombie accounts per day on the TurnKey web site. I'm not sure why they bother. I assume it has something to do with spamming, but they never log in. Besides, spam almost never gets past our content filter (Mollom) and when it does we always nuke it. Zero tolerance.

Brains...

Meanwhile these zombie accounts are polluting my precious database, and that bothers me. Besides, call me prejudiced, but I just hate zombies. You're either alive or you're dead. Pick a side!

Announcing the winners of the first TurnKey development contest

Ladies and gentlemen, by now you are all shuddering in anticipation, dying to find out who won the very first TurnKey appliance development contest... in the history of the universe!

The stakes couldn't be higher. In truth, all three of our winners will lavish in (varying proportions of) unending fame and riches, but only one man will get the exotic, elusive embodiment of the Django pony goddess. Oh ye most blasphemous infidel will ask, why thee persists in worshiping a pony, thus pink and plush. Hush I say, tis not any earthly pony we worship, but the very symbol of the holy bond that ties all open source communities together. So say we all!

On good web design

A few months ago I was looking for ways to improve the TurnKey web site. I spent a lot of time researching good web site design online by:

  1. studying the theory of web site design from such resources as "a list apart".
  2. "reverse engineering" the design of existing successful web sites:
    • Good.is online magazine / community
    • The Wordpress blog
    • Techcrunch
    • A List Apart (they're the experts on web site design and usability)

I payed especially close attention to the social aspects of the web sites I was studying as I was interested in improving the social experience on the TurnKey web site as well.

I wanted to improve my understanding of good web design in general. Not just for my work on the TurnKey web site. By then we were discussing our ideas for the TurnKey Hub and it was clear it would come in handy for that as well.

Programming insight that helped unblock me

I'm finding a big part of the context switch involved in getting back to a high level of productivity on my programming is relearning old lessons.

In particular one of the most important lessons is to figure out how to systematically break down different goals into separate steps in a way that allows you to concentrate your full brain power on each of those steps in succession rather than trying to get it all done at once.

UDS - Natty Narwhal summary