Wednesday, October 12, 2011

What is going on here?

Basically re-org.

No more angry ranting/bull shit/ugly stuff. Will keep this blog strictly about technical findings and positive stuff.

Once in a while I will pop up and set thing straight, but I'll let Joe Helper be the first poster.

First Post (via Blogger API)

Yay, it works!

Thursday, March 4, 2010

Conversation

boss says:
it is almost as if you work for ibm - stubborn punks
terrible testers
if you tell them the light switch doesn't work - they will fix the switch so it goes up and down and not check that the light works

me sez:
dont you know? that's their new business model
customer as QA testers

EOF

Thursday, December 24, 2009

Merry Christmas And Happy New Year

I'll be incommunicado these following days

Monday, December 21, 2009

Moving Again

Looks like I am going to be moving out of my hole, has been hitting up Craig's List for several weeks and there are lots of openings in Sillycone Valley.

Friday, December 18, 2009

Hilo Is A Culinary Sink Hole

Don't eat there, or lower your expectation, even your baseline.

Thursday, December 17, 2009

Taking Caltrain From SFO

This is what happened last night:
834pm Grabbed the bag
839pm Blue line starts
848pm BART: SFO-Millbrae starts
857pm On Caltrain southbound platform - very close!
904pm Caltrain 192 is on time.

Yeah, 30 min is too close to catch a Caltrain from SFO

Wednesday, November 25, 2009

Blogs.Perl.Org is MT

More incentive to install MT on angrybots.com

Monday, October 19, 2009

Google Translation Perfected The Art of Lost In Translation

Koorts is weg, maar zo slap als een vaatdoek. Mis voor het eerst in lange tijd een TV. Beetje zinloos zappen bij de kachel lijkt me heerlijk
http://twitter.com/silvertje/status/4998571402

Google Translation sez: Fever is gone, but as limp as a dish cloth. Mass for the first time in a long time TV. Bit pointless zapping the stove seems wonderful

har3 - omg ...

Friday, September 11, 2009

Need Editor

Re-reading the posts, I realize I need an editor.

Thursday, September 10, 2009

Persisting LR Data Using MySQL

In the beginning it was horrible: not knowing what kind of C compiler LoadRunner is using, I experience with several header files from cygwin and mingw, which I know, deep inside, won’t work.

But RTFM saved the day, by merging the header files to $LR/include MySQL C code can be compiled by only tweaking one 64 bits reference.

Below is the final code to commit unique users, I totally rely on MySQL’s ACID to do the right thing. Hopefully I put my belief at the right place.
int commit_user() {
int rc = 0;
char *exec;
int good = 0;
int available = 1;

db_connection = mysql_init(NULL);
if (db_connection == NULL) {
lr_error_message("Insufficient memory");
return -1;
}

// Connect to the database
if (mysql_real_connect(db_connection, server, user, password, database, port, NULL, 0) == NULL) {
lr_error_message("error on connect: %s", mysql_error(db_connection));
mysql_close(db_connection);
return -1;
}
lr_output_message("Connection to DB is established");

while (!good) {
available = 1;

while (available) {
exec = lr_eval_string("SELECT EXISTS (select login from LATLogin WHERE login = '{pUserName}');");
if (mysql_query(db_connection, exec)!= 0) {
lr_error_message("%s;error on query: %s", exec, mysql_error(db_connection));
mysql_close(db_connection);
return -1;
}
lr_output_message("exec: %s", exec);

if ((query_result = mysql_store_result(db_connection)) == NULL) {
lr_error_message("%s;error on store: %s", exec, mysql_error(db_connection));
mysql_close(db_connection);
return -1;
}

result_row = mysql_fetch_row(query_result);
available = atoi(result_row[0]);
lr_output_message("available=%d", available);

if (available) { //exists
lr_advance_param("pDataFileUserName");
lr_output_message("Advance pDataFileUserName = %s", lr_eval_string("{pDataFileUserName}"));
while (strcmp(lr_eval_string("{pDataFileUserName}"), lr_eval_string("{pUserName}")) == 0) {
lr_advance_param("pDataFileUserName");
lr_output_message("Advance pDataFileUserName = %s", lr_eval_string("{pDataFileUserName}"));
}
lr_save_string(lr_eval_string("{pDataFileUserName}"), "pUserName");
}
mysql_free_result(query_result);
}

exec = lr_eval_string("INSERT INTO LATLogin VALUES('{pUserName}');");
if (mysql_query(db_connection, exec)!= 0) {
rc = mysql_errno(db_connection);

if (rc == 1062) {
lr_output_message("%s is too late, duplicate exists", exec);

//when pUserName exists, probably some else took it already
lr_advance_param("pDataFileUserName");
lr_output_message("Advance pDataFileUserName = %s", lr_eval_string("{pDataFileUserName}"));
while (strcmp(lr_eval_string("{pDataFileUserName}"), lr_eval_string("{pUserName}")) == 0) {
lr_advance_param("pDataFileUserName");
lr_output_message("Advance pDataFileUserName = %s", lr_eval_string("{pDataFileUserName}"));
}
lr_save_string(lr_eval_string("{pDataFileUserName}"), "pUserName");
}
else {
lr_error_message("%s, error(%d): %s", exec, mysql_errno(db_connection), mysql_error(db_connection));
mysql_close(db_connection);
return -1;
}
}
else {
lr_output_message("exec: %s", exec);
good = 1;
user_removed = 0;
}
}
mysql_close(db_connection);
lr_output_message("Connection to DB is closed");
return 0;
}
The final result: running 90 virtual users (I ran out of login), each running 20 seconds transactions.
GetUniqueUserName
  • 75% of population: 0.028 +/- 0.02
  • 90Percentile: 0.043
The generator machine CPU consumption is hovering around 25% - I give this method of persisting LR data a stamp of approval.

Tuesday, September 8, 2009

Perl Now Runs On Android Scripting Environment (ASE)

I think I have heard about it before, but I managed to push it down to my subconscious level. Now off to figure out which android phone to throw into the ring of my gadget wishlist.

Sunday, September 6, 2009

Internet Is Humming Fine

The tech is a magician! He fixed AT&T's crappy DSL line. No red DSL light blinking this week, not once.

DSL Training Errors, Time Since Last Event: 5 days 6:51:19

House of Prime Rib

1906 Van Ness Ave
San Francisco, CA 94109
Tel:(415) 885-4605
http://houseofprimerib.net

They are doing a good imitation of Lawry's, or is it the other way around?

Friday, September 4, 2009

RTFM Saved The Day

Friday afternoon, and I am very down since nothing works.

I admit, Wilsonmar webpage's not the official one, but it's damn close. But then, I noticed this:
LoadRunner uses A website external to this site 1994 GNU C Pre-Processor options and the A website external to this site 1995 LCC-win32 Retargetable C Compiler/Linker from the Free Software Foundation via Chris Fraser of AT&T and Dave Hanson of Princeton.
MySQL C code is compiling nicely now (after one 64bits ref is tweaked).