Posted April 22, 2009
You can follow me at twitter.com/mcferrill.
You can follow me at twitter.com/mcferrill.
Some time ago I built a simple web-based brainstorming tool dubbed "Logician". I hadn't worked on it for about a year when I found a use for it in Indiana. Last night I had a few minutes to spare so I dug up the code on my laptop and worked out a few kinks. It now works pretty well. The only thing I still want is drag and drop of nodes.
Logician is a single web page that you can save to your computer (or anywhere else for that matter) and it will still have your work on it. It branches things out in a tree similar to a directory structure. You can save the entire page to disk and it won't erase any changes. Enjoy!
I discovered two days ago that one of my websites is getting nearly 200 visitors (that's people, not hits) every month so I figured I better put out a better design on it than the last one I did.
A while back I'd toyed with a potential redesign with a nifty slide effect for screenshots.
You can check it out on the live site now.
The other design I implemented yesterday was of course for this site. I was... very satisfied at getting the shadow effects down the first time. I'd seen it used hundreds of times (yes, literally) but hadn't ever tried to implement it. It turned out to be pretty simple once I looked into it. I also found another beautiful image for the header (I like misty looks). I also created a page listing some of the software tools I frequently use and a set of site designs (most of which are old or simple).
So... I've been doing some revamping of family / personal technology infrastructure and I ran across some cool technologies I thought I'd share.
Something important to developers is something known as version control. Up until just recently I was using CVS for my needs. I'd heard about subversion before, but I'd never seriously used it. It turns out that it's almost the same as far as using it goes, but it has a ton of more useful features. I've now switched all of my personal projects over to it and I'm thinking about connecting my personal repository to this website.
Not being a particularly wealthy geek I don't own a personal datacenter and therefore have had to run any server software off of my desktop alongside my desktop applications. A while ago I downloaded VMware server. This allowed me to create a virtual machine and set it up with windows server 2003, apache, a CVS (see above) server, and other useful applications. However the performance impact on my desktop was pretty bad and required me to start, stop, and restart the virtual server multiple times. The other day however, I got permission from my Dad to install VMware server on his windows home server. I am now running at 100% with my desktop as my virtual server is now totally independent and free to run 24/7.
Media Center Edition
We've been trying to get a windows media center running for a while now and though we have a machine dedicated for it, we've been having multiple problems with it. It plays audio and prerecorded videos beautifully, we're setting up a network link for media (especially our thousands of digital pictures), but our biggest problem is that though it's admittedly not our slowest computer, it certainly isn't our fastest either. I'm currently working on reinstalling the operating system to clean up some corrupted files.
I'm sure everybody (meaning the few that read my blog... or lack thereof) is wondering why in the world I haven't put out a detailed post since April, or any post at all since October. So here are the two biggest work highlights of mine in the past six months.
Probably my biggest project this past year has been a Confederate ecommerce website for a store called The Confederate Shoppe. A gentleman in our church told me about a friend of his (the store owner) who needed her online store redone (the original was done in '95 or so). We exchanged emails in May, and I started work on it immediately. The new site went live in September and has handled orders successfully. Many of my client's customers are a little wary of shopping online but she really wants to leverage the potential of the site since it means she doesn't have to answer the phone or wait at her house for someone to buy things from her.
One of the reasons I offered my services on the shoppe was that I had just completed a revision of my web framework. To abbreviate into English for all of my non-geeky readers, a web framework is essentially tools for building a website that get reused over and over for multiple projects like displaying a web page, authorization, storing data, and so forth. These frameworks are usually common pieces from websites grouped into one coherent package and sometimes published for others to use, like Django, Ruby on Rails, Turbogears, and Pylons. I've tried a few times to write my own framework, but usually fell into lower quality from time constraints on websites. Right before I did The Confederate Shoppe, I made another attempt to build something useful, and called it "Plethora" (more on the name later). Since then It's grown both in actual size (nearly 5,000 lines of code), functionality, and quality. I got the name "plethora" from the fact that it shares first letters with the language it's written in (python) and a principle I'm attempting to reflect in my work known as loose coupling which allows for interchanging parts within the original product, hence the framework is "one, yet many" or a Plethora ("a" denoting singular, "plethora" denoting many).
I've now officially launched The Confederate Shoppe. An eCommerce store dedicated to providing resources on the history and heritage of the south.
Ok, so I redid the site again. It desperately needed some work on the backend so I went ahead and wrote a new frontend at the same time.
The 4th PyWeek competition, of which I was a participant in ended this past Saturday. My entry, "Ascent of Justice" was a 2d adventure game involving climbing a tall building across levels spanning different floors with a boss fight at the end. I wont spoil the ending for you so youll have to play it yourself. Download it from the link above using whichever distribution fits your platform best.
Mine was one out of 54 completed entries taken out of 102 original entrants. Judging will continue through the 21st of April when the winner will be announced. Judging is done by peers as there really arent any prizes besides recognition. Entries are judged on Fun, Innovation (how well the theme was implemented), and Production (sound effects, graphics, etc). The three are combined into an overall score that goes into the team or individual depending on the entry.
PyWeek 4 is fast approaching, for those who dont know what that is, python programmers are given one week in which to build a computer game almost completely from scratch. Five themes are announced one week before the competition and competitors are allowed to vote on which they like best. At 00:00 UTC (GMT) time the final theme is announced and the competition begins. Entries are judged by innovation (how the theme was implemented in the game), fun, and production (video/audio quality, etc). The entire competition is held worldwide over the internet by its founder Richard Jones. You can see our previous entries on our team website.
One of the other pyweek entrants (also the winner of the second comp) got the brilliant idea of a practice week, and since Id already started a project for that purpose I entered that. The practice week is basically a slower pyweek with no rules, just to let everyone get their game development mode running.