Jun 18, 2012
I'm a fan of the old Linux server distro "ClarkConnect," which over the past few years has gotten a substantial image and code base makeover. Now it is called ClearOS (under the ClearFoundation) and it's placing respectably well (#30 as of this date) on the DistroWatch.com list. ClearOS is built primarily as a gateway server to manage the network firewall/content filtration for a home or small organization, though it has a long list of standard applications (all open source) to build more or less an all-in-one control center. Just as with the ever more ubiquitous "apps marketplace" with mobile and cloud services, ClearOS also constructs system components from apps. You can install apps for port monitoring, backups, and content filter updates, for example. This is great, though ever since that little electrical storm a while back my ClearOS server at home has been "lights out."
It's very reassuring to have some kind of control over your home network. We get pretty lazy and annoyed with Windows firewall/anti-virus hygiene and it's great to have a personal web host for tinkering. In a smaller home, especially with no basement, having a noisy, hot server box running 24-7 wears away at your nerves. I sprung for a tidy, small form-factor, fanless (just a huge, solid chuck of copper as a conductive heat sink) server from OrbitMicro.com and I was happy with it while it was not yet fried (I was a little careless, no surge protector). I've had fun picking it apart, piece by piece, looking for signs of catastrophic thermal stress failure (scorched crater marks) but it all looked good. Now it just gives a long, shrill, repeating squawk instead of the cooing little BIOS beep. I'm taking steps to really get it fixed, but I may just go with the most minimal specs junker PC I can find. From there I have aspirations to dabble in FreeSWITCH on ClearOS.
Jun 16, 2012
Once I worked out the behavior of the "dot" notation and resource paths (I've now learned it's called "object.attribute" notation) I wondered how you would deal with building multiple projects simultaneously on one system, as well as working with other team members on a project. You know, if you begin to hard code your project directories into PATH variables it can get messy. Someone has already thought of how to segregate multiple Python workspaces on a single system and they built "virtualenv". I've run plenty of virtual machines in VMware and VirtualBox, but in this case it's just a way of working in the same filesystem with a separate "paradigm" of installed software (ie. Django) and PATH environment variables. That way you can develop multiple projects without muddying the waters between them.
Jun 15, 2012
After installing Python 2.7 (I hear that 3.x is not yet widely adopted, like the holdouts still running Windows XP) and Django, I loaded up what looks like the "official" tutorial and followed closely. Right away you get started creating a directory structure for a main project with room for applications (modular sub-components). Within the program files (aka modules or namespaces) there would be what looked like references to some kinds of resources "out there" in the system. For example:
I got some good advice to get started with Python and Django to learn about web development, and to start with the tutorial. The benefit there is to learn a programming (scripting) language for coding and to learn a framework for building database-driven websites. I thought it would be proper to do this in a GNU/Linux environment, though it has been a few years since I had more than a casual use for it. Getting the necessary infrastructure in place where I could install Django took some review of the basics, like how to access MySQL and how to use vi.
Jun 14, 2012