Four bits of Laurie
May 21st, 2009
I realize that for a significant quota of the Internet market, the following videos might come as a shock. It might go something along the lines of “omg, dr houz sings lol!!1″, but with more punctuation characters and less vowels. However, some of my first steps in Humor PhD were done by watching Mr Fry and Laurie.
Oh, and the first time I watched Dr House, I distinctly remember babbling something like “omg, hue lawrie is a doc lol!!1″. Perhaps with less punctuation, though.
I couldn’t find the original to this one, but this 2.0 rendition is even better: that final mumble before dashing for the harmonica is a true killer.
I’m a sucker for catchy tunes. Admit it people: you all want to learn how to play the piano now…
Sophisticated, indeed.
This one, on the other hand, I prefer the original. I also found a version performed for some american TV-show which isn’t as snappy. Perhaps I can make over-generalized remarks about the target audiences now? ![]()
Britcom: Big Train
April 21st, 2009
I have a new quest: to spread the gospel of British Comedy to a new audience! And, for starters, a personal selection of my Big Train favourites.
Quickie joke: I’m committed to cakes…
More elaborate joke: kicking a coke can?
I’ve always been a huge fan of Sir Alfred Hitchcock, so this one has an added bang for buck… Of course, if you didn’t see The Birds, it’s not going to make much sense to you.
Rewind
April 12th, 2009
Pszczółka Maja. Yeah, just trying to pronounce this is proving to be a harder lesson than I anticipated.
Dogtanian i trzej Muszkieterowie. Easier
I catched both of the above phenomenons while they were in the post-”full swing” phase… I never watched Maia, and I don’t think I ever managed to watch through more than a couple of the Dogtanian episodes. But, when returning to Portugal for summer, everybody else talked about it. And sang it. And played it on the stereos. And, for most of the time, I had no idea what people were on about.
In Macau, until the local TV started [1] we mostly had to settle for the channels from Hong-Kong, which had a lot of Cantonese shows. On the other hand, we got to watch a lot of Kung-Fu films, good training in improvised wannabe-Chinese talk and study stylistic variations of the Fu Manchu personnas. But no Maia, no Dogtanian.
In hindsight, good riddance.
And on a side note, try watching the German version of Maia.
[1] It sucked. Even the Fu Manchu’s on MTV were worse than the HK versions.
Globalization is…
April 8th, 2009
Hello,
This will be the first of a series of posts with the not so original name: “Globalization is…”
Globalization is…
Two Portuguese guys in Warsaw, one from Benedita and other from Vialonga, drinking a Danish beer in an English chain of restaurants and a Spanish guy next to them, drinking a Portuguese coffee, probably from a plantation in Africa or Asia.
Design by Committee
March 28th, 2009
“… We’re looking for some stopping power”.
This isn’t an over-exaggeration: it’s art imitating life. It’s an exact replica of most meetings, it’s design by committee!
The key thing to keep in mind is that DbC isn’t something restricted to Dilbert: it’s real, it’s everywhere and it’s us! We do that, everytime we browse, we dance, we have some fun we put a distinct personal spin on it. The fact that this occurs in the workplace is only natural: learn to live with it.
Me, I would never have made the stop sign in Pink: fire department be damned!
Oh, and as an added bonus (with nice music to boot):
Jazz Buzzwords
March 17th, 2009

Story: JaikuEngine Gets Open Sourced (Direct link to comment)
My passionate hatred for the word blog is well known: personally, I think it resonates better with the sort of activities performed in a lavatory and not with the sort of thing one might be executing in a computer. But hey, to each his own.
However, this latest fashion of word mashing to form new and fashionable buzzwords is clearly getting out of hand. Not wanting to be the eternal pessimist, I didn’t even have a hard time finding a positive aspect to this activity: it makes the bullshit bingo boards greater and more diverse.
Football?
March 17th, 2009

