New RapidBlog

I just pushed a new rapidblog up, see the changelog for details and download links. This is a recommended update as it fixes a number of problems and cleans up lingering UTF8 issues.

Most importantly it fixes, in a nice way, the 'hang' that occasionally occurred during publish.

Normally I don't talk too much cocoa in this blog but I wanted to put something out in googleland for the next poor sap who had a problem.

Basically the root of my problem was I was modifying entries bound in a NSArrayController. This, in itself, is not a problem except I was doing it in a background thread -- I can't really control this as RW pushes my code to a background thread during a publish and, again, this is not necessarily a problem except for the fact that I was occasionally updating the contents of the bound objects. Again, this in and of itself is not a problem except that one of the things being bound was a MutableString bound to a NSTextView (RWTextView).

That is a problem -- You see NSTextView stores it's content in a 'NSTextStorage' which is a mutable object and that, in fact, is not thread safe. The problem was that the main render code would sometimes try to render the scene exactly as I was modifying it causing a 'deadlock' -- Each process was waiting for the other to finish which was the hang.

The solution? It ended up being pretty easy (as these things often are) in retrospect but it was painful to find. I ended up listenting for notification from RapidWeaver that it was about to start publishing. Then I told the NSArrayController to unselect itself on the main thread -- That is the secret sauce, you have to perform this on the main thread with

[self performSelectorOnMainThread:@selector(deselectLineLH) withObject:nil waitUntilDone:YES];

deselectLineLH is a little snippit that basically has the NSTableVIew unselect itself so it never renders any updates. That little bit of magic was all it (finally) took. It's really kind of wild that you can do this kind of stuff and it works, cocoa+objc is so cool sometimes.



The machine is us

A RapidBlogger posted this on his site (I'm sorry, I've seen so many sites recently I forgot who). Then I saw it on If you are at all interested in the web & society it's a nice watch
Comments (2)


Hi Guys,

It's been a fun couple of days but pretty busy. For the most part it's gone relatively smoothly but RapidBlog is a new kind of product and fairly complex so there has been a pretty heavy email load.

If you don't hear back from me within 24 hours please re-send the note, I'm not ignoring you I probably just lost your message in my growing inbox!

Comments (1)


I'm so glad that RapidBlog is finally out and people can play with it. So far the feedback has been very positive, I hope this is due to the extra effort I took on RapidBlog in terms of testing, docs, etc. Time will tell but so far I'm pleased.

If you are maintaining a blog in RapidBlog let me know, I'd like to get a collection of folks using it in my RSS reader!

Comments (1)


You might notice a new look with the URL's at

Most of them should have a nifty hover ballon when you point at them (go ahead and try looking at )

It's a pretty interesting service from, too bad there wasn't a way to automatically insert them based on page type, URL, etc......



I've been working on documentation the last few days, every time I do this it reminds me how hard this stuff is.

One of the fun aspects of running your own (small) business is that you are everything, CEO, coder, support, learning products (e.g. documentation). At my 'Day Job' I only have one role that usually doesn't involve writing customer facing documentation but at it's pretty much me (I've tried more than once to recruit my wife but she, oddly, expresses very little interest in writing docs)

Anyway one lesson I've learned from previous plugins is that after a product launches you are usually so busy doing support, bug fixes, etc. that you don't have time to work on docs. the intention is always to do it ("Oh, I'll release it and then do docs for the next few days") but it never seems to work out that way.

So this time I'm doing it different and trying to get relatively complete docs up before I release (novel concept, I know)

So for two days I've been working on them and man, it's like tough, First there is the actual content -- Writing something that actually makes sense and flows. Then there is the structure, what goes where and how to organize it and finally the formatting & graphics.

In most big bigger companies there are people who work on this full time, all day, and I now know why.

Comments (6)

Iphone success/failure

The iphone will be a huge sucess because:
1. It's oh-so-sexy
2. It's a ipod+phone+internet tablet
3. It's a great price
1. 8GB nano=$249, smartphone=$400, internet tablet (Nokia N800)=400 total=$1049
2. Iphone is only 599
4. It'll sync flawlessly
5. It's from Apple
The Iphone will be a huge failure because:
1. It's gonna scratch and break like crazy
2. It's has no keyboard
3. It's way too expensive ($599 and a two year contract!?!)
4. No third party developer support (Palm + Windows mobile have great support)
5. It's only a 2.5G device, data rates will be horrible
My Prediction:

The iphone, when launched, will look different than what was presented. They will either lower the price, increase the storage or announce a huge number of sexy features to insure it's competitive. I don't know if they will win 2% of the worldwide cell phone business in the first 12 months but they will sell enough to declare it a success



Hi All,

I get a "few" emails every day about Rapidblog. Let me assure you that it is well on it's way, I'm 'feature complete' and currently working on squashing some annoying bugs and generally improving usability.

Unfortunately "Real LIfe" is raring it's head right now so progress has slowed down a bit. While I don't want to make any promises it seems to me that Rapidblog would make a great gift for your sweetheart.

Comments (3)


Nik posted a poem about the keynote...

If I had the time I would have written something similar. I still consider myself a relatively recent convert (It's been about 1 1/2 years now) and it's odd -- The PC world doesn't really have the same kind of events, products sort of roll out when they do but you never have anything like the timed mac events (WWDC, Macworld and some kind of pre-christmas announcement).

So while it was initially strange to me how excited everyone got around these events I've now become 'part of the cult' and tomorrow at 9:00PM I'll be constantly refreshing my browswer. At about 10:30 or so when the keynote is over I'll jump in the car and by noon I should be standing in the Apple booth!
Comments (1)

Macworld checklist

I'm heading to macworld next week. I'm lucky since I live so close (~1 hour drive to San Francisco), I'm doubly lucky since my in-laws live in San Francisco and I can crash there if I don't feel like driving home.

So here is my checklist of things to bring to Macworld

  1. Cell Phone (Treo)
  2. iPod (full of podcasts for traveling on muni or if I have time to kill)
  3. Small digital camera

Some folks walk around with laptops which I won't be doing (too much hassle). Even though I won't have my mac with me I'll of course be blogging from macworld thanks to Rapidblog.


Next Page -->