Good, paranoid bookmark design, and Google’s Firefox extentions

So, I use Google’s Firefox plugin to synchronise my bookmarks between work and home. It worked well – or used to until I started using Firefox 2 at home. Anyway, for no apparent reason, yesterday it trashed my bookmarks at home. And then today, at work, it decided it would synchronise after all, and trashed my bookmarks at work to.

I guess the lesson is to always maintain redundancy. Fortunately, the guys writing Firefox (presumably ‘cos they had problems with the bookmarks too) took to storing backups of the bookmark file – and that has worked nicely in this instance.

Anyway, it’s enough to put me off – I shall be looking for something else. I gather that Delicious (insert your own dots) has a good Firefox plugin, and works by tagging, which is good also. I’m just a wee bit worried as I really want to have a heirarchy too – so I can drill down, rather than just getting a ‘pool’ of matching tags.

Rounded corners

Here’s an interesting attribute in CSS I didn’t know about
-moz-border-radius
The style below is :
font-size: 12px; background-color: #ffffff; -moz-border-radius: 8px;
border: 2px solid #3366cc; padding: 7px;

A box with a border! Of course, this only works in Mozilla

Another box with a border!

Firefox Bug with Textboxes

I found my first bug in the Firefox web browser. Basically, if you’ve got a text box with autocomplete=”off” as an attribute, the up and down arrows move the text insertion point left and right. The code for this is:
<input type="text" name="x" autocomplete="off"
value="123456789" />

If you’re using Firefox, you can see this here:

Firefox plugin installer code

If you’re nerdy enough to care, here’s the code to install a new search plugin…

// Firefox plugin installer code

function addEngine(name,ext)
{
if ((typeof window.sidebar == "object") && (typeof
window.sidebar.addSearchEngine == "function"))
{
window.sidebar.addSearchEngine(
"http://www.example.com/searching/"+name+".src",
"http://www.example.com/searching/"+name+"."+ext,
name,
"" );
}
else
{
errorMsg(name,ext,"");
}
}