Archive for the 'Projects' Category

Apr 08 2008

Django on AppEngine

Published by Chris McAvoy under Python, Projects, appengine

I started my first AppEngine project this evening. I was lucky enough to get into the Beta. I don’t want to be too gushy or hyperbolic, but this is the future folks.

I’m not going to cover the bits about what appengine is, I’m assuming you’ve heard. If not, head over to the appengine site and do some reading. If you’re a little bit confused about WSGI, I encourage you to read anything Ian Bicking has written over the past few years, or my humble article on building a wsgi app.

So…my plan is to build a tomato tracking application on top of THE CLOUD (cue the music). The wife and I are planting a bunch of tomatoes this year, so I’m sort of hopped up on them. The app will let folks to report on the life, well being, and eventual yields of their backyard tomatoes. It’s going to be the world’s greatest web application. I’m going to develop it before a live studio audience via the TomatoBase Google Code Project. The app will live at http://tomatobase.appspot.com.

So far, there’s not much there. Just a landing page that says something pithy, that’s protected by a Google user login. I initially thought I’d jump feet first into the Google themed stack, using their very fancy webapp api, but after reading how easy it is to just go for Django, I decided to go with what I know. There’s a few gotchas, it’s really more like Django-Lite, but it’s still pretty darn good. You lose the ORM and Admin, but still get the url mapper, controllers, middleware, templates…oh, and BigTable. Pretty good trade as far as I’m concerned.

Developing with the toolkit is pretty slick, everything runs locally until you’re ready to push, and then it’s a quick “appcfg.py update django-mater” and it goes live. So simple. I love it.

I haven’t really ventured beyond exploration into actual TomatoBase development just yet. I started exploring the user system a bit, it’s pretty straight-forward. So straight-forward that I contributed a decorator to Django Snippets that lets you use the user system in a @loginrequired sort of way. It’s here: Google AppEngine Login Decorator.

I’m moving much quicker on this than I anticipated. I thought I wouldn’t have time to explore until this weekend, but it’s a really compelling product. I’m excited for them to open it up to a wider audience. At some point I’ll write a bit about what I think this all means (this means something), but for now I’m too busy playing.

4 responses so far

Oct 22 2007

Bricked my iBook

Published by Chris McAvoy under Projects

I set out to get Linux installed on my old iBook G4 over the weekend. Not a huge task, I thought, easy install good payoff, a fun weekend project. Bah.

I downloaded the newly released and ported Ubuntu Gutsy Gibbon for PPC. The install went bad, a software installation failed, so I had to install a bunch of packages with apt-get after the installer finished. After installing GDM, I couldn’t see the screen. It turns out, there’s a bug in a package that was pushed into the Gutsy release. Because PPC is a community supported release, its prone to a few more bugs than the mainline releases. No biggee, I think, I’ll just install Fiesty. All I really want is to have linux on some of my old hardware to play around with.

Somehow, my Fiesty CD didn’t burn correctly, and started throwing errors during the installation. Right after my hard drive was formatted. Now, when I insert a good CD, I hold down ‘C’ to try and boot off of the CD-ROM, nothing happens. I get to the Yaboot screen, which asks me to boot a bad partition of Linux. It lists CD as an option for booting, but nothing happens when I try booting off a new fresh CD.

All this is well and good, and kind of fun to troubleshoot. I’m not losing any sleep over the fix of the iBook, I’m sure I’ll figure it out. I think my next step is to confirm that I have a good CD for PPC. I’m not entirely sure how to do that. I’m thinking about trying to boot off my known-good OSX installation CD, just to see if the machine is still capable of booting off a CD.

Anyone else run into these sorts of troubs? I really would like to have a nice Ubuntu laptop that I can break occasionally, maybe hook up to a robot or something.

No responses yet

Apr 07 2007

Same Title Different Story

I’ve been working on a podcast the past few weeks. It’s officially online now at Same Title Different Story.

The premise is pretty simple, I gave a title to a story to a group of friends, and asked them to write the story that goes with the title. Then I recorded them reading their story. I have 13 stories recorded with two different titles. The first two stories just went online, they’re from Miss Alex White and Molly Hale. I’ll be releasing more episodes over the next few weeks. They’re all really good stories, I’m excited to get them out to the world.

No responses yet

Feb 20 2007

Notes for Tonight’s Chicago.pm Meeting

Published by Chris McAvoy under Blog, Python, Ruby, Projects, Perl, Perl6

I’m presenting tonight at the Chicago Perl Monger’s meeting. I’m giving a tour of some stuff that might appeal to Perl programmers who want to learn new languages. I’m focusing on Ruby and Python. Here are the notes, they’re also available in my public subversion repository:

Language Hootenanny

Notes for the language hootenanny presentation at February’s Chicago.pm meetings.

Agenda

  1. A little bit about me
  2. Find out what everyone wants to know
  3. Language overview
    1. for each language, a brief discussion about its culture, philosophy, and resources. Then the one thing about it that’s really “cool” and some code samples.

What I like about a language

Object oriented, good testing framework, great documentation, fun community, lots of libraries, web stuff. Also, interactive shells…the total time it takes to learn a language is cut down considerably if you have an interactive shell to play with. They’re pretty standard anymore, so this is usually just a given.

Classifying languages

There’s really two kinds of languages in my book, the kind you can make money from and the kind you learn for fun.

Ruby

Resources

