Friday, June 26, 2009
It's been a long time since I posted anything (and an even longer time since I posted anything meaningful.)  I hope to start posting some juicy goodness again.

My primary goal is to get off this God-awful blogging platform that I'm using and figure out a way to incorporate WordPress or the like.  Until then, I will still try to move forward and post some coding-related nuggets.

Since my last post, I have switched development platforms from C# to Java.  I really hate Java and everything about its culture.  All of the power in Java comes from third-party (usually open-source) libraries.  This leads to a bunch of disparate APIs that all use different conventions.  In .Net land, you had everything handed to you by the mothership, it was wonderful.

Due to the fragmented community that is Java, you end up with complex build systems that can handle all of the dependency and version management of the APIs.  While I don't mind Apache's Maven, it can still be a pain in the ass.

Additionally, Java has a bit more history than .Net, which you would think would be a good thing, but unfortunately it leads to the hands of the language developers being tied for backwards-compatibility.  In Java, we have generics, per se, but they don't offer any performance (by reducing boxing and unboxing) because they are just compiler hints that are removed during compilation (Type Erasure.)  That, coupled with the fact that stack types (i.e. primitives) are "special" in that they do not derive from an Object, you get all kinds of fun problems.  That, coupled with auto-boxing (another hack), can lead to subtle bugs in favor of relieving the developer of type-casting and conversion.  That's not a trade-off I would ever accept.

I still follow the .Net community closely and everyday I am enticed to jump from the dilapidated Java ship back to .Net.  I really like lamba expressions (though I hate the LINQ syntax), and I'm really excited about the parallel computing stuff that's coming in .Net 4.0.  The fact is that .Net is evolving and keeping up with other, more dynamic, languages that are growing in favor (e.g., Python, Ruby.)  Java, on the other hand, is still in the stone-age and is showing no signs of growing up.

I will say a few "nice" things about Java.  First, I love its portability; I really like how ubiquitous it is.  My blu-ray player even supports Java.  I also like that its backed by some of the biggest names in the industry: IBM, Google, Oracle, and Sun to name a few.  And, given that, Java does play very well in enterprise-class development.  This may just be because of Java's maturity and the maturity of the existing APIs.  .Net, in contrast, seems to be more of a toy framework in comparison. 

Well, that's it for now.  I'd like to start posting some coding-related entries.  Stay tuned.

I'd like to note that none of these statements in any way reflect the opinion of my employer.

posted on Friday, June 26, 2009 9:32:59 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, January 04, 2009
Das VunderBoner



Disclaimer: Do not polish too frequently
posted on Sunday, January 04, 2009 8:34:27 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 Friday, November 14, 2008

posted on Friday, November 14, 2008 8:04:24 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, November 09, 2008


posted on Sunday, November 09, 2008 8:30:10 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Friday, August 08, 2008
I found this great article about switch statements in c# (really any CLS language.)  I actually ran into an issue where I was getting a StackOverflowException as soon as I entered a method with about 1600 string-based case statements (it's a generated method).  It looks like I was bumping my head the local variables limit in .Net 1.1.  I changed the switch to a faster offset-based switch using a centralized Hashtable lookup to bypass the issue.

Actually, I found the problem using Reflector and examining the MSIL first.  Then I thought it wise to fully understand how switch statements are converted into MSIL by the compiler.

posted on Friday, August 08, 2008 12:29:26 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
Well, as of August 1st I am officially an Oracle employee.  So far it's been quite an experience.  The huge corporation mentality is very different from the small to medium-sized businesses I've been with in the past.  There's a department for everything; things are very modularized.

I can't help but feel like "just a number," but I suppose that comes with the territory.  According to my org-chart, thought, I'm only five people away from Larry Ellison (in my Global Business Unit [GBU] anyway.)  So, yeah, I'm insignificant.

The benefits are great and everyone is extremely willing to help.  I suppose that's because everyone has very specific jobs and thus are paid to be helpful, but it's still nice.  Occasionally they come around and spay us with the "chocolate fire hose" which is essentially a high-pressure (~1500 psi) chocolate dispenser.  And apparently we all now poop rainbows.

Anyway, outside of being swallowed by the technology giant, everything else has, so far, remained the same.  The local office is as it was and business continues as normal.  There's been some restructuring of our processes to make them fit the Oracle model.  This is a good thing as our original model just wasn't scalable.  Once you have hundreds of clients from all over the globe, the landscape changes a little.

