Znode

March 15th, 2010

I’m working on a node based editor for brainstorming. I often find myself drawing psuedo-UML on whiteboards and inside the flash IDE. I like UML but it’s often more than i need so I’ve slowly been developing Znode… which will allow the creation of super simple diagrams like these:

I hope to have Znode finished and open sourced in a week or two. The code is all pretty simple. Here is a short feature list:

Add nodes with text
Resize nodes
Connect nodes to other nodes
Zoom in and out
Pan
Save and Load Node structures (XML format)

And for phase two of the project:
Undo and Redo functionality


Programming Like a Portrait Painter

March 14th, 2010

Beginner programmers are attached to their code. REALLY attached. After having been programming for around 10 years I realize that the way for me to write the best software is to work more like a painter. A painter might do 10 or 20 sketches before actually moving on and painting a portrait. The painter may review some of these sketches and take elements from them - maybe in one study, the chin was more accurate, maybe in another study the ears came out perfect. The painter will use these sketches as a reference as he works on the final portrait.

I do the same thing with programming. If I want to program something complex, I’ll do anywhere from 3 to 6 studies/sketches. These code sketches are usually messy quickly written code. The idea is to get my head wrapped around the problem. It isn’t until I feel I have a good grasp of the problem that I go ahead and try and tackle it. Even then, when I hit a wall I’ll often go back to sketching mode.

The main requirement for this approach is time. You need to make sure your client understands right off the bat that programming software isn’t a speedy process.

This technique is nothing new, there are variations and fancier names for this kind of thing… I just thought since I find myself telling this to my students all the time, I’d write a quick post about it.


Gesture Capture

March 11th, 2010

Gesture Capture is a mini-drawing program that allows the user to draw single gestures (shapes, letters etc…) - the program then randomly scales, rotates, tints and translates these gestures repeatedly on the canvas. The user may continue to draw as it does this, the more gesture drawn, the more the program will have to randomly choose from.


Try Gesture Capture:

I created Gesture Capture as an entry for actionsnippet and something made me think of it today. I was playing with it for awhile and decided it was worth mentioning here.

The original post and code can be found here