If programming languages were exes


[ Please excuse this ridiculous flight of fancy. This post occurred to me yesterday while I was hypoxically working my way up Claremont on a bike. ]

An common game among the nerderati is to compare favorite computer languages, talking trash about your friends’ favorites. But what if programming languages were ex-girlfriend (or -boyfriends)?

Perl 5

Perhaps not the most handsome ex, but probably the most easy-going. Perl was up for anything and didn’t care much what you did as long as it was fun. Definitely got you in trouble a few times. Did not get jealous if you spent time with other languages. Heck, Perl even encouraged it as long as you could all play together. Perl was no priss, and taught you about things that you shouldn’t even describe in polite company. The biggest problem with Perl is that nobody approved, and in the end, you dumped Perl because everyone told you that you had to grow up and move on to a Nice, Serious Language. But you do wonder what might have been…

Perl 6

Never actually went on a date. Stood you up many times.


Trim and neat, Python really impressed you the first time you met. Python came with a lot of documentation, which was a breath of fresh air at first. However, the times when Python’s inflexibility proved annoying started to mount. After one PEP talk too many, you decided to move on. You still remember that one intimate moment when Python yelled out “you’re doing it wrong!” Relationship- ender. Mom was disappointed.


C++ seemed to have it all. It knew just about everything to know about programming. If you heard of some new idea, the odds were that C++ had heard of it before you and incorporated awhile back. You had many intellectual conversations about computer science with C++. Thing is, C++ seemed kind of rulesy, too, and it was hard to know what C++ really wanted from you. Most annoying, whenever you didn’t know what C++ wanted, it blamed you for not “getting” it. C++ also seemed to have a bit of a dark side. Sure, most of the time C++ could be elegant and structured, but more than once you came home to find C++ drunk and in bed with C doing some truly nasty things.


C is not an ex. C is your grumpy grandpa/ma who gives zero f@#ks what the kids are doing today. C is the kind of computer language that keeps a hot rod in the garage, but crashes it every time it takes it out. It’s a wonder C is still alive, given its passtime of lighting M-80’s while holding them between its fingers. Thing is, it’s actually pretty fun to hang out with C, someone who can tell good stories and get its hands dirty.


Looked a lot like Perl, just as promiscuous, but never said or did anything that made you think or laugh. Boring. Dumped.


The weird kid in high school that sat alone and didn’t seem to mind be ostracized. Everything Haskell ever said in class was interesting, if cryptic. There was something attractive about Haskell, but you could never put your finger on it. In the end, you couldn’t imagine a life as such an outsider, so you never even got Haskell’s phone number.


Wore a tie starting in elementary school, Excel was set on business school. Funny thing was that beneath that business exterior, Excel was a complete slob. Excel’s apartment was a pig sty. It was amazing anything ever worked at all. Pretty boring language in the end, though. Went on a few dates, but no chemistry.


Man, in the 90’s everybody was telling you to date Java. This was the language you could finally settle down with. Good thing your instincts told you to dodge that bullet, or you’d be spending your retirement years with a laggy gui for an internal app at a bank. Ick.


You were never that impressed with Javascript, but you have to admit its career has taken off better than yours has. Seems Javascript is everywhere now, a celebrity really. Javascript has even found work on servers. At least Javascript is not hanging out with that ugly barnacle, Jquery as much as it used to.


Sophisticated Congress Simulator

Few people know that I wrote a very sophisticated simulator to determine the output of the Congressional Select Committe on Benghazi. It’s always satisfying to see simulation results match the real world.

Here’s me running the program:

Here’s the source code, in case you want to expand on the idea.

Wedding != Marriage

I don’t know how this study (not paywalled — yay!) about the impact of expensive weddings on the lifespan of marriages missed my attention. This sort of thing is catnip for me.

What they find is that the more you spend on your wedding, the more likely your marriage is to end in divorce. Spending on an engagement ring is even worse. They claim spending $5,000 instead of $500 on a ring increases the risk of divorce 30%. Interestingly, a bigger wedding seems to be good for longevity of the marriage.

This kind of “drive-by” study, which was conducted using Mechanical Turk, a social science fad these days, always feels a bit dicey to me, even if it confirms my priors. The immediate problems that come to mind are that they can’t separate out the kind of person who would want a fancy wedding or to buy/receive an expensive ring, from the act of putting on such a wedding or getting such a ring. (Note: a follow-up study where they give couples randomly, $5000 cash or a $5000 engagement ring is in order.) They do control for income, but I dunno, even that seems half-hearted. People pay for weddings lots of ways: from borrowing, from savings, from mom and dad. I suspect that matters.

Finally, getting a bit normative here, can we just agree that engagement rings themselves are actually a really, really bad idea? It’s a holdover from another time. Are men and women equals? If so, let’s get rid of this tradition in which a man demonstrates his earning power by buying an utterly useless gift. If anything, engagements rings should be exchanged. My spouse let me off the hook on this one, and I’m glad for it, both because we could put the money to better use and because she understood that receiving a fancy ring would be incompatible with her principles. Also, she seems not into diamonds. Love that woman.

BTTF futurism

Futurists take note:

  • improvements in the ability to move matter were overestimated
  • improvements in the ability to process information were underestimated

This is the trap into which the writers of Back to the Future II fell; it’s what most futurists do.

