my first foto-foo to flickr upload

Posted by joe.sixpack on July 13, 2007

yep, here we go. It took a while but our chief operating foto-foo wizard steffen did finally approve the flickr upload service in http://foto-foo.com. No such big surprise here, beacause Flickr was in the text of the site ever since, it simply was not online yet. And now it is

I hope to find lots and lots of free wifi at garda see in italia so i upload directly from the waterfront. Yes, I go on vacation for two weeks.

happy foto-foo’ing

daily desasters: blackberry

Posted by crux on June 29, 2007

I bought a D-Link DWL-2100AP access point yesterday. Only to find out, after setup!, that it is was broken. It could be configured but returned to factory defaults all by himself after every two minutes. Not useful.

Blackberry ExceptionToday my beloved modile mail device came up with a new suprise. “…message queue overflow”, pardon? What is it this thing was designed for? god gracious, it’s Java, how hard can it be to simply check for such things?

Basically approx. 15 times per week i got kicked off the connected world by the blackberry messing up and reporting a SIM card error. Of course silently. It goes like, you are slowly calming down for just not beeing phoned or mail-molested for the last 2 hours only to find out later that actually hell broke loose and it was only that just nobody could reach you because of your blackberry got goobled up by SIM card errors.

All this troubles are strictly mine. These gadgets are functioning perferctly once they are out of my reach, nothing can be blamed on them or their makers.

p.s.: switch-off, switch-on brings blackberry back to normal. 37 seconds only, and helps you train your pin code memory.



Technorati Tags: , , , ,

“It’s all changing so fast today!?” Bullshit!

Posted by crux on June 27, 2007

a1.jpgoh boy, i can hardly tell how much am i annoyed by this unknowing, uninspired, boring minds which walk around me sometimes and are thrillingly giving me their first hand reports of the insights they think they gather at the fast and vivid edge of the dazzling world of the internet and its hyperspeeded and -connected  communities. no links here! you know, twitter and friends.

and now, to the left(or above), you see, “The Answer Machine”, published in 1964(my birthyear by the while), on paper i guess. What is it? It is describing Google(link! try it!)

pause…

it took a fu….g 40+ years to build it. that was fast man, yep, see me gasping. and now? what’s next? The original star trek aired in 1966, which means there are a couple of things to come yet.

please read “Google as predicted in 1964″ for the full story where Web Owls combined the sources to match google with its vision.

and then, please, go back keep going to build the stuff which is already there according to some.

oh, and one more thing. What a relief to work with whom im working with and that i could put an end to consulting with the clients which where so…, hmm, to harsh a word to say here, but you know.

Technorati Tags: , ,

assert_raises_kind_of with Module error tagging

Posted by crux on June 24, 2007

this sunny sunday afternoon i was putting together some utility code(stupid me!) to do some remote blogging from the shell or the cosy inside of my vim editing session. This for some later time, but while i was going on with my test-driven/test first development i hit the problem of missing a test to check for the base class of my errors. I wanted to:

assert_raise(StandardError) { @blog.find_post(:postid => 123456789) }

to generally check for any kind of trouble bubbling up but it was not working as expected. Instead i got nasty Failure reports:

1) Failure:
test_find_post(XMLRPCTest) [mylib.rb:83]:
<StandardError> exception expected but was
Class: <XMLRPC::FaultException>
Message: <"Sorry, no such post.">

I suspected XMLRPCTest::FaultException to maybe not beeing derived from StandardError, but that was not the case. A look in the ruby documentation and the ruby-talk thread confirmed:

assert_raise(*args) {|| ...} is checking for the EXCACT exception type only!

How was it for you?

On the ruby-talk mailing list there was a little discussion about this topic and i pretty much agree with all the +1 sayers on the list. Edwin Fine propsed adding his own assert_raise_s method the Assertions class. You easily get into muddy waters with opening standard ruby classes for some duck-typing but reverting to:

assert_raise(XMLRPC::FaultException) { @blog.find_post(:postid => 123456789) }

was not an option. This would expose way to much implementation detail to this very high level coding of the very first tests so early in the project. So I was using the source, as yoda said and found another solution for me.

Modules as base class arguments to assert_raises

After i read Edwin’s post i checked the source for def assert_raise and learned that this method is actually checking for some kind of exception base class. The argument to assert_raise is an array of exception types. assert_raise does partition this types into Class and Module.

The assertion_raise checks for Class types is exact, but the Module is not(can’t be). They are checked with an is_a? condition – there can’t be no object instance of module type or course.

My original test therefor simply fails because StandardError is not a Module but a class. The XMLRPC::FaultException implementation is not mine but it is bubbling through my lib which i’m testing and this is precisly the condition i want to write tests for.