My recommendation to learn Ruby is to buy the pickaxe book, and start playing around with it. why’s guide is also good, but it is _pretty quirky, so be prepared. The pickaxe is better if you’re already familiar with object oriented programming and you want to learn Ruby.

One cool thing

Blocks

Python

Resources

The best way to learn Python is to jump into the Python tutorial on the website, then skip around “Dive Into Python.”

One cool thing

List comprehensions.

Perl 6

Resources

PHP?

I haven’t been keeping up with the PHP community enough to really be able to tell you what’s up. I do know that PHP5 is interesting. Discuss amongst yourselves if anyone is interested in PHP.

Other Stuff I Don’t Know (but would like to learn)

Haskell, Lisp

Stuff that other people want to learn, but I’m not so sure about yet.

Erlang, REBOL

No responses yet

Nov 17 2006

TechCoffee, November 17th

Published by Chris McAvoy under Blog, Projects, TechCoffee

After two weeks of other things getting in the way, I attended TechCoffee this morning. I didn’t stick to my plan to work on Maturin though, instead I worked on some new stuff for Tastebud. We’ve been including Amazon links in our articles when appropriate, so I started to work on a shop for the site. Nothing really fancy, just a collection of links. I wanted to use the new Amazon aStore, but the iframe isn’t cooperating with my site layout, so I think I’m going to whip up a quick database backend to collect Amazon links. The nice thing about Django is, I don’t feel any psychic weight from saying, “this really needs some database backing.”

No responses yet

Oct 20 2006

TechCoffee Season 2 First Friday

Published by Chris McAvoy under Blog, Ruby, Projects, TechCoffee, Maturin

I just checked in my work from this morning’s TechCoffee. I created a very minimal set of migration scripts for Captains, Ships, Locations, and added a bit to the migration to build 10k locations in a 100 x 100 grid. I started to adapt the user management recipe from Rails Recipes for logins, and then ran out of time. All in all, a productive first TC.

I also came up with a cool idea for building maps in the game. It’s based on the simple ASCII maps from the game Austerlitz. Something like:


**............**
***.........***
**...........p**

Could be parsed up and converted to a series of locations where the asterix’s are land, the dots are sea and the p’s are ports. It might be an easy way to build fancy maps quickly. Something like .[50]. could be parsed as “50 sea locations”.

No responses yet

Oct 11 2006

TechCoffee Soon

Published by Chris McAvoy under Blog, Projects, TechCoffee, Maturin

The wheels are churning on the next round of TechCoffee. I’m not sure when, or where, but I have decided on a project to work on. Actually, sort of projects.

I set both of them up via Google Code. The first is a straight-up clone of Tradewars 2021 from the old BBS days, set in O’Brien’s world of fighting ships. I’m not sure I’ve said this before, but I love those O’Brien books. A ton. I’m on book 18, only three more to read. Kind of sad. Regardless, I used to love Tradewars, got briefly into Blacknova Traders (a PHP clone of the Tradewars game) and decided it would be a fun diversion for a bit.

The second project is writing an RSVP system / user group management “thingee” for ChiPy. We use a wiki currently, which is a great way to decentralize things, which I’m all for. For RSVP stuff, it would be nice to have a management interface. I put out a request on the ChiPy list to see if other folks would be interested. As I was writing this, a response came in to my request. I totally forgot there was an earlier effort along these lines. We’ll probably just finish that one up.

Anyway, I have some stuff to work on for TechCoffee that should be fun.

No responses yet

Sep 21 2006

Victim of Time in Timeout Chicago

Published by Chris McAvoy under Blog, Python, Projects

Victim of Time got a nice little plug in this weeks issue of Time Out Chicago (web version). I’ll post a scan of it soon.

Unfortunately, they misrepresent my role a teeny bit, calling me “the designer.” Pat Mullin is largely responsible for the design, I’m just a programmer and sysadmin.

Note to the Python-heads in the audience, VoT runs on Django.

No responses yet

Sep 20 2006

Home Coffee Roasting

Published by Chris McAvoy under Projects, Food, Coffee

I wrote an article on home coffee roasting for Tastebud last night. I’m a big fan of home roasting, and have been explaining it to a bunch of folks over the past couple of months. I thought it was worth a write up, and might be interesting to you techie folks. http://tastebudchicago.com/blog/roast-your-own-coffee/

I also added a couple of my roast notes. I have a stack of index cards I need to enter into the site, a bunch of wines, cheeses, and coffees. The teeny coffee list is at http://tastebudchicago.com/coffees/.

If you like coffee, and have a DIY sort of ethic, coffee roasting is probably right up your alley. Get up on it.

2 responses so far

Sep 19 2006

Followup: Django on Textdrive

Published by Chris McAvoy under Python, Ruby, Projects

I ended up moving Victim of Time from Dreamhost to Textdrive last week during the “great Dreamhost outage of ought-six.

I’m still a fan of Dreamhost, but for Textdrive is better geared for Django and Rails. I have control of a lighttpd server with my own port that Textdrive proxies behind Textdrive controlled Apache server. It’s a very flexible setup that makes me feel like I have root without actually having root. Textdrive is also setup nicely for growth, with “business” shared hosting plans as well as container hosts.

All in all, a very smooth transition. I’m keeping the majority of my sites on Dreamhost as it’s dirt cheap and super easy to use. I may end up migrating more over time, but don’t see a need right now. Dreamhosts’ $9 a month is hard to argue with.

No responses yet

Next »