The last time I made any significant change to the design of this blog was when I moved it from being a guest on to my own domain. That was in 2005, and at the time, I had to ensure that the blog would be readable by my Mom on her 800×600 screen. So I took a then-new WordPress theme and adapted it to my needs by putting it onto a piece of wood and banging a few nails through it.

My original design constraints became irrelevant more than five years ago, but every time I thought about changing the appearance of the blog, I thought about the mass of CSS and PHP I’d have to deal with and put the project aside for another day. Or year.

This week, though, I started assisting the Webmaster of
the Los Gatos Silver Tongued Cats Toastmasters club in moving our site from FreeToastHost to WordPress (a project not yet complete), and he showed me how easy it was to make changes using modern themes and their associated widgets. So I spent this afternoon updating this blog to use the Weaver theme; the hardest part was figuring out how to get my Google AdSense to display where I wanted it (under the title) at the full width of the page (the answer: put the AdSense code in as a snippet instead of using the header widget).

I’m not sure that I’m finished with the redesign, but it certainly seems more modern (and less tiring to read on a widescreen display). Comments are welcome, of course.

Apologies and Thanks

One of the key points that Marshall Goldsmith makes in What Got You Here Won’t Get You There is the importance of apologizing to people when you’ve made a mistake and thanking them when they’ve made a contribution (or even an observation).

So, in that spirit, I have to apologize to people who’ve made (or tried to make) comments on this site for the past few months; I discovered last night that I’d done something to my WordPress configuration which was sending comment notifications into the ether (actually they were probably spamming some unknown user sharing the same hosting provider), and therefore, any comments from “new” people were stuck waiting for approval, and I wasn’t seeing comments from “old” people, either.

I think I fixed everything up, but for those of you who may wonder what’s been of interest to my readership recently, I’ll call out the “lost” commentors and comments here:

Summarizing all those comments was a lot of work, but fun — maybe I’ll do it again some day.

Some thoughts on Twitter

I started to play with Twitter in late July. My first few posts were answers to the Twitter question (“what are you doing?”) and they were incredibly dull. It didn’t take me long to give up on Twitter — I hadn’t found the secret sauce.

But I didn’t quite give up (probably because I had a bookmark on my iPhone, and I kept seeing the site when I hit that browser window). I started playing with Facebook, too, and saw some of my friends there add a Twitter app to their pages. I even sent a couple of @replies to friends, but it was all one-way broadcasting on my part.

And there was one other use I had for Twitter: Remember the Milk, an online to-do list which I’ve also been toying with as part of my Getting Things Done efforts. RTM featured a Twitter interface, so I could easily add a task to my list by sending it a direct message from my phone — and since I had 200 messages a month, whether I needed them or not, it seemed like a win to me.

Early in December, I started noticing (and following) more and more IBM friends on Twitter, and then I had a conversation with Sacha Chua, one of the people I mentor at work. She convinced me to give Twitter a more serious try, so one evening, I started looking at replies to people I was following and inserted myself into a conversation or two.

It didn’t hurt a bit. And I found myself conversing with Industry Names like Ed Yourdon and pundits like Michael Krigsman. Not necessarily about industry topics, either. It’s amazing how much can fit into 140 characters — the sidebands are amazing!

And then on Boxing Day night, I was stuck in a crafts store while Diane was shopping, so I sat down with my iPhone and turned to Twitter. There was a discussion of painkillers happening, and somehow it swam into my ken (probably indirected through Robert Scoble). I didn’t actually have anything to add, but it did remind me that I had a big bottle of expired aspirin to dispose of, so I tweeted a question. And I got an answer (which I still haven’t acted on).

But I also got drawn into the general conversation (hey, I was bored!), and by the time Diane was finished (and it wasn’t that long), I was following a bunch of people I hadn’t known existed 30 minutes before. And they were discussing serious topics like Susan Reynolds‘s cancer (hence the painkillers) and silly topics (too numerous to mention).

