We've bred wolves for 40,000 years to have social intelligence, which makes them better than chimps and cats at understanding us:
[Duke Canine Center student Evan] MacLean stands near a wall with the dog on a slack leash, while a female graduate student sits on a chair in the center of the room. She sets two opaque red cups upside down on the floor, one on each side of her. Then, as [the dog] Napoleon watches intently, a third graduate student enters the room. She places the dog’s tennis ball under one of the cups and pretends to place it under the other, obscuring her motions with a small black board so the terrier isn’t sure which cup contains the ball. If this were a shell game, the dog would have a fifty-fifty shot of picking the right cup. But the seated graduate student gives him a hand, or, more precisely, a finger. She points to the cup on her right, and when MacLean lets go of the leash, Napoleon runs over to it and retrieves his ball. Over several trials, the dog always goes for the cup that is pointed out. Even when the seated student merely gazes at the correct cup, Napoleon gets the message.
This may seem like a simple test, and, indeed, even one-year-old children pass it. But our closest relatives, chimpanzees, fail miserably. They ignore the human helper, pick cups at random, and rarely score above chance. Brian Hare’s lab has become famous for spotting this difference. Napoleon has performed more than just a neat cognitive trick. He has displayed a more complex skill related to the development of theory of mind in children. He wasn’t just clued into the pointing student’s attention; he had shown behavior consistent with understanding her intention. He showed that he realized that the student wanted to show him something, that she had a desire.
It may not have taken 40,000 years for dogs to develop this skill, by the way. The Russian silver foxes are only a few dozen generations away from wild foxes, and they also have similar cognitive characteristics.
I don't know how this little snippet of code got into a project at work (despite the temptation to look at the file's history):
Search = Search.Replace("Search…", "");
// Perform a search that depends on the Search member being an empty string
// Display the list of things you find
First, I can't fathom why the original developer made the search method dependent on a hard-coded string.
Second, as soon as the first user hit this code after switching her user profile to display Japanese, the search failed.
The fix was crushingly simple:
var localizedSearchPrompt = GetLocalizedString("SearchPrompt");
Search = Search.Replace(localizedSearchPrompt, string.Empty);
(The GetLocalizedString method in this sample is actually a stub for the code that gets the string in the current user's language.)
The moral of the story is: avoid hard-coded strings, just like you've been taught since you started programming.
CTA service on the Skokie Swift (now Yellow Line) began 20 April 1964:
The five-mile-long Niles Center branch of the ‘L’ had opened in 1925. Using the tracks of the North Shore electric interurban line, trains ran from Howard-Paulina station to Dempster Street in the suburb of Niles Center (today’s Skokie). There were seven stops between the terminals. North Shore continued to run trains after CTA service was discontinued in 1948.
In 1963 North Shore itself went out of business. During the fifteen years since CTA had eliminated the Niles Center branch, Skokie and other nearby towns had enjoyed a population boom. Perhaps the old ‘L’ line could now earn some money.
CTA’s new plan was to make the line a feeder to the mainline North Side ‘L’. Trains would run express between Dempster and Howard, with no intermediate stops. In a savvy bit of marketing, the re-born service was named the Skokie Swift.
Service officially began on April 20, 1964. Ridership surpassed all expectations, and CTA soon increased the number of trains. Today the route is known as the Yellow Line.
Before 1963, the North Shore Line actually ran trains all the way up to Mundelien.
I just returned from Outer Suburbistan in record time, in under an hour, which was pure dumb luck. As soon as I change I'm going out into the 25°C afternoon. We still haven't hit the 28°C we last saw November 7th, but this is close enough for me.
More later, including possibly some interesting stuff about how I've started (slowly) refactoring the 10-year-old Inner Drive Extensible Architecture to use modern inversion-of-control tools including Castle Windsor and Moq. First, I need to walk the dog. A lot.
I don't usually post personal things, but in this case, I have enough psychic pain that I want to vent.
After last Sunday's car-killing problem, I took the car in to get fixed. It turns out, I was right about the problem and about the estimated repair costs. But wait: the car needed routine maintenance as well. All told, it got:
- a new water pump;
- an oil change;
- new brake fluid;
- a new microfilter for the air conditioner;
- new wiper blades;
- a minor recall service; and
- a partridge in a pear tree.
Total damage: $1,996.74.
I seriously wonder why I have a car at all. Oh, right, because tomorrow I'm going to see family in Outer Suburbistan.
Crain's reported today (sub.req.) that Lagunitas Brewing will cap their first Chicago-brewed beer today:
Workers at the 300,000-square-foot Douglas Park facility are firing up the bottling line this morning and slapping on Lagunitas India Pale Ale labels. Once they flip the switch, the line will fill 500 bottles a minute.
"It's just the IPA right now," said owner Tony Magee. "It's the beer we know best."
The first 750-barrel batch of beer was mixed a few weeks ago before heading to the brewery's fermenting tanks and filtration system. Other batches of IPA are right behind as production begins to ramp up. The Chicago brewery is set to start making Little Sumpin' Sumpin' beer next month.
Crain's also reports that Lagunitas is now Illinois' largest brewer, with a capacity of 200,000 barrels—23.5 million litres—per year.
After years of doing whatever they were doing, the CTA has released details of its planned Red and Purple Line renovations north of Belmont:
We already know the first phase of the project, set to begin in 2017, will involve rehabbing the Lawrence, Argyle, Berwyn and Bryn Mawr Red Line stations and replacing tracks for the Red and Purple Lines at those stations to reduce slow zones. CTA has started the process of securing federal funding to extend the Red Line from its current southern endpoint at 95th Street to 130th Street, using existing freight rail tracks. That project would cost $2.3 billion.
The aspect of the Red/Purple Line rehab we’re most impressed by is a “Belmont bypass” allowing the Brown Line to continue along its route by riding above the existing Red and Purple Line rails. Currently the Brown Line has to negotiate its route by crossing those rails, resulting in 40 percent of weekday trains being delayed by up to three minutes.
In order for the bypass to be built CTA will have to buy 16 buildings between Belmont Avenue and Addison Street in order to make room for the project. The total cost of the Belmont bypass is included in the $1.7 billion cost the first phase of Red and Purple Line rehab is expected to cost.
The CTA says the bypass project will save 500,000 passenger-hours per year.
As of today, 8 million people have signed up for health insurance under the Affordable Care Act. Krugman puts it in perspective:
[T]he benefits of Obamacare, for all its imperfections, are immense. Millions of people who lived extremely anxious lives now have far more security than before. Compared with those benefits, the complaints of some already insured people that they have less choice of doctors than before, or that they’re no longer allowed to retain minimalist plans, look like whining. (And of course not one of the more serious-sounding stories about soaring premiums and all that has held up under scrutiny.)
And speaking of whining, the GOP response seems to be to make every possible insinuation to the effect that the numbers are somehow fraudulent. I actually don’t think there’s a game plan here; their whole position was premised on the inevitable collapse of health reform, and they have no plan B.
So, Sunday's car problem is decidedly non-trivial. As I suspected, the water pump failed. I got lucky yesterday because the cold air allowed me to get the car all the way to the nearest dealer (barely 2 km away), but the car is essentially undriveable.
This is a $1400 repair.
I am selling a kidney. Any takers?
This lovely spring morning in Chicago:
It's April 15th. And we have snow on the ground. Again.
At least we got a new record:
Snow has historically been no stranger in Chicago during the month of April. Official snow records indicate a trace or more of snow has fallen this late in 86 of the past 129 seasons dating back to 1884-85. That’s 67% of the time.
But the amount of snow which fell Monday and the fact it occurred within 3 days of 27°C warmth (on Saturday) and on a day which opened near 20°C is without precedent. Neither has occurred before over the 129 year term of official Chicago snow records.
Monday’s preliminary snow totals through 10 pm came in at 30 mm at O’Hare and 25 mm at Midway.
The 30 mm tally at O’Hare equals the amount of snow which typically falls over the full month of April and was the heaviest official snowfall to occur here so late in a season in 3 decades.
Winter, you're drunk. Go home.