An open letter to DROID

December 10th, 2009

This morning, I received yet another smug text message from a new DROID owner.  Please, allow me to address all of you at once with this open letter:

Dear DROID,

Congratulations on getting to the party, two years late.  Things are already starting to wind down and walking around telling everyone how cool your baby-blue polyester leisure suit is just makes you look desperate.  You should know that even Windows Mobile got here on time.  I heard that Blackberry gave you the wrong address, I am supprised that you found the house.  And yes, you are the only one who cares that you are here.

I should tell you that my buddy, G1, told me that your girlfriend (Android TM) is sleeping around.  A LOT.  You are totally going to catch something, dude.

Sincerely,

iPhone, Blackberry, and Windows Mobile users the world over

P.S.  No matter how many times you go to the gym, you will never look like iPod does.  Just sayin…

fun

Fun with Internet Scammers!!!

September 7th, 2009

Great news!  I was recently contacted by Susan Van Der Merwe, the Deputy Minister of International Relations and Cooperation for South Africa.  By turn of good fortune, she needs MY help to clear millions of dollars.  I totally love these guys.  This is the initial contact email:

Susan Van Der Merwe, Ms.
Deputy Minister of International Relations and Cooperation.

Dear Sir/Ma,

After due deliberation with my children, I decided to contact you for your
assistance in standing as a beneficiary to the sum of US$3.5M ( Three
Million, Five Hundred Thousand United States Dollars Only) First, let me
start by introducing myself, I am Susan van der Merwe, Ms. a mother of
three children and Deputy Minister of International Relations and
Cooperation. under the President of South Africa Mr.Jacob Gedleyihlekisa
Zuma,Mr. Please view my profile.

http://www.gcis.gov.za/gcis/gcis_profile.jsp?id=3919

After the swearing in ceremony making me the Deputy Minister of
International Relations and Cooperation in 29th of April 2004, my husband
died while he was on an official trip to Trinidad and Tobago in 2004.
After his death, I discovered that he had some funds in a dollar account
which mounted to the sum of US$3.5M with a Financial Institute abroad.

This fund emanated as a result of an over-invoiced contract which he
executed with the Government of South Africa. Though I assisted him in
getting this contract but I never knew that it was over-invoiced by him. I
am afraid that the government of South Africa might start to investigate
on contracts awarded from year 2000 to date. If they discover this money
in his bank account, they will confiscate it and seize his assets here in
South Africa and this will definitely affect my political career in
government,I need your assistance in clearing this money from the
Financial Institute.As soon as the fund is cleared, you are expected to
move it immediately into another personal bank account in your country.I
will see to it that the account is not traced from South Africa. As soon
as you have confirmed the fund into your account, I will send my eldest
son with my Attorney to come to your country to discuss on business
investments.

For your assistance, I am offering you (Seven Hundred Thousand United
States Dollars
Only) However, you have to assure me and also be ready to
go into agreement with me that you will not elope with my fund,If you
agree to my terms, kindly as a matter of urgency send me an email.Due to
my sensitive position in the South African Government, I would not WANT
you to call me on phone or send a fax to me. All correspondence must be by
email to my private email,If you want to speak with my Attorney, that is
fine and okay by me. His chambers will be representing my interest with
you. All correspondence must be made to my Attorney, I will also like you
to send me the following information below: To enable my Attorney call or
reach you from time to time,

1. Your full name
2. Your telephone and fax numbers
3. Your contact address AND Your Occupation

Please I do not need to remind you of the need for absolute
Confidentiality if this transaction must succeed. YOU MUST NOT CALL ME! If
you do not feel comfortable with this transaction, do not hesitate to
discontinue.

Thanks for your anticipated co-operation and my regards to your family.

Yours faithfully,
Susan van der Merwe, Ms.
Deputy Minister of International Relations and Cooperation

Awfully personal information she was asking about, for a cold call, eh?  I invented a music producer by taking the tames of well known folks and putting them together.  Then, I noticed something odd about the last name “van der Merwe”.  I have seen this recently.  Ah, yes, Wikus van der Merwe, our friend the protagonist from District 9.  This was my reply:

I am most interested in your proposal.  As we are not yet acquainted, I am hesitant to give out my phone number or contact address.   However, I am comfortable giving my full name and occupation:  I am a music producer living in the LA metro area and my full name is Kanye Eno Cowell.

