Blummy Feedback Roundup

People seem to like blummy very much :) There have been several blog posts about blummy in English, German, Spanish, Italian, Chinese, Japanese, and Korean (I was astonished that Google Translate — accessible via blummy ;) — was able to translate all these languages to understandable English):

Software As She’s Developed: Blummy: The Mother of All Bookmarklets

Ajaxian: If you are one of those people who love bookmarklets, and your bookmark toolbar is getting larger and larger for it, then this could be for you.

Max Kiesler: Blummy is […] in my opinion this is the best free apps of its kind. […] I review countless numbers of ajax and rails widgets, functions and apps every week but Blummy is truly a new and useful app that everyone who adds content to multiple websites should try.

UNEASYsilence: Blummy is the single browser bookmarklet to top them all. This nifty piece of javascript will single-handidly allow you to replace all your other favorite individual bookmarklets […] The screenshot does not do Blummy justice.

slapjack: Blummy Rocks. […] Maybe breaking free of the browser isn?t as important as I once thought.

Downloadsquad: Blummy: Configurable uber-bookmarklet – Today’s Browser Tip

Brandinfection: blummy – The Tool to end all Bookmarklets

The Social Software Weblog: Blummy addresses that problem quite admirably by collapsing a number of bookmarklets into one bookmarklet (or blummlets, as it were) to rule them all. […] It?s a bookmarklet aggregator. It?s the Flickr of bookmarklets, yo.

Libraryclips: This is a great idea, a place to keep all my bookmarklets to use on any computer, also relieves some space on my very heavy Links bar.

German: netbib weblog, Sprblck

Italian: dowload blog, SKY TG24, Tutto Gratis

Spanish: Microsiervos, Genbeta, ñblog

More: WebLeOn (Chinese), PleasureDelayerDiary (Japanese), Korean Jurist, Linmagazine (Hebrew)

Thanks for the feedback!

blummy, feedback, blog

Introducing: Blummy

So the project I’ve been working on lately is called blummy.

blummy is a tool for quick access to your favorite web services via your bookmark toolbar.
It consists of small widgets, called blummlets, which make use of Javascript to provide
rich functionality (such as bookmarklets).

blummy in action

You can create your own blummy by drag-n-dropping blummlets onto it.

It’s hard to explain unless you’ve tried it yourself. So Come along. (it’s free, of course)

blummy, ajax, bookmarklet, bookmark, favlet

PHP and Multibyte

ever messed around with umlauts or other non [a-z] letters? it’s quite horrible.

for the german speaking region there are mainly two encoding types: iso8859-1 and utf-8. the former encodes each letter with one byte by extending old 7-bit ascii with 127 more letters, amongst others also umlauts. utf-8 includes up to 32,640 more letters (ascii 0x80-0xff are used to select the range of the following byte). this is established by allowing multi-byte characters. in the case of utf-8 the maximum is two letters, but there exist utf-16 and utf-32 with up to 4 bytes per char.

so, what’s the problem? with bandnews we have different sources for our data, meaning that we receive many pages with many different encodings and have to deliver a page that follows only one encoding. we chose to use utf-8 now, because a wide range of letters from many other encodings can be displayed which are not included in iso8859-1.

now it is important that you stop using strlen and substr because it can easily happen that you split an utf-8 character into parts, and forget comparing it to anything, then. alterenatives are mb_strlen and mb_substr and all other sorts of mb_* functions. well… this does not work out of the box, you need to specify what encoding is to be expected. this can be done like this:

mb_internal_encoding("UTF-8");

all mb_* commands use this encoding if no other is specified.

still, non-utf-8 code can come through to the browser, e.g. if you receive it from the database. but there is a chance to get around this quite comfortably:

mb_http_output("UTF-8");
ob_start("mb_output_handler");

the output buffer is cleared from wrong charactes by the mb_output_handler. it is also easily possible to have the output converted to iso8859-1, just by specifying it with the mb_http_output command.
a drawback is, though, that no other output filter can be applied, such as for output compression

ob_start("ob_gzhandler");

the manual states that instead zlib compression should be used, as specified in the php.ini file or via ini_set:

ini_set ('zlib.output_compression', 'on');
ini_set ('zlib.output_handler', 'mb_output_handler');
ob_start();

note that the output-handler for ob_start has to be empty and it is moved to the config option. this sounds great, but i was not able to get it to work. well, i must admit that i did not put so much time into it because i simply decided to move the responsibility to apache: mod_deflate. you might want to modify the configuration line, as i did:

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css

have fun with character encoding. it works after some while. but its a lot of trial and error.

returned to vienna

i’m back in vienna once again.. spent some time at berlin. went to 2 concerts (gustav and monta) but also worked on bandnews.

now there are magazines integrated with bandnews, too. starting with 3 german ones (laut.de, spex.de and tonspion.de) we will integrate even more mags step by step.
furthermore some major bugs with news input were fixed (mainly due to the server move and the new code responsible for news aggregation), and duplicates were filtered.