Blog archives

Silverlight browsers bugs

Silverlight is one of those browser technologies that you just wish wasn’t there. Proprietary,buggy, not widely used, and difficult to implement. Unfortunately, sometimes you can’t live without it when you want to play, for example, Windows Media files in a browser.

While working with Silverlight i encountered quite a few bugs in its implementation in browsers, especially when working together with Javascript. Here are a few bugs i encountered and possible workarounds.

All these bugs are noticed when using Silverlight 4.

overflow:hidden / overflow:auto bug

Browsers affected: Firefox 4 (Mac / Win)

The bug: when you put the Silverlight <object> inside a div, every time you change the overflow property from hidden to auto (making scrollbars appear) the Silverlight object re-initializes. This is especially frustrating with videos, that start from the beginning.

The official docs actually have this wonderful explanation:

Because of browser differences, the Silverlight plug-in does not support the cascading style sheets (CSS)overflow property on the object element or on a parent container element, such as a div element.

Workaround: This only seems to happen when the overflow property is changed by a user action, such as with a :hover pseudoclass. When you ‘force’ the browser to hide the scrollbar the Silverlight object doesn’t restart. For example, when you set the height of the div to a very large height the scrollbar disappears but the object doesn’t restart.

Another workaround when you need a scrollbar is to use a custom Javascript solution. I recommend the excellent jScrollPane jQuery plugin.

Offscreen initialize bug

Browsers affected: All browsers on Mac (tested: Chrome, Safari, Firefox)

The bug: This Mac-only bug happens when you initialize the Silverlight object at a place that is not on-screen (for example to create an audio-only player that you don’t want to see) the object doesn’t initialize. When you scroll the object into screen (e.g. by using Firebug) the object starts.

Workaround: difficult. With an audio player you could put it in a div with position: fixed, but putting multiple ‘audio pixels’ on top of each other using z-index won’t work though.

 

Blog archives

Radio luisteren via internet, maar dan wel simpel

Ik had mijn moeder een laptop kado gedaan: mijn oude MacBook. Een van de eerste dingen die ze er mee wilde was radio luisteren. Ik keek met haar mee en toen viel het me op hoe ingewikkeld het is om ‘gewoon’ radio te luisteren op het internet.

Om te beginnen met de publieke radiozenders: die gebruiken allemaal nog standaard Windows Media Player. Dat werkt niet op een Mac. Je kunt wel Flash of Quicktime gebruiken maar dat moet dan eerst via een selectiemenu. Niet echt handig. En voor elke zender moet je naar een andere site. ‘Zappen’ tussen radiozenders is zo eigenlijk moeilijker dan bij een ouderwets radiotoestel.

Er zijn wel verzamelsites, zoals radio.nl, Nederland.FM en allradio.nl. Maar hebben een druk uiterlijk, gebruiken ook vaak Windows Media streams en staan vol reclamebanners.

Dat kan beter, dus heb ik in anderhalf uur iets in elkaar geklust. Geen poespas, gewoon een lijstje met zenders en een spelertje. Met hulp van een open source audiospeler, een site met stream-urls en deze onmisbare tip voor het afspelen van Shoutcast-streams in Flash.

Input is natuurlijk van harte welkom, en als je kan programmeren: je kan de complete broncode downloaden van Github.

En natuurlijk luisteren via http://radio.haykranen.nl.

Blog archives

365dagenkunst.nl

Misschien heb je ‘m al gezien, misschien ook niet, maar sinds 1 april staat een nieuwe website online waar ik aan deelneem: 365dagenkunst.nl. Het concept is hetzelfde als 365 DAGEN HAY: elke dag een nieuw kunstwerk. Nieuw is dat de kunstwerken van verschillende kunstenaars komen: in totaal doen er twaalf mensen mee aan de website, sommige wekelijks, sommige tweewekelijks, en sommige eenmaal per maand.

Ik ben er elke donderdag te vinden. Ik zou zeggen: neem eens een kijkje.

Blog archives

Koffie + Wifi: de centrale bibliotheek in Den Haag

Foto: FaceMePLS / CC-BY

