Tue, 27 Jan 2009

Snakebite revealed


As Jesse writes, Trent revealed the existence of Snakebite yesterday. Snakebite is an "open network" of various machines that Trent and others (myself included) are making available to the Python community for build and debug purposes. I'm coordinating the MSU component, which basically means that I run interference for Trent with MSU higher-ups and provide power & network; Trent bought almost all of the machines himself on e-bay and has done 99.9% of the work so far.

And that's pretty much the entire story, minus the blood, guts, and delivery of excessively large quantities of excessively large boxes to my doorstep here at MSU...

There will be a discussion session about Snakebite at PyCon '09, so stay tuned.

Incidentally,one of the real pleasures of being a professor is that I get to throw my support behind worthy projects like this one. MSU has been amazingly good so far, and the Computer Science department in particular has opened their doors for us. Here's to an open source future here at MSU, and elsewhere too!

--titus

posted at: 08:47 | path: /jan-09 | 0 comments

Tags: ,


Wed, 07 Jan 2009

C++ for Python Programmers: a Cheatsheet


A fellow prof here at MSU, Rich Enbody, whipped up the following cheat-sheet for new programmers transitioning from Python (CSE 231) to C++ (CSE 232). He welcomes comments. Here's the link:

http://web.cse.msu.edu/~cse231/python2Cpp.html

Paranthetically, he and his cohort in crime, Bill Punch, will be giving a talk about using Python as the intro CS programming language at PyCon '09. They have some interesting stats on the effects of a mixed Python-C++ curriculum vs a C++-C++ course base for the first year of programming.

And folks... remember, this is for intro programmers who don't know C++ yet!

--titus

posted at: 12:56 | path: /jan-09 | 2 comments

Tags: , ,


Why are Terminators so incapable?


I've been watching Terminator: the Sarah Connor Chronicles on Hulu (best legit media site ever!), and I decided I needed to rant (mildly).

Even ignoring the whole problematic issue of time travel (central to the plot)), and the generally poor plot line inherited from the Terminator movies (whatcha gonna do?), the TV episodes inherited another major stupidity from the movies: the completely low-tech Terminator robots. I mean, here you have incredibly advanced AIs capable of emulating humans, however poorly, and yet they have:

  • no distributed intelligence gathering capabilities; imagine how much damage a T-1000 could do with a few remote bugs!
  • no MHC or pheromone detection capabilities; they can't track people (except by blood)
  • no X-ray or infrared version; they're limited to line of sight!
  • incredibly poor aim; sure, guns are inaccurate, but they keep on missing at 10 yard ranges! Heck, a T-1000 with a sniper rifle would be pretty deadly...
  • purely humanoid architecture; 'nuff said.

I think part of what brought this realization to a head today was that I've also been watching Burn Notice (also very entertaining) and in one episode, Michael Weston had this nifty incendiary shotgun round that he used on a car. Heck, that'd do some serious damage to a Terminator, right? if a burned spy can get ahold of such things, surely Sarah Connor in all her infinite capability can do so...

Then there's the other issue -- why do they keep on trying to stop the Terminators with bullets?? They're incredibly ineffective. How about using C4, or phosphorus rounds, or phosphorus mines?!

Ahh well. It's just a TV show. And it has Summer Glau in it. So it's not that bad :)

--titus

posted at: 03:17 | path: /jan-09 | 0 comments

Tags:


Sun, 04 Jan 2009

Dear Lazyweb: Write-Once/Few-Read-Many Options for Python?


The decision of python-dev to deprecate bsddb has left us in a bit of a pickle (hah!) over in the pygr project. We're looking for a replacement for bsddb for default storage of infrequently- (or never-) changed pickled Python objects. Some of the parameters under consideration are:

  • Python version availability: does it work for 2.2 on up? What about py3k?
  • cross-platform availability: is it readily available for Mac OS X and Windows, no compilation required? Byte-order compatible across platforms? Comes with Python by default is a plus...
  • scalability: can it scale to gigabytes or 10s of gb of data? 10s of millions of records?
  • is it fast, whatever that means?
  • is it simple to set up: no sysadminning required?

We're looking at sqlite and python-cdb right now, as well as a home-grown solution. What have we missed?

So far Istvan Albert has benchmarked bsddb hashopen and btopen, sqlite, GNU dbm, and python-cdb; you can see the results here. The whole discussion thread on pygr-dev may be worth reading if you're interested.

A few additional notes --

  • Couchdb, MySQL, PostgreSQL, etc. violate the "no sysadminning required" rule. We will probably support them, but they will not be the default.
  • python-cdb looks blazingly fast, but we would have to port it to Windows, and make binaries available. What's the scoop on python-cdb, anyway? Is it well maintained, a well-used project, etc?
  • sqlite isn't "built in" prior to Python 2.4.

Anyway, at this point I'm just trying to figure out what we're missing, if anything!

thanks, --titus

posted at: 21:56 | path: /jan-09 | 18 comments

Tags: ,


I am amused


Google for pretencious. What an odd first result!

(I was looking for the correct spelling. Turns out it's a 't', not a 'c' or an 's', before the ious.)

--titus

posted at: 21:27 | path: /jan-09 | 0 comments

Tags: