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.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

4 responses so far

Mar 19 2008

Data Visualization API

Published by Chris McAvoy under data

http://code.google.com/apis/visualization/


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

No responses yet

Mar 19 2008

More! More! Django Jython & Jetty (IronPython too, sure)

Published by Chris McAvoy under Python

It was only a matter of time. Great great great!

At the state of Django talk on Saturday at Pycon, I asked what the status of Django on Jython was, as I think for guys like me (trying to explain Python and Django to traditional JVM-happy shops) that stack is going to get some traction. If I can tell someone that my crack team of consultants can build a full featured web application in record time, and deploy it in their existing JVM heavy infrastructure, I’ll turn some heads.

If I can turnaround and say, the exact same app will also run in your .NET infrastructure, now the heads are spinning off into the cosmos.

Python for the win!


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

No responses yet

Mar 19 2008

Yes Simon, We Need a Queue

Published by Chris McAvoy under Python, Agile, Ruby, Erlang

Simon Wistow asks whether or not we need a better open source queuing system. My answer is yes. I’ve built two one-off hackish queuing systems for $work in the past three years, both of which used database tables as queues, both of which were only accessible by a language-locked api, neither of which was accessible by any sort of neutral service. Both had very specific tasks, hold tasks in a queue for offline (read: outside of a web transaction) processing.

Both jobs could have been fulfilled by a nice message queue service, but it didn’t seem like the effort was worth the payoff. That said, now that I’ve built two of exactly the same thing, I’m 100% of the belief that I’d love to have a easy to install web service-y queue (that isn’t owned by Amazon).

So, why the need? It’s sort of like the evolution of CouchDB & friends I wrote about back in December, all web programmers eventually are expected to be programmers, then they start examining the tools the traditionalists have built, and they question, “why can’t this be better?” Relational databases might not be best for web apps (I’m still not convinced, but for the sake of argument, go for it.) Full featured queue services might not be best for web apps. If for no other reason than they introduce a complicated system into your ecosphere for what is actually a very simple problem. I like Simon’s pointing at memcache and saying, “make a queue that works like that.” That would be pretty cool. I’m voting +1.

That said, like a good American I’m making this vote without fully examining all the candidates. Maybe the existing queues are simple enough…educate me lazy-web.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

2 responses so far

Mar 17 2008

PyCon Wrap Up

Published by Chris McAvoy under Python, pycon2008

So, PyCon is over (for me). I wasn’t able to participate in the sprinting this year, probably a good thing as too many late nights make me cranky. All in all, I had a great PyCon, met a lot of interesting folks, learned some new stuff, and had a lot of fun. The sessions I attended were good, but the BoF’s really stand out for me this year. Especially the Netflix BoF and the follow-up data-visualization BoF. Both were small (+! Small BoF’s FTW!) and really got me thinking.

The conference itself was really well managed. Things ran smoothly, people mingled, sandwiches were eaten, and talks were given. Friday and Saturday night were both pretty late and beery, yet again proving that I’m 31 and have baby. My rockstar genes have seriously been damaged by fatherhood. As an aside, I’ve been giving a after-several-beers rant about how MySpace is the greatest thing since representative democracy for so long now that Atul Varma finally cut off further discussion until I blog the speech. It’s a pretty good speech, I’m not sure it’ll survive the light of day, but I’ll work on it soon.

The best part of PyCon, in my esteemed opinion, is the people you meet. I finally got to talk to Mike Bayer, whom I’ve often pointed out as “the most prolific Python library writer ever.” I’ve been a fan of Data Wrangling for a while, and had the chance to talk to its steward Pete Skomoroch. He led the Netflix BoF, and his colleague Chris Gemignani led the data visualization BoF. They work for Juice Analytics, which seems to be doing some really interesting work.

PSC (whom I work for), was a sponsor this year. We had some good conversations with people at our booth, and sponsored a dinner Friday night. It was sort of our coming out party, as we’ve been working pretty hard (though quietly) for the past year to establish a solid Python based consultancy within a 100 person IT firm. PSC has been around for 17 years, has a great group of traditional manufacturing clients, and has never been unprofitable. They saw opportunities in the Python world, and hired me last year to help build a team. We’re 7 developers strong as of this morning. That, coupled with 1040 attendees at PyCon this year (up from 600 in 2007) says to me that Python is really building a market here in Chicago and elsewhere. It’s an exciting time to be a Python developer.

Anywho, great PyCon this year folks…looking forward to next year already.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

One response so far

Mar 12 2008

Pycon!

Published by Chris McAvoy under Python, pycon2008

It’s started. We stuffed a thousand bags with thirty volunteers and seven pizzas. (Yes, it sounds like the volunteers and pizzas were stuffed into the bags, I realize this after having already written in. It’s a shame my backspace key is totally broken, so I can’t fix it. Also, it’s funny sounding.)

Anywho, Pycon is on! Hurray for Pycon!


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

No responses yet

Feb 14 2008

First Article on Developer.com

Published by Chris McAvoy under Python, writing

I wrote a short article on writing Excel files with Python and exporting them with Django on developer.com. The site caters to a (mostly) Java and .NET crowd, but they’re expanding into Python and Ruby. I’m going to try and write an article or two a month for them. I’ll link to them here. The topics will probably be a little bit basic for the regular Python crowd, the goal is to bring some new folks into the fold.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

5 responses so far

Jan 29 2008

Everyblock

Published by Chris McAvoy under Blog, Python

I’ve been treading water this week, and haven’t been keeping up with the blogosphere.

So, I’m behind, but wanted to link to Everyblock…you know…so it’s linked.

Really great stuff, congrats Blockheads.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

No responses yet

Jan 22 2008

Pragmatic Timeline

Published by Chris McAvoy under Blog

So, according to the Pragmatic Programmers you should learn a new language every year (two? I don’t remember for sure.)

Last year I specifically ignored this rule, and instead opted to learn Python more. I watched some Google Videos, read some books, spent more time looking at other people’s code, and generally didn’t gloss over the details that I had in the past. I dove deeper into the language, and am a better Python programmer this year than I was last year.

Which brings us to 2008. My side-learning-project time has been cut back by the glorious birth of the inheritor to the vast Lion-Empire I’ve built, Mr. William Christopher McAvoy. I’ve been paring down projects like a madman. Plus, my day job became tremendously satisfying, which always helps remove the need to do stuff on the side. That said, what little time I do have is currently taken up with tweaking old web projects, helping a friend with a new site, and helping (however small-ly) with Pycon.

Other than the constant old project tweaking, my schedule is relatively clear starting in mid-March. Which got me thinking about maybe learning a new language. I talk about this an awful lot, and rarely follow through, but it can’t hurt to talk about it again, right? I’m thinking it should be one that has little practical purpose, other than a joyous exploration of all things computer. So, something like Lisp, Scheme, Lua, Erlang, Haskell, or Lisp. Notice I said Lisp twice, Lisp is on the short-list.

I’ve posted these sorts of posts before, they usually go nowhere, so take this all with a heaping tablespoon of salt. Sometimes, I’m all talk…no action. We’ll see how this works out.

And really, as I sit here and think, I haven’t written a Tastebud article in ages, just bought an Arduino in the hopes I’d build something cool with all these wires and capacitors I own, and I recently committed to a new writing project that I’ll talk about later. So, really, maybe I don’t have time. Whatever I do, there will be extra points for a language I can learn on the train. As that’s about the only time I’ll really have to do any significant reading. Seriously though, I probably will just stick with what I know, and put any new creative energy I can muster into some of these other projects I’ve been messing around with.

Oh, and I like to play Eve, and got Mass Effect for Christmas. Two total nerd-time-sinks.


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

One response so far

Jan 21 2008

Pycon Registration is Open!

Published by Chris McAvoy under Python, pycon2008

Register now for early bird prices.

Chicago! Hurray!


Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.

  • del.icio.us
  • digg
  • Reddit
  • StumbleUpon

No responses yet

Next »