Archive for the ‘Sarcasm’ Category

B&B++: bed and breakfast for programmers

Tuesday, July 20th, 2010

1. Collect background

This is the latest in my steal-my-idea-but-give-me-free-stuff-after-you-do series, with slightly more earning potential than my last installment, "Strike a Cord".

I recently spoke to some Mozillians who had participated in a "code retreat" — I’d only heard tale of such a thing in lore and folk song, but it seems like a brilliant concept.

The idea is this: a small think tank (of one or more persons) requires a large amount of code throughput on a task which requires a high degree of focus. To facilitate that, they run far from the middling issues of civilized society and deep into the wilderness [*] to code "butt-necked in harmony with Eywa". [†] Through single-minded concentration and a dearth of non-maskable interrupts, they emerge victorious. [‡]

2. ?

Follow these simple steps to steal my idea:

  1. Assume that the aforementioned code retreat process is awesome.
  2. Make a bed-and-breakfast in the outskirts of a city that’s attractive to programmers (for whatever reason).
  3. Offer retreats with high-speed internet access, offices with whiteboards, mirra chairs, height-adjustable desks, pay-as-you-go phone conference equipment, high-res DLP projectors, disco balls, whatever. Make it clearly "the works". If you want to go even further, mount speakers and sound-proof the walls. [§]
  4. Make the experience as luxurious and classy as reasonably possible so that the programmers respect the "sanctity" of the retreat: chef-prepared meals, an indisputably good coffee machine, a Z80 prominently featured as a piece of wall art, and a complimentary bag-o-munchy-chips regimen. Beautiful scenery in which one can walk and think would definitely be a plus, and proximity to a nerd-friendly bar never hurt a nerdy establishment either.

The patrons have a good degree of flexibility as a result of this setup. They might hole themselves away in offices 95% of the time, emerging only to sleep, gather delicious food, and scuttle back into their offices. Alternatively, if they’re on a more casual endeavor (coding vacation?), they might choose to strike up conversations with people at meals and go out to see the sites.

3. Profit!

Please do steal my idea and make a lot of money for yourself (share it with no one!) — I only ask that you offer me a free stay once you get off the ground.

I’ll leave you off with a little marketing campaign idea:

B&B++: universally evaluated as the way to B, and, after each bed and breakfast, we get a little bit better. Until we overflow. [¶]

Footnotes

