Monthly Archives: January 2010

iPad

I work, live, and play in technology. My job today is in technology – doing software to run software (a bit cyclical, yes)  - operations, in short. Almost everyone surrounding me at work is technical, smart, detailed, and very, very into computing and what it can do. To be honest, I’m mostly surrounded at work by people who happily use and understand Windows as a common operating system.

They’ve all been buzzing about the iPad. Shit, anyone in technology has been buzzing about it. Microsoft and HP (or laptop/tablet vendor of choice) had a decade to break this code and didn’t manage it. I’ve been hearing almost exclusively around why Apple fucked up, blew it, and why the Kindle and netbooks will continue to rule the roost. I won’t even go near the whole “Flash thing”.

I think they’re all dead fuckin’ wrong. Pardon the vuglarity, or not, as you please. It’s needed on this one. The iPad is a sign post. A marker of where we’re heading, and a sign of the change to come. I saw the preso, reading a few IRC channels and frantically refreshing web pages – and my thought was “Holy shit! I’m seeing something just like the first copy of NCSA Mosaic running on a Mac. This is going to change the world…”

And I found that I was completely unable to articulate this in any way that I could present to my coworkers. I didn’t bother demanding they listen, or that I was right, or any of that nonsense. I see it coming – they will too, eventually. In the past day or two, however, some very articulate fellows have done an amazing job putting down into text what I couldn’t. If you haven’t read these – do.

Thanks gents – I appreciate the words and thoughts – especially since I couldn’t seem to articulate them.

Pinax cheat sheets

I have a few friends that I’m bringing up to speed pretty quickly on Django. The basics are going well, and I’m providing the foundations for the effort. To take advantage of all the good stuff out there, I’ve started diving deeply into Pinax, and then wrapping some automation around it with Fabric to make it really easy to work on new apps and projects.

That’s the whole reason I posted gist 284927 yesterday on setting up a remote app server for a pinax project with Fabric.

The biggest hurdle that I have with the fellows I’m bringing up to speed is them understanding what’s IN the project that I’ve already slapped down. Even a basic pinax project has a huge amount of complexity for the newer django developer – it’s pretty overwhelming. To try and mitigate that complexity, I’ve started a side project making Pinax cheat sheets. (http://github.com/heckj/pinax_cheat_sheets).

This is not intended to replace Pinax documentation, and in fact I hope that I can eventually tweak these around and put them into the pinax project. I have a huge respect for it (and I use it), so here’s a little bit of detail for contributing back.

I am very happy to take on any changes, edits, updates, etc – from others. There’s a lot of folks who’ve worked very hard to build all these components, and I’m not writing from the perspective of the creator, but of the “code spelunker”. I’m sure I’ll get some of this stuff wrong – so if you see something, please let me know.

I’d ideally love to receive contributions in the form of pull requests from GitHub. Just fork that project, make your edits, and when you’ve pushed them back up – send me a pull request. I don’t promise that I’ll include everyone’s contributions, but to be honest I don’t expect to be too darn picky.

I’ve written the cheat sheets in markdown, mostly because I know it, and secondarily because it renders nicely as HTML when viewed through GitHub.

The start of the project has the following cheat sheets up:

I have a bunch more external apps to go before I hit the internal Pinax apps. I’m working through everything that’s included in a Pinax “basic_project”.

And then the internal apps:

  • basic_profiles
  • account
  • signup_codes
  • about
  • django.contrib.admin

Using fabric to deploy a Pinax project

I spent the better part of this morning screwing around with Fabric to get even a basic deployment working correctly with Pinax. I may be doing this horrifically backwards… Since I finally nailed something that worked for me and I couldn’t find much out there on the web, I wanted to post up a result so that other folks could use/riff etc.

http://gist.github.com/284927

Please feel free to replicate/clone/use/etc whatever to your heart’s content. It’s built around deploying a Pinax 0.71 project clone that also uses South for schema migrations, and the project is housed in BitBucket.

The other fabric file I found that’s referenced frequently was a part of the inspiration here: http://gist.github.com/212366. It’s a fabfile that’s intended to provide some simple rollback and expects to be used from GitHub – and has some really nice documentation associated with it. Maybe I’ll work on mine to add some of that doc… but mostly I’m just making it available as is.