Erlang makes it easy to parallelize our programs.

Posted by crux on June 22, 2007

In Erlang, there is no mutable state, -> there is no shared memory, -> and there are no locks. This makes it easy to parallelize our programs.

Page 32, Pragmatic Erlang, Software for a concurrent World

starting to love it.

Technorati Tags: , , ,

sharper images for foto-foo

Posted by crux on June 14, 2007



form the “competition drives innovation” department i would like to tell you about the foto-foo (of my company) update for sharper images, but see for yourself!

nobody blogged about us(sigh), but with cameroid and phozi two other sites similar to us got mentioned on techcrunch and elsewhere. And as competition drives…, you know, we are glad to have them around. To keep us motivated. So we got sharper images for today, lets see whats next? Ideas?

Technorati Tags: , , , , , , ,

Beef up your RSS2 template for consumption with the Google Feed API Slide Show Control

Posted by crux on May 31, 2007

There can be no doubt about it, RSS Feeds became the connecting backplane for the internet. Like Yahoo Pipes a while ago, the new Google Feed API is building its functionallity on top off standartized RSS feeds. For the feeds API, just providing a standardized RSS feed is enough to offer you a free ride. And a jolly good ride it is. The Slide Show Control is rich in features. Most major photo banks are supported and the actual controls allows for fine grained control of timings and sizes. The funny thing is, the API pretty much covers most of what we discussed at work on the friday before the weekend the API was released.

For the public timeline of our all-online-in-browser-photobooth-application foto-foo at /i-d media we wanted to add RSS feeds from which to build slide show like applications displaying a constant stream of fresh images. I decided to give it try and found this RSS2 rxml template on dzone.com which i filled with my data.

Various things happend, but no image was to be seen and the browser stalled a couple of times. First thing i found out was, “standard” Feed actually means it uses the Media RSS extension. This means the feed header has include the Media RSS namespace:

        xmlns:media="http://search.yahoo.com/mrss/" 
xmlns:dc="http://purl.org/dc/elements/1.1/">
which in rxml looks like:
xml.rss "version" => "2.0", \
"xmlns:dc" => "http://purl.org/dc/elements/1.1/", \
"xmlns:media" => "http://search.yahoo.com/mrss/" do
Next thing to do is adding a <media:group> to all the feed items:
      <media:group>
<media:title>"#{img.title}"</media:title>
<media:content type="#{img.type}" medium="image" url="#{img.url}"/>
<media:credit role="#{img.credit.role">#{img.credit.txt}</media:credit>
<media:description type="plain">"#{img.desc}"</media:description>
<media:keywords>"#{img.keywords}"</media:keywords>
<media:thumbnail
width="#{img.thumbnail.width" height="#{img.thumbnail.height"
url="#{img.thumbnail.url}"/>
</media:group>
your media group attributes/elements may vary but there is one nasty surprise lurking which you should be aware of. The Feeds API seems to ignore the actual image URL and chooses the the thumbnail URL instead: no thumbnail, no slideshow! This was kind of driving me mad not beeing able to spot the difference between my none working feed and the working one.

Bonus: feed reader compliance

handling images in RSS feeds is part of the vaguely borderline of rich media feeds where things like the Media RSS extension are actually made for. For Atom it seems media handling is defined a little better but the Feed API depends on RSS2. All this variations are hard to grok for some feedreaders but I wanted to have my foto-foo RSS stream also in my Reader, but the did just not show up. I checked out Riding with robots feed which brings fresh views from outer space directly to my desk. It turns out that they just include a little encode HTML in the decscription tag:

<description>&lt;a href='#{img.link}'&gt;&lt;img src='#{img.url}'/&gt;&lt;/a&gt;</description>
and voila, your Slide Show complient rss image feed works equally well in your normal feed reader.

i know this is all rough and dirty, but it works for me, might help you a bit, and i dont like to drown in spec reading for to long today. Find my RSS2 rxml code snippet on dzone and mess it up in any way you like.

have fun.

Technorati Tags: , , , , , ,

rug-b -> ruby user group berlin has new home

Posted by crux on May 22, 2007

as you all might warm up already for railsconf europe in berlin later this year i would like to let you know that the berlin user group got its own wiki now. After Florian Gersdorf did restart the meetings earlier this year we are happy to host the rug-b meeting every first thursday of the month at our place in /i-d media. And now, thanks to Benjamin Krause, we got our own place at http://www.rug-b.com/ where we set up the instiki wiki for a better overview on the berlin activities. Have a look over there for agenda, locations, timeings, whatsoever.

