BootStrapDotNetAsssitantExtension error in Firefox

Microsoft Windows installs a .NET Framework Assistant for Firefox which cannot be removed from the Firefox add-ons menu and throws errors in the error console. This post shows the error message and how to remove this unecessary add-on.

The Error Message

The error message from the error console looks like this:

Error: uncaught exception: [Exception… “Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.clearUserPref]”  nsresult: “0x8000ffff (NS_ERROR_UNEXPECTED)”  location: “JS frame :: chrome://dotnetassistant/content/bootstrap.js :: BootStrapDotNetAsssitantExtension :: line 52”  data: no]

When I’m looking for coding errors in the Firefox error console I find this one pops up all the time but it’s nothing to do with anything on any website, but some issue with the Microsoft plugin.

How to remove the plugin

The Microsoft Knowledge Base article “How to remove the .NET Framework Assistant for Firefox” contains everything needed to remove the plugin and I can confirm that it works.

Note that this plugin does not appear in the add-ons preferences anywhere in Firefox because, as noted at the above page:

“The .NET Framework Assistant is added at the computer level so that its functionality can be used by all users at the computer level instead of at the user level. As a result, the Uninstall button is unavailable in the Firefox Add-ons menu because standard users are not permitted to uninstall machine-level components.”

To remove it, click through to the knowledge base article using the above link. This requires downloading an update or making some modifications to the registry and Firefox’s preferences.

Discard mail with exim4 using :blackhole:

The most obvious way to discard mail to a particular alias with the exim4 mail server is to send it to /dev/null, but unless file_transport is set in the exim configuration it won’t work. You can use :blackhole: instead.

Getting ready for HTML 5

I started working on the template for a new website today and decided to have a look at HTML 5 for laying it out. Everything was looking nice until I discovered that Internet Explorer does not allow CSS styling for elements which it does not know about (e.g. <header> <section> etc). There is a Javascript workaround but I prefer not to use that so show here my solution for the time being.

Some more about HTML 5

I won’t comment here about the new elements etc in HTML 5. Instead, have a read of these two recent articles:

The Javascript Solution

The Javascript solution is to create elements like so:

document.createElement('myelement');
 

This means they can then be styled in Internet Explorer. However, if the visitor has Javascript disabled then it’s not going to work and the layout of the site will be broken. Although the numbers of visitors with Javascript disabled is low, it’s not something I’m prepared to accept at the present time.

My temporary solution

Until all but a few Internet Explorer users have upgraded to an HTML 5 compliant version of Internet Explorer (IE9) I’ll use the solution presented here. It’s not ideal but it will make changing the HTML to be more semantic HTML 5 later easy.

Here’s more or less the document structure I was trying to do:

<header>
 <nav> ... </nav>
 </header>
 <section>
 <aside>...</aside>
 <article> ...</article>
 <aside> ...</aside>
 </section>
 <footer>
 ... 
 </footer>
 

And here’s my solution, which is to replace the HTML 5 elements with <div>s with the class name the same as the HTML 5 element which they replace:

<div class="header">
 <div class="nav"> ... </div>
 </div>
 <div class="section">
 <div class="aside"> ... </div>
     <div class="article"> ... </div>
 <div class="aside"> ... </div>
 </div>
 <div class="footer">
 ...
 </div>

I’ve used classes rather than ids because the elements can appear multiple times in the DOM. As you can see in the above example there are a couple of asides.

In the future when I decide to make the document template semantically correct HTML 5 I can simply replace <div class=”header”> … </div> with <header> … </header> etc and change my CSS from .header { } to header { } and it’s all good.

Debian releases and names

Debian releases are named after characters from Toy Story and are frequently referred to with the name rather than the version. This post is for my own quick reference for the version-to-name of each Debian release.