De zogenaamde digitale nomade is in opkomst: geen kantoor meer nodig, je werkt op je laptop vanuit een koffiebar. Of zoiets. Nu zou ik mezelf helemaal geen digitale nomade willen noemen, maar ik vind het wel fijn om af en toe wat mails weg te werken op een andere plek dan mijn eigen huis.

De eisen zijn simpel: koffie en wifi. Maar dat te vinden is nog niet zo makkelijk. Ik probeer af en toe een locatie uit en ik blog hier mijn bevindingen.

Deze keer: de centrale bibliotheek in Den Haag.

Wifi

Wisselend. Inloggen op ‘BIBLIOTHEEK DENHAAG’ (sic), klikken op ‘ik ga akkoord met die pdf met voorwaarden die ik niet lees’ en je kunt “draadloos internetten, niet via een kabel maar via een radiofrequentie” (aldus de handleiding).

De verbinding was over het algemeen vrij vlot, met wat kleine hikjes en vertragingen tot opeens de complete verbinding wegviel en het netwerk niet meer te vinden was. Misschien is het een incident, maar na een half uur was de verbinding nog steeds weg en het bezoek aan de bibliotheek dus afgelopen.

Ondanks onheilspellende berichten in de handleiding dat “het gebruik van MSNmessenger en e-mail clients niet mogelijk is” lijken er geen poorten te zijn geblokkeerd en werkt SSH, (secure) mail, FTP, Spotify en IRC prima.

Voor de nerds het bekende grafiekje van speedtest.net:

Koffie

In de koffiebar op de begane grond. In het weekend is er alleen een automaat die iets oplevert wat het midden houdt tussen slappe oploskoffie, afwaswater en chocolademelk. Die koffie mag je dan vervolgens alleen opdrinken in die (rumoerige en drukke) bar, in de rest van het gebouw zijn alleen flesjes water toegestaan.

Stroom

In de grote studiezaal op de vijfde verdieping zijn er stopcontacten ingebouwd in de tafels. Hulde! In de rest van het gebouw is het even zoeken naar stroom.

Toilet

Er zijn bizar weinig toiletten voor een gebouw met zoveel studieplekken en bezoekers. Alleen op de derde en vierde verdieping zijn kleine, behoorlijk vieze toiletten. Het enige voordeel: ze zijn gratis.

Omgeving en locatie

De bibliotheek zit in het prachtige ‘ijspaleis’ aan het Haagse Spui, op vijf minuten loopafstand van het centraal station en het binnenhof. De bibliotheek is ‘veel meer dan boeken alleen’, met oefenruimtes voor muzikanten, spelletjes, optredens en exposities.

Openingstijden

Doordeweeks tot 20.00, in het weekend tot 17.00. De complete openingstijden zijn hier te vinden.

Oordeel

Wisselend. De locatie is prachtig en rustig, maar het onbetrouwbare internet, de matige toiletten, en het gebrek aan koffie boven de begane grond zijn grote missers. Maar als het internet het doet, en je hebt geen behoefte aan koffie is het een prima plek.

Cijfer: 5.5

Locatie: Spui 68, Den Haag.

Blog archives

jQuery 1.5 and JSONP requests

jQuery 1.5 adds better support for JSONP requests. As you might know, JSONP is a way to avoid the same-origin policy and do cross-domain requests by adding a method call around the JSON data.

Because browsers don’t return data from requests that fail, error handling is tricky compared to normal AJAX requests. There is a workaround by using a timer, which is the way the popular jquery.jsonp plugin solves it.

jQuery 1.5 adds this workaround, so you don’t need this plugin. All other features of the plugin, such as custom callback naming, are possible in jQuery now as well.

Here’s an example:

var req = $.ajax({
    url : url,
    dataType : "jsonp",
    timeout : 10000
});

req.success(function() {
    console.log('Yes! Success!');
});

req.error(function() {
    console.log('Oh noes!');
});

The timeout parameter is essential, because this indicates when a request should be considered ‘failed’. Because of this extra parameter you need to use $.ajax instead of $.getJSON.

The req variable contains the jqXHR object, which can be used to attach multiple callbacks and error handlers.

Blog archives

Koffie + Wifi: Seats2meet Utrecht

Foto: Rienk Jan Schurer / CC-BY-NC

