Saturday, February 23, 2013

JsRender Your Google Gadget

During a couple of my last projects I used JsRender as HTML templating engine. Although it isn't even in beta, the results are very satisfying. It's fast, featured, easy/readable syntax and very active in development.

Now I needed some templating Gadgets for my personal Google Site, but unfortunately couldn't find any JsRender based solution. Since it was for personal use only and I didn't want to learn another syntax for this, I decided to build one. Using external gadgets resulted in too much clutter.



The gadget allows you to bind a JSON or XML webservice to a HTML template. All the gadget needs is the datasource and template URL's and optionally a CSS link.

In this example I used a Last.fm webservice that returned my 10 latest played tracks with some extra info. 

The returned data looks like this:



Based on this structure I created a simple template that shows the first 5 tracks with artist and link in a list. If you're not familiar with the JsRender syntax, more info and demos. The gadget supports Livestamp.

<ul>
{{for recenttracks.track}}
{{if #index < 5}}
<li>
<a target="_blank" href="{{>url}}">
{{>name}}
</a>
<br/>
{{>artist["#text"]}}
</li>
{{/if}}
{{/for}}
</ul>

I saved the file with a .tmpl.html extension and uploaded it somewhere. After this, I added a new gadget by url to a page and used this url:

https://sites.google.com/a/achappey.nl/achappey-nl/home/develop/data2html/sources/Data2HTML.xml

This option screen appears:


























TypeFormat of the datasource (JSON or XML)
DatasourceURL of the datasource
Template URL of the JsRender template
JavascriptURL of custom Javascript files that needs to be loaded, for example for JsRender helper 
functions (optional) 
CSS URL of CSS file 
Disable cachingNormally, the template and the data are cached for about an hour, but with this option 
enabled the template and data will be refreshed every request.
Linkify Enable this if you want to Linkify. Wrap the content that needs to be linkified in 
linkify css class
Hashtag search prefix URL prefix that's used  to Linkify hashtags (optional)


The options I used for this demo:


Type JSON
Datasource http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=achappey&api_key=80b1326fb347ed61e59f65a782480c3e&format=json
Template https://sites.google.com/a/achappey.nl/achappey-nl/home/develop/data2html/sources/tracksDemo.tmpl.html

You can see this demo in action here. And more here and here.

Sunday, February 17, 2013

Racen tegen de machines

Origineel is het niet, maar het dekt wel de lading hoop ik.
Naar aanleiding van het gelijknamige boek, Race Against The Machine van Erik Brynjolfsson en Andrew McAfee en de recente blogpost op Techcrunch Get Ready To Lose Your Job.

Bovengenoemden leggen een relatie tussen de huidige technologische revolutie en een veranderende arbeidsmarkt/herverdeling van kapitaal via het mediaan inkomen.

Gemiddeld vs mediaan

Het mediaan is de middelste waarde van een aantal getallen. Om het verschil met het gemiddelde duidelijk te maken: Er zitten 10 arbeiders in een kroeg. Als de arbeider met het laagste inkomen de kroeg verlaat en Bill Gates loopt naar binnen, zal het gemiddeld inkomen stijgen, maar het mediaan inkomen blijft gelijk.

Tijdens de industriele revolutie waren het gemiddeld inkomen en het mediaan inkomen met elkaar in evenwicht. Dat wil zeggen, zodra het gemiddeld inkomen steeg, steeg het mediaan inkomen evenredig mee. De grote massa profiteerde als de totale productiviteit steeg. Die trend is veranderd, het gemiddeld en het mediaan inkomen zijn losgekoppeld.

Het totaal inkomen wordt verdiend door een kleinere groep mensen. Iets wat redelijk goed uit te leggen is aan de douanebeambte op Schiphol die de zakelijke passagiers langs een irisscanner ziet lopenObers. Machinisten. Chauffeurs. Fabrieksarbeiders.

De cijfers zijn allemaal gebaseerd op de Verenigde Staten. Over Nederlandse cijfers/trends kon ik weinig vinden, dus heb geprobeerd zelf wat bij elkaar te speuren bij het CBS.

Ben geen economoon, maar heb simpelweg het gemiddelde en het mediaan inkomen naast elkaar gelegd. En het lijkt er dus op dat ook in Nederland, heel voorzichtig, een zelfde trend zichtbaar is. Het gemiddeld inkomen stijgt harder dan het mediaan inkomen.

Volgens mij staan we staan dus niet voor niets op nummer 15 in de lijst Robot Takeover.

Wednesday, February 13, 2013

Wereldwijd WiFi, maar alleen op je plank

Een aantal weken geleden werd ik wakker met een Google Alert waar ik lang op zat te wachten:
Wereldwijd WiFi komt ook naar Nederland! En dan ook nog KPN, de grootste speler op onze markt.
Het heeft 3 koffie geduurd voordat ik het geloofde, er verschenen meer dan 2 miljoen nieuwe WiFi hotspots aan de Nederlandse horizon. M'n dure 3G verbinding slaakte een zucht van verlichting.

Die aantal weken waren verheugend. Ziggo gaat overal in hun dekkingsgebied WiFi aanbieden en Fon/KPN volgen hand in hand. En wat zou het partnerschap voor aanzuigende werking hebben op de overige potentiele Fon leden (lees: klanten van Ziggo/UPC/de rest) bedacht ik me nog.......

Die vraag is vandaag dus beantwoord: niet. Fon routers zijn niet meer te bestellen in Nederland. Hun antwoord is veranderd in een KPN advertentie. Iets wat toch enigzins indruist tegen hun principe (update:  principe is inmiddels verwijderd van hun site):

"When we say: "Anyone with a broadband connection can join Fon", we mean it. "

KPN wil dit voorkomen en blokkeert de verkoop.
Zou het registreren van de routers nog wel blijven werken in Nederland? Of heeft Fon hun principes echt verkocht?

Afgelopen feestmaand heb ik een aantal routers kado gegeven. Niet geheel onverwacht, het is immers Fon's grootste probleem, zijn enkele hiervan naar de plank verwezen. Een 'kastje' installeren is 'moeilijk' en zonder alledaagse voordeel heeft het weinig haast.

Had nooit durven denken dat ik ooit blij zou zijn dat ze op die plank liggen....