Archive for October, 2009

Wireless mice

Saturday, October 31st, 2009

This is fascinating. I wonder how long it will be before people are implanting tiny devices into mouse brains that receive commands from the internet via the cellular networks and transmit video and audio back, so that the mice can be driven around by remote control and used to spy on people and things.

Fall foliage

Friday, October 30th, 2009

Inspired by this XKCD comic:

I made this:

And this, going in the opposite direction:

Rotating fractal

Thursday, October 29th, 2009

Last year, I wrote about a way to make rotating fractals. I implemented this and here is the result:

The equation used was z <- z1.8 + c, and the branch cut varies from 0 to ~10π.

What are all those pins for?

Wednesday, October 28th, 2009

I recently built myself a new computer using an Intel Core i7 920 CPU. This CPU has more pins (well, "lands" actually, since they are just flat conducting areas that touch pins in the socket) than any other yet produced, 1366 of them to be precise. I was wondering why so many were needed, so I grabbed the datasheet and made a map:


     DDR0 data      other
     DDR1 data      other
     DDR2 data      other

     QPI data      other

Idle speculation follows (I don't have any background in CPU or motherboard design):

The pins roughly divide into six sections: two for memory data, one for other memory-related signals, one for power, one for the QPI bus and one that is mostly reserved.

That there are a lot of power pins is not surprising - this CPU can use as much as 145A of current, which is enough to vaporize any one of those tiny connections, so it has to be spread out amongst ~300 of them for each of power and ground. Having two very big pins for power would probably make the mechanical engineering of the CPU much more difficult and would push the responsibility for branching out that power onto the CPU, whereas it is better done by the motherboard.

It's interesting that the ground lands are mostly spread out but the power lands are mostly together. I'm not sure why that should be - I would expect them both to be spread out. Perhaps the 8 or 9 big groups of VCC on the north edge each correspond to a single "power line" on the motherboard (and hence are grouped together) while the distributed ground lands are needed to supply electrons for the signal lands.

Three DDR3 channels also use a lot of lands - 192 for data alone and almost as many again for addresses, strobes and clocks.

Another thing that surprised me is that there are so many reserved lands (~250 of them). Initially I thought that this was because the socket was designed before the designers knew how many pins they would actually need, so they made sure to design for the absolute maximum. However, a good chunk of the reserved lands are used by the Xeon 5500 CPUs, which use the same socket - in particular for memory error detection/correction and the second QPI bus (which is presumably in the northwest corner).

Edit 14th July 2013:

Here are some more nice pin maps.

A trip around the cardioid

Tuesday, October 27th, 2009

Take a point that moves around the edge of the main cardioid of the Mandelbrot set, and plot orbits with values of c close to that point. You end up with this:

It can be thought of as a sequence of cross-sections of the Buddhabrot.

Guns would not be useful against a tyrannical government

Monday, October 26th, 2009

Gun enthusiasts in the US often claim that it's important that citizens can bear arms in order to protect against a government that has become tyrannical. However, I don't think that argument really holds water - it seems to me to be a rather outlandish fantasy that a group of citizens could overthrow the government.

For a tyrannical government to have any effect, the power structures between it and the people would still have to be largely in place - in particular, the military and the police would have to be still taking orders from the government. But any given individual citizen gun-owner would be vastly outgunned by the military, which has access to far more powerful weapons. So an extremely large number of individual gun owners would be needed. I have no idea how many, but it would probably have to be several times the size of the US standing army, so in the multiple millions. But if the government failed to convince all those millions of people that it is not a tyranny, how could it have convinced the military and the police?

A far more useful tool against tyranny is an educated and well-informed population. If you can't pull the wool over the eyes of the people, you also can't pull the wool over the eyes of the agencies enforcing the will of the government. For this reason it's far more important that people get accurate and unbiased news than it is that guns are kept legal. If a tyrannical government does emerge (and there are some indications that it already has) it will be because the people have been lied to, not because they don't have enough guns. And frankly, the state of most mainstream news is so bad that this does seem to be a real danger.

It's very important that we all have a good understanding of current affairs. To do this we should:

  • Avoid getting our news from just one source, or from sources with similar bias.
  • Check the facts - follow up on the references and follow the chains of evidence back to the source wherever possible.
  • Know our fallacies
  • Disregard news sources that rely on unsubstantiated rumour ("Some say that...")
  • Be particularly wary of religious arguments, since in religion not only is objective evidence lacking, but searching for it is actively discouraged.

People are colonies

Sunday, October 25th, 2009

When I first learned that the human body was made up of trillions of cells I was fascinated. These cells are almost like small organisms themselves - they grow, reproduce, consume and respond just as the organism itself does. It's almost as if the human body is a colony, not just an individual. In fact, it seems very likely that the first multicellular organisms were actually colonies of individuals which stuck together and began to evolve as a group, not just as individuals.

Another fascinating fact that I learned recently is that there are more bacterial cells than human cells in a human body - though they are much smaller they are about 10 times more numerous. It's sort of like how we keep animals of different species like cows and chickens in our macroscopic communities.

Even our human cells aren't "pure human" - they contain mitochondria which have their own DNA and almost certainly evolved from a separate line if you go back far enough in history. It's almost like life is fractal (though the self-similarity doesn't descend infinitely).

That makes me wonder if colonies act as individuals on a much larger scale. If we colonise the universe could we end up with societies that are complex enough to have an awareness of their own? Could we ever, as individuals, become aware of this awareness? Presumably (because of the speed of light) such awareness would be much slower than ours and generations could be born and die in the time it takes for a single thought to happen in on the "higher level". However, because we (unlike our cells) are intelligent beings, we could presumably read the writings that such a being had made over the course of history. Such a being would be a God, in a sense, as it would transcend us, but wouldn't necessarily be omnipotent, omniscient or kind, and certainly wouldn't have created the universe.

Top posting

Saturday, October 24th, 2009

Before I started working at Microsoft, I used to always reply to emails by quoting them, breaking up the quoted text into pieces and then replying to each of the pieces directly below, for example:

Subject: Re: Hello

Xyz <> wrote:
> Hello,


> how are you today

I'm fine, thank you.

This style is called inline replying with trimming. This is a fine system because the person I'm replying to gets reminded of what they wrote, and I don't have to write things like "In regards to the part of your email where you asked me how I was today,".

The most common other system is top posting, which looks like this:

Subject: Re: Hello

Hello! I'm fine, thank you.

Xyz <> wrote:
> Hello, how are you today

This is the natural default with Microsoft Outlook. In the geek circles I had moved in before working at Microsoft, this style was greatly frowned upon. However, it is ubiquitous at Microsoft. I'm not sure whether this is because it's the default style in Outlook or whether it's the default style in Outlook because it is ubiquitous at Microsoft. However, once I had forced myself to "do as the Romans do" and top post, I found that it does actually make more sense in that environment. This is for two reasons:

  1. When the conversation falters due to lack of knowledge about something, it's very common to "loop in" an expert to give their two cents by adding them to the CC line. In order for the expert to have some context, it's useful to have the previous history of the conversation right there in the email, so he or she can read it (bottom to top).
  2. With each email carrying the entire thread, emails can get pretty long. It's inconvenient to have to scroll all the way to the bottom of each email to see the latest reply (especially if you're just a spectator rather than a contributor to a busy thread) so it's better for the replies to be at the top than at the bottom.

It's still useful to reply inline as well sometimes - at Microsoft this is done by quoting the email you're replying two twice - once, in its entirety, at the bottom and once (suitably chopped and trimmed) inline. I used to do this quite frequently as it's the best way I've found (pre-Argulator) of addressing each point individually. However, one of my managers once told me that if the conversation got sufficiently complex that I felt it was best to do that, I should instead "take it offline" and schedule a face-to-face meeting instead to hash out these issues. However, I felt (and still feel) that inline email replies are better than face-to-face meetings for such complicated issues - in face to face meetings there's less time to think about your answer, and points can get lost - as the conversation progresses it can only follow one "branch" of the argument tree, and without explicitly maintaining a stack it's very easy for branches to get forgotten about.

Identity and birth

Friday, October 23rd, 2009

Having had a second second child recently got me thinking about the concept of identity. It's a concept we use every day, mostly without thinking about it, but it's not built on a completely solid foundation. The discussion below relates to the US, but I'm sure the story is similar in other jurisdictions.

To get a passport, a driver's license or a social security number, one needs a valid birth certificate. Suppose, for one reason or another you want a second identity. This is illegal and I'm not recommending anyone try it, I'm just interested in thinking about vulnerabilities in systems. Since the government can cross-check with official databases, just forging the piece of paper probably isn't going to work. A method that often seems to be used is obtaining the birth certificate of someone who was born around the same time as you but who died young (and, if possible, in a different state). This "paper chase" method has its disadvantages.

What you really need is an identity that has already been created and maintained, but not used by anyone else - a farmed identity. I'm sure there is a black market for farmed identities, but the question is - how do those identities get created in the first place? That's where the babies come in. If you are a mother with a brand new baby, what's to stop you from going to a doctor and saying "I gave birth to a baby in my house, without even knowing I was pregnant"? (Such things do occasionally happen). The doctor will issue a birth certificate (in addition to the one you already have) and then you have a second identity you can farm for your child (or sell on the black market, if you are so inclined). While most mothers of newborn children probably wouldn't think to do this, I'm sure there are some who do.

Even biometric identity databases can't completely solve this problem unless, whenever a new birth certificate is applied for, the child's biometric information is compared to all the other entries in the database. I'm not sure if that is likely to be practical (given the imperfect nature of biometric data).

One problem with this method is that the mother is now on record as having two different children within a very short space of time, neither of which are recorded as being a twin. This could raise red flags. The answer is for the mother to use a false identity when applying for the second birth certificate. I don't think it would be practical to only give a child a birth certificate after a strong identity check on the mother.

Strongly identifying everyone is a really difficult problem. Should it even be attempted at all? If you don't even try verify everyone's identity, there are certain things you can't do. You can't ban someone from driving, since they could just get a new driver's license under a different name. So if someone is a danger to others on the road, you have to punish them the same way as other crimes - by putting them in prison.

You can't prevent someone from voting more than once by using electoral rolls, so you have to use electoral staining (though I'm not sure if that's perfectly reliable, given the availability of solvents).

You can't give someone large amounts of credit without collateral, since they might just disappear and assume a new identity. I don't think that's likely to be a big problem in practice, since good credit takes time and effort to obtain.

You also can't keep people in (or out) of your country, since they can always obtain a new identity with a clean passport. But national borders tend to be rather porous anyway.

Quantum immortality and omnipotence

Thursday, October 22nd, 2009

I've mentioned before the possibility that the universe could exist entirely for our benefit, and that the existence of subjective observers could be inextricably intertwined with the origin and fate of the universe.

Occasionally I've wondered if subjective observers could directly control the objective universe via thought alone (rather than relying on clumsy appendages) if only we knew how. It's a delightful thought, though one that seems rather like wishful thinking. It also seems like something we would have discovered already if it was possible, since it would be a great evolutionary advantage.

Well, the other day I thought of a way it might be able to (sort of) work, through the concept of quantum immortality. I will illustrate this by explaining a method for winning the lottery. First, you have to buy a ticket (the numbers don't matter, except that, as with any lottery system you probably want to pick numbers that other people haven't picked to minimize your chances of having to share the prize). Wait for the draw, and if you don't win, kill yourself (hey, I didn't say it would be an easy or fun method of winning the lottery). Quantum immortality means that your consciousness will continue in only the parallel universes where you won, so that's what you experience.

Don't worry, I'm not about to try this or recommend that anyone else does - my belief in quantum immortality isn't sufficiently strong for me to bet my life on it. Even if it was, it would be very cruel to friends and family left behind in those non-winning parallel universes. Also, even if one was certain of quantum immortality, one would also have to have a suicide method more reliable than winning the lottery (or one would be more likely to experience survival due to failure than due to winning, probably with a debilitating injury). Finally, one would have to reliably entangle the suicide to not-winning-the-lottery - make sure that having a change of heart between the latter and the former would be less likely than winning.

It's interesting that the superpowers of immortality and omnipotence can be linked like this. However, it still leaves me looking for a more practical method of imposing my will on the universe.