Other rookie mistakes:

  • expected improvements human behavior and ethics
  • expected improvements in human governance
  • expected massive reversion in the above two items


The demand curve for octane

There should not be one.

The New York Times reports that when the price of gas drops people, in addition to buying more gas, also buy more premium gas.

Please, please do not do this.

It’s plain dumb.

A car engine needs a minimum octane rating to run smoothly. If the octane of the gas is too low for the level of compression in the engine, it may pre-detonate, ie, knock. The odds are high that your car was designed to run on 87. Anything higher will do nothing but empty your wallet.

That’s it. Adding premium is not going to make your car run any better, now or ever. (Unless it was designed for premium, in which case you own a sports car and your judgment is probably pretty bad to start.)


Silicon Valley v Hucksters

The recent WSJ article about how Theranos, a well-funded and highly valued blood testing startup, has certainly gotten the press whipped up. Everybody likes a scandal, I guess.

I have no idea if the allegations are true, but the situation reminds me of another company I’ve been following with curiosity: uBeam. This small company promises a technology whereby your cell phone can be charged wirelessly, by ultrasound. Like Theranos, it has a telegenic founder and solid funding from top-tier VC (including Andreesen Horowitz and Marissa Mayer).

Thing is, this company is making promises that I’m strongly inclined to bet against. What they’ve demonstrated so far is nothing like what there product needs to do to be useful. Though it is in theory possible to charge a phone by ultrasound, the physics make it seem rather impractical. It requires rather high sound levels and, to avoid massive inefficiency, very tight audio beam forming. It also needs to work through pants pockets, purses, etc, which is not easy for ultrasound. And of course, it needs to be safe around humans and animals. When asked for more information to support the concept, the CEO usually goes on the attack, making fun of people who didn’t think X: { flight, moon landing, electric cars} was possible. All of which makes me wonder about the geniuses in Silicon Valley who make these investments.  Every engineer I have spoken to about this company immediately smells BS, yet they’ve gotten top-flight capital.

Which makes me wonder. Are people like me too small-minded to appreciate grand ideas? Or is Silicon Valley easily duped? Or, is accepting a certain amount of fraud part of the business model?

Maybe they know most of these types of folks are hucksters, but for $10M a pop, it’s worth it to fund them on the off chance one changes the world.

I dunno.



Blanket Apology

Apparently the Pope made a vague apology the other day for unspecified transgressions, and the media world has reacted with a bit of raised eyebrow.

Not knowing the first thing of Catholic doctrine, I won’t opine, but it did make me think a bit about Judaism and how it views forgiveness and apology.

The basic story as I understand it is that if your offense is against a fellow person, you’re not in a position to make right with God until you have first made every effort to correct the offense and seek forgiveness from the person you wronged. The wronged person is also under an obligation to grant forgiveness after receiving an earnest apology and reasonable recompense. It is only after that process is complete that you’re all ready to move on.

It’s interesting, and one of the thoughtful bits of Judaism that I really admire.

Mockery as political tool?

I posted before about the futility of using firearm statistics to try to win over gun rights advocates to gun control. Different language, different priorities.

Right now there is something quite a bit different going on as UT Austin. Students are carrying around sex toys in protest to new rules that allow open carry of firearms on campus.

Though this criticism of gun culture works well on several levels, it also seems unlikely to win over gun rights advocates. Can it still be a useful tactic? It seems to depend on how it impacts people who are not passionate about guns either way. If teasing successfully marginalizes the rights folks, it can work, even if it further motivates them.

At least it is something new. Curious to see if this sort of thing catches on.

Security v. Convenience

I’ve had my credit card credentials stolen a few times. Each time it has been a mostly minor convenience but still unsettling.

As a result, I am happy to see the new chipped credit cards and the chip-reading scanners to go with them. I don’t know how difficult this system is to crack, but I have noticed one minor annoyance: the card must stay in the machine for the entire transaction. I imagine this is so that the cryptographic challenge and response can be brokered all the way back to the credit card clearing agency and not just locally on the reader device. This should improve security, since we don’t have to worry about shoving our cards in compromised devices.

There is a catch, though. In the old world, you scanned your card and could put it back in your wallet while the (typically very slow) interaction with the credit card company continued on in parallel. Now, your wallet needs to remain out until the transaction is complete.

It bugs me. I guess, it’s just a very minor way in which the modern world is not as good as what we had before, and a reminder why though everyone likes security, nobody likes security.

Zero Net ${bad_thing}

James Bushnell has a nice little piece on why economists do not get super enthused about “zero net energy” or whatever we’re zeroing today.

I tend to agree with him, but as usual with my interactions with economists, I’m a bit more angled to think of policy in a political context.

Yes, mathematically and logically, if you want to manage carbon or whatever, it is always better (or strictly speaking, never worse) to optimize over a larger system than a smaller system. That is, it is better to have a zero-net-energy neighborhood than a neighborhood of zero-net-energy homes, and it is better to have a zero-net-energy country than a bunch of zero-net-energy states.

But one needs to account of human behavior.

  1. All politics is local. You can affect smaller things and you can see the effect of smaller things. This does not work for climate change, but … that’s what’s so hard about climate change.
  2. Bushnell points out that “zero promotes a fiction of self-sufficiency,” but I think he actually has it exactly backwards. People, Americans in particular, have a love affair with the fiction of self-sufficiency and that can be used to sell anything, including net-zero policies.