Sunday, March 27, 2011

What your programming language says about you

There was a big internet brouhaha over .net programmers this week, kicked off by this article at expensify. Since he insults .net programmers, I thought I'd make sure the rest of us were not left out.

C - C programmers are nerds, the real deal nerds. Pasty faced, pimply, girlfriend-less, pocket-protector wearing, open-source, stay at home and code nerds. They also create the operating system and compilers all other programmers rely on, and look down upon the rest of us with appropriate scorn.

C# - C# programmers are corporate drones. They are part of a vicious circle - corporates hire C# programmers because they can, and people become C# programmers to get hired by corporates. C# programmers are bored, have boring jobs, drive boring cars, churn out boring programs and pay boring rent.

Java - Java programmers are the couch potatoes of programming. They remain behind closed doors, lounging on fancy desk sofas, eating potato chips and creating bloated, monster programs that are larger than Zeppelins which have eaten too many potato chips. Big companies need them for their heavy lifting, so they provide them the big iron they desire and more potato chips.

C++ - C++ programmers are mad professors. They wear those ugly jackets with the leather elbow patches, speak in multidimensional math, and are the only ones who can look down on C programmers. They create the simulations that run on thousands of cores to calculate weather patterns and determine the weather outside, while the rest of us just look out the window.

Objective-C - Objective-C programmers are nerds with style. They dress well, focus on design, user experience and ease of use, but deep down, they are still C programmers. Anal, pixel aligning, minimalist, black turtleneck wearing C nerds, with a life. Objective-C programmers use the ugliest language to make beautiful things that just work.

Ruby - Ruby programmers are Japanese zen masters of convention and consistency. They wear the same boiler-suits, eat the same food, and work to the same routine. In doing so, they create supermassive applications with 3 lines of code, then spend the next 5 years struggling to keep it running.

Python - Python programmers are our sociopath, axe murderer and artist programmers. They have serially killed off blocks, line endings and readability, relying on negative space as if it were a real thing. They take data and systems apart and glue them back together in new and interesting ways.

PHP - PHP programmers are our streetwalker programmers. They hang out in public spaces, showing off their wares and changing often. They ride the freight railways of the net, delivering blogs and content to a starving clientele.

Javascript - Javascript programmers are the new robot masters. They take a static web page mannequin and make its arms and legs move and flail about, but the face remains creepily still. We can all hope that they have not yet created Skynet.

Delphi - Turbo Pascal programmers are the hippies amongst us. They still live in the 60's, drive old VW beetles and have long hair. They think Windows 3.1 is still an adequate operating system and C is this cute newfangled programming child. Get off my lawn!

Perl - Perl programmers are either idiot savants or just plain idiots. Their code is unreadable, they speak to trees and furniture in voices, and are too lazy to explain it to the rest of us, even to C programmers. Yet somehow their gibberish programs hold it all together.

Visual Basic - VB programmers are the wannabees. They wannabee programmers, they wannabee cool, they wannabee treated with respect, they wannabee C programmers. Their only way in to the cool crowd is to learn a real programming language, but that's too hard. They make extremely complicated excel worksheets even more complicated.

hiltmon = {'Objective-C', 'C#', 'Ruby', 'Perl', 'Javascript', 'C++', 'PHP', 'C'};

If your programming language is not one of the above, you feel left out and feel you have not been properly insulted, post a comment. But ask yourself this - why are you not a C/C#/Java/Objective-C/Ruby/Python/PHP/Javascript/Delphi/Perl or VB programmer and therefore already properly insulted?


Thursday, March 24, 2011

My first OS X Experience

With Apple's OS X turning 10 today, I though I'd share to my first experiences with it.

For me, it was back in 2002. I was living and working in Tokyo, Japan, creating interactive Web applications. I had an old Dell laptop that I'd used for about 5 years and it was on its last legs. Every few months or so, I'd reformat the hard disk on it, install some random distribution of linux on it, try to get some work done, get mad, and restore my old Windows 2000. I wanted off Windows, I wanted in on this cool Open Source caper, I wanted back to my happy place in UNIX, the OS I grew up with. But no matter how bad Windows 2000 was, the UNIX variants at the time were worse. I just could not be productive. And I could not work with the corporate file formats my company used.

We'd invited a quant in one day to show us some C++ code he had written under contract for us. He brought in a Titanium Powerbook to show us his work. There was much 'oohing' and 'aahing' at the laptop itself, but it was nothing that compared to what happened next. I knew all about OS 9, having used Macintoshes in the 90's, and expected to see OS 9's classic look when he booted up the screen.