“Module tagged” exceptions and assert_raises_kind_of

First i wrote an empty tagging module for lib to tag all Errors and exceptions coming from my lib:

module MyLib
    module Error; end
end

Now i can tag all exception from some deeper laying code with my Error module:

begin
    ...
rescue => e # errors bubbling from the underworld
        # tag it
    class << e; include MyLib::Error; end 
        # throw it
    raise e
end

Voila, and now i can write:

assert_raise(BlogMist::Error) { @blog.find_post(:postid => 123456789) }

and finally got what i wanted but you’re milage may vary. Basically this gives me a way to create some kind of folksonomy of errors coming from my library. Don’t know yet where this might lead me, but hey, ruby is the best for protoyping and playing around!

Don’t be lazy!

Testing for error base classes instead of pricise error handling is not to make you lazy! As discussed on the forum thread it is to start with tests early on and being able to refine error condition testing over time.

Technorati tag: , , , ,

“A new version of Second Life is available”

Posted by crux on May 24, 2007

doesn’t that sound strange? The recent hype around all things virtual drove down normality of these ephemeral worlds to a new level. A lot is in the name, and readings like these constant flow of update messages from Linden Labs reminds me to the the supermarket announcer coming from the speakers above my head with: “please switch to another channel. this reality is not longer supported”, while i was just pondering about my weekend shoppings. Or was it? Just kidding, I’m still part of the real world, am I? Distant associations to forgotten utopian views from the past. “Welt am Draht”, welcome on the next level.

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: , , , , , , , ,

albino peacock

Posted by joe.sixpack on March 01, 2007


albino peacock
Originally uploaded by joe.sixpack.

I’ve never seen an albino peacock. Impressing even more without color.

(3nd try) testing the flickr email foto upload and post to blog feature. connected times indeed.

Stupid devices: The Blackberry

Posted by crux on January 20, 2007

Oh yeah, i also became one of those blackberry users. It is a really good on-the-go traveling email device. When last year i was wasting days and days on airports while traveling back and forth to lots of meetings the blackberry gave me back some productivity. Because of the blackberry i could spend the precious time at my desk with getting real things done instead of wading through dozens of mails.

But, the blackberry is a phone, and an organizer, and therefore contains all kinds of smartphone application. And there is an alarm-clock wake-up application you might think. No, it is not. It is an annoyance. First, the meeting calendar can’t be used for wake up because it only pops up a little reminder windows and makes a mellow ‘ping’. Not for me to wake up from. And then there is the Alarm clock. Easily to define your wake up time with the thumbweel and you set you daily alarm. Yep, thats right, a daily alarm, every day. There is no option of only setting up a single alarm for the next morning but only a daily alarm for all days to come. This works perfect for getting you out of the bed the next day. I am kind of sleepy then and normally don’t like to bother to unconfigure the alarm clock.  And  usually i forget that also for the rest of the day. And this it what kicks me out of bed the day after. The forgotten alarm clock remembers its daily duties and kicks in on 6:45 saturday morning. I don’t like having electronics next to my bed and so i can’t even switch it off from there. stupid device, great email road warrior though.

good morning


Technorati Tags: , ,

Auf dem Weg nach oben

Posted by joe.sixpack on January 13, 2007

Leider habe ich die letzte PechaKucha verpassen müssen. Diese wunderbare Veranstaltungsform entspricht perfekt dem Aufmerksamkeitsdefizietsproblem moderner Internet- und Medienschaffender:

Kein Vortrag dauert länger als 20 mal 20 Sekunden (also 6:40 Minuten), Langweile kommt nicht auf.

In unvorhersehbar erratischer Weise allerdings gelangen zum Glück immer wieder doch noch Aufzeichnungen einzelner Vorträge im RSS Feed der Veranstallter. Ich weiss nicht ob es ein Highlight des Abends war, aber ich freu mich schon demnächst irgentwo dem intelligenten Aufzug, den Thorsten Rauser vorstellt, zu begegnen, aber  sehen und hören sie selbst.



Technorati Tags: , ,

DRM will die, die, die!

Posted by joe.sixpack on January 10, 2007

As a kind of follow-up to my AllOfMp3 posting you might like to check the as always insightful

The Inevitable Death of DRM


analysis on techcrunch.

…most of the recent market signs suggest that the eventual demise of DRM is inevitable. Consumers are more frustrated than ever that certain file types are playable only on certain devices. The only real questions are when, and will it be replaced…


Die Zeichen mehren sich, wer hätte das geglaubt. Obwohl, wir wollen den Tag nicht vor dem Abend lohnen. Mann wird sehen, und Musicload wird sicher bis zum Schluss wie ein Fels in der Brandung stehen.

Technorati Tags: , ,