And I’ve been wandering around those discussions and increasing my circle of contacts for the last week.

Is Twitter a substitute for face-to-face contact? No, definitely not (especially when the avatars change for special events like Frozen Pea Friday, or @newmediajim’s birthday), but it’s a good way to meet people you wouldn’t encounter in a more focused environment. And if you happen to find you have something in common, you can chat with them and even choose to follow one another’s tweets. (And there’s the secret sauce!)

I wouldn’t use Twitter for mission-critical communications — there are clearly scaling limits, both technological and human — but it’s a useful tool to have in the toolkit, and it’s fun! And if it weren’t fun, it’d be a lot less useful. What could be more boring than reading streams of 140-character messages from total strangers?

Using my voice to get things done

I’ve had Jott on my speed-dial list for a while, but I haven’t made extensive use of it. And I’ve been using Remember the Milk to manage a few of my tasks…but again, not seriously.

But that may change, now that the two services are integrated. I like the idea of being able to dictate a quick voice note to myself and have it show up in my task management system. And having more of my tasks in RTM will encourage me to use it for even more of my tasks — or at least that’s my theory.

And, as the previous entry in this blog shows, I can now even use Jott to blog — short blog entries, to be sure, but sometimes I only have a little bit to say.

Hmmm, if brevity is the soul of wit, does enforced brevity guarantee I’ll be wittier?

So much for the blogroll

I haven’t been keeping my blogroll up to date for a long time – basically, I do almost all my blog reading in NetNewsWire, and I haven’t found a good (read: automatic) way of reflecting what I follow there to the blogroll here.

But spammers have figured out how to update the blogroll here automatically, so I just got rid of it entirely.

Damn spammers.

NewsGator for iPhone — I like it!

This was one of the first things I saw when I got back to my office after lunch:

NewsGator Daily: “This morning we announced the release of NewsGator Mobile for iPhone, a free newsreader that takes advantage of the unique design and user interface of Apple’s wildly popular new device. The free service, which works with iPhones and other mobile devices is accessible at” [via Brent]

So naturally, I had to try it. I like it…a lot! It won’t replace reading blogs on a real computer (especially those only available inside the firewall), but it’s sure convenient and makes it easy to zip through an accumulation of items in a few spare minutes. Very cool indeed!


No, I’m not talking about bathtubs. I’m talking about the scum who have apparently decided that death threats are an acceptable way of expression, at least when it comes to Kathy Sierra.

I can’t imagine what it’s like to be on the receiving end of such threats and abuse; hell, I found it hard to get back to work after just reading what she was subjected to.

Kathy, I hope you’re able to return to blogging; your perspectives and good sense have helped me (as have your books). But first, take care of yourself.

Upgrading to WordPress 2.0.4

I’m in the midst of upgrading to WordPress 2.0.4 (from 1.5.2, shame on me). Minor breakage should be expected (my custom 404 page seems to have vanished), but things are running well enough that I’m going to dinner. More fiddling later…

Hmm…I don’t have any idea how I got the old 404 to work (for those who might care, it was a special page in the database, and somehow or another, it got invoked at the right time; the magic formula was on a posting from the Sacramento Web Developers SIG, which seems to have vanished into the ether).  So I’m doing it the old-fashioned way, with a 404.php file in my style.

And I see that Akismet is catching spam for me already, so I guess the migration has been a success.

Relevant comment spam?

Two hours and 15 minutes after my posting last night, there was a comment waiting in my moderation queue from someone purporting to be a user at Yahoo. The comment read, almost verbatim:


Do you know you can get an American idol coin which will feature 2 finalists on 2 sides? Well, I got mine from [redacted]

C ya

I decided not to approve the comment, but I was impressed at the relevancy. So I did a little more digging.

