The Cave

12 May

Neil deGrasse Tyson – The Amazing Meeting 6

Neil speaking at TAM6, on a wide variety of topics. Fascinating and entertaining, as always.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
12 May

Neil deGrasse Tyson & Richard Dawkins – The Poetry of Science

Neil deGrasse Tyson and Richard Dawkins discuss biology and physics, on Jan 27, 2012. Fascinating.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
12 May

US Patent 8,171,351 Collecting information from user devices

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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
04 May

Teach Yourself Programming in Ten Years

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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
04 May

Hammer Principle

That’s neat.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
21 Mar

Naming Rights

“The British postage stamp is the only postage stamp in the world that does not list its country of origin.”

There’s a reason.

Neil DeGrasse Tyson is one of the brilliant lights of our time.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
03 Mar

AT&T

“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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
26 Feb

2012 or Never

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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
19 Feb

The Secret to Life, the Universe, and Everything

C8H10N4O2

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
18 Feb

A Million…

A Man said to god “What’s a million years to you?”
God said “A second.”
Then the man said to god “what’s a million dollars to you?”
God said “A penny.”
So the man said to god, “Would you give me a penny?”
God said “Of course I will. Just a second…”

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
11 Feb

Why Contracts Are Really Your Best Friend

This post is yet another example why a written contract is important for all business dealings. Even (especially) amongst friends.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
11 Feb

Objective-C Exuberant Ctags Regex

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/
FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
21 Jan

Calvin Cooledge

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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
09 Jan

Rule of Acquisition #109

Rule of Acquisition #109: Dignity and an empty sack are worth the sack.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
13 Nov

IOCCC is Back

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>

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
04 Sep

Obfuscated Quine

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! :-)

Technorati :
Del.icio.us :
Zooomr :
Flickr :

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
30 Jul

Ethernet, The Early Days

Wow

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.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
29 Jul

X-Men Born This Way

Creative. Parody of Lady Gag’s song.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
24 Jul

“Scum”

Tom O’Folliard: What’s scum?
William H. Bonney: Well Tom, that’s bad types. Politicians, bankers, cattle-kings… Scum…

Young Guns II

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
06 Jul

“No trespassing…”

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.”

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
19 Jun

Recent lunch conversation

S: Who is Barry White?
J: He’s to…relax the ladies…
S: But I have chloroform for that.

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
12 Jun

Women’s Dress Sizes Demystified

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
12 Jun

Star Pooh

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
27 May

UEFI

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

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare
12 May

Dr Doom is My New Hero

Spider Man: What about the exploding wall, and all that “Behold the grim visage of Doooom?” and … you blew up a wall!
Doom: Yes, that is how Doom enters a room. How do you do it?
Spider Man: Uh, through the door?
Doom: The door? Like a peasant?
– Avengers: Infinity Gauntlet

FacebookGoogle GmailGoogle BookmarksTechnorati FavoritesTwitterHotmailYahoo MailYahoo MessengerWordPressStumbleUponRedditShare

© 2012 The Cave | Entries (RSS) and Comments (RSS)

GPS Reviews and news from GPS Gazettewordpress logo