I look forward to hearing your further correspondance.
Kindest Regards,
Kanye
P.S.  Are you, perchance, related to Wikus van der Merwe?
They quickly replied, and as it turns out, she IS in fact related to Wikus:
Attention:Kanye Eno Cowell

Thanks for your mail and your willingness to assist me in securing my late husband fund. Let be state that based on your integrity of your person, I believe that you will not betray me now or in future, I want you to understand that this is not a joke, it’s real, the fund belongs to my late husband, I got your email address through the South African Chamber of Commerce and i decided to contact you. YES I related to Wikus van der Merwe

For us to perfect the claim in your favor, you are to send to me your Full, Name, Full Address, Phone and Fax number if any, specify your country code. With this information I will forward it to my lawyer for him to obtain the necessary document that will assist you in claiming this fund from the security house where it’s deposited and stand as the claimant/beneficiary of the fund on my behalf. Please I want to know your personal profile like your age and occupation.

Meanwhile, you should understand that this transaction requires secrecy, as it is stipulated / obligatory because of my position in government though, the fund was over Invoiced by my late husband who was a government contractor before his untimely death late 0002.

However, I want to assured you that this transaction is 100%hitch free and can not ignite any fire now or in the future as the document to back the claim will be obtain and subsequently send to you for your perusal.

Thanks once again as I wait your response.

Regards
Susan Van Der Merve Ms

At this point, I’ll take the win and let it drop.

Uncategorized

Where have I been?

July 26th, 2009

While working, doing karate, riding a motorcycle, and generally slacking off, I am also working on a Master’s degree in Informatics at Northeastern University.  Doing so tends to take a large slice of my available time and I therefore do not get to post here as much as I’d like.

On a related note, one of the classes I have completed is titled “Strategy, Policy, and Finance”.  I know, it sounds boring, but I assure you that its not.  As part of the class, I read Michael Porter’s book “On Competition”.  Essentially, the book is an analysis of competition and corporate strategy. Not since reading “A Book of Five Rings” have I found a book on corporate strategy so potent.  I think that every software engineer owes it to themselves to gain some exposure to these ideas, if for nothing else, to better understand how to best contribute to an organization.

To be fair, I don’t think that everyone should be subject to reading Porter’s bible sized tome. Honestly, I barely survived.  Rather, I have opted to post a paper that I completed for that class that largely distills the thoughts outlined in the text.  Think of it is the Cliff’s Notes version.  Or maybe “On Competition: Lite”. Anyways, enjoy.

Uncategorized

Sister of Chucky

April 19th, 2009

Most of us know who Chucky is.  You know, the Good Guy doll possessed by Charles Lee Ray, the Lakeshore Strangler.

chuckyandkid

We have met Chucky’s bride in the movies.  While out searching for antiques with my wife, I met his sister.

photo2

Yeah.  That is some seriously creepy stuff.  Let’s zoom in for a closer look, shall we?

photo

Younger sister, but I definitely see the family resemblance.  I, for one, will be sleeping with one eye open from now on…

Uncategorized

What do “comeuppance” taste like?

April 6th, 2009

Not long ago, someone very close to me recently informed me that they were becoming a vegetarian.  Curious, I asked, why?  I was sat down and patiently lectured that she recently did some reading and discovered that vegetarians live longer healthier lives.  Furthermore, since we were not meant to eat meat, she would march forth with resolve and refrain from taking the lives of animals for future nourishment.

The very next day, we decided to go out to one of our favorite restaurant for lunch.  Being an Indian restaurant, they had an excellent selection of both meat and vegetarian dishes.  My new-found-vegetarian wife’s favorite dish, butter chicken, appeared to be on the buffet that day.   As we approached the counter, I saw her resolve sap away as she noticed the presence of the tasty looking dead chicken pieces awash in sweet buttery tomato sauce.  Grabbing a plate, she explained to me that she would start being a vegetarian “tomorrow” and that she would be having the tasty butter chicken.

As she tasted the first piece of “chicken”, I noticed an expression forming across her face.  It looked something like this:

398338226_1b6601d9ea