I ignored the purported email address as being trivially spoofed; instead, I did a WHOIS lookup on the IP address from which the comment had come. It was in the 59.95.x.x range, so I had to go to the APNIC Whois database, which told me that that entire subnet was run by an outfit named Sancharnet, whose homepage describes them as “Sancharnet is a country wide Internet Access Network of Bharat Sanchar Nigam Limited, India. It offers Dedicated and Dialup (PSTN & ISDN) Internet Access Services across all the major cities in India”.

I then checked my logs (well, actually, the SiteMeter summary) and found that my only recent connection from 59.95 came though this referral:

and that the user had visited several pages and been on the site for about 4 minutes.

This is, of course, an example of the globalization of services. Whoever sells the coins being flogged (“Abundant Marketing”, in Boynton Beach, Florida, according to the WHOIS database for the URL they were trying to promote) appears to employ people in India to do frequent Technorati searches for relevant terms and then post spam comments. I say that it’s likely to be humans at work rather than bots because of the location, and because the HashCash plugin requires JavaScript and most bots don’t support that.

I must admit to being tempted to go ahead and let the comment post because it was, in fact, relevant — but, of course, I didn’t. Wonder if they’ll try commenting to this posting? It does, after all, have the magic “American Idol” phrase in it!

What spreads faster? Truthiness or brrreeeport?

Scoble is running a test of blog search engines, and this is my contribution to the dataset.  Hmmm…I am not yet there. Let’s say “brrreeeport” and “truthiness” in the body of the post and see what happens now.

In other news, things have been busy, but nothing has been really blog-worthy — sure, we had a beautiful 70-degree day while New York was getting socked with 27 inches of snow, but you could read that in the newspapers.

Possibly the most interesting thing we did over the weekend was go to the Kehillah production of Hannah Senesh.  As he introduced the play, the director (Kehillah’s drama teacher) said that he really couldn’t tell us to “enjoy the play”, and he was right.  It was a very meaty play for highschoolers to deal with, and they did a wonderful job.

Back to work…

Search Oddity

Last night, I was checking the recent visitors report generated by SiteMeter, and I noticed one visitor had gone through 12 pages on the blog (which is quite a bit more than average). I was curious about what brought that person here; it turned out that they’d reached the site through an MSN Search for “November 2002”.

As of last night, this blog’s November, 2002 archives were the 8th result from that search. I can’t imagine what brought me so far up on the result list — though my blog is also high on MSN if you search for “November 2000” or “November 2001”.

Sometimes, I wonder about the web….

Migrated, with minimal breakage

I’ve just finally transferred most of the content of my old blog, Defenestration Corner, to this blog. I wound up writing a bunch of bad Python code to do much of the work, but still had to do quite a bit of manual cleanup (and someday, I may yet get around to categorizing the posts I transferred). I lost all the comments to the blog in the process; there are few enough (and many of them were spam, anyway) that I’ll look at them by hand rather than bother to try to write yet more single-purpose code.

One of the areas which caused me the most trouble was my use, in the early days, of a non-empty posting to hold a picture. I finally decided that those few comments were not worth the effort and tossed them, changing the link to the picture itself instead of the posting.

I also learned, yet again, to Keep It Simple, Stupid. My original plans, months ago, involved writing wonderfully clever code to go through the old site, grabbing each posting, examining it to see if it had any references which needed changing, and, if so, finding the target posting and updating it. This would have involved a stack, worrying about circular references, and many other perils. I eventually (months later) took a simpler path; I made a first pass over all of the articles, capturing essential information about them, such as the date as rendered by Manila (rather than trying to figure it out from the UTC date, sometimes badly-formed, passed back through the Manila SOAP interface into Python) and the title of the article. I used the date and title to create a slug for WordPress; I probably didn’t use the same algorithm WordPress would have used, but it didn’t matter.

After that, it was fairly easy to go through the rendered, content-only version of each article (thereby letting Manila resolve its internal “shortcuts”), find all the internal references, convert them to the new version (or, for images, just go to the underlying image), and use the MySQLdb Python module to directly insert the articles into the database on

I ran into a few problems where Manila did, ummm, odd things; rather than program around them, I just manually fixed up the results. And I’ll probably be doing more manual fixups later.

I still have to arrange for a redirect from to this site, and I still will have to convert from the Manila forms (like /discuss/msgReader$nn) to the renamed postings here, but that’s fairly simple. I hope.

Don’t omit the commit

I’m slowly making progress at converting my old blog from Manila to WordPress; it looks like the simplest approach is to write a bunch of Python scripts to read the “content-only” version of the blog, resolve intra-blog references, and then directly insert the result into the underlying MySQL database using MySQLdb.

In testing this approach, I was trying to create a posting from scratch in a copy of WordPress running on my machine; I based the program on the examples I found here and here. But, even though the program seemed to work, and I could read the changes while the program was executing, but after the program finished, the database never reflected the changes — except that the ID for new entries kept increasing every time I ran the program.

It took me a long time to figure out what was wrong, but I eventually guessed it: I had to do an explicit “COMMIT” to have the changes I made from Python stick. I don’t know why the examples don’t show this, but it sure makes a difference.

More to come, I hope.

A catch in my referer log

One advantage of having a low-volume blog is that I check out my referer log fairly often. To be more accurate, I use the digested version provided by SiteMeter, which makes it easy for me to find out information about my hits, including search terms.

This morning, I noticed that someone had read more than one page on the blog and that they’d found it by doing a UK Google search for “parking lower slaughter”. Since I was curious, I re-ran the search and found that the top hit was on a site with the intriguing name of BeenThere-DoneThat. I clicked through, and liked what I saw (“the Unofficial Guide to Great Britain”), so I’m blogging it here so I have a chance of remembering it. I’ll also dogear it, but that’s only helpful when I have a connection behind the IBM firewall, something I try to avoid when on vacation.

Pages I find through SiteMeter

I use SiteMeter to track traffic to this site (I guess I could use the logs that my ISP provides, but I started using SiteMeter years ago for Defenestration Corner, where logs weren’t available, and I like the reports they provide).

Every so often, I look at the referers they report, and if something looks interesting (usually a search engine referral), I’ll click on it. Today, I found that my blog had been reached by a Google query for “kedit macros 2005”; I was curious enough to look at that page of Google results to see what else showed up. There wasn’t much, but because it was the second page of results, I decided to look at the first page.

And there was an entry with a very intriguing title: Eastern Orthodox Editors (XEDIT/KEDIT/THE, etc). It is one page on an interesting site ( prepared by Dr. Nikolai Bezroukov as a service to the UN Sustainable Development Networking Programme.

Dr. Bezroukov has some definite views on editors (ones which aren’t far from mine). I am going to have to take a closer look at vim the next time I fire up my Linux box — I’ve been using it strictly at the same level of knowledge that I had for vi back in 1992 or so, and it appears that it’s far more capable than I’d given it credit for.

Still getting set up

Thanks to Ed Costello, I discovered that I had a backlevel of WordPress, one which didn’t properly create the RSS and Atom feeds. So I updated the site yesterday, and that should be fixed.

I’m amazed that people have actually found this blog already; I wasn’t planning to advertise it until I’d figured out how to migrate the content from Defenestration Corner. I guess I’d better get busy on that!

Moving in

I’d been thinking of moving my blog to its own top-level domain (and onto WordPress) for a while, but I couldn’t decide what domain to use. Until this weekend, when the name “ReadThisBlog” popped into my mind. I would have liked to have had, but it’s parked at Network Solutions — but should do just fine.

As time permits, I’ll move my old content here, but in the meantime, please visit Defenestration Corner for a historical view.

I’m still playing with the format here, too — what looks good on a 1400×1050 screen isn’t so great at 1024×768 (and I don’t want to think what it looks like at 800×600). So expect changes.