Marty Alchin

Thoughts on Biwako, Django, Python, books, numbers and myself

A Tough Design Decision

21 Jan 2011

When I set out to work on Biwako, I expected to have to make some hard choices, but I didn’t expect to hit one so quickly. What started as a simple feature turned out to take several days of research, trial and error before finally settling on a solution that I didn’t see coming. And in the spirit of building this framework out in the open, I’d like to spend some time sharing my experiences, in hopes of helping someone else who might face a similar problem someday.

Class-level Keyword Arguments

20 Jan 2011

Python sports some nifty features when it comes to handling arguments, but those are only for functions. A class declaration is limited to just a list of base classes … or is it?

Biwako: File Formats Made Easy

20 Jan 2011

For years now, I’ve been researching various kinds of file formats, from music and images to video games and even NASCAR data streams. Each format is usually considered to be unique—at least as far as parsing/saving implementations go, but the truth is that they have a lot in common. And anytime you have a bunch of independent tasks that share similar aspects, you have an ideal environment for the creation of a framework to make those common aspects easier to manage.

Competing on Technology

14 Oct 2010

So today, Jesse Noller wrote up an interesting article about how to compete in a market once Google makes an appearance. He makes a lot of valid points, but I wanted to take a step further and try to explain why I think we shouldn’t be looking to Google for points on how to run a business these days.

Usage Driven Design

14 Sep 2010

I’ve had a project rattling around in my head for a few years now. Take Django’s declarative approach to models and forms, and apply it to the definition of binary file formats. I kow I’m not the only one to have thought of it, but I think I’m the first to take it seriously as a project. So far, it’s had many names and taken many forms, but I think I’ve finally found an approach that’ll help me actually get the thing done: usage driven design.

Flight Search: Stating the Problems

1 Jan 2010

One advantage of working with Django is getting to know a lot of really talented designers who love to throw out tidbits of their knowledge. Recently, one such tidbit reminded me of something I knew, but hadn’t abided by for a while: “the last thing you should do when beginning to design an interactive system is write code.” This got me thinking about my own flight search project, and how I should probably design the interactions as behaviors before trying to code them. Then I realized that even that was too specific to be useful at this point. First, I need to formally state the problem I’m trying to solve.

Labs: NASCAR Update

11 Sep 2009

It’s been almost two weeks since I launched my labs, and I thought it was high time for an update. Even though the travel experiment is my most exciting one, I wanted to spend some time giving some love to NASCAR this week.

Labs: Flight Search Results

31 Aug 2009

Perhaps the crown jewel of the labs so far, I set out to right some wrongs that were inflicted on me during travel research for a trip out to the San Francisco area. I had such a hard time finding the information I needed among walls of text and advertising that I decided to try my hand what I think flight search results should look like.

Labs: NASCAR Leaderboard

31 Aug 2009

My wife’s been watching a lot of NASCAR lately, and I’m actually finding it quite interesting, in spite of my prior reservations. More importantly to the geek in me, though, NASCAR is a treasure trove of data just waiting to be viewed, and from the look of their leaderboard, this can be a painful task. So, I set out with my newly-acquired knowledge of the sport (hey, it’s no less a sport than horse racing) to identify the key interesting aspects of a race and figure out how they could be viewed more easily.

Labs: Golf Leaderboard

31 Aug 2009

The first thing I thought about when reading Wilson Miner’s article on accessible data visualization was that it shouldn’t be too difficult to do charts with bars going different directions. Doing so would allow a convenient way to represent values that could be either positive or negative, typically as compared to some other data point that remains constant throughout the entire data set. Thus, my first choice for applying this technique would be golf scores, since each hole is scored relative to par. Even though the value of par varies with the difficulty for each hole, the score relative to par is the important bit that’s recorded and used to compare the abilities of different players. So I set out to improve the efficiency and attractiveness of their leaderbord.

Introducing Marty Alchin Labs

31 Aug 2009

A few weeks ago, there began some discussion on Twitter about a few people who wanted to update their personal sites, and they gained a bit of attention from others who were interested in doing so. Thus they formed the site sprint, wherein all participants agreed to launch their redesigns on September 1. I rather like my current design, and I don’t have the energy to redesign it, but I had mulling about the idea of a “Labs” site for a while, so I thought I’d use the deadline as challenge to actually get it going. In all, 15 others also participated, and I eagerly await their results.

Thoughts on

23 Jun 2009

After following some discussion about it, I signed up for once it launched as a beta service, and it hasn’t really impressed me all that much. Recently, though, I was asked to take a survey about my experience, and I was disappointed to see that the survey didn’t really ask what I feel are the right questions. Since surveys only allow you to answer the questions that are asked, I’d like to take a few minutes to speak candidly instead, in hopes of better addressing the issues I have with the service.

Thoughts on CSS Naked Day

9 Apr 2009

Thanks to my subscription to the Django Snippets RSS feed, I was recently introduced to CSS Naked Day by way of a snippet to help automate participation. The snippet itself really just provides a way to know when CSS Naked Day is (it happens to be today), so you can prevent your templates from including stylesheets. It was a clever enough snippet, but it made me curious what CSS Naked Day is and whether I should participate.

The Big “O”

2 Mar 2009

To the experienced programmers out there, the subject of this article will be immediately apparent. To others who are a bit more … excitable, it may seem rather risque. To those who watch a lot of television, it may simply be a reference to a certain warehouse retailer (I won’t bother giving them a Google boost). But, there are those of us who don’t have Computer Science degrees, and have never been told what the Big O notation is, and the Wikipedia article isn’t much help unless you’re a mathematician (I’m not). Thankfully, I finally had a big “Oh!” about the Big O, and I thought I’d share how I see it, for those of you who may not get what everybody’s talking about.

Django Events

6 Jan 2009

There are a few of you out there who know I’ve been talking for months now about plans to expand the collection of community-oriented sites that are available for us Djangonauts to use and enjoy. It’s not that I think the current crop of sites are deficient in any way; it’s just that each site has a specific role it intends to fill, and I think there are more roles that need filling. In light of this, I’d like to officially announce Django Events.