As it turned out, the “chicken” was not really chicken at all.  The sign was wrong and swiftly corrected after we inquired about it.  Apparently, the “chicken” was really paneer - good, but something of an acquired taste and certainly a shock to ones system when one was expecting an entirely different texture.  So, as we both learned that day, “comeuppance” taste much like Matar Paneer.

If you are curious, my wife took that event as a sign, and now, a month later, is still solidly vegetarian.

fun

From the “When I was your age” department

January 18th, 2009

Back in my day, we used to have to walk to school.  In the snow.  Uphill.  Both ways.  And we liked it!

Okay fine, I took a school bus just like you.  But, back in my day, we would sometimes see these dreaded words when coding/debugging in C or C++:

Segmentation fault (core dumped)
#

At that point, the feeling of dread sets in.  Its obvious to you, and anyone shoulder surfing, that you were not careful with your memory allocation.  To boot, if your application was any more complicated than say, “Hello World”, you would be faced with the task of firing up GDB, loading the core file, and tracking down exactly where you went wrong.   While being able to do this is indespensible, I have always found prevention to be better than the cure.

While working on my new project, I wanted to know how I was doing with memory allocation.  Enter Valgrind:

st-george-dragon

Valgrind is useful to help you find memory leaks and identifiying when you are accessing memory that has not been allocated.  Additionally, it will find incorrect uses of the free/delete operators.  Valgrind does this by running your program in a simulated, managed environment complete with a simulated CPU.  Effectively, while your program is running under Valgrind, it is being treated as if it were Java byte code.

To use Valgrind, first modify your make file to use the -g and -O0 options. This will turn on debugging information (so you get line numbers) and insures that the compiler is not running any optimizations (which is the default mode).  Keep in mind that your program will run many orders of magnitude slower when running under Valgrind.

Once that is done, simply run your program like this:
valgrind --leak-check=yes myprog arg1 arg2

To find out more about interpreting the error messages you get back, look here.

fun

Pining for the arcane arts…

January 4th, 2009

Not to show my age, but my college started us out programming in C, not Java.  After a few classes of that, we were allowed to take a class called Object Oriented Paradigm, which was really shorthand for Booch’s notation and C++.  My first job out of college involved C to a degree and then I spent 4 more years doing C and C++.  All the while, I managed to keep a small CircleMUD code base (written in C) going in my spare time.  All in all, I loved it.  However, there were problems.  At the time, I was building ground control software using the Motif toolkit and Roguewave libraries.  The requirements for the software we were building often necessitated sophisticated controls.  Motif was many things, sophisticated (in modern 2001 terms) was not one of them.  We were spending the better part of our development time on trying to compensate for sub-par libraries.

At that point in time, Java had really just started taking off.  I did some research and wrote some prototype user interfaces (using AWT at first and later Swing).  Selling an entity that is not accustomed to change on rewriting the ground control software for an entire installation was largely an uphill battle, but one that we won.  We were able to show (with solid metrics) that developers would be more productive using Java for non-real time systems and be capable of building more sophisticated interfaces and applications in less time.  It was a great success that came with a free side of portability.

As my career progressed, I found myself working on enterprise scale web applications.  Specifically, I was usually working on the server code, but periodically ventured into the client code as well.  The client code we were writing was using the Struts framework.  For the life of me, it felt like everything I did required me to do something to make Struts happy.  Everything seemed like a chore - the framework could not get out of its own way.  I opted to look elsewhere and found Ruby and Rails.  The Ruby language is elegant, easy to work with, and has an amazingly complete library at its disposal.  The Rails framework makes development of web applications almost trivial (well, as trivial as it can be).

I woke up the other morning with a certain irrational desire.  For some strange reason, I find myself longing to dabble in the dark arts of C and C++ again.  I miss screwing with pointers and memory allocation.  I miss compiling.  Not generating byte code, but real honest to goodness compiling.  I did some looking around and re-experimenting with distro’s and discovered that openSUSE 11.1 and KDE 4.1 is hot!  Really hot!  Dig this:

Screenshot

Hot, right?!?

I spent some time this weekend dusting off my tomes on C, C++, sockets, semaphores, and shared memory.  Over the next few months, I am going to spend some time looking at the KDE libraries and will hopefully love what I find :)

fun , , ,

New Jarhunt release (and Slackfest 2008 update)

December 20th, 2008

Snow still coming down.  Starting to worry.  May not be able to find my car…