Speaking of which, it's weird having to actually concern myself with timezones.  I need to be care not to schedule a meeting at 9am in Japan, because that'll be like 2am here (actually I don't know the time difference, but you get the point.)

If you'll excuse me, the chocolate fire hose is about to come my way...

* The views represented in this post and in this blog do not represent the views of my employer and may not be based in reality.  I don't think Larry Ellison poops rainbows.

posted on Friday, August 08, 2008 12:19:55 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 Friday, May 16, 2008
For those of you who don't know:

http://news.yahoo.com/s/pcworld/20080514/tc_pcworld/145864

If you don't get the significance of the article, then you can ignore this post :)

posted on Friday, May 16, 2008 11:25:58 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 Wednesday, April 23, 2008
Ya know, in the internet era, SPAM is an unavoidable nuisance.  Sometimes, you just have to make the best of it.  Sometimes, sadly, I quite enjoy reading the messages that attempt to bypass baysian filtering by adding real sentences, though out of order and pulled from various sources.  I like to call these SPAM Haikus.

Here are a few examples.  I think I may post these on a regular basis.

Said the king

Said the king. 'truth rides abroad in shapeless on his way downstairs, hercule poirot was intercepted seyton, and i also am an have your parents been in a piece of butter, shaking it well together who had longed, in his early life, for the opportunity plantations of olive trees, planted by his troops, again. And now lets see which of us can touch if you marry odious people, i will have done with if only you'd all be quiet. At last, after some made no concealment of his business, it was possible the circumstance is related by him with a force blow to richard. It took him some months to rally but now they had ridden back into the brush and maudie making appointment trocadero following is for pedro lopez, the king of them all, that.
See my tiny
SEE MY TINY,,SEE MY TINY,. we are doing it and I am talking to you,living together our love was very strong.,we are doing it and I am talking to you.
Scarlet Head Follows
Scarlet head follows, shouting that he must go is vorbei. it ain't no use crying over sour milk, into a semidazed state gradually descends to low blue shades, almost losing itself in the sky. Thus far preserved us. He will still find the wall at the foot of the hill a row of niches can is also a persian postal service of some sort, and skirting large pools of water, crossed a tiny the rural guard seized him by the collar. Monsieur if it can go forty we are safe enough, replied there were times, she had to admit as the years effect. I couldnt have played the hand better spends his torpid existence in a perpetual state of africa. To the editor of the journal of trade, volcanic blocks, similar to those we had found.

Sexual Assitance
You do not have to consult their doctor to get the sexual assistance that you need.
Not so much a Haiku as it is good advice
posted on Wednesday, April 23, 2008 7:54:16 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Wednesday, March 26, 2008
At work I am one of the ~4 code reviewers on the team.  In this position, I come across code that makes me scratch my head from time to time.  For one reason or another a developer chooses interesting logic (I've done it plenty of times too, I still do; nobody's perfect.)

Today, I came across this in a custom UserControl:
public override Visible {
   get { return base.Visible; }
   set { base.Visible = value; }
}
This is such an illustration of a fundamental lack of understanding that it's almost elegant.  In this case, it was probably due to a very tight schedule and happened to get overlooked.

If you can't spot the WTF, and you're a developer, you should get yourself one of those "Learn to Program in 21 Days" books.  You'll also want to consider crying yourself to sleep.

posted on Wednesday, March 26, 2008 7:39:22 PM (Eastern Standard Time, UTC-05:00)  #    Comments [3]
If you use remote desktop / terminal services, you're hopefully aware that you can share your clipboard between the local and remote hosts. Sometimes, however, it will just stop working (yay!)  I use remote desktop fairly extensively so this can pose a serious problem.  I've found that if you kill the rdpclip.exe process and rerun it (Start->Run->rdpclip.exe should do it) it will start working again.

I've had lots of success with that trick and not many people know about it;  I guess there aren't too many heavy remote desktop users out there.

On a related note, my machine completely lost all clipboard functionality today.  It was awesomely frustrating.  I especially like when I was able to cut and copy but still not paste.  That was soooo awesome.

Surprisingly, I am using XP and not Vista, so it's a bit mysterious.  It actually took a reboot to fix it.  WTF?

(as for the title of the post, please see http://icanhascheezburger.com/)

posted on Wednesday, March 26, 2008 7:30:34 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]