Instead, after the obligatory awesome chime, up came this beautiful, shiny, bright interface. Jaws dropped, silence ensued, the dock popped up, and we marveled at the bright icons, clean lines and smooth fonts. Work stopped. A crowd formed. Questions were asked and answered. My first impression was that they had taken OS 9 and made it pretty. It was better than that.

I dispersed the crowd, and asked him to show me his work. And he did the most astounding thing. He opened a bash shell window and started typing in UNIX commands. UNIX! Yes, real UNIX. I was verklempt. This was the operating system I was hoping Linux would be. UNIX, with an easy to use UI. And it had Excel on it.  Real Excel.  I was sold.

That weekend, I went to Akihabara, spent 2 hours tracking down the top of the range Titanium Powerbook (1Ghz, 1GB RAM), and bought it. It had a weird Japanese keyboard, so they sold me a US keyboard replacement part. I went home, peeled the old keyboard off, installed the new keyboard, and first booted to OS X 10.1.

I never used the Dell after that. I still have that PowerBook, and it still works.

I have been an OS X user ever since.

Tuesday, March 22, 2011

Say what you mean

"Great is the power of steady misrepresentation." Charles Darwin

"More bars in more places" AT&T

What they want you to think: You get better service in more places.

What you think they mean: You get better service in more places.

Reality check: The bars on a phone are not a measure of signal strength, its a measure of signal-to-noise ratio. A crappy signal with low noise gives more bars. Oh, and AT&T forced Apple to change the bars calculation (proving its bullshit), see the WSJ on it. So more bars in more places means that the algorithm to calculate the bars gives more bars, you still get crappy service, dropped calls and slow data.

"Own it today!" Blu-Ray

What they want you to think: You own the movie and do what you like with it.

What you think they mean: You own the movie and do what you like with it.

Reality check: You license the right to watch the movie subject to all and any restrictions they have placed on it, including forcing you to watch the piracy bit, all ads and previews, and preventing you from copying it to other devices for more convenient viewing. So own it on blu-ray means you own a piece of useless plastic, the content belongs to them.

"You’re in good hands with Allstate" Allstate

What they want you to think: If you insure with us, we'll pay when things go bad.

What you think they mean: If you insure with us, we'll pay when things go bad.

Reality Check: "For example, Allstate's CCPR manual says claims adjusters should strive to settle as many cases within the company's historical base range — the 10th percentile of all payouts. In other words, Allstate encourages its adjusters to settle as many claims as possible for no higher than what the company historically paid out on the lowest 10 percent of its claims." See here. And this "In July 2008, the American Association for Justice ranked Allstate No. 1 among nation's worst insurers. This ranking was given because: “While Allstate publicly touts its ‘good hands’ approach, it has instead privately instructed its agents to employ a ‘boxing gloves’ strategy against its policyholders,” said American Association for Justice CEO Jon Haber. “Allstate ducks, bobs and weaves to avoid paying claims to increase its profits.”[12]" from Wikipedia, yes Wikipedia!

"Higher standards" Bank of America

What they want you to think: We're a great bank.

What you think they mean: They are a great bank.

Reality Check: Higher fees. Oh and we'll stop you for performing legitimate transactions, see here.

"Fosters?Australian for beer." Fosters Australian Beer

What they want you to think: Its a great beer because Aussies who know great beer drink it.

What you think they mean: Its a great beer because Aussies who know great beer drink it.

Reality Check: Fosters Australian Beer is a British beer, made in Canada for the US market. Foster's Lager is an Aussie beer, available only in - wait for it - Australia!.

"Fair and Balanced" Fox News

What they want you to think: They provide factual unbiased news reporting.

What you think they mean: They provide factual unbiased news reporting.

Reality Check: They are biased as hell, and admit to it, see Slate. See also the wikipedia page. Its a 24 hour channel, with news on only between 9AM and 4PM, then 6PM - 8PM, only 9 hours of news out of the 24 hours available.

"Eat Fresh" Subway

What they want you to think: Eat at subway to get fresh food that is healthy for you.

What you think they mean: Eat at subway to get fresh food that is healthy for you.

Reality Check: They make the sandwich on baked bread in front of you, using old ingredients, processed meats and cheeses and curdled dressings, with huge calorie counts, sodium levels and cholesterol. But the bread is reasonably fresh.


"Made from the best stuff on Earth." Snapple

What they want you to think: Its made from fresh ingredients so it must be healthy.

What you think they mean: Its made from fresh ingredients so it must be healthy.

Reality Check: So you still have teeth left after drinking all that sugar, coloring and preservatives (Ok, I'll admit they use the best sugar, coloring and preservatives.)

"We know money" AIG



Enough said.