Showing posts with label humor. Show all posts
Showing posts with label humor. Show all posts

Monday, June 22, 2009

Eli's Dirty Jokes

The, Eli's Dirty Jokes, videos on YouTube are absolutely hilarious.

Monday, February 04, 2008

Finished Reading: The End Of The Alphabet

I contracted the flu/cold during the Christmas holiday and it lasted at least three weeks. And though I'm not a big fan of Christmas [consumerism] it felt ruined. I know what you are thinking but you are wrong. It had absolutely nothing to do with the fact that Santa dissed me again. We've had beef since I was twelve so getting dissed was expected. What I didn't expect, was that his punk ass would try to assassinate me with the flu.

I'M STILL STANDING BITCH!

There will be next year and this time I'll be ready for his punk ass.

BTW, New Years sucked too.

I'm still kinda sick. I have this lingering cough and sometimes I go into these coughing fits that leave me breathless and light headed. My doctor just (Thursday) put me on some killer antibiotics (Avelox) and I need to go get a chest x-ray to see if I have pneumonia. Who knows, maybe Santa will have the last laugh yet.

So for the last three weeks I've been trying to catch up on the work that I didn't do while I was sick, and I've spent the last week and a half working 18+ hour days. The code I worked on was an addendum to an existing system in some places and a bug fix release in others. After four weeks of delays it went live on Friday. Yeah! But what I'm proudest of is during all the chaos I managed to read an entire novel, The End Of The Alphabet, by CS Richardson. How, you say? It's only 113 pages. That's right. He squeezed an entire novel into 113 pages and it took me three whole weeks to read it.

It's a love story, so if you are into that sort of thing, you may enjoy it. Be warned, it's not the, "dude crosses dessert and slays dragon", type of love story. It's simple, efficient, and satisfying. Given that it was a mere 113 pages, I was surprised I found it satisfying. Kudos Mr. Richardson.

My rating for this one is, sweet (sensitive meaning of the word).

Thursday, January 24, 2008

My New Favorite Method

Some days I manage to really amuse myself with my work. Today I've added some flare to a method that may otherwise be really boring. So let me introduce you to my new favorite method:

  /** 
     * Flattens the sub directories of <tt>roots</tt> into a single array. 
     * 
     * @param roots The root directories. 
     * 
     * @return The [sorted] subdirectories of <tt>roots</tt>. 
     */ 
    private static File[] merge(File ... roots) 
    { 
        int x = 0; 
        int k = 0; 
        File[][] forest = new File[roots.length][]; 
        for (File sapling : roots) 
        { 
            File[] tree = sapling.listFiles(); 
            if (null != tree) 
            { 
                int leaves = tree.length; 
                if (leaves > 0) 
                { 
                    forest[x++] = tree; 
                    k += leaves; 
                } 
            } 
        } 
        File[] woods = new File[k]; 
        for (k = 0; --x >= 0;) 
        { 
            File[] tree = forest[x]; 
            int leaves = tree.length; 
            System.arraycopy(tree, 0, woods, k, leaves); 
            k += leaves; 
        } 
        Arrays.sort(woods, chipper); 
        return woods; 
    }

It cracks me up sometimes that I get paid to have this much fun.

Thursday, November 08, 2007

QOTD, 8 Nov 2007

As the amount of RAM installed in systems grows, it would seem that memory pressure should reduce, but, much like salaries or hard disk space, usage grows to fill (or overflow) the available capacity.

----Jake Edge November 7, 2007

Google, I'm Still in Love

God I love Google!

I've been trying to get to the Gentoo wiki since last night. But the forces that be have conspired against me. The evil Internet gremlins doth deny me [and everybody else, for that matter] access. 'Tis hopeless it seems. Or, it would have been hopeless if not for Google. I just searched for "gentoo wiki paludis", and Google has the Gentoo wiki page cached. Friggin' brilliant. Now I know this feature has been around forever but I just wanted to remind you that Google popularized it. If Google hadn't come along and shook up search, down to it's core, I would remain at the mercy of the evil gremlins.

Saturday, October 20, 2007

7 Reasons Every Programmer Should Love Multi-Core

  1. The technology is not new it's old. It's just really cheap SMP and the SMP domain (shared memory model) is a well understood domain. So there are tons of resources (books, white papers, essays, blogs, etc) available to get you up to speed.

  2. Shared memory concurrency is challenging. It's guaranteed to grow your brain.

  3. Most programming languages [already] have language and/or API level support (threads) for multi-core, so you can get started right now.

  4. There are a plethora of computing domains that benefit from increased parallelism. The following are just a few off the top of my head: GUI applications, client/server, p2p, games, search, simulations, AI. In other words, there won't be a shortage of interesting work to do in this space.

  5. Most programmers [and their managers] don't have a clue about concurrency so you can easily impress them with your skills/CNM (Concurrency Ninja Moves).

  6. The majority of today's programs aren't written with multi-core in mind so mastering concurrency programming means you won't be out of a job any time soon. Somebody has to write the multi-core aware version of all those apps.

  7. Since most programmers are clueless about concurrency, mastering it means you'll be smarter that millions of people. Being smarter than your [so called] peers is really satisfying.

Friday, October 19, 2007

Saved By Chappelle