For all of our conference guest in berlin in september the rug-b started brainstorming about some special events and/or try to arrange for some benefits with berlin infrastructure. So come to Berlin, hope to see you soon!

I’m in no way linked to O’Reilly or the conference but in any case i’m quite willing to help making the berlin rails conference an even better one than the last. So when you have question or ideas for some socializing events around the rug-b or berlin just drop me a note.


UPDATE: wer des englischen nicht maechtig ist, dem soll versichert sein das “we are happy to host the rug-b meeting” nicht bedeutet, dass ich oder mein arbeitgeber der Veranstalter sind, sondern nur der Gastgeber. Scheinbar hat das der Kommentator nicht ganz mitbekommen. Ansprechpartner sind oben also genannt, aber wer will kann selbstverstaendlich auch mich ansprechen. Oder lieber anonym kommentieren, ganz wie es beliebt.

cheers.


Technorati Tags: , , , , ,

Fortran for Playstations…?

Posted by crux on May 20, 2007

actually not quite, but i could not skip these. IBM released a Fortran compiler for the Cell processor, thank you. Cell is the CPU which superpowers the PS3 for those amongst you how didn’t knew already. Now i jump and dig up my old medical volumen renderer code and might port it the the Playstation3! But as an old fellow of mine always said: “you can write bad fortran in any language”, and i prefer ruby nowerdays.



Technorati Tags: , , , ,

DHH snapshot with foto-foo

Posted by crux on May 18, 2007

what’s there more left to say? As steffen already posted on our company/product blog he managed to shoot the man himself! David(of ruby on rails fame) in front of our foto-foo webcam snapshot solution. This is best practice par excellence, right there, on location, from there to internet with no inbetween. That is foto-foo: no files, no upload, no hazzle, and, Thanks! David! You are the man, have a good time over there at the rails conf in portland and hope to see you all back in berlin in september!

cheers


Technorati Tags: , , ,

ruby user group berlin: JRuby, YARV/1.9, omdb.de and more

Posted by crux on March 03, 2007

We had our 2nd ruby users group berlin meeting yesterday with two speakers and the demo of the yet to be released omdb.org project.

First was Tim Lossen giving a good round-up of the JRuby developments. Not of much interest to me because i have’t touched Java in a while. There was a common understanding that JRuby is a good thing and will pave Rubys way into the enterprise world, and with Sun now as official backing partner, JRuby is heading for a 1.0 release this summer for Javaworld confererence. You can already run JRuby based Rails applications inside you IBM Websphere Application server, Yeah! But can you run a Rails application with JRuby from inside a Java applet on your client browser? Hm, interesting idea, we couldn’t answer that yesterday.

Next was the talk by Murphy about the state of the ruby 1.9 release. Murphy mainly used Mauricio Fernandez eigenclass for reference and gave a really great overview around the three main themes of this topic: Roadmap, New and changed features and performance. Everybody loves the hand drawn roadmap image(which i can’t find now) and while a Ruby2.0 release being something from a far utopian future, we might see a 1.9 release later this year. I’m actually not following the 1.9 developments but became inspired to check again. Enumerators for examples reminded me to my STL/C++ years, just now without the template pains :-) Interessting were his comments on performance. Tim already showed some charts which related the JRuby to some other implementations and Murphy made some own benchmarks which were pretty much in line with Tims data. The general information is that 1.9(==YARV) is a couple of times faster, ranging from 3 to 10 times faster. BUT! and that is a big but, Murphy did report that on the real life applications he tested, the speed-up was close to insignificant for various applications. This is because the the performance tuning in 1.9 seems to be focussing on benchmark relevant stuff. And real life application are hardly build from benchmark functionallity. This sounds like, been there, seen that before. History(benchmark tweaking) is repeating itself. For me it doesn’t matter. When others can do 4000 requests/second, ruby/rails is definitly fast enough for me.

Finally Benjamin Krause showcased his upcoming OMDB project(tech blog, development version, live). OMDB is a IMDb in wikipedia style with a creative commons licence. 16501 People(see comment) 16000 movies are already in the database and once it will open up, everybody can extend it. Thats a cool idea conceptually and what he showed technically was nothing less than the equivalent to an “Full House” in poker. For example the subsecond async response times for fetching actors from a huge database which were made possible by his ferret magic. impressive.