photo

On the bright side, I just wrapped up a new release of Jarhunt!  The new version (1.0.4) includes indexes to improve search speed as well as some cleanup of the views and controllers to get rid of the last stragglers of redundant code.    While I was at it, I cataloged a LOT more jar files for the reference implemtation.  All in all, Jarhunt.com now has 5915 classes cataloged (most of the Apache commons, logging, and XML stuff).

Also just in from the”way too much time on my hands department“: My Powerbook G4 is now nicely running Debian Etch with the Xfce desktop envrionment.

I hope tomorrow will bring a nice mix between a start to a new project, exercise, and the Sins of a Solar Empire marathon . We’ll see how that goes.

Power Status: So far, so good.  National Grid has managed to keep power supplied to our appartment desipte a major winter storm.  Its nice to see them bucking the trend.

jarhunt

Slackfest 2008!

December 19th, 2008

Slackfest 2008 (only slightly dampened by a power outage) officially started yesterday!  I have a four day weekend during which I will do nothing but “man/geek” things.  I started out the festivities by some copious online gaming (World of Warcraft) with Luke.  Unfortunately, National Grid put the kibosh on that shortly after lunch.  You’d think that as a power company, that they would be slightly better at their job.  Apparently, they suck at it.

On the agenda of things to do:

  • Install Debian Etch on my Powerbook G4
  • Refactor Jarhunt some more
  • Start a new free software project (I miss compiling, more on that later…)
  • Get some exercise
  • Sins of a Solar Empire marathon multi player battle

First things first though… Living in New England, we are in for a few days of nasty snow storms this weekend.  I’ll need some food and will not necessarily want to leave the house to get it.  To deal with this, I made enough stuffed peppers to tide us over for the better part of the weekend.

If you want to follow along at home, you’ll need the following ingredients:

  • 12 large green bell peppers
  • 2 pounds of veal
  • 1/2 pound of beef
  • 2 Table spoons salt
  • 2 White onions
  • 2 Scotch (fracking hot) Bonnet peppers
  • 2 Table spoons of chili powder
  • 1 Table spoon of crushed red pepper
  • 4 Table spoons of Italian Seasoning
  • 2 (large) Table spoons of roasted minced garlic
  • 1 bag of extra sharp cheddar cheese (grated)
  • 3 Table spoons of olive oil
  • 3 Eggs
  • 3/4s cup seasoned breadcrumbs
  • 1 cup brown rice (Basmati is awesome)
  • 1 Medium jar of tomato sauce

Alrighty then, a look at the raw ingredients:

Raw ingrediants

Step 1: Cook brown rice (2 cups of water, bring to a boil for 10 minutes, set to low, cover and simmer for 30ish minutes)

Step 2: Chop onions into small pieces, combine with garlic, olive oil, chili powder, Scotch (fracking hot) Bonnet peppers, and 1/2 of the Italian seasoning.  Simmer until onions start to clear.

When you start, it’ll look like this:

onions

When you are finished, you may have something like this:

onions_finished

Step 3: While the onions are cooking, wash and de-cap the bell peppers.  Place them in a cooking tray so that they look something like this:

empty_peppers

Step 4: Combine meat, crushed red pepper, cooked onion mix, rice, cheese, salt, tomato sauce, remaining Italian seasoning, eggs, and breadcrumbs into a large container.  Mix vigorously.

stuff_em

Step 5:  Insert goop into peppers.

stuffed

Step 6:  Put into preheated oven at 365.   Go run Wailing Caverns or otherwise keep yourself busy for an hour and 10 minutes.

Step 7: Extract from oven, let cool, and eat.

upclose

Well, that’s it for now.  I’ll post again with my progress on other things later tonight.

food, fun

One more change…

December 13th, 2008

Ok, this is it.  Really.  I changed again because I got tired of maintaining the old blog manually and I was not writing as much as I wanted to because of the overhead involved.

Since my last post (in the old blog), I have done several iterations of the Jarhunt code base.  Mostly, I have been cleaning up ugly Ruby code and refactoring, but I have also updated the look and feel and added file meta data for each class.

Still to come:

  • Support for war and ear files
  • Multiple track/environment support
  • Indexes (to improve search performance)

You can grab the new stuff from SourceForge here.

jarhunt ,