(Powered (by (lisp)))
Loosely Typed in Ohio

Open Source I <3 iTextSharp

I’ve just started using iTextSharp, a .NET port of the Java iText library. It’s surprisingly good.

The library can create files or streams of PDF. I’m caching my output, so this example uses files:

        // create a document
        Document document = new Document();

        // associate it with a file
        String filepath = Request.MapPath("/Pdfs/test.pdf");
        FileStream file = new FileStream(filepath, FileMode.Create);
        PdfWriter.GetInstance(document, file);

        // write the pdf
        document.Open();
        document.Add(new Paragraph("OMG this thing works"));
        document.Close();

Culture Every Computer I’ve Owned Has Failed

David over at 37signals recently wrote that every Mac he’s ever owned has failed in some way. Shock! DHH admitting that Apple has a ridiculously high failure rate! This is it, this is when the entire tech community finally turns against Apple for it’s shoddy machines, right?

Wrong-o.

Macs fail a lot, yeah. But think for a minute and you’ll realize that almost every computer you’ve ever owned has failed somehow. Occasionally you’ll get the workhorse that won’t give up, the Bruce Lee of computers, but generally speaking, most fail.

Let’s definitely hold Apple’s feet to the fire for shipping units that fail, and especially so for shipping anything with a known defect. But let’s do the same to Dell, Toshiba, Compaq, and any of the other PC manufacturer’s whose products have failed on us over the years.

Software Stop Asking Now

I’m vocal about how PHP sucks. I make no bones about it, and try to hasten the company’s move to better languages. Occasionally I’m challenged on this. I submit for your approval the following code:

if (empty(trim($string)))

This will exert a Fatal Error every single time. With a horrible message: “Can’t use function return value in write context.”

WTF?

Sympathizers: I know what you’re about to say. empty() is a language construct that specifically looks at a variable. You just have to assign the trim() result back to a variable first for this to work. If you’d read the manual entry for empty() you’d know that!

Fuck that noise. I don’t care if it’s well documented. I don’t care that technically speaking the empty() construct can only check variables. It does not matter. This is shit behavior.

Sympathizers: grow some balls backbone. PHP sucks. It’s okay to admit it. Yeah, it has some redeeming value, else we wouldn’t be discussing it now. But you’re letting the PHP developers get away with murder here.

PHP Core Developers: Yes, the language you write powers a metric shit-ton of awesome businesses, Innvoa included. That doesn’t give you a free pass to do fucking idiotic things like this. Fix it!

Culture Twas a day and half before Christmas…

…when all through the office
Developers scurry to finish up projects.
Engineers work on servers with care
Fixing them on Christmas just wouldn’t be fair.

The database team takes care of our data
While Matt happily works on a project beta.
Dan isn’t here today, though probably working
His brain never stops, always he’s lurking.

When out of the engineering cave there arose such a wail
A project server RAID card detected drive fail.
In poured the office to see what’s the noise
Surly Jewish manager dismissed them with poise.

Get out of our cave and get back to work!
Shouted the sometimes grumpy Hebrew jerk.
A short time later, lunch did arrive
Into Schmidt’s food did everyone dive.

Full bellies have now brought us all down a tone
That’s good for Michelle because she’s on the phone.
Must get annoying how loud we sometimes are
Surprised she hasn’t run one of us down with her car.

Chip just left to visit a client
Probably fixing a BlackBerry, RIM’s devices can be so defiant!
Hope he’s back soon because he’s auditing our backups
Gotta make sure we’re never playing catch-up.

Mary’s around here somewhere, she takes such great care
Keeping after Innova can be quite an affair.
A good office manager is a wonderful thing
Unless you’re on her bad side, boy can that sting.

I have good news for Jon, he’s gonna go crazy
Apple finally shipped his dual-link DVI thing after five weeks, so lazy.
Bet he’ll be in my office in two minutes or less
As soon as I hit the “publish” button, he’s gonna come to my desk.

Chad’s on IM, doesn’t live here anymore
Moved to Oregon where there’s ducks galore.
Having a tex problem, now I gotta fix
Should wrap this up anyway, running out of sweet limericks.

I mentioned the Jew, the surly Hebrew
He is me, happy Chanukah to you.
Even though you’re all schmucks, I wish you this greeting
I love all you people, at least until our next meeting.

Culture boss fun part two, the path bar

apparently OSX does it natively too, just at the bottom:

(special thanks to cohort Kent)

Close
E-mail It
Socialized through Gregarious 42