Chris Hoffmann came by to give me a demo of his Ryno cycle prototype. It was the easiest, stablest one-wheel thing I've ridden. I took it over a few bumps and it never wobbled. I was impressed. The video is me after about 2 minutes of practice.
]]>
As a Harvard alum and (small & indirect) investor in Facebook, I figured I should read Aaron Greenspan's book AUTHORITAS, subtitled "One Student's Harvard Admissions and the Founding of the Facebook Era". But it's pretty long, so I used Knuth's technique for literary analysis: take a slice through the book and analyzing selected sentences in detail. His calligraphed book 3:16 studies chapter 3, verse 16 of every book in the bible. (He chose those numbers because John 3:16 is a well-known verse and he wanted to make sure he got at least one good one.) Here is chapter 3, paragraph 16 in Brush Script MT Italic:
From a quick scan of the rest of the page I didn't find a definition of A.R.P., but did see that this is set in sixth grade. The paragraph uses digression to build suspense. Readers unconsciously assume that when the writer takes this long to get to the point, it's going to be big. Has Kennedy been assassinated? No, wrong time period. This was early 90s. O.J. Simpson not guilty? Cold fusion? The Pope pardons Galileo? What would make such an impact on him? It turns out, another teacher wanted help installing a computer, so he's excited that his reputation as a guy who knows about computers has spread. Since the teacher just announced to the class that he was going to be setting up a computer, his reputation has spread farther. It says on the book jacket that he started a computer repair business when he was 15, so I assume this is the beginnings of it.
Actually, he's not using digression to build suspense as much as to simply digress. We learn that he sat on the floor in sixth grade, that his class's teacher trusted them, that the phone cord was coiled and light brown. I don't remember the color of the phone cord in my sixth grade class, but I'm sure it wasn't formative to my career. It's fine to give some context, but do we really need this much?
To be fair, chapter 2 or 3 in an autobiography -- the "back to the beginning" chapter, is often like this. His is titled "A Hard Lesson". I theorize that most readers skim this chapter, and autobiographers know it so they load it up with digressions that the editor would excise anywhere else in the book.
On to the first paragraph of page 316 (in Lucida Handwriting Italic):
In a way it's similar to the first 3:16, in that it serves to set the stage for a conversation but adds a lot of detail. The conversation led to his joining Facebook. What's alarming is that it's on page 316 of 333, he's just meeting the guy who introduced him to Facebook. It seems the vast majority of the book is about his education & computer repair company.
Page 31, .6 of the way down: (in Krungthep):
This happens to be just a few paragraphs below chapter 3, paragraph 16. It leads to a long story about how he tried to copy the software from someone else's computer but it wouldn't fit on a disk and on on. I guess I never understood the fascination of Windows system administration.
Page 31*6 (=186), first para (in Copperplate Gothic):
This comes at the end of a section separated from the next by a little Harvard shield. It foreshadows the next section when he catches his economics teacher in an algebra mistake which he devotes nearly 2 pages to explaining. He criticizes (Harvard) professor Neugeboren for drawing poorly and making algebra mistakes on the blackboard. He writes to the dean, and they get a substitute teacher for the rest of the year. The rest of the chapter is about him negotiating for higher grades by arguing about ambiguous exam questions. Justice is served, he proclaims at the end.
Being at Harvard makes young men and women feel important. They often become important as a result. Feeling the importance of one's own life gives people the courage to attempt great things, with good consequences on average. But some go past "important" into "entitled". He seems to be fairly self-aware, so I assume he gains some perspective later in the book.
]]>Here's my actual out-of-the-box experience with the iPad:
My iPad arrived Apr 3 morning as promised, a Saturday. Sadly I wasn't in the office yet, so I had only a UPS "we missed you" sticker to play with all weekend.
Monday when I went into the office I opened the box, but it only showed the "Please sync me with iTunes" screen. It was cool that when you turned the iPad the diagram swiveled, but I couldn't show it off much to my coworkers.
When I finally got it home to sync with my iTunes, it didn't recognize it (nothing showed up in the iTunes window). Since iTunes has been nagging me to upgrade from 9.0 to 9.1, I did it (which took 30 minutes, required several password entries and a reboot) and it worked.
I wasn't sure if I should restore my iPhone's configuration onto it, or set it up as a new device. I opted for new. It cranked away, downloading videos & apps for about 3 hours. I think the time was mostly generating small version of my 12000 photo collection.
The next day I got to play with it, and it was lots of fun. But it wasn't the usual Apple out-of-box experience. I'd like to get iPads for my kids, but I worry they'll have a lot of trouble setting it up.
]]>
"To prevent damage ... please remove the device from your pants pocket before sitting down"
-- HTC / Google Android phone packaging
Despite Lilienthal's fate [died when his glider crashed], the brothers favored his strategy: to practice gliding in order to master the art of control before attempting motor-driven flight. The death of British aeronaut Percy Pilcher in another hang gliding crash in 1899 only reinforced their opinion that a reliable method of pilot control was the key to successful—and safe—flight. At the outset of their experiments they regarded control as the unsolved third part of "the flying problem". They believed sufficiently promising knowledge of the other two issues—wings and engines—already existed. The Wright brothers thus differed sharply from more experienced practitioners of the day, notably Ader, Maxim and Langley who built powerful engines, attached them to airframes equipped with unproven control devices, and expected to take to the air with no previous flying experience. Though agreeing with Lilienthal's idea of practice, the Wrights saw that his method of balance and control—shifting his body weight—was fatally inadequate. They were determined to find something better.
YC: Why will users prefer you over Craigslist?Founders: We'll be more localized. Craigslist has listings from all over the city, but we'll just show you listings from your neighborhood.YC: Maybe Craigslist would be better if it were more localized, but until you're popular you'll have to be *less* localized in order to have any listings show up at all.Founders: So we won't turn on localization at first.YC: But then you won't be much different from Craigslist, and there's no reason for people to switch. Your special sauce only works after you're already successful. You need a way to get there.
YC: Why will users use your software instead of Quickbooks?Founders: Our software will be easier to use.YC: Are there a lot of people who find Quickbooks too hard?Founders: Yes.YC: But a lot of people already know Quickbooks, so it's easiest for them to not change.Founders: Sure, we won't take away their users. We'll get new users.YC: How will new users find out about you?Founders: Their friends will tell them.YC: Do people tell their friends, "Say, I just found this really easy new accounting system!"Founders: No, but when people start a business they'll ask their friends what they should use.YC: But they're going to ask their friend who knows the most about accounting. Won't that person be a Quickbooks user? Won't they recommend what they know?
Paul Graham - Startup School 2009 - partial from Alexa Lee on Vimeo.
Twitter Founders - Early experiments, Use Cases for Startup School from Alexa Lee on Vimeo.
Paul Buchheit - Been at your job too long? QUIT! - Startup School 2009 from Alexa Lee on Vimeo.
]]>From FailBlog, under the title "Business Plan Fail":
Yes, it's kind of funny. But it might be the right thing for the neighborhood.
I spent some time in a small town far from anywhere, which had 3 retail establishments. 1 department store, 1 restaurant + laundromat + video rental store, and 1 fishing/hunting store + gas station. It was an efficient solution for providing essential retail services. Out of the 1000 people in the town, less than 20 were devoted to retail. That's 2% of the population, or maybe 5% of the local labor force. I know the modern trend is towards highly branded, tightly focused businesses. But would this town be better off with a standalone beauty salon, specialty chain saw dealer, and an Applebee's? Sounds like a lot of wasted retail labor for a doubtful increase in quality.]]>Here's an idea for Facebook. Get rid of subject lines in messages. They almost never have any content in them other than "Hi". Nobody ever changes subject lines in threads, because it seems like you're trying too hard, so they're usually unrelated to recent conversation. And it makes it seem like when you're writing to someone, you have to have something to say that can be summarized. But often what people want to say is just one sentence, "Hey, nice to see you last night at the club" or something. There's no short version of that. Getting rid of the Subject: field would lead to a lot more messages since it makes it so much easier.
Typical subject lines contribute nothing:
But two lines of body would have been the whole message.
One of Twitter's virtue's is not requiring a subject line. Even better, it doesn't require a concluding paragraph with a call to action like blog posts are supposed to have.]]>Wondering about bit patterns that cause my DSL line to fail, I was curious what order the bits are sent in: LSB-first or MSB-first. According to the published ITU spec:
Outside the LSx serial interfaces data bytes are MSB transmitted first. All serial processing in the ADSL frame (e.g. CRC, scrambling, etc.) shall, however, be performed LSB first, with the outside world MSB considered by the ADSL as LSB
which brought back fond memories of working on network protocols.
-- Trevor tlb@tlb.org
Sent from my iPhone
I've been having trouble with my DSL at home. Basically it works, but large downloads frequently stall part way through. It seems to happen every several tens of megabytes. I noticed that for a given file, it would typically stall in the same place. Occasionally it would keep going, but mostly it would fail indefinitely.
Using tcpdump showed that a particular packet of the download stream never came through, even though it was retransmitted several times by the sender. Could a particular sequence of data in the packet be causing it to fail? I wrote a script to try pinging my ISP's router with different random data. The ping command has a -p option to specify the data in the packet, for just this purpose. The vast majority of data patterns had 0% loss rate, but it finally found one that consistently caused nearly 100% loss:
cesium robot$ ping -p 2120fefe [ISP router]...111 packets transmitted, 2 packets received, 98% packet loss
Note that the bytes have a pattern: the first 2 bytes are mostly zero and the last two bytes are mostly 1. I'll get back to this. First, here's a summary of results:
Basic patterns have no loss:
0% | 00 00 00 00 | |
0% | ff ff ff ff | |
0% | aa aa aa aa | |
0% | 55 55 55 55 | |
0% | aa 55 aa 55 |
Bad pattern discovered:
100% | 21 20 fe fe |
Many similar patterns have high loss rates:
0% | 20 20 fe fe | |
0% | 23 20 fe fe | |
0% | 25 20 fe fe | |
0% | 29 20 fe fe | |
40% | 31 20 fe fe | |
10% | a1 20 fe fe | |
0% | 21 21 fe fe | |
0% | 21 22 fe fe | |
70% | 21 24 fe fe | |
0% | 21 28 fe fe | |
0% | 21 30 fe fe | |
100% | 21 00 fe fe | |
50% | 21 60 fe fe | |
0% | 21 a0 fe fe | |
0% | 21 20 ff fe | |
0% | 21 20 fc fe | |
0% | 21 20 fa fe | |
0% | 21 20 f6 fe | |
30% | 21 20 ee fe | |
0% | 21 20 de fe | |
20% | 21 20 be fe | |
20% | 21 20 7e fe | |
100% | 21 20 fe ff | |
30% | 21 20 fe fc | |
40% | 21 20 fe fa | |
0% | 21 20 fe f6 | |
0% | 21 20 fe ee | |
20% | 21 20 fe de | |
30% | 21 20 fe be | |
0% | 21 20 fe 7e |
Random patterns have no loss:
0% | 59 08 3f c0 | |
0% | 34 e4 e3 8f | |
0% | 31 17 60 da | |
0% | b7 9c 58 6e | |
0% | c7 af 2a 4a | |
0% | 31 b1 d6 8d | |
0% | b0 06 9f 06 | |
0% | b4 2d b3 54 | |
0% | 4b ca fe 27 | |
0% | d0 e4 df f6 | |
0% | 69 cc 0c ca | |
0% | 2e ac 68 fd | |
0% | 17 4d d8 cc | |
0% | 11 29 a0 9c | |
0% | 25 36 e7 b6 | |
0% | fd 89 6e b5 | |
0% | e0 34 60 71 | |
0% | 95 bf 3c 9d | |
0% | b6 5f 18 6c | |
0% | 93 c7 e9 18 | |
0% | b3 e8 04 8a | |
0% | ad f8 d7 66 | |
0% | a9 7b 50 82 | |
0% | cf 7e db c8 | |
0% | 8a 8f fc 1e | |
0% | 68 42 76 5a | |
0% | b2 b3 5a d6 | |
0% | fb 6d bb 15 | |
0% | 20 f3 17 42 | |
0% | 97 95 af 5b | |
0% | 6d ce 23 2c | |
0% | fa d2 ae a8 |
Why does this happen? I'm not sure I understand DSL well enough to explain it. In simpler network protocols, there were obvious ways in which long runs of zeros or ones could cause trouble under marginal conditions. The pattern here has a large low-frequency component (mostly zeros in the first 2 bytes and mostly 1s in the last 2 bytes) so it's plausible that it causes problems.
However, my DSL uses a very complicated discrete multitone modulation system. There are actually 256 separate channels, each using 4 kHz of bandwidth at frequencies ranging from 0 to 1 MHz. The bottom few channels are for voice. Typically 25 channels are for uplink and 224 for downlink. According to the spec, it uses complicated interleaving and Reed-Solomon error-correction coding (the same system used on CDs). So it's a little hard to imagine how such a simple data pattern can cause total loss.
The DSL router doesn't give much diagnostic info. It does report a signal/noise level for receive of around 8 dB, which is lower than the 12 dB suggested for reliable operation. And my ISP told me that my line was longer than recommended for the 6 Mbit speed. So I'm probably getting what I deserve.
It's interesting that TCP doesn't handle this situation very well. Retransmission is really driven by the sending end. It will try several times, never receiving an ACK, then give up. When it gives up, it doesn't seem to send a connection close (Fin or Rst) so the receiving end listens forever or until a very long keepalive timeout expires.
-- Trevor tlb@tlb.org
Sent from my iPhone
-- Trevor tlb@tlb.org
Sent from my iPhone
More press coverage:
By engineers, for engineers
-- Trevor tlb@tlb.org
Sent from my iPhone
-- Trevor tlb@tlb.org
]]>