The Disappearing Act

Generally I’m not superstitious but I’m convinced that technology runs on karma and voodoo.  I can imagine how a doctor must feel as he learns the enormity of things that can go wrong – not a bad analogy when you consider that programmers and MD’s spend a lot of time diagnosing and debugging obscure problems for uncooperative clients.

Read more

Transparency in Textmate: part deux

The diligent reader will remember my previous post on Textmate and transparency. Well the wait is over — I give you my first theme DanBurst.

DanBurst merges Daniel Fischer’s transparent theme with Textmate’s builtin Sunburst. More later on how to make any theme transparent.

Writing uninstallers with GenericSetup

As of right now there isn’t a well accepted method of uninstalling a product or theme through GenericSetup.  Still, uninstallation via GenericSetup is possible though carries a number of caveats.  The material below is incomplete and covers only the basics of what is a primarily heuristic process:

Read more

Transparency in Textmate

Newly converted to the mac side (they’re the development machines our department gave us, and yes, they are pretty frickin’ sweet) transparency has become my bread and butter.  From my terminal window to my text editor — almost everything on my macbook-pro is transparent!  A couple months ago (before this blog) I customized Daniel Fischer’s Textmate theme with an alternate syntax highlighting.  ’Do-it-yourself’ code to follow shortly.

Read more

Making hashtables from binary trees

The next time a random guy on the street asks you if binary trees and hash tables are related answer yes, then look at him strange for asking you such a random question.  In all seriousness though, there exists a deep theoretical relationship between the pair of data structure: Read more

Balanced ternary

Here is an excerpt from wikipedia regarding the balanced ternary numeral system.  Marked in bold are some items I found particularly interesting.

Read more

Programming For Fun: Introduction to intro Python

I’ve been wanting to teach a course for some time and I am now being afforded the chance.  The target audience are people who have never written a line of code; and what I’d like to do is get people interested in python programming using humor and non-technical metaphor.  After some thought, I roughed out the following sample curricula — I’ll be interested to see what other people think.

Read more

A curious idea

Ok, so I’ve been building a BST and all the accoutrements to connect it to the hypertree visualization.  But what about balancing the BST?  Because I have a math background I decided to forgo (at least for now) building AVL or red-black trees in lieu of a more ‘mathematical’ approach.  What to do?  I could randomize the order each node was entered into the tree but that requires a lot of overhead; or I could randomize the ID’s of the nodes themselves —  But these methods have serious downfalls (especially when the number of nodes grows large).

Read more

Working toward the Javascript InfoVis Toolkit

Sample Hypertree

Sample Hypertree

If you haven’t seen this, then go here immediately and consider the possibilities of this toolkit: http://thejit.org/.  The JIT is a javascript library for advanced knowledge visualizations and hot damn its cool.  The only problem is that its in javascript and I’m a python programmer.

Read more

Making the del.icio.us python API work

No introductions needed as the title says it all.

First of all, del.icio.us rocks.  For all who don’t know what delicious is, you should read about it, maybe start an account.  For us python jocks, Michael G. Noll has written a pretty good python API.  As of July 14th 2009, there’s a bug in the deliciousapi module which is easily fixable.  Using your favorite text editor do the following.

1) Import the time module

2) Replace all occurrences of datetime.datetime.strptime with time.strptime

It’s a rudimentary hack but it works well for me.

Standard Disclaimer: this bug might be corrected in subsequent versions so try the api first before ‘correcting’ it; please think before sending Noll a harsh email about why his api doesn’t work — it does.