De zogenaamde digitale nomade is in opkomst: geen kantoor meer nodig, je werkt op je laptop vanuit een koffiebar. Of zoiets. Nu zou ik mezelf helemaal geen digitale nomade willen noemen, maar ik vind het wel fijn om af en toe wat mails weg te werken op een andere plek dan mijn eigen huis.

De eisen zijn simpel: koffie en wifi. Maar dat te vinden is nog niet zo makkelijk. Ik probeer af en toe een locatie uit en ik blog hier mijn bevindingen.

Deze keer: Seats2meet in Utrecht.

Concept

Seats2meet is niet zomaar een koffie en wifi plek, het is een heus ‘society 3.0 concept’, voornamelijk gericht op ZZP-ers, die hier kantoor kunnen houden. Je kunt er gratis werken, en tussen de middag is er een geweldige gratis lunch (waar je overigens wel voor moet inchecken en aanmelden). Het idee is dat iedereen open staat voor een praatje en informatiedeling. Dat klinkt een beetje eng, maar in de praktijk valt het wel mee en word je niet elke vijf minuten gestoord door iemand die kennis met je wil delen.

Als je met een klant wil vergaderen kun je een van de vergaderzalen huren. Dat kost wel geld.

Sinds 2012 moet je reserveren voor een plek in Utrecht. Dat kost niks, maar het kan dus wel zijn dat er geen plekken meer zijn.

Wifi

Prima. Inloggen op ‘Seats2meet.com’ met wachtwoord 1234567890 en je bent online, zonder inlogpagina’s. Er zitten veel mensen op, maar meestal is het erg snel. Voor de echte nerds: zie hier beneden het grafiekje van speedtest.net.

Er staan redelijk veel poorten open (SSH, mail, Spotify). Het enige wat dicht lijkt te staan is IRC.

Koffie

Gratis koffie uit een Douwe Egberts machine. Niet heel slecht, maar ook niet heel goed. De cappucinno en de Wiener Melange zijn beter dan de reguliere koffie. Als je na de lunch komt is het helaas niet mogelijk om nog iets eetbaars te krijgen. Maar met een Albert Heijn op 2 minuten loopafstand is dat ook weer niet zo’n probleem.

Stroom

Aan de muurkant van de tafels zitten stopcontacten, wat het wel wat lastig maakt als je aan de andere kant van de tafel zit. Bij sommige tafels liggen ook stekkerdozen op de grond.

Toilet

Om de hoek. Gratis.

Omgeving en locatie

Boven de Albert Heijn op Hoog Catharijne. Loop rechts de gang na de ABN helemaal uit, bel aan bij ‘Seats2meet’ en ga met de lift naar de tweede verdieping, of neem de trap tegenover de lift. Meestal is het behoorlijk druk, zoals te zien is op de live webcam. Als je rond lunchtijd komt is er geen garantie dat er plek is, en je hebt kans dat er rond het einde van de dag nog een (rumoerige) borrel wordt gegeven. Neem een koptelefoon mee.

Openingstijden

Maandag tot en met vrijdag van 8.30 tot 17.30 en soms ook ‘s avonds en op zaterdag, alleen als er toevallig iemand een zaal heeft gereserveerd.

Oordeel

Prima plek. De lunch is geweldig, en ook het internet is meestal lekker snel en betrouwbaar. Wel een beetje rumoerig bij tijd en wijle, en jammer dat je in het weekend op zoek moet naar een andere locatie. Door het nieuwe reserveringssysteem kan het zijn dat je naast een plek grijpt en naar een andere plek op zoek moet.

Cijfer: 7.5

Locatie: Moreelsepark 65, Hoog Catharijne. Boven de Albert Heijn. Routebeschrijving.

Blog archives

Koffie + Wifi: Centrale Bibliotheek Nijmegen

De zogenaamde digitale nomade is in opkomst: geen kantoor meer nodig, je werkt op je laptop vanuit een koffiebar. Of zoiets. Nu zou ik mezelf helemaal geen digitale nomade willen noemen, maar ik vind het wel fijn om af en toe wat mails weg te werken op een andere plek dan mijn eigen huis.