Source: BBC
This is the sort of real-life event which finds a life of it’s own on the internet amongst adepts of dark/morbid humor. Some push that boundary quite a bit, beyond what is reasonable to most.
Me, I still laughed at it. I couldn’t help but wonder if this sort of concept were applied to other situations… Parliament TV would have great entertainment potential.
And Mr Bush should consider himself lucky for having successfully dodged a shoe.
Presentation Zen
March 6th, 2009
Garr Reynolds website: Presentation Zen
Taking things for granted
March 1st, 2009
Always remember the golden rule: theory and practice are the same thing, at least in theory. And if there is one thing we can count from life is that it will never cease to amaze and bedazzle us: don’t take anything for granted.
Case in point: Poland. Personal Identification Numbers. We could add the following, yeah?
create table PERSON
(
ID uniqueidentifier primary key,
Name nvarchar(300) not null,
PersonalId nvarchar(100) unique
)
Because everybody in their right mind would design a system wherein personal identification numbers are unique yeah: after all, that’s the whole point! Alas, not so for the local PESEL: there are some duplicates from the past. Why are there duplicates? Because Poland is a big place and the round-trip of ~600km to a central registration office was prohibitive: hence the PESEL is timestamp based, then mixed with a guesstimate of the current sequence value.
Now, this makes no sense for us in Portugal - and arguably most of the world where such registrations are in place - where all of our national numbers are unique: Bilhete de Identidade, unique. Driver’s License, unique. Tax number, unique. Company registration number, unique. Passport, unique. Given all of this, our natural expectation is to naturally restrict all identification numbers as unique.
So never take acquired knowledge for granted: our experience will fine tune over time and it improves our capacity to aim faster at the answer/solution. But don’t expect to ‘guess it’ and get it right: always double-check to confirm. And in Poland, you are identified by your PESEL and some additional personal information. The mindset is: if your number is the same, the odds that your personal information is also identical is ridiculously low. But, to play it safe, they’ll only ask your for your name, parent’s names, mother’s maiden name…
Fortunately, the bureau of ‘taking care of that sort of thing’ is currently working on a 2nd version of the PESEL format which, in typical Hollywood sequel fashion, is imaginatively called PESEL2 format. Got to love the name of one of the systems/components that will support this format: JANTAR.
Oh, and btw, the mystery of Ireland’s worst driver has been solved!
Stressing a web service
March 1st, 2009
The removal of ACT from Visual Studio 2005/2008 was a significant blow to my tool swiss-knife: I made extensive use of ACT scripts which, coupled with a tool/steroid Excel tuple (made a long time ago by Eduaro Pimental/Pedro Penedo), gave an accurate view of the performance levels of the webservices during development.
Now that we are more and more SOA, I was sorely missing ACT. Heck, I even tried running it standalone by copying an 2003 ACT installation from a coworkers computer. Unfortunately, to my huge frustration, it didn’t work for me. And before all of the “but but but” posts come in, no need to mention the Architect versions: noticed the price tag that goes with that version of the IDE? No license, no fun.
My computer has only had VS2008 for a year now. And all was dark.
During my latest project, Filipe Louro mentioned a particular software package to the rest of the team: soapUI. For my immediate usages (copy/paste SOAP, run, validate) it was an instant success. But near the end of the project, the killer feature was the functional testing. Mix in the fact that you can stress using that functional testing and we’re in business!
And there was some light again.
Please note that this doesn’t put us back into square #1: the tool/Excel used the ACT orchestrator to run the scripts under different load scenarios in order to perform Transaction Cost Analysis (TCA). This was especially important because sometimes the performance seems adequate running each load scenario individually but when the results are plotted out we can observe an exaggerated early performance degradation. So while it might be performing, it might not be scaling adequately!
One of the things I am currently looking into is the maven tool: if we can configure the load tests and then parse out the results, then we’re back in business.
For one of the functional scenarios, we had eight web-service invocations which were replicating the interactions with a specific business module during user-identity assertion (via SMS). One problem though: we needed to fetch a value from the database… And, you guessed it, we suck at Java. The fact that we were just trying to improvise wasn’t helping either…
For everybody’s reference, we did the following the connect to a MSFT SQL Server 2005 database:
- Download the JDBC driver;
- Extract, and copy the .jar to the soapUI bin/ext directory;
- Enabled TCP/IP connectivity to SQL Server 2005 (mmc > SQL Server 2005 > SQL Network Configuration > Protocols for);
- Use the following code snippet, which makes use of the Sql utility class:
def sql = Sql.newInstance(
"jdbc:sqlserver://localhost",
"user",
"password",
"com.microsoft.sqlserver.jdbc.SQLServerDriver" );
def res = sql.firstRow( " select Column from TABLE where ID = ? ", [ key ] );
def answer = res.Column
sql.close();
log.info answer;
return answer;
While we’re at it, you might also be interested in our Groovy script to generate a GUID-like value:
def f( count ) {
def i = (int) ( Math.random() * 2147483648 );
def s = i.toString();
s = s.padLeft( count, "0" );
s = s.substring( 0, count );
return s;
}
def guidNew() {
def guid = f( 8 ) + "-" + f( 4 ) + "-" + f( 4 ) + "-" + f( 4 ) + "-" + f( 12 );
return guid;
}
def g = guidNew();
log.info g;
return g;