And this also led to the agenda for the next meeting where Benjamin will give a talk about ferret on Rails. Everybody wanted to see more of it. Also we will have a talk by Adam about AmzonWebServices: S3 and Rails on EC2 . I’m looking forward to it. And about the open mic section, i’m pretty sure we are releasing our foto-foo into the wild.

And for you to have some fun, we plan to record the talks next time and put them up as podcasts to fit with your online consumption habits. Murphy and Tim also promised to upload their talks for online viewing (to the wiki i guess).

looks like the ruby users group berlin is consolidating.

Technorati Tags: , , , , , , , ,

shameless self promotion: Diz/Kiz video mashup released

Posted by crux on February 24, 2007

after having Diz/Kiz online for some weeks now, for the very first time we let it outside. There never was a Beta, and now it is officially out of the gates. My connection? I work for the company which build it: productdevelpment @ /i-d media(full flash!).

Diz/Kiz ist a ruby-on-rails webapp where you can diz or kiz videos pulled in from other sites. With just 2 mouseclicks(the second click is only for confirmation :-) and our bookmarklet you can publish videos yourself.  Diz/Kiz was supposed to give you some fun minutes with a simple “am I hot or not” mechanik.

The spanish speaking genbeta blog has something to say about us:

DizKiz, subiendo y votando vídeos

Cyberfrancis

Diz/KizDiz/kiz es una herramienta online que permite a los usuarios subir los vídeos, por ahora soportando los sistemas de Google Vídeos, Youtube y t-community, añadiéndo simplemente los enlaces de las páginas de los vídeos que desean subir.



and web2null from Germany:

dizkizDizKiz: Video-Voting
DizKiz ist ein kleines Mashup von I-D Media, auf dem Videos von YouTube, GoogleVideo etc. vorgestellt und mit “Kiz” (gut) oder “Diz” (schlecht) bewertet werden können. Das ganze ist auch als Widget auf der eigenen Homepage nutzbar.


It is nice seeing your work beeing picked up by people around the globe. There was no Beta and Diz/Kiz was a proof-of-concept for us. Now we keep on going :-) Usabilitywise we need to fix some things and we will add  functionallity. Don’t worry, Diz/Kiz will never become a full featured video portal but remains a simple one-step-stop for your video fun. But more widgets would be ok, wouldn’t it?

And for you beeing a ruby coder maybe, I promise some API to embed Diz/Kiz widgets on your own site. Diz/Kiz was designed from the groud up to embed video data from external storage providers and this is how it was build. Right now we are working on opening up this interface to the web.

next stop: foto-foo! This time we do a Beta, don’t forget to sign up!



Technorati Tags: , , , ,

Next big language predicted(kind of)

Posted by crux on February 11, 2007

In his blog Steve Yegg rants abouts the next big language and has some nice things to say about ruby as well. He equals refusing to use Ruby with “refusing to use an electric car because there’s no place to put the gasoline”.

… it lacks automated refactoring tools. Ruby doesn’t actually need them in the way Java does…
…But programmers are a stubborn bunch, and to win them over you have to give them what they think they want.


and right he is i think. Steve does not spoill his inside knowledge about what the next big language will be, but his commenters are concluding pretty much on it to be ECMA script. Well, may be it so, that will not be for some time.

Meanwhile from the sneaking ruby through the system department we got more and more reports from the field like the one from my colleague. In a nice guerilla tactics approach they contaminated the working place with making ruby an integral part of the ant based build system. And this in an all java only development group. congrats comrades.




Technorati Tags: , ,

crontab’ed linden mania with hpricot

Posted by crux on February 03, 2007

a kind of buzzwordy post title, i know, but hey, at least i kept the unavoidable second life out of it. For reasons far from being thrilling enough to tell here i pulled the latest hpricot release and made my server pull the latest stats from linden labs frontpage every 6 hours. I’m kind of sad I could not get it up before the (ridiculous)3293499 residents mark, but once SL will hit the billion, it will still look like a pioneer. So here is the beef: I made a cronjob screenscraping secondlife’s stats from their frontpage. A nice graph from the data i will put up soon hopefuly. And stay tuned for the raw data feed if you like. Lets see, a week i guess, before it becomes a nice exponential curve.

  1. get value elements from the stats div
    v = Hpricot(open("http://www.secondlife.com")).search("#SL_stats strong")
  2. make it digestible
    v.map { |e| e.innerText.gsub(/[$,]/, "").to_i }
  3. dump the stuff
    # is left as an exercise to the reade
    and mine you’ll get right here.