De eisen zijn simpel: koffie en wifi. Maar dat te vinden is nog niet zo makkelijk. Ik probeer af en toe een locatie uit en ik blog hier mijn bevindingen.

Deze keer: de centrale bibliotheek in Nijmegen.

Wifi

Redelijk. Meerdere hotspots geleverd door KPN zonder inlogpagina’s. Gewoon verbinden met OBGZ-AP-cijfer en je bent online. De snelheid is heel redelijk: rond de 3 Mbit, zowel up als down, maar valt af en toe wel wat omlaag.

Helaas heeft de firewallpolitie toegeslagen en is zo’n beetje alles behalve webverkeer geblokt. Geen IRC, SSH, of zelfs mail. Alles via webmail dus. Spotify werkt wel, dus BitTorrent zal ook wel werken.

Koffie

De Cafebar 2500 spuugt al trouw sinds 1975 vieze automatenkoffie uit in de bibliotheek van Nijmegen. Daar betaal je gelukkig ook maar 60 cent voor.

Stroom

Bij de werkplekken aan het raam zijn overal stopcontacten. Hulde!

Toilet

Begane grond. 30 cent.

Omgeving en locatie

Naast Filmhuis LUX in de binnenstad in een ruim, rustig en modern pand. Als je genoeg hebt van je laptop kun je dus altijd nog een filmpje of een biertje pakken bij de buren. Ook handig als overlegplek.

Openingstijden

Dinsdag en donderdag van 11.00 tot 21.00. Anders tot 18.00. Van september tot en met mei ook open op zondag van 13.00 tot 17.00.

Oordeel

Goede plek. Jammer van de vieze koffie en de beperkingen op het internetverkeer. Maar het internet doet het dan wel weer goed en ze zijn open op zondag.

Cijfer: 7

Locatie: Mariënburg 29, Nijmegen. Kaartje.

Blog archives

Markorepairs!

De nieuwste internetsensatie is een Fin met een bloempotkapsel die zijn collectie videorecorders bespreekt in gebroken Engels:

Panasoenik! Very good! But lost remotic control. Stupid drop off carbitch when maschine still running life!

Als u niks te doen heeft zijn er ook nog ruim 1000 andere video’s op zijn kanaal en een onbegrijpelijke website over…iets.

Blog archives

Random Album Generator

CREATE YOUR DEBUT ALBUM COVER

1 – Go to “wikipedia.” Hit “random… Read More… Read More” or click http://en.wikipedia.org/wiki/Special:Random

The first random wikipedia article you get is the name of your band. (alternatively, if the first article you hit is short, hit Random Article two more times.)

2 – Go to “Random quotations”
or click http://www.quotationspage.com/random.php3

The last four or five words of the very last quote of the page is the title of your first album.

3 – Go to flickr and click on “explore the last seven days” or click http://www.flickr.com/explore/interesting/7days

Third picture, no matter what it is, will be your album cover.

4 – Go to You tube and type without looking-the first music in the search results is your bands hot new Indie release!!

**Alternatively you can ask people in the group to post music that sounds like a good match with your album cover.

5 – Use photoshop or similar to put it all together.

6 – Post it to FB with this text in the “caption” and TAG the friends you want to join in.

7 – Use this URL to invite people to this group so they can share their masterpieces: http://tinyurl.com/dh4bqr

Blog archives

Nutteloze kennis

George Boole, de man naar wie de boolean is vernoemd was getrouwd met Mary Everest. Zij was het nichtje van George Everest, naar wie (ondanks dat hij dat liever niet had) de Mount Everest is vernoemd.

Boole had vijf dochters, waaronder Mary Ellen Boole, die trouwde met Charles Howard Hinton, een belangrijke wiskundige op het gebied van de vierde dimensie. Hij is de bedenker van het woord tesseract, en ontwierp tevens een honkbalmachine die ballen kon afschieten met buskruit, die helaas wel wat slachtoffers maakte. Hun jongste zoon Sebastian was de bedenker van het klimrek.

Allemaal nutteloze kennis die wie niet makkelijk wisten zonder Wikipedia, dat de afgelopen twee maanden ruim 16 miljoen dollar ophaalde in de jaarlijkse donatieronde.