More msie6 dissing with IE6 update

As posts about how bad we want msie6 to disappear are the latest craze;
This morning I implemented “IE6 update” on this blog. This little piece of javascript displays an official looking information bar that encourages them to upgrade and links to the official MS IE8 website.
Maybe this is on the edge of what is ethical, because we’re actually faking an official browser-message, trying to trick users in clicking that link. And maybe they can’t install IE7 or 8 (or another browser) because they don’t have administrator-rights.
But if users aren’t aware of the problem their ancient browser creates, they won’t bug their IT-staff now will they?

How to exclude blogposts from your feed

I decided to start auto-posting weekly digests of my Lifestream-events to this blog, but wanted to prevent those items from polluting my rss-feed (call me a old-fashioned, but I like rss-feeds to have some body instead of just a couple of links and an occasional YouTube-clip). This turned out to be very easy with some category-tinkering and thanks to Feedburner.
Here’s what I did:

  1. Add a category “rss-able” and make it the parent of all existing categories
  2. Add a category “web wandering” (not under “rss-able” off course) and configure Lifestream to use that for the digests
  3. Configure Feedburner to use http://blog.futtta.be/rss-able/feed instead of http://blog.futtta.be/feed
  4. Exclude both new categories from being displayed in my “category cloud” widget

And there you have it; my Google Reader shared items, YouTube video’s and favorites, Facebook status and Tweets (if ever I would decide to do such a thing) are automatically collected in a weekly blogpost without bothering rss-readers or my Facebook-friends (who get that info shoved down their throats via Facebook-imports of the individual feeds anyway).

I decided to start auto-posting weekly digests of my Lifestream-events to this blog, but wanted to prevent those items from polluting my rss-feed (call me a old-fashioned, but I like rss-feeds to have some body instead of just a couple of links and an occasional YouTube-clip). This turned out to be very easy with some category-tinkering and thanks to Feedburner. This is what I did:
1. Add a category “rss-able” and make it the parent of all existing categories
2. Add a category “web wandering” (not under “rss-able” off course) and configure Lifestream to use that for the digests
3. Configure Feedburner to use http://blog.futtta.be/rss-able/feed instead of http://blog.futtta.be/feed
4. Exclude both new categories from being displayed in my “category cloud” widget
And there you have it; my Google Reader shared items, YouTube video’s and favorites, Facebook status and Tweets (if ever I would decide to do such a thing) are automatically collected in a weekly blogpost without bothering rss-readers or my Facebook-friends (who get that info shoved down their throats via Facebook-imports of the individual feeds anyway).

Crashing, teleporting and syncing Virtualbox

I’ve been playing around with Virtualbox over the last few days, trying to set it up just right for me. One of the hurdles was working around a bug in the 3.0.0 release that caused guests to crash when performing downloads in them. Changing the virtual network card from “PCnet-FAST III” to “Intel PRO/1000 MT Desktop” proved to be a good temporary solution, but the bug got squashed in version 3.0.2.
Next on my list was getting the “shared folder“, which I configured in Virtualbox (look ma, no samba), to automount in my Ubuntu-guest with read-write permissions for my non-root user. I ended up adding this line to /etc/fstab (the dmode and fmode-options did the trick eventually):

teleporter /home/frank/Desktop/teleporter vboxsf rw,dmode=777,fmode=777,uid=1000,gid=1000,auto 0 0

And to wrap things up I also installed the Mozilla Labs Weave-plugin, which syncs a.o. bookmarks and passwords in Firefox between my 3 environments. It caused me some headaches at first, synchronizing just seemed to take forever and no error was shown in the frontend. But I found some obscure messages (things like “Exception caught from onComplete handler of CryptoWrap__decrypt-57 generator”) in the verbose log and Google linked those to a post on the Weave Google Group which explained that the problem was with an incorrect “encryption passphrase”. And sure enough Weave was syncing happily after once I re-entered my -too complex- passphrase.

‘Cause I’m free, to do what I want, any old time

Freedom comes in many shapes and forms, but give me a computer which is not burdened by corporate software and enforced group policies and give me internet access that is not limited by proxies that prohibit you from using half of the web and I’m a happy little futtta. I cracked the proxy thingie problem at work some time ago already, but the computer/OS-part remained an issue up until now. I tried virtualization with VMWare and Qemu but wasn’t convinced and booting into my “disktop” (Ubuntu 8.04 intalled on an USB-connected external HD) while at work was far from efficient, so I kept jerking around in the uninviting environment which is the maimed Windows XP we have to put up with here.
But some time ago my laptop got a memory upgrade (from 1 to 2 Gb) and last week Paul Cobbaut wrote about Virtualbox on his blog. I installed this example of German craftsmanship (both a “free as in beer” and an open source version are available, version 3 was just released a few hours ago!) and my computer hasn’t been the same since. I’m now running a fullscreen (guest additions rock) Virtualbox virtual machine with Ubuntu 9.04, using an openssh-provided (with some help from corkscrew, off course) socks-proxy for unlimited internet access and I feel like a kid that has just been allowed in a playground.

a screenshot of virtualbox 3 on windows xp
Next to Ubuntu, I also installed Opensolaris (which seems to need a shitload of RAM) and a leaked version of the emulator of that much anticipated (well, by me at least) Palm WebOS. On my disktop I installed the Linux-version of Virtualbox and I’ve got OS-weirdness such as ReactOS, Haiku and Syllable running there. Hell, maybe I’ll even install (a clean version of) Windows XP in a virtual machine there, just to make it full circle. ‘Cause I’m free!
Soup Dragons - "I'm Free"

WordPress 2.8 loves your proxy

Up until version 2.7.1, running WordPress on an intranet was a real pain in the ass. It connects to the outside world to look for updates, to check comments for spam (using Akismet) or to fetch RSS-feeds for widgets if you configured those on your blog, … But as you typically don’t have direct internet-access on an intranet and as there was no way of letting WordPress know about a proxy, your blog timed out while it was trying to fsockopen those external sites.
chet bakerBut that was yesterday, because the recently released WordPress 2.8 “Baker” (which is chock-full of new features) has support for internet-connections through a proxy, thanks to its great HTTP API. Don’t bother looking for it in the admin-screens, you’ll need to configure the proxy-settings in your wp-config.php.
Here’s what you’ll have to add (values are examples which you’ll have to replace with settings for your environment off course):

define('WP_PROXY_HOST', '192.168.22.1');
define('WP_PROXY_PORT', '9099');

If you need to authenticate to access the proxy you can add your credentials this way:

define('WP_PROXY_USERNAME', 'frank');
define('WP_PROXY_PASSWORD', 's3cr3t');

You can also exclude requests for specific hosts from going through the proxy:

define('WP_PROXY_BYPASS_HOSTS', 'localhost, blog2.corpintranet');

And finally you can block all outgoing requests by default and add domains to a whitelist to only allow those to connect:

define ('WP_HTTP_BLOCK_EXTERNAL', 'true');
define ('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org, akismet.com');

Off course some WordPress-plugins do not use the HTTP API yet (e.g. Lifestream and wp-security-scan rely on Simplepie, which does not use the proxy-aware wp_remote_get-function), so you might have to be careful when installing plugins that need internet-access.

Webscene 2009 in 3 quotes and a coffee

webscene logoAs could be expected after having visited the event the past 2 years, I attended Webscene 2009 yesterday. I didn’t “liveblog”, as there really wasn’t enough “hard info” for my likings. Maybe Frederik Marain and Jo Caudron could have changed that perception, but I didn’t make it to their presentation (networking is a bitch).
Here’s the stuff I did write down, just some quotes really;

“[With Tridion] We’ve got a Rolls Royce, but when we need to cross the desert we prefer to use the SUV [which is Drupal]” (Bart Van Herreweghe about using Tridion for belgium.be and Drupal for smaller, web2.0-oriented fast-track sites)

“When you use Google Apps, which is “Platform As A Service”, you’re tied into their platform, you can’t just take your application and put it elsewhere.” (Terramark Terremark’s Kurt Glazemakers trying to position his “Infrastructure As A Service” virtualized hosting solution, forgetting Amazon or Akamai.)

“Web 2.0 was a bust, will web 3 succeed?” (the challenging title of Charles Chrouch’s presentation about the lack of financially sound business models in social media, he didn’t explain how Twitter could make money)

Not a lot more to mention, except maybe that the new Cultuurnet-database should become available (through an API I guess) for non-commercial use. Anyone want to write UiTmaps or UiT.mobi? And One Agency has its own mobile platform, GlowBox, which is Drupal with some custom-written plugins, integrated with Siruna.
While missing out on presentations, I met various people I know from past and present stages of my work-life (great to hear things are going well Tjorven, sorry to have mistaken Panoptic for Amplexor Igor) and that’s always nice. But I would especially like to thank Tom Remans. It’s always great to chat with Tom and -even more important- he provided me with real good coffee, which (for reasons I just don’t want to understand) was only available for exhibitors. Thanks mate, really!

MSIE 6 drops anchor in Location-header, must die!

http://ripie6.com/Last week colleagues of mine had a problem with an e-mail newsletter they wanted to send out; everything worked OK in Firefox and IE 7, but MSIE 6 displayed the wrong part of the page.
The setup was pretty basic; the URL in the newsletter pointed to the servers of the mailinglist-provider, where each request got logged and the browser was redirected (with a http 302 status-code and Location in the http response-header) to the target URL on one of our servers. That target URL contained an anchor to have the browser to display a specific tab on the page thanks to some jQuery-magic, which worked perfectly in Internet Explorer 6 in a non-redirect scenario.
The problem seemed as simple as it was annoying; MSIE 6 dropped everything starting with the ‘#’ from the URL when performing a redirect. Google pointed me to some sites that claimed that adding an ampersand should solve this, but that did not work. I made a little PHP-script to test with different encoding-tricks, but that did not work. So that old fart of a browser indeed did not support anchors in redirect-URL’s and that’s what I told the colleagues last Thursday.
Yesterday I started writing this post, thinking it was a great time to demand the death of the piece of junk that Microsoft unleashed on us back in 2001 and which, believe it or not, still has 16,94% market share. So  I replaced the company-specific address in the php-script with the URL of the wikipedia-page about anchors and … it just worked, even in MSIE 6! And then I remembered getting that silly popup in MSIE 6, warning me that “The current website is trying to open a site in your Trusted sites list”. Apparently the ugly bugger does not only ask you if he can redirect, but also eats the anchor in target-URL’s that are in your Trusted sites.
So dear colleagues, in case you’re reading this; you can send out that newsletter now, it’ll work for everyone except for those who are silly enough to use MSIE 6 with our site in their “Trusted sites”-list. And let’s not forget; MSIE 6 must die is dead!

Mozilla rethinking extensions with Jetpack

Show me a ‘Mozilla Labs’ page on Facebook and I’ll click on that ‘Become a fan’-button immediately. ‘Labs‘ is where new and often exciting browser-functionality is being prototyped (think Prism, Weave, Ubiquity, About:tab, Personas), and where the everyone can get involved in the process. How great is that?
Last week the omnipresent Aza Raskin introduced ‘Jetpack‘ to the community. To summarize; Jetpack aims to simplify extension development by requiring only html, css and -off course- javascript, with a simple API, jQuery and Firebug-integration built in. Publishing your Jetpack is as easy as referencing it in a link on a webpage and installing it is very straightforward as well as it requires no browser restart (and as a bonus Firefox upgrades won’t break Jetpack-extensions either).
Aza’s demo on Vimeo is a great introduction:
(This embedded video can be watched on blog.futtta.be)
It’s still early days and some important features are not implemented yet (e.g. persistent storage, access to the browser’s chrome beyond notifications and the status bar, ajax when behind a proxy), so as far as I’m concerned Jetpack doesn’t outdo Greasemonkey just yet, but looking at the draft specs and at some of the functionality that they would like to introduce in the next milestone, Jetpack could indeed bring browser extensions to a whole new level.
But don’t take my word for it, just install the Jetpack extension and see for yourself.

Firefox 3.5 and tinyvid.tv do Ogg/Theora

theora.orgGoogle might be pushing back support for HTML5’s <audio> and <video>-tags in Chrome, but these certainly are one of the nicer features the upcoming version of Firefox will bring us. Version 3.5 (RC1 will probably be released the beginning of July) will indeed natively support ogg/vorbis, wav and ogg/theora. And this is important why? Well, apart from the open source (Theora) vs proprietary (Adobe Flash with VP6-codec) argument, using video will allow us to get rid of the memory (and cpu) hog Flash can be (or at least to replace it by another cpu-hog 😉 ).
Now having Ogg/Theora built right into your favorite browser might be great, but you’d need a place where you can use that as well, no? Well, there’s no support for Ogg on YouTube yet, but that void can be filled by TinyVid, an “experimental Ogg video uploading and converting site”. Especially the converting-part is handy; just enter the URL of a YouTube, Vimeo or Daily Motion-video and TinyVid will download and convert it for you a few minutes later (depending on the length of the conversion queue).
So you’re having big fun, uploading, converting and watching, but wouldn’t you want to show off those great vids on your open source blog as well? Easy-peasy;
<video src='http://tinyvid.tv/file/3h31b472fv0ng.ogg' controls='controls'></video>
And if you’re in a partcilurly good mood and you want friends that are not running an Ogg-enabled browser to be able to see some disco, you could even try this;
<video src="http://tinyvid.tv/file/3h31b472fv0ng.ogg" controls="controls">
<applet code="com.fluendo.player.Cortado.class" archive="http://tinyvid.tv/static/cortado.jar" width="640" height="368">
<param name="url" value="http://tinyvid.tv/file/3h31b472fv0ng.ogg"></param>
<param name="BufferSize" value="4096"></param>
<param name="BufferHigh" value="25"></param>
<param name="BufferLow" value="5"></param>
<param name="duration" value="257.369"></param>
</applet>
</video>

And that’ll result in Thom Yorke doing this disco-version of “Everything In Its Right Place” in Theora;