Neil deGrasse Tyson – The Amazing Meeting 6
Neil speaking at TAM6, on a wide variety of topics. Fascinating and entertaining, as always.
Neil speaking at TAM6, on a wide variety of topics. Fascinating and entertaining, as always.
USPTO approved patent 8,171,351 “Collecting information from user devices” on May 1, 2012. First filed in April 30, 2009 (application number 12/433,753), so only<sic> 3 years for approval. This was the patent I was involved with during Kindle development at Amazon.
To sum it up (emphasis mine):
…it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology.
Fascinating article.
“The British postage stamp is the only postage stamp in the world that does not list its country of origin.”
Neil DeGrasse Tyson is one of the brilliant lights of our time.
“Here at AT&T we have a long, rich history of screwing our customers. From the original days of our telephone monopoly, to our sub-standard yet overpriced DSL service and its associated lawsuits, we strive to charge you at least 10 times the value of the service you receive. This is our promise to you.
It has come to our attention that a tiny fraction of our cellular data customers are using more than the rest, even though they are within the data amount we promised upon signing their contract. We simply cannot allow even the smallest portion of our clients to actually receive what they pay for, or have service at the level they expect. This would set a terribly hard-to-follow precedent of giving customers what they want and what they pay for. We simply cannot handle that.
On this note, we have today decided to return to bill-per-hour internet access. Based on the 1997 AOL dial-up rate, we are now charging $3.67 per hour* for your cellular data bandwidth. We still consider this to be ‘unlimited’ as you are able to use as much data as you are willing to pay for. We thank your for your continued subservience, and your willingness to put up with us constantly screwing you. We truly believe you don’t have any choice in carriers, so your resistance is futile.”
*Any time over one second is billed as a full hour. No prorating or refunds allowed. An additional 30 pages of terms and conditions that none of you will read also apply.
http://nymag.com/news/features/gop-primary-chait-2012-3/
An incredibly deep and reflective look at the forces that have been shaping the coming presidential election, going back for years (over a century, in some ways). I didn’t know reporters still did such things anymore <g>
A key passage:
The way to make sense of that foolhardiness is that the party has decided to bet everything on its one “last chance.” Not the last chance for the Republican Party to win power-there will be many of those, and over time it will surely learn to compete for nonwhite voters-but its last chance to exercise power in its current form, as a party of anti-government fundamentalism powered by sublimated white Christian identity politics.
A surprisingly meaty article highly worth the read.
This post is yet another example why a written contract is important for all business dealings. Even (especially) amongst friends.
Handy if you use ctags, but the regex to match functions, interfaces, etc can be tweaked for other tools as well
--regex-objc=/^[[:space:]]*[-+][[:space:]]*\([[:alpha:]]+[[:space:]]*\*?\)[[:space:]]*([[:alnum:]]+):[[:space:]]*\(/\1/m,method/
--regex-objc=/^[[:space:]]*[-+][[:space:]]*\([[:alpha:]]+[[:space:]]*\*?\)[[:space:]]*([[:alnum:]]+)[[:space:]]*\{/\1/m,method/
--regex-objc=/^[[:space:]]*[-+][[:space:]]*\([[:alpha:]]+[[:space:]]*\*?\)[[:space:]]*([[:alnum:]]+)[[:space:]]*\;/\1/m,method/
--regex-objc=/^[[:space:]]*\@property[[:space:]]+.*[[:space:]]+\*?(.*);$/\1/p,property/
--regex-objc=/^[[:space:]]*\@implementation[[:space:]]+(.*)$/\1/c,class/
--regex-objc=/^[[:space:]]*\@interface[[:space:]]+(.*)[[:space:]]+:.*{/\1/i,interface/
President Calvin Coolidge was known for his reticence. According to legend, at a party, a woman bet her friend that she could get him to speak to her anyway. She went up and said: “Hello, Mr. President, I bet my friend that I could get you to say three words to me.”
“You lose,” Coolidge replied, and walked away.
The International Obfuscated C Code Contest is back. Whew. For a while there I was afraid we’d suffer a dearth of obfuscated C code <g>
“Impossible to understand Javascript” is an understatement. Here’s the code
_=$_=+[],$=+!_,_$=!_+”,_$$=!$+”,__=({})+”,_$_=($/_)+”,__$=__[$+$+$+$+$];$_$=[][__$+__[$]+_$_[$]+__$+_$$[$]+_$[_]];$__=($_$+”)[$$$$=(($+$)+''+(($<<$)*($+$+$)))]+($_$+”)[$$$$-$]+_$$[$]+_$$[$+$];__$$=(__$=$_$+”)[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++];$_$()[_][$__](”+_$$[_]+__[$]+_$[$]+’($$=_,$$$=[];$$<($<<($+$+$));$$++)$$$[$$]=($<<$$)’);_$_$=$_$()[_][$__](”+_$$[_]+__[$]+_$[$]+’($$ ‘+_$_[($<<($+$))+$]+_$_[$]+’ $_$()[_])’+_$_[($<<($+$))+$]+_$$[_]+’($$[_]==_$$[$+$+$]&&$$[$]==$__[_]&&$$[$+$]==_$$[$+$+$])$$’);$__$=__$$+’ (){‘+_$[$]+_$[$+$+$]+_$[_]+__$$[$]+_$[$]+_$_[$]+’(‘;_$__=$_$()[_][$__](”+_$$[_]+__[$]+_$[$]+’($$ ‘+_$_[($<<($+$))+$]+_$_[$]+’ $_$()[_])’+_$_[($<<($+$))+$]+_$$[_]+’($$[_]==_$_$[($<<($+$))*($+$+$)]&&$$[$]==_$[$+$+$]&&$$[$+$]==_$[_]&&$$[$<<($+$)]==__[$])$$’);_$$$=$_$()[_][$__](”+_$$[_]+__[$]+_$[$]+’($$ ‘+_$_[($<<($+$))+$]+_$_[$]+’ $_$()[_])’+_$_[($<<($+$))+$]+_$$[_]+’($$[_]==__[$]&&$$[$]==_$_[$]&&$$[$+$]==__[$+$+$+$+$])$$’);__$_=$_$()[_][$__](_$_$[($<<($+$+$))-$]+_$[_]+_$[$]+_$_[$+$+$]+_$_[$]+_$_$[($<<($+$))*($+$+$)]+’.'+_$$[_]+_$[$]+__[$]+_$__[($+$+$+$+$)]+_$__[$+$+$]+_$$$[$+$+$]+_$$[$]+_$[$]+_$__[$+$+$]+__[$]+_$__[($+$+$+$+$)*($+$)]+_$[$+$+$]);;$_$()[_][$__](‘$_$_=’+__$$+’($$,$_$_$,$_$_$_$_){‘+_$[$]+_$[$+$+$]+_$[_]+__$$[$]+_$[$]+_$_[$]+’ $$.’+_$[$]+_$[$+$+$]+__$_($$$[($+$+$)*($+$)]+$$$[$+$+$+$+$]+$$$[($+$+$+$)])+_$$[$+$]+_$$[$]+_$$$[$+$]+_$[$+$+$]+’($_$_$,$_$_$_$_)’+'}’);_$$_=__$_($$$[$+$+$+$+$]+$+$);$_$$=__$_(($<<($+$+$+$))+(($<<($+$))+$+$+$)<<($+$))+_$$_;;___=__$_((($+$+$)+(($+$)*($+$+$+$+$)))*($+$+$));$_$()[_][$__](“($$_=”+$__$+”$_$_(‘_=$_=+[],$=+!_,_$=!_+______,_$$=!$+______,__=({})+______,_$_=($/_)+______,__$=__[$+$+$+$+$];$_$=[][__$+__[$]+_$_[$]+__$+_$$[$]+_$[_]];$__=($_$+______)[$$$$=(($+$)+______+(($<<$)*($+$+$)))]+($_$+______)[$$$$-$]+_$$[$]+_$$[$+$];__$$=(__$=$_$+______)[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++]+__$[$_++];$_$()[_][$__](______+_$$[_]+__[$]+_$[$]+___($$=_,$$$=[];$$<($<<($+$+$));$$++)$$$[$$]=($<<$$)___);_$_$=$_$()[_][$__](______+_$$[_]+__[$]+_$[$]+___($$ ___+_$_[($<<($+$))+$]+_$_[$]+___ $_$()[_])___+_$_[($<<($+$))+$]+_$$[_]+___($$[_]==_$$[$+$+$]&&$$[$]==$__[_]&&$$[$+$]==_$$[$+$+$])$$___);$__$=__$$+___ (){___+_$[$]+_$[$+$+$]+_$[_]+__$$[$]+_$[$]+_$_[$]+___(___;_$__=$_$()[_][$__](______+_$$[_]+__[$]+_$[$]+___($$ ___+_$_[($<<($+$))+$]+_$_[$]+___ $_$()[_])___+_$_[($<<($+$))+$]+_$$[_]+___($$[_]==_$_$[($<<($+$))*($+$+$)]&&$$[$]==_$[$+$+$]&&$$[$+$]==_$[_]&&$$[$<<($+$)]==__[$])$$___);_$$$=$_$()[_][$__](______+_$$[_]+__[$]+_$[$]+___($$ ___+_$_[($<<($+$))+$]+_$_[$]+___ $_$()[_])___+_$_[($<<($+$))+$]+_$$[_]+___($$[_]==__[$]&&$$[$]==_$_[$]&&$$[$+$]==__[$+$+$+$+$])$$___);__$_=$_$()[_][$__](_$_$[($<<($+$+$))-$]+_$[_]+_$[$]+_$_[$+$+$]+_$_[$]+_$_$[($<<($+$))*($+$+$)]+___.___+_$$[_]+_$[$]+__[$]+_$__[($+$+$+$+$)]+_$__[$+$+$]+_$$$[$+$+$]+_$$[$]+_$[$]+_$__[$+$+$]+__[$]+_$__[($+$+$+$+$)*($+$)]+_$[$+$+$]);;$_$()[_][$__](___$_$_=___+__$$+___($$,$_$_$,$_$_$_$_){___+_$[$]+_$[$+$+$]+_$[_]+__$$[$]+_$[$]+_$_[$]+___ $$.___+_$[$]+_$[$+$+$]+__$_($$$[($+$+$)*($+$)]+$$$[$+$+$+$+$]+$$$[($+$+$+$)])+_$$[$+$]+_$$[$]+_$$$[$+$]+_$[$+$+$]+___($_$_$,$_$_$_$_)___+___}___);_$$_=__$_($$$[$+$+$+$+$]+$+$);$_$$=__$_(($<<($+$+$+$))+(($<<($+$))+$+$+$)<<($+$))+_$$_;’,$_$()[_][$__](__$_(”+($<<($+$+$))+($+$),”+$+_+$,”+$+_+($+$+$),”+($+$+$+$+$+$)+($+$+$)*($+$+$),”+$+($+$)+_,”+$+$+($+$))+’(‘+__$_((($+$+$)+(($+$)*($+$+$+$+$)))*($+$+$))+’___’+__$_((($+$+$)+(($+$)*($+$+$+$+$)))*($+$+$))+’,'+__$_(”+($+$+$)+(($+$+$)*($+$+$)),”+$+_+($+$+$),”+$+_+($+$+$+$+$),”+($+$+$)+(($+$+$)*($+$+$)))+’)'),___)+’;___=__$_((($+$+$)+(($+$)*($+$+$+$+$)))*($+$+$));$_$()[_][$__](\”($$_=’+$_$_($_$_(($$_+”),_$$_,$_$$),$__$,_$$_+’+$__$+’+_$$_)+’)()’+_$$_+’)')})()”)
The 1st comment about sums it up “Looks like Brainfuck gone mad”. Eat that Obfuscated C programmers!
Now this really dates me. But in 1975, I got a tour of Xerox PARC when I was taking a summer course in computer architecture at UC Santa Cruz. Alan Kay showed us some of the early Alto machines. They were still having trouble getting a smooth phosphor coating on the custom-made page-sized CRTs. We saw the PARC 3mb/s Ethernet, which Kay described as “an Alohanet with a captive ether,” the first networked file server, and the first networked laser printer. It was clear this was the future, if the price could come down by about a factor of 10. Kay was hoping that some day a workstation might cost as little as a grand piano.
At Ford Aerospace, I was responsible for putting in the first Ethernet, around 1981. It was mostly “thick Ethernet” at 10mb/s. Ethernet cables weren’t standard items, but Ford Aerospace routinely built cables for satellite ground stations, so we had the appropriate cables made up and pulled through the telephone ducts run through the building’s concrete floors. I checked out a time-domain reflectometer from the measurement equipment pool and took a look at the cable. Cables ended in PL-239 coax connectors, and sections were joined with a barrel. The Ethernet tranceivers had SO-239 connectors on both ends, so the cable went through them. We used a vampire tap once or twice, but it didn’t work out as well. The TDR showed a transceiver as generating almost no reflections. But bending the cable tighter than a 1′ radius caused a noticeable impedance mismatch.
We were bothered that coax Ethernet wasn’t a balanced system. There’s a DC component to the signal, which means you can’t use decoupling capacitors between sections to get rid of hum. We spent time on grounding issues and looked at the cable signal with scopes a lot. Repeaters were very expensive then, and we were trying to avoid them.
The network interfaces were mostly 3Com boards. Our original network consisted of a PDP 11/70, a PDP 11/45, a VAX 11/780, and a PDP 11/34 used as a gateway to a 9600 baud leased line “backbone link” to Ford HQ in Dearborn MI. We later added four Sun 2 workstations and a Sun server. Everything ran TCP/IP. Ford HQ had a similar link to Ford Aerospace in Colorado Springs,which had an ARPANET IMP. So we could get to the ARPANET over a 9600 baud shared backbone. We could FTP files instead of mailing tapes! I used to Telnet into Stanford’s machines over that link.
I did a lot of work on 3COM’s TCP/IP implementation, which originally was totally incapable of coping with a mix of speeds in the network. That’s why I have those RFCs on network congestion with my name on them. This was before telephone de-regulation, and that 9600 baud leased line was expensive.
The article mentions that “There used to be a lot of fear, uncertainty, and doubt surrounding the performance impact of collisions.” There was a period around 1984-1990 when coax Ethernet performance in practice was much worse than theory predicted. The problem was finally figured out by Wes Irish at Xerox PARC. [google.com] It turns out that the defective design of a SEEQ Ethernet interface chip was causing the problem. As the state machine of the chip transitioned at the end of receiving a packet, there was a period of a few nanoseconds when the chip momentarily turned on the transmitter power, jamming the coax for a few nanoseconds. This reset the “quiet time” timer on all the other stations on the cable, causing them to ignore any following packet for several microseconds, after which they dropped back to the proper “look for sync” state. Back-to-back packets thus lost the second packet, which caused retransmissions and killed performance, but didn’t show up as a “collision” to the controller. The presence of any defective SEEQ chip anywhere on the network would cause this problem; it didn’t have to be the source or destination of the packet. Wes Irish obtained an LeCroy digital storage oscilloscope with a few megabytes of memory (those were exotic then), hooked it up to both ends of the Xerox PARC in-house Ethernet, and was able to see the problem happening. Watching both ends made it possible to calculate, from speed of light lag, which station was the problem.
Many people didn’t believe him at first. I and others were asked to come visit and look at the waveforms. And there was this spike, in the quiet time before the sync waveform that begins each packet. The spike was in a different place on the two traces from each end of the cable, so it was clear that the sender wasn’t causing the problem. Somebody else on the cable wasn’t playing by the rules. Big flap. Tends of thousands of Ethernet controllers had to be replaced.
Tom O’Folliard: What’s scum?
William H. Bonney: Well Tom, that’s bad types. Politicians, bankers, cattle-kings… Scum…
One of the notices on the side of the path leading to Elminster’s tower:
“No trespassing. Violators should notify next of kin. Have a pleasant day.”
My other favorite:
“Rumors of spike-filled pits along this path are almost totally false. Thank you for your caution.”
UEFI stands for “Unified Extensible Firmware Interface”, where “Firmware” is an ancient African word meaning “Why do something right when you can do it so wrong that children will weep and brave adults will cower before you”, and “UEI” is Celtic for “We missed DOS so we burned it into your ROMs”.
–Matthew Garrett