People Hacking Again
Today I was introduced to an area of Montreal that actually has streets with special bus lanes. This is actually funny for Montreal, which has great public transit (including a subway we call the Metro, as all good Franglish speakers will do) but such generally bad road systems - I personally suspect they are deliberately bad to discourage automobile traffic - that buses tend to move rather slowly.
These bus lanes are in the usual North American style, in which they paint little diamonds on the pavement and you're not supposed to drive your car there during peak hours. But there are two minor surprises involved. First, the lanes are the two center ones (one in each direction) instead of the outside ones. Second, and this is the fun part, in order to discourage people from driving their cars in them during peak hours, the bus lane on your side of the street is going the opposite direction from your car. That is, the left lane goes forwards, and the right lane goes backwards, if you see what I mean.
Aha. You see what I mean by "deliberately bad." It's obviously a great way to keep drivers out of the bus lanes - in that they're going to have a head-on collision with a bus if they drive there. But on the other hand, well... this scheme has actually been put out of service recently, "due to too many accidents."
There's a twist: the accidents were actually not cars having head-on collisions with buses. They were pedestrians getting run over by buses, because they would only look one way, run towards the median, and then get hit by a bus coming from the wrong direction.
Why am I telling you this story? Well, because it just struck me that there was a completely obvious reason that this scheme shouldn't have worked, and that problem didn't happen. Drivers just spend too much time staring in front of them to not notice an oncoming bus on the rare occasions where they're driving in the bus lane illegally. Instead, the scheme was doomed for a reason we didn't expect, just like a perfectly valid-sounding scheme could have been. So the moral is: don't judge a book by its cover? Theory vs. practice? Don't be afraid to try new things, because they'll fail anyway? I don't know, you tell me.
Supposed USB GPL Violations
In other news, hub mentioned someone accusing Silicon Labs of "blatantly" violating the GPL by writing a binary-only Linux USB driver. The theory goes that to do this, you "obviously must have" included the Linux USB header files, which are GPLed, and are therefore creating a derived work.
But actually, this is not necessarily such a "blatant" license violation. There are special copyright exceptions for things that "could only be useful if written in a particular way". For example, most legalese cannot be copyrighted, because there is theoretically only a limited set of ways that you could use to objectively say what you need to say about a particular legal problem.
It has been argued that the same could apply to C header files, because if you want to talk to the Linux USB layer - a perfectly legal thing to want to do, unless someone wrote a DMCA-enabled license stopping you from doing so (and that surely wouldn't be GPL compliant!), you have to use the structs and code defined in that header. You could reverse-engineer the interface, but some people would say you don't have to. Similarly, to write any Linux driver you pretty much end up including at least some of its headers. This has always been declared okay up to now - at least, I'm pretty sure Linus has said so explicitly.
(This all doesn't apply to "normal" code. There are lots of ways to write a program that does something. There may be only one sensible way, in C, to talk to another particular program. Remember those people who compare "interfaces" to "contracts"?)
What's the legal standing of all this? Beats me, the GPL has never been tested in court.
By the way, IANAL, YMMV, and so on. Please don't sue me.
Only Almost Crazy
I spent this week on bare inside edge of "completely out of control", jumping from project to project and person to person giving advice that, luckily, appears to have been correct more than 75% of the time. "Isn't your problem just that?" "Oh, of course!" "Could we do it this way instead and do almost no work?" "Oh, right!"
I have a feeling that most of these things just needed someone with a different perspective to look at them - and because I was constantly coming at one project after looking at a totally different one five minutes earlier, I was guaranteed to have a different view of things than the person who was stuck. It's convenient - you can look smart without having to actually be smart all the time.
Since all the due dates appear to have turned out to be Monday morning, I guess I'll find out then just how smart I am. :)
It's not exactly as if I had nothing better to do, but I was eating while browsing the web last night and randomly clicked on the (yet another statistically invalid) personality test that drheld had linked to. Now, this is perhaps the most statistically invalid psychology experiment I've ever seen, but I won't harp on that.
This test is called the "Rogers Indicator of Multiple Intelligences", ie. a mushified IQ test that everyone can feel good about taking, because you can't fail. And if you do, it's okay: the questions do nothing to test statistical validity of the answers, so just lie! Oops, sorry, I'll stop harping.
Anyway, drheld said he, "not surprisingly", ended up being in the "Logical/Mathematical" category. That sounded sensible to me, so off I went to discover that my fate was identical. Lo and behold, I was wrong: in fact, Logical/Mathematical was third, trailing "Verbal/Linguistic" and "Intrapersonal" (not "Interpersonal", that's another category) by a pretty wide margin.
In other words, I'm a communicator. An introvert communicator. Just shoot me.