[*] Or a hotel.
[†] Sadly, I can’t take credit for this phrase.
[‡] Readers familiar with XP may draw a parallel to the practice of Kanban, which has a fascinating backstory, and acknowledges the awesome power of JIT.
[§] For the mercy of those who dislike techno.
[¶] Hey, I’m giving this advice away for free, you can’t expect it to all be good. No company ever survived giving their excellent primary product away for free. [#]
[#] Ugh, too much meta-humor. If you’ve read and understood up to this point, I apologize.

Code ☃ Unicode

Thursday, April 1st, 2010

Let’s come to terms: angle brackets and forward slashes are overloaded. Between relational operators, templates, bitwise shift operators, XML tags, (HTML/squiggly brace language) comments, division, regular expressions, and path separators, what don’t they do?

I think it’s clear to everyone that XML is the best and most human readable markup format ever conceived (for all data serialization and database backing store applications without exception), so it’s time for all that crufty old junk from yesteryear to learn its place. Widely adopted web standards (such as Binary XML and E4X) and well specified information exchange protocols (such as SOAP) speak for themselves through the synergy they’ve utilized in enterprise compute environments.

The results of a confidential survey I conducted conclusively demonstrate beyond any possibility of refutation that you type more angle brackets in an average markup document than you will type angle-bracket relational operators for the next ten years.

In conclusion, your life expectancy decreases as you continue to use the less-than operator and forward slash instead of accepting XML into your heart as a first-class syntax. I understand that some may not enjoy life or the pursuit of happiness and that they will continue to use deprecated syntaxes. To each their own.

I have contributed a JavaScript parser patch to rectify the situation: the ☃ operator is a heart-warming replacement for the (now XML-exclusive) pointy-on-the-left angle bracket and the commonly seen tilde diaeresis ⍨ replaces slash for delimiting regular expressions. I am confident this patch will achieve swift adoption, as it decreases the context sensitivity of the JavaScript parser, which is a clear and direct benefit for browser end users.

The (intolerably whitespace-sensitive) Python programming language nearly came to a similar conclusion to use unicode more pervasively, while simultaneously making it a real programming language by way of the use of types, but did not have enough garments to see it through.

Another interesting benefit: because JavaScript files may be UTF-16 encoded, this increases the utilization of bytes in the source text by filling the upper octets with non-zero values. This, in the aggregate, will increase the meaningful bandwidth utilization of the Internet as a whole.

Of course, I’d also recommend that C++ solve its nested template delimiter issue with ☃ and ☼ to close instead of increasing the context-sensitivity of the parser. [*] It clearly follows the logical flow of start/end delimiting.

As soon as Emoji are accepted as proper unicode code points, I will revise my recommendation to suggest using the standard poo emoticon for a template start delimiter, because increased giggling is demonstrated to reduce the likelihood of head-and-wall involved injuries during C++ compilation, second only to regular use of head protection while programming.

Footnotes

[*] Which provides a direct detriment to the end user — optimizing compilers spend most of their time in the parser.

On the less infamous perils of biking to work

Friday, March 13th, 2009

Anybody can be hit by a motor vehicle when riding a bike, but it takes real talent to be discriminated against by someone whose political philosophy is grounded in the 1940s.

According to recent (and obscure) Gallup polls, most Americans believe that discrimination against bike riders is a thing of the past. I have first-hand evidence that they are tragically mistaken.

As few as two days ago I was a victim of drive-by Neo-McCarythism. While biking across an intersection, dressed all in green, with no emblems of Che Guevara to be found, a man in a blue, 1990 POS yelled out a single word — “Communist!”

His car screeched down the off-ramp, insofar as a crappy little car can do so. Ever the optimist, I first thought that the man might be giving me a friendly warning. I checked behind me to see if there was a communist attempting to common-ownership-ify my wallet, but there was no-one to be found! At that moment, I was struck with the realization…

Maybe it was psychological. Maybe it was the reclaimed waste water. All I know is that, somehow, I felt unclean. I was being called a communist, because I was biking to work. At that moment I could only take solace in the fact that, due to the extreme crapitude of his car, the accuser must be a really bad capitalist.

Although I don’t personally associate the act of pedaling one’s legs with a desire to overthrow the bourgeoisie, I can take a guess at the twisted reasoning that leads some people to do so. Bikers don’t buy leg-gas. In the extreme case, where you bike everywhere, you don’t even need a car. You know who else didn’t have cars? Communists.

In any case, the modern-age bike-rider should be aware of the political sentiments surrounding biking, lest history repeat itself.

The List

Reclaimed bile juices

Thursday, October 9th, 2008

Dear property owners of Santa Clara,

As much as I appreciate your movement to nurture the sidewalks during their critical summer-growth phase, I do not appreciate being sprayed with reclaimed wastewater every day on the way home from work. Being a bicyclist, I will choose being hit with poo-water over being hit by cars, but I will not like it. I will also be forced to curse your name and everything you stand for. [For example, in the following story.]

Legend has it that Axmark was taking a walk around Sun’s beautiful campus one evening, contemplating acceptance of Sun’s fascist policies, as an impact sprinkler‘s arm fatefully slammed against its nozzle. Axmark was quickly doused in processed toilet liquids, and came to realize that he didn’t have to take that kind of shit.

With terrible puns,

Chris’ Raging Bile Duct

World-readable plaintext passwords and toddler murder

Monday, June 16th, 2008

What do world readable plaintext passwords and toddler murder have in common? They’re both easy.

Oh, right… not to mention they’re both bad! I, for one, have accepted our not-evil corporate overlords and have been using GMail since my full-time-student unbecoming. As a result, I was looking at the GMail notifiers available in the Ubuntu repository.

One, called cgmail, was written in Python and had a fairly beautiful codebase. cgmail tied nicely into gconf and had everything going for it. I totally would be using it if it didn’t crash ten times during five minutes of configuration. [0]

Another, called gmail-notify, worked perfectly. The source looked like it was written by a Java programmer (you know, making a “main” method for classes and such) who didn’t believe in refactoring or PEP8, which made me a little sad. What made me really sad was finding that it stored my password in plaintext in a word readable file, and I had never gotten any warning.

This is a bug on the part of two parties: the MOTU who maintains this package (I’ll be submitting a bug report) and the creator of the program. The Gentoo wiki has a page on the ability to install via portage, from which I quote:

elog “Warning: if you check the ‘save username and password’ option”
elog “your password will be stored in plaintext in ~/.notifier.conf”
elog “with world-readable permissions. If this concerns you, do not”
elog “check the ‘save username and password’ option.”

Ideally this would read: “There is no ‘save username and password’ option.” Just to recap some things:

  1. Do design your program to allow for plugins that tie into keyring managers,
  2. Don’t knowingly put some of my most sensitive data where any user on the system can read it, and
  3. Don’t, for God’s sake, let me install a program that does this without telling me!

I don’t mind that Pidgin stores my password in plaintext because it’s an Instant Messaging client and it’s as careful as possible to use file permissions as protection. gmail-notify used my default umask, which is clearly not good enough, to protect perhaps the most personal data that I have.

You know who you should really feel sorry for, though? Linux-using toddlers.

Footnotes

[0] I’ll probably end up contributing to this project.