The last three weeks have been a hell. If it could go wrong it went wrong. It started with the death of my workstation followed quickly by a fender bender. But I'm not going to dwell too much on the fender bender because I got off easy. The short version is, the moron that ran into me didn't get beaten to a pulp, thus I'm not writing this from a prison cell (thank you Dave Chappelle). My car [miraculously] only sustained minor scratches to the rear bumper (you should have seen the other guy), which I'm not going to fix it because it means repainting the bumper, which would make my car visually lopsided. That happened with my very first car [89 Honda CRX Civic]. The insurance company wouldn't pay for the whole thing to be painted and I didn't have the money to do it out of pocket. So the passenger side door and front panel was a different shade of yellow than the rest of the car. It drove me crazy. My current car is a '06 Ford Mustang GT, black. I [still] plan on tricking it out so the rear bumper was going to go anyway. So it's pointless to paint the bumper now and suffer unnecessarily.

What really pissed me off about the accident was, (a) it was completely avoidable (I have no idea why people think a yellow light means "speed up") and (b) the car just celebrated it's first birthday. The thing that kept me from losing it was the, "When Keeping it Real Goes Wrong", skits from the Chappelle Show. First there was contact; then there was blinding rage; then out of nowhere, Dave Chappelle. Weird! Network TV should run them as public service announcements. I think it would benefit Type A personalities.

Saturday, September 15, 2007

The Missing Minute

Sometime earlier today
A minute of mine went away
So I thought about main
But that thought was in vain
The minute was hiding okay?

I opened the profiler quick
And attach to the app in a nick
I collected a sample
It wasn't quite ample
The minute continued to tick.

I decided to give it a rest
In order to give it my best
I went for a drive
And in about five
My mind was finally unstressed.

But on the way home I found it
The place where the minute was grounded
It was caught in a latch
With a timer dispatch
But no signal handler around it.

Let this be a lesson to all
When debugging processes stall
Take a step back and maybe a nap
And the bug is likely to fall.

Friday, February 25, 2005

Why java.util.concurrent Kicks Ass and Takes Names

There are many things that JDK 1.5 [or Java 2 version 5 or Java 5 or Java 2 version 1.5 the entire marketing department should be the ones fired in the lastest round of layoffs from Sun because of their malicious and spiteful attempt to confuse the general public with f*cked up product names Edition] got horribly wrong, (generics, static imports, etc) but there are a few things that they got really right and I'm going to spend some time talking about some of my favorites and why it's important to my fellow bean slinger.

Besides fixing the broken memory model, which laid the ground work for some of the stuff we'll be taking about, the bumbling morons at Sun (I'm still bitter about WebServices, EJBs, and Corba to name a few) finally added something to Java I completely agree with and is worth its weight in Internet porn. This my friends is the java.util.concurrent package. Some of my new favorite things about Java are located in this package and its children. But before I get into the nitty gritty let me paint the big picture for you. So bear with me as we take a journey through my warped view of time and space and the events therein.

One of the coolest and more useful features of the Java language has been the simplicity with which Java allows its masters to write multithreaded applications. Until recently it's been damn hard to write kick ass multithreaded applications for everyday use for [at least] two reasons. This is not to say there are no kick ass multithreaded apps out there. Truth is, just about every Java application is multithreaded out of the box but [the bigger point I'm trying to make is] they are ham stringed by single processor deployments (reason #1). Which means, you can launch all the threads you want but if you have only one processor to execute them on you are not going to get too far over a single threaded application. As a matter of fact, you are probably going to make things worse. The other problem is, writing great performing multithreaded applications is just damn hard (reason #2). This problem isn't specific to Java but Java never made it any easier and in some ways made it worse. This is because of the lack of synchronization primitives that Java exposed/provided and the ones that it did (synchronized, volatile) had some serious problems, especially for the uninitiated. Finally, it's just plain old damn hard to write great performing, deadlock free, starvation free, race condition free, multithread applications (reason #2 prime). Unless of course, your application is grossly parallel by nature, which very few applications are. So what has changed and what is changing that has brought me out of my shell to evangelize Java 1.5? Let's start with what is changing.

Multi-core CPUs are coming to a desktop near you and it won't cost you both your arms, or your legs, or your first born. Think about how easy it is to buy a dual processor desktop/workstation today. Now imagine 6 months to a year from now buying that same dual processor workstation, but instead of 2 processors you really have 4. Are you excited yet!?! Do you see where I'm going with this!?! Huh? Huh? Huh? Imagine users plugging their ears because your Java application that used to crawl when running on a single processor system is now screaming like a banshee [with a plasma hot piece of metal shoved in places where the sun don't shine] on a 4 way processor system. Great! Now lets talk about what has changed.

Simultaneous multithreading processors are here now, actually they have been around a while (since 2002), it's just that now they are a lot more accessible. Intel's HyperThreading technology is the poster child for affordable simultaneous multithreading CPUs. IBM's Power series [especially Power 5] is pretty ass kicking and name talking too, it's just expensive as hell. With the Intel stuff you can go out and buy one right now without getting kicked out of your apartment cause you just spent the rent money or have your house foreclosed on unless, you are a college student, or just out of college, or still living with your mother, or recently divorced and she/he took everything, or just got fired and you need the money to buy a gun. What this all adds up to is the capability to write ass kicking, name taking, multithreaded applications today.

So now you are convinced, excited, and ready to cut code like a cook chopping onions for Carbonnade a la Flamande. As a matter of fact, there is a tear in your eye not from the onions but because you are so happy about the potential that lays before you. Well, I'm going to give you the opportunity to wipe your eye and blow your nose because I'm stopping here. We'll pick this up again later when I've got more free time, cause right now, to keep myself from being kicked out of my apartment and not get fired. I've got to get back to work.