November 27, 2005
Reach a real human
Tired of IVR systems that make it hard to talk to a real human? Paul English has come to the rescue.
November 17, 2005
Discovering Sherlock Holmes
After the success of serializing Dickens, Stanford will mail you Sherlock Holmes novels, in their original format. Starts January.
November 16, 2005
Crazy Mathematical Fact of the week
If you don't get the elegance of this, you may continue your life normally. Otherwise, prepare to lift your jaw from the floor.
Syntience Inc.:
Here's proof that it works:
Syntience Inc.:
“Our logo shows a solution to the famous eight queens problem:
How do you place eight queens on a chessboard so that none can capture any other?
To arrive at this solution you can compute (28 - 1) / (8 - 1) which equals 255 / 7
which equals (rounded to 6 decimals) 36.428571
The eight digits making up that number are the numbers of the rows in which to place 8 successive queens.”
Here's proof that it works:
1 • • • • • • • X
2 • • • X • • • •
3 X • • • • • • •
4 • • X • • • • •
5 • • • • • X • •
6 • X • • • • • •
7 • • • • • • X •
8 • • • • X • • •
November 14, 2005
The ultimate CSS compatibility table
Lots of CSS hacks, and an indication (for each hack) of whether it is applied by each browser.
November 12, 2005
Instant gratification
My buddy ADH sent me the answer to my OSX download slowness. According to macosxhints, delayed ack sending is on by default, and you can turn it off both permanently and instantly. Yay!

This work is licensed under a Creative Commons License.
This work is licensed under a Creative Commons License.
November 07, 2005
Your tax dollars at work
Residents of Palo Alto: your local governments have made many interesting nuggets of information available about properties within it, given either the address or the parcel number:
Owner's name and address, parcel size and zoning, building permits
Assessed value, transfer date, billing address
Property tax payment history
Local sex offenders
Owner's name and address, parcel size and zoning, building permits
Assessed value, transfer date, billing address
Property tax payment history
Local sex offenders
November 02, 2005
Curiouser and curiouser
I decided I had to figure out what was going on with my Windows-to-OSX network slowness. This time I did
1. Windows → OSX: 1460 bytes data
2. Windows → OSX: 1460 bytes data
3. Windows ← OSX: ack for packet 3
4. Windows → OSX: 1460 bytes data
5. Windows → OSX: 1460 bytes data
6. Windows ← OSX: ack for packet 5
7. Windows → OSX: 1460 bytes data
8. Windows → OSX: 892 bytes data + push
0.2 second delay
9. Windows ← OSX: ack for packet 8
So, Windows sends 8192 bytes and then requests a push. Nothing wrong with that, it makes sure the data got delivered before continuing - but why does it take a fifth of a second for OSX to send the achnowledgement?
Let's try things in the opposite direction. This time we get 8.5MB/sec (70% utilization). That's more like it! Looking at the Ethereal trace, things are quite different:
1. OSX → Windows: 1448 bytes data
2. OSX → Windows: 1448 bytes data
3. OSX → Windows: 1448 bytes data
4. OSX → Windows: 1448 bytes data
5. OSX → Windows: 1448 bytes data
6. OSX ← Windows: ack for packet 2
7. OSX ← Windows: ack for packet 4
8. OSX ← Windows: ack for packet 6
9. OSX → Windows: 952 bytes data + push
There are no major delays here. As before, there's a push every 8192 bytes. This was measured at the OSX end, I expect Windows would have a different opinion about the order of the packets, but that's irrelevant.
I smell a bug here. Either it's in the OSX port of netcat, or it's in the OSX TCP implementation. Given that SSH performs no better than netcat, I'm inclined to believe the latter.

This work is licensed under a Creative Commons License.
nc dest 2222 < /dev/random
at the source machine and nc -l -p 2222 > /dev/null
at the destination. Ethereal told me something quite interesting. The TCP conversation runs thus, repeated ad infinitum:1. Windows → OSX: 1460 bytes data
2. Windows → OSX: 1460 bytes data
3. Windows ← OSX: ack for packet 3
4. Windows → OSX: 1460 bytes data
5. Windows → OSX: 1460 bytes data
6. Windows ← OSX: ack for packet 5
7. Windows → OSX: 1460 bytes data
8. Windows → OSX: 892 bytes data + push
0.2 second delay
9. Windows ← OSX: ack for packet 8
So, Windows sends 8192 bytes and then requests a push. Nothing wrong with that, it makes sure the data got delivered before continuing - but why does it take a fifth of a second for OSX to send the achnowledgement?
Let's try things in the opposite direction. This time we get 8.5MB/sec (70% utilization). That's more like it! Looking at the Ethereal trace, things are quite different:
1. OSX → Windows: 1448 bytes data
2. OSX → Windows: 1448 bytes data
3. OSX → Windows: 1448 bytes data
4. OSX → Windows: 1448 bytes data
5. OSX → Windows: 1448 bytes data
6. OSX ← Windows: ack for packet 2
7. OSX ← Windows: ack for packet 4
8. OSX ← Windows: ack for packet 6
9. OSX → Windows: 952 bytes data + push
There are no major delays here. As before, there's a push every 8192 bytes. This was measured at the OSX end, I expect Windows would have a different opinion about the order of the packets, but that's irrelevant.
I smell a bug here. Either it's in the OSX port of netcat, or it's in the OSX TCP implementation. Given that SSH performs no better than netcat, I'm inclined to believe the latter.
This work is licensed under a Creative Commons License.
October 28, 2005
More statistics
A followup to yesterday's post. I tried a number of things to find out what's going on.
osx$ ping -D -f -s 1472 windows
This gets me 2.5MB/sec, over 20% utilization. That's an improvement over yesterday's lame numbers, but still a bit low.
osx$ nc -l -u -p 2222 | tar xvf -
windows$ tar cvf - . | nc -u osx 2222
This gives a tolerable 1.8MB/sec at the receiver, but who knows how much data was dropped on the floor.
Copying all my files to a firewire drive and then reading them off again works out at 8-9MB/sec.
Conclusion: use firewire. Do not attempt to be clever with netcat or ssh.

This work is licensed under a Creative Commons License.
osx$ ping -D -f -s 1472 windows
This gets me 2.5MB/sec, over 20% utilization. That's an improvement over yesterday's lame numbers, but still a bit low.
osx$ nc -l -u -p 2222 | tar xvf -
windows$ tar cvf - . | nc -u osx 2222
This gives a tolerable 1.8MB/sec at the receiver, but who knows how much data was dropped on the floor.
Copying all my files to a firewire drive and then reading them off again works out at 8-9MB/sec.
Conclusion: use firewire. Do not attempt to be clever with netcat or ssh.
This work is licensed under a Creative Commons License.
October 26, 2005
Make the switch now! It's slow!
Oddity of the day:
Imagine that I wish to move several gigabytes of (already compressed) data from a Windows machine to a Powerbook. I connect their builtin ethernets, both 100Mbps.
On the OSX machine I do:
machine1$ nc -l -p 2220 | tar xvf -
and on the Windows machine I do:
machine2$ tar cvf - . | nc machine1 2220
then it gets about 0.5% utilization (50KBytes/sec).
When I use the SFTP GUI from ssh.com on Windows, and the built-in sshd on OSX, it's not much better: 180KBytes/sec, or 1.5% utilization.
Apparently it's faster for me to use an external hard drive to move files around (and connecting both machines by firewire doesn't appear to be an option, and no I don't have one of those USB copy-your-files devices).
Anyone know why:
1. Netcat is slower than SSH
2. The two IP stacks are so slow talking to each other?
(No, I won't give you an ethereal trace)

This work is licensed under a Creative Commons License.
Imagine that I wish to move several gigabytes of (already compressed) data from a Windows machine to a Powerbook. I connect their builtin ethernets, both 100Mbps.
On the OSX machine I do:
machine1$ nc -l -p 2220 | tar xvf -
and on the Windows machine I do:
machine2$ tar cvf - . | nc machine1 2220
then it gets about 0.5% utilization (50KBytes/sec).
When I use the SFTP GUI from ssh.com on Windows, and the built-in sshd on OSX, it's not much better: 180KBytes/sec, or 1.5% utilization.
Apparently it's faster for me to use an external hard drive to move files around (and connecting both machines by firewire doesn't appear to be an option, and no I don't have one of those USB copy-your-files devices).
Anyone know why:
1. Netcat is slower than SSH
2. The two IP stacks are so slow talking to each other?
(No, I won't give you an ethereal trace)
This work is licensed under a Creative Commons License.
October 21, 2005
October 19, 2005
This year's recommended gift for kids
A ball with a supposedly very good version of "twenty questions". A variety of other good gift ideas are available from Uncle Mark.
October 07, 2005
WZC Information Disclosure Exploit
Could be useful to folks wanting to do useful things with WZC, rather than just sploiting it.
October 02, 2005
September 17, 2005
Palo Alto Municipal Code
Just in case you were thinking of building an addition to a house you haven't even bought yet.
September 13, 2005
September 12, 2005
August 22, 2005
Homebrew SWR meter for VHF, UHF and SHF (including Wifi ISM Band)
Build one yourself, or buy one ready made.
Robots!
The ER1 looks like an interesting robot platform. If I understand correctly, it can build up its own map of its environment and there's an SDK so you can integrate it into your own crazy ideas.
(thanks, Kevin)

This work is licensed under a Creative Commons License.
(thanks, Kevin)
This work is licensed under a Creative Commons License.
Subscribe to:
Posts (Atom)