monkinetic weblog | redmonk.net

Since 1999, IX Ed.

Archive for the ‘Redmonk Software’ Category

Autorelease Hell

Thursday, June 5th, 2003

I’m working on a new app in my limited spare time. It’s an OS X app, and this post is geeky, so you can move along is that’s not your bag.

Ok, so I’ve got things working pretty smoothly, but after all my app launch code is done executing, and the app is loading it’s NIBs, I get a “EXCBADACCESS” during objc_msgSend right after the function NSPopAutoreleasePool gets called.

I know this is something I’m releasing too many times, but for the life of me I can’t figure out how to find out what it is that is being autoreleased here.

I’d appreciate any help from any seasoned Cocoa developers! smile

Coding Cocoa

Sunday, June 1st, 2003

I’m finally back writing Cocoa code again. I’ve already written (and temporarily abandoned) one app in Apple’s Cocoa Mac OS X programming environment.

The project I’m working on now is one I’ve been ruminating on for 6 years. I won’t be talking much more about it here until I get much further along the development cycle, but I mention it now so I can fawn over how cool Cocoa and Objective-C are.

I’m having more fun doing this than I’ve had in ages, and I even when doing other things I find myself sketching object models, data models, GUI prototypes, and just generally obsessing. Wheee!

Brent is my Guru

Tuesday, May 20th, 2003

I wanna be like Brent. All I need now is time and talent. smile

Sgannt

Sunday, March 30th, 2003

Big surprise, I hacked on mygannt.py some more this weekend, and it’s now called sgannt.py. Ostensibly for Simple Gannt (though it’s not so simple anymore) but more because it sounds cool to pronounce it “scant”. -)

The one thing I really like about sgannt is that it’s personal. I designed the chart format, trying to keep it simple but attractive. I want my clients to feel comfortable looking at it, and get all the information I can give them. It’s not perfect, and hopefully it will get better, but I think I’ve struck a good balance between information design and visual design.

Sgantt now reads an OPML file on stdin as input, and generates very nice PDF. It has it’s own config file format (modelled after analog’s since that’s the format I’ve been using most recently) where I can spec fonts, margins, banner colors, default line widths and column marker colors. This has been a really good experience for me, and I’m going to write up a howto soon on some of the technologies involved, to hopefully save someone else some of the headaches I had.


Granola Gannt

Mmmmm, Ming

Friday, March 28th, 2003

Of course, no journey would be complete without a few choice temptations along the way.

Ming is a SWF file library with python bindings.

Progress Report III

Friday, March 28th, 2003
” border=”0″>

Finally! It’s working, and I get to have a weekend! (I don’t know if I could have stopped if I hadn’t fixed this thing…) But seriously, I am so glad to have this script working. I really hate that admin-type stuff you have to do to get work - writing proposals, doing project plans, timelines, etc… This is going to save me a not-insubstantial amount of time, I’m hoping.

Yes, Mygannt.py has made the transition to outputting PDF. It’s nice. Really nice.

Check out the output here. Whew!!

There’s more to do (oh, isn’t there always?) but now I can shower, and eat, and other things normal (read non-obsessed) people do. -)

Progress Report II

Friday, March 28th, 2003

Whew. You know how you sit there, looking at your working code, thinking “I’m so glad it works. It works really well! But… it could be better… I wonder if instead of a bitmap I could get resolution independent ouput?”

Well, just stop. Go for a walk. Watch a movie. Whatever you do, do NOT take a few minutes to find that little bit of code that will give you resolution independent output. Do NOT spend the little-less-than-an-hour it takes to convert your bitmap generating code over to, oh-goodness-it’s-sweet-high-quality-PDF…

Do NOT sit for two hours trying to understand why someone thought it would be a good idea to have the drawing code work opposite the global coordinate system, leaving your cleverly written code to flounder while the oh-goodness-it’s-sweet-high-quality-PDF output runs right off the page in a fit of un-coordinate-d rage…