Radio to WordPress Migration … finally!

After using Radio Userland for the last 6+ years of blogging, I have finally completed my migration to WordPress.  Well … mostly.  I’m still working out the kinks, and I’m still working on my new WordPress2Blogger bridge which will mirror my posts – based on categories – to my blogs.

Overall, it was a real pain.  I’m not looking forward to having to do this again.  I had some time to work on it over the last couple of weeks, and had actually done most of the ground work.  I am thinking that I’ll outline some of the steps and issues that I ent through to accomplish this.

  1. Export the Radio database to a RSS.XML file.  To do this I first located a tool for Radio called the backLogAllRSS tool written by Steve Hooker.  After installing it, I found that I actually had to hack the code … it turns out that any post that did not include *any* category would not be exported to the RSS.XML file.  (If you really want my hacked tool, contact me … I’ll post it someplace!)  Once I figured that out, and had hacked the code, I then exported all of my categories, and made sure that the Auto paragraphs options was *not* checked.
  2. Edit the exported RSS.XML.  When I got all of my posts exported, I then had to do a global search and replace on one thing … the apostrophes.  Radio had escaped them all to be “'” and for some reason the WordPress import did not return them to being an apostrophe.
  3. Import into WordPress.  I ought to mention now that I only learned about the code hacking and global search and replace after numerous failed imports.  Well … they worked, but what I got what not formatted properly, or has the escaped characters.  Or … lots of posts were missing because they were not in a category.  By about the 8th or 10 import I was finally getting close.  I was using the RSS Import capability, under the Import menu in WordPress.  I actually thought I was done.  Until I noticed that the dates and times on all of the imported posts were wrong!  It turns out that although the Radio tool exports all of the posts with the proper data and time adjusted to GMT … and labeled as such … the WordPress RSS Import seems to ignore the “GMT” designation and just assumes that you are importing from your time zone.  So now I had to hack the WordPress RSS Import code to add the proper offset of seconds to each post being imported.  Again … if someone really wants my WordPress RSS Import hack,, let me know and I’ll send it to you.

In the end, it was an interesting exercise.  I’m actually going to do it again, since my father is still using Radio and I’m now going to migrate him over to WordPress.  I’ll see if there is anything that I left out in the steps.

One thing that I have to admit is that I truly enjoy the breadth of plug-ins for WordPress!  I’ve already found useful ones like the “delete post database” plug-in … this one is very helpful when you import 6+ years of posts and the formatting is all screwed up!  I also found a great Tag plug-in, and then a good basis for my upcoming plug-in which worked with their old API.

I’m sure that I’ll learn more … I’m just glad to have it done!  Now, I just have to learn how to get Onfolio to post to WordPress … I like the aggregator, and want to use it to post!

Problems with style in blog posts

I got this blog post in my aggregator (Radio) a while back and have
been meaning to post about it.  It mirrors a problem that I have
been experiencing as I have been hacking on Radio to add some new
capabilities.  This is a post from Phil Windley’s blog … and it
shows where some of the use of CSS, Classes, and Styles breakdown.

As you can see below, when I viewed the post in my aggregator it appeared like this:

Geek Dinner Tonight.

I’ll be speaking on microformats at the <a class=”hcal”
0, 20)”
id=”link_blogtools:0.9-a7369493d8a334254d358837dd47669d”>geek dinner
tonight. See you there.

What the heck?  I’m guessing that the tags and attributes are
being exposed due to some sort of issue in rendering the post, without
having something from the base web page?  I ran into something
like this when I was working to embed pictures and photos in my
posts.  I wanted to hack a simple “image inserter” button into
Radio … and when I added some really cool Javascript it worked
wonderful … until you got my post in your aggregator.

I’m working on tweaking my code so that it will work fine without the
base page … but it was taking long enough that I delayed the
project.  I’ll work on it more in the future.  It was
interesting to see that other people have the same issues with their

The weird part?  When I included Phil’s post in my post … it turned out like below!  It’s appears to be ok …

Geek Dinner Tonight.

I’ll be speaking on microformats at the geek dinner tonight. See you there.

[Phil Windley’s Technometria]

Utah Geek Dinner

November 30, 2005 @ 18:00

– 20:00

Los Hermanos, Lindon, Utah
Come and learn about microformats and meet interesting techies from around Utah.

Download to Calendar‘)
// –>

Phil Windley’s CTO Breakfast

This morning was the November/December CTO Breakfast that Phil Windley
together. The breakfast started with a question about hiring good
talent. One of the employees from Canyon Bridge
said they have been looking to hire some good engineers, and have been
finding that few can answer some very simple questions. The
example that they gave was about reversing the order of a linked list.

There was a lot of talk about how to alter the hiring process, and also what types of questions people ask: What do you do outside of work? What Open Source projects do you work on?
There was also a lot of talk about how to gather names. Examples
were leverage your existing employees to get the names of “known good”
co-workers. The problem with this approach is that you can
quickly run out of references.

The conversation went on for a long time before it finally went over to the CP80
issue. CP80 is the “Clean Port 80” initiative to create laws
which forbid certain types of content to be delivered over port 80 …
the standard port used by web browsers. It again becomes an
interesting way to attempt to legislate morality. In the end, it
will not be technically possible, but could give lawyers a way to go
after the producers of “unacceptable” content. Yeah …
“unacceptable” to who? ([tags: ])

The conversation at one point moved to downloading content from the
Internet, and the subject of Digital Rights Management (DRM). 
Several sites were mentioned where you could get free content –  Pandora (which is a very cool streaming site – part of the Music Genome Project), and one of my favorites Epitonic. ([tags: ])

There was a brief exploration of the whole area of Wikis and the
inability of the “average” user to use “yet another markup
language”.  I have to admit that it truly aggrevates me that the
various Wiki platforms have subtle differences … and most do not
provide WYSIWYG editors.  and we spent some time discussing the
fact that there is a not a really good – Open Source – AJAX/WYSIWYG
editor.  I mentioned the fact that my parents can use Microsoft
Word, but that having to learn a whole symbology wasn’t going to
happen.  It reminded me of a great Podcast by Robert Lefkowitz @ OSCON 2005 … I’ll have to blog about that one!  ([tags: ])

Phil Burnes through out comments about Flock … a very cool Mozilla-based project, I brought up a very cool article that a friend sent me from Make
… it was about Mologogo
… which is a very cool mash-up of Cellular phones with GPS and Google
Maps giving you a very cheap “real-time” geopositioning/geolocation
system.  We wrapped up on one of my favorite subjects … wearable
computers.  We didn’t spend a lot of time on it … I’ll have to
bring some of my toys to one of the next breakfasts!  ([tags: ])

On the way out, Phil brought up a good point.  His gatherings
bring together an incredible group of people with diverse interests and
experience.  It is the level of experience of some of the people
that really brings a great spin to the whole conversation.  We
ended up going almost 2.5 hours … and it was a great conversation the
whole time … and we could have gone longer!  I’ll look forward
to January!

New version of the RadioAtomBridge tool – v3.2!

Tonight I posted the lastest version (v3.2) of my RadioAtomBridge tool for
Radio Userland
. This tool is a way to mirror blog posts from Radio Userland
blogs that are hosted at The tool has been working
great over the last year, but recently changed their API
(wisely!) to require the use of SSL. I discovered this when my
tool failed and stopped working.

I spent the last several weeks making a number of changes, and cleaning
up the tool in general. There were several fixes that I wanted to
get in place, and I think that I have covered the majority of
them. The primary change was to allow you to specify using
SSL/TLS for the ATOM posts. This does require a download from
Userland of the Radio Userland TLS module … but it’s a free download.

I’ve done a good bit of testing, and have actually posted this article
with the tool. I believe that I have things working well enough
to release a build as v3.2 … so go and grab a copy and give it a
try! If you have problems, please post comments on the
RadioAtomBridge blog … I’ll look for them there!

Tagging in Radio Userland

This is my first post using my new tagging tool within the Radio Userland

blogging application, using Mozilla. It really has been quite an
adventure in learning Javascript at a much deeper level … for
me. Radio has a WYSIWYG editor within it’s web interface that can
be used for writing posts, and there are two flavors (of course):
one for IE and one for Mozilla.

What I wanted to do is add a new toolbar button in the WYSIWYG editor
to allow me to enter a list of comma-delimited words, and have those
words converted to the proper HTML for tags … like the tags at the
bottom of this post. What an adventure!

I was actually able to get the code written and working for IE first
… but not exactly what I wanted. I wanted to have the tags
‘inserted’ at the cursor position, but could only get ‘append’
working. So the tags would always end up at the end of the
post. I then worked on the Mozilla version of this, and got
everything working perfectly! There was already some sample code
on how to do an ‘insert’ in Mozilla. Well … if I could do it in
Mozilla, then I had to find how to get the same functionality in
IE. The problem is that the Mozilla code (of course) would not work
with IE. In the end, it was three simple lines of Javascript!

win = document.getElementById(“idEdit”);
var sel = win.document.selection.createRange();

First, get the iFrame object that the user is typing in, then get the
selection range, then simply paste the HTML/text into that
selection. Simple! In fact much easier than the Mozilla
code that I was looking at. Of course, finding those three lines
was a real pain … until I found this great article at WebReference.
WebReference has always been an incredible site for reading and
learning about HTML, CSS, and Javascript. They came though again
with this article which finally gave me the details to resolve this
issue. Now I’m on to adding toolbar buttons to ease the way that
I insert images into a post. We’ll see how quick that goes …

Apple and User Interface

Anyone who has followed the entire life of Apple Computers knows that they have been involved in several User Interface disputes and lawsuits.  The whole desktop idea was born from a visit to Xerox PARC.  Now it looks like Creative Labs has quietly patented the way that music can be navigated using the ID3 tag information.

The interesting part is that the Apple iPod might be in violation of this patent!  It will be interesting to see what comes of this … I have to admit that I like my iPod!

After patent, Creative examines all options. Creative Technology is “evaluating all alternatives” now that it has received a patent for music player interfaces such as those found on rival Apple iPods. [Computerworld News]

[tags: ]

Experimenting with tags in Radio

I sat here tonight and did some hacking on Radio again.  I’m working on my RadioAtomBridge tool, but I also wanted to add some new functionality to the WYSIWYG editor … making it easier to add tags to  posts.

I added a new toolbar button, and wrote some code that allows me to enter a series of space-delimited words.  Now I can simply click the button, and enter words and hit enter … and I get the tag that you see below!

I’m not quite done with it … but it’s working.  I want to change the icon of the button, and I was hoping to figure out how to insert at the caret position … something that I just could not get working within an iFrame.  Oh well … I got closer!

[tags: ]

RadioAtomBridge update coming

I really have put off working on my RadioAtomBridge for a while
now.  It worked for me, and that’s what counts … right?  🙂

Well, over the last week, it stopped working for me … and I was
frustrated.  I haven’t seen any comments on the blog about it, and
so I figured that it was probably ok, but the more that I looked into
the problem it appears that there were two issues:

  1. It appears that Blogger/Google have lived up to their promise of
    requiring SSL/TLS to secure the ATOM posting.  This really does
    make sense, and I’m not against … I just didn’t want to have to edit
    code again.  But I have, and I am now testing this new version
    that I worked on last night.  If all goes well, I’ll post a new
    version for people in the next day or so.  Oh and another note …
    this is slowly becoming the Radio Blogger Bridge
    again since I am slowly hardcoding some things to work with Blogger,
    and removing some options.  I might see how easy it is to add an
    option for SSL/non-SSL … but don’t count on it.
  2. I also found that Blogger will not allow you to create a post
    that does not include a “title”.  So if you post, and the title is
    empty, it causes a java:Null Pointer Exception on their server. 
    Wonderful.  I haven’t yet fixed this, but am looking at what I
    might do … maybe force a default title of the time and date?

Anyhow … it was fun to get into Radio again … and it was also a
pain.  I hate that I have not yet found a fully supported blogging
tool that really does what I want it to do.  But I am working on

Keep your eyes on the Radio Atom Bridge blog for update news!

Problems with Radio

I am now committed to locate a new blogging tool … although I know
that the search is going to be tough. For years I have used Radio
from userland Software, however it keeps giving me fits and I have now
been unable to get a blog post to “post” for weeks.

Radio has some incredible features that I exploit, and I have grown so
used to how to get things done I really like it. If only it would
work consistently.

I’m doing this as a test to see if threatening to leave this piece of software might cause it to work again …

Who knows …

Configuring Radio Userland to mirror posts to

The Radio Userland Atom Bridge Tool is designed to allow anyone using Radio
Userland an easy way to mirror posts to any or
blog, using the Atom API. This tool is based on prior work from
other developers – Dave Winer and Steve Hooker – who wrote the
ManilaBloggerBridge and xManilaBloggerBridge respectively.

The installation is straight forward and should require very little
effort overall. There are a few key points to understand about
how this tool operates:

  • Once it is installed, you will configure the tool using the Radio Userland Tools link on the Home Page.
  • The tool will not mirror posts
    from your blog home page to Blogger … only posts to categories are
    mirrored. This is on purpose so that you can selectively post to
    your Blogger blog by using categories. If you want a post to go
    to your home page, and to a Blogger blog, then simply create a category
    and always check both your home page and that category when posting.
  • This tool ought to work with any other Atom API compliant
    server. Give it a try, if it fails then come back here and
    comment or complain. If you provide enough information I’ll see
    if I can take a look at it and get it working.
  • NOTE:
    There is still one dependency on another tool from Steve Hooker – the
    backLogAllRSS Tool. You will have to go to his backLogAllRSS web page and download a copy
    of this tool, and install it in Radio.

Ok … so how to get started. First, go and download the RadioAtomBridge Tool.
Once you have it downloaded, copy it into the Radio UserlandTools
folder on your computer. On Windows systems, this is usually the
Program FilesRadio UserlandTools. I’m not real sure where this
folder is on a Mac. When you copy the tool into this directory,
give it a minute or so and the tool will be installed.

Next, you’ll want to go to the Radio Userland Home Page, and then click the Tools
menu. You ought to see a new tool called the
RadioAtomBridge. Make sure that the checkbox to the left of the
name is checked. If it is not, then check the box to enable the
tool and Submit the page. If the tool is enabled then the name
RadioAtomBridge will be a highlighted link … click it.

You will now be presented with the configuration page. You will
see each category and a checkbox where you can enable that category to
be mirrored. The first three configuration fields are already
configured for, so you only need to update the Blog ID,
your Blogger username, and password.

To get your Blogger Blog ID, go to and log in. On the
Dashboard, click on the name of the blog that you want to configure in
Radio. If you now look at the URL in the address bar of your
browser you will see a URL like:

… your Blog ID
is the number at the end . Your Blogger username and password ought to be

Lastly … do not check the box about Manila sites. I’m probably
going to remove this option as it is an older feature of the

Once you have entered all of these settings, Submit the page and your
changes will be recorded … and you’ll be ready to start
posting. Go back to your home page … write a post … check the
category that you configured. After you have posted, go to the
Radio Userland Events page and look for the indication that the post to Blogger occurred. You can also go back to the RadioAtomBridge
page and scroll down to your category. There should now be some
statistics about the post, and possibly an error message if there are

So far it works for me … I’m going to keep testing and might have
some updates. Good luck and I hope that someone finds this