Super Quick Update

It’s been quite some time since I finished writing a post so I figured I’d do a quick post to let people know I’m still alive and what I’ve been working on.

1. Most of my time is going to CubeCreate, a Free, Open-Source game engine based off Syntensity and Cube 2/Sauerbraten. We’re actually getting pretty close to our first release so I’ll be keeping people updated on how things are going.

2. I’ve been doing most of my work on Haven, the web application for managing CubeCreate content, servers, user accounts, etc. It’s been based on various Python web frameworks over the past year but we’re finally to our final destination, Pyramid. It’s the product of repoze.bfg and pylons developers merging their efforts and I can honestly say it is easily the best framework I’ve ever seen. It’s got amazing docs, great devs and is very feature complete without being Bloated.

3. I’ve also been doing extensive work organizing the CubeCreate community and playing firefighter with a couple conflicts that have arisen. We’re still a very small (but growing!) project so it can be difficult to avoid issues, but so far I feel we’re handling things splendidly and I’m quite pleased with the result. I’m also in discussion with various major community members working on ways to avoid conflicts in the future so we’re tackling the problem from all directions, not just hiding the symptoms.

I’ve still got plenty of projects on the table and CubeCreate is only getting better so stay tuned because I’ll be updating things more often!

Using ToscaWidgets with repoze.bfg

ToscaWidgets is a really handy python form framework that saves lots of typing when it comes to creating forms. I decided to use it for my BiosImg project to get a feel for things, but I ran into a small problem.

Even after I had enabled the tosca middleware, it still wanted to use genshi rendering. This is a problem because I want to use mako for the project and having two template libraries would be pointless.

After some help from twillis and mcdonc in the freenode #repoze channel, I was given the solution. I promised to blog it to help others with the same problem, so here’s the relevant part of the ini file.

[pipeline:main]
pipeline =
egg:Paste#evalerror
tosca
egg:repoze.tm2#tm
sql

[filter:tosca]
use = egg:toscawidgets#middleware
toscawidgets.framework.default_view = mako
stack_registry=True

As always, please be sure to comment if this was helpful to you. Also feel free to suggest any fixes/updates that may be needed.

BiosBase

I’ve recently started a new Python project called BiosBase. It’s intended to be something of a quickstart template for new Pylons web projects. This is a very broad overview however a working user auth system and general examples of best practices (Or at least the best I can figure out.) for handling users, forms and so forth will be included.

My reason for this project is that I currently have around 3 Pylons powered projects, all of which in various states of completion (or more accurately, lack thereof). This is in part because I finesse and finagle every tiny bit of the code to keep things as ‘perfect’ as humanly possible. The more major problems come when I start working on integrating repoze.what into things. repoze.what is basically a user auth system from the zope project. From what I understand, it’s generally considered a very solid library and the primary choice for Pylons projects. The only catch however is that there are only a few somewhat poor and outdated examples of using it with Pylons.

And from this problem comes BiosBase. Most of my work is reading through all the examples that are out there, reading the repoze.what docs and working in the best parts from everything I find. I’m working to keep the system as generic as possible and am trying to keep the controllers as self-explanatory as possible.

In summery, there is currently a prototype of BiosBase over at github.com/BiosElement/BiosBase. Currently you have to read the source to figure things out however user registration and login/logout is currently working (mostly) as intended. I’m very much intrested in community input as this is the first time I’ve worked somewhat in-depth with a user auth system and would like to continue this project as something of a “thank you” to the community.

PyOhio Day 1

First day at PyOhio was beyond totally awesome. I grabbed the bus and was down to the Ohio Union building in about 25 minutes. Granted the doors were still locked when I got there since I was a little early so I chilled outside until the OSU folks got us inside.

On a slightly different note, my friend Robert Conteh was actually able to get down there and so that was really nice since it’d been about a year since I’d last seen him.

After registering and grabbing a drink I decided to go to James Bonanno’s ‘Project Management 101′ talk at 10am. I can’t really say I saw the point. It was more focused on organizing then managing, although I guess you could argue those are nearly the same.

Even I went to Dan Buch’s awesome ‘Intro to Core Involvement’ talk. While I probably won’t be able to spend much time contributing to python itself, it’s great to have a general sense of how things work.

Dan’s talk ended about 20 minutes early and Robert and I took off down to McDonald’s for something to eat. We never did have more then a Yogurt since I wasn’t really hungry and he’d already eaten.

Then I made the major mistake of not looking busy around the Registration table when Catherine Devlin was there. I got jumped to help watch the table while she ran to do a few things and one way or another I ended up manning it for pretty much the entire rest of the day.

Manning the registration table is not something I’d regret however. I don’t think I’ve had so much fun in ages. Heidi Hooper helped man the booth just about 45min after I started and stayed pretty much the entire time. It was good to have someone fun to talk too. There were also a few other folks who helped out at times but sadly I cannot seem to remember their names. :S (If you read this, wack me upside the head.)

I also had a wonderful chance to nag Mark Ramm who’s the co-author of the Turbogears 2 project and works for Sourceforge improving their website and such. He’s a really fun guy to talk with and it’s really awesome to get an idea of what’s going on from the inside guy.

From there I was there talking with various people the rest of the day until the Lightning Talks. Those were pretty good + the random draw for swag was done. We had a guy ‘hack’ Catherine’s python random person chooser script by adding a random.py file since python imports from current directory over the core library. That was funny as heck + Catherine didn’t notice for a minute. Although there was an ongoing debate as to whether it would have been funnier if the script had just been broken rather then running since he didn’t have a time to test it during his ‘hack’.

Phew, it’s been a bit since I’ve written that much on what I’ve ‘done’ in a day. In closing, It was a very good day and I’m looking forward to getting up later ‘today’ and going down for the rest of the PyOhio talks.

[nggallery id=2]