21 Jan
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.
Posted in General, Humor by: howard
No Comments
09 Jan
Rule of Acquisition #109: Dignity and an empty sack are worth the sack.
Posted in General, Humor by: howard
No Comments
13 Nov
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>
Posted in C++, General, Programming by: howard
No Comments
04 Sep
“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 : Javascript
Del.icio.us : Javascript
Zooomr : Javascript
Flickr : Javascript
Posted in General, Programming by: howard
No Comments
30 Jul
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.
Posted in General, Technology by: howard
No Comments
29 Jul
Creative. Parody of Lady Gag’s song.
Posted in General, Humor, Video by: howard
No Comments
24 Jul
Tom O’Folliard: What’s scum?
William H. Bonney: Well Tom, that’s bad types. Politicians, bankers, cattle-kings… Scum…
–Young Guns II
Posted in General, Humor by: howard
No Comments
06 Jul
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.”
Posted in General, Humor by: howard
No Comments
19 Jun
S: Who is Barry White?
J: He’s to…relax the ladies…
S: But I have chloroform for that.
Posted in General, Humor by: howard
No Comments
Posted in General by: howard
No Comments
Posted in General, Humor by: howard
No Comments
27 May
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
Posted in General, Humor, Technology by: howard
No Comments
12 May
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
Posted in General, Humor by: howard
No Comments
12 May
Why leap seconds exist, their benefits and problems, and the upcoming decision if they should be abolished or kept (or a 3rd option).
Personally I’m in the “Kill It” camp. Theoretically they’re relevant, but pragmatically they’re not, and the only ones who truly care about them have already moved on to other time systems. Time zones already muck up the solar-position-vs-time-of-day issue, so it’s not like leap seconds make it worse (or better).
Posted in General, Internet, Programming, Technology, Unix, Windows by: howard
No Comments
27 Mar
Fascinating conversation/interview between authors Barry Eisler and Joe Konrath.
Posted in Amazon, General by: howard
No Comments
25 Mar
Here:
Although the picosecond thing is silly, the New York Stock Exchange now operates a co-location facility in which each trading platform gets a uniform 35 microsecond latency for the incoming trade data. Some systems can turn around that data and do a trade within 12 microseconds Computers aren’t fast enough for this.
The latest thing is writing trading algorithms in Verilog and compiling them into an FPGA. [stoneridgetechnology.com]
That’s insane.
Posted in General, Technology by: howard
No Comments
Posted in General, News by: howard
No Comments
14 Mar
Wow. If this is accurate (and seems to be corroborated elsewhere), things are getting progressively worse.
I found the comments about the USS Ronald Reagan most surprising:
A U.S. military spokesperson had said that low-level radiation was detected both by navy ships and their accompanying aircraft, forcing a change of course of the 7th fleet, en route to Sendai. USS Ronald Reagan and sailors onboard were exposed to a month’s worth of radiation in an hour and the carrier was repositioned. 17 U.S. sailors were decontaminated after they and the 3 helicopters they were on were found to have been contaminated with low-levels of radioactive particulates.
Believable, but that points to much broader dispersal than I’d heard about.
Posted in General, News by: howard
No Comments
13 Mar
Fascinating post about how nuclear reactors work, Japan’s current problems and why they won’t go BOOM breeding generations of X-Men and luring Godzilla ashore.
Update: The article may be less informative than at first blush. After reading the (extensive) comments, the author may be a touch biased (pro-nuclear), so perhaps this isn’t the most accurate information. Sadly, it’s the most detailed, seemingly intelligeble, that I’ve been able to find in 2 days. As always, apply huge grain of salt, and Trust No One
Posted in Games, News by: howard
No Comments
13 Mar
A synopsis of the problem at Japan’s damaged nuclear power plant. It’s from yesterday morning, but still one of the most informtive tidbits I’ve been able to find. Maybe I need to go watch Fox News again?
It will take the media and Japan a while to circle around to what caused the explosion, so I’ll explain it now.
1. cooling circulation failed due to power loss.
2. reactor boiled off the coolant inventory and exposed the core
3. core overheated and damaged the fuel
4. the damaged fuel reacted with water vapor (zircaloy+H2O) and created a hydrogen bubble
5. the hydrogen burned (exploded, iow) and neatly removed the outer walls of the reactor building
The explosion you see in the videos aligns perfectly with the Fukushima Daiichi No.1 reactor building seen here [wikimedia.org] (forth square building from the left.)
The BBC has provided this incredible before/after photo [bbcimg.co.uk] where you can actually see the reactor building structure with the walls removed by the explosion: the metal framework is still intact.
The exact same thing happened with TMI-2 in 1979. The hydrogen burn occurred inside the containment dome. The Fukushima reactor doesn’t have such a dome, so the hydrogen accumulated in the reactor building.
Hydrogen burn isn’t a very energetic event, which is why the Reactor Building framework is still intact. This means the Reactor Vessel is still intact and bolted upright to the floor with the damaged core inside. The RV and the steel containment around it is a very robust container, much stronger than the framework of the building.
All cooling apparatus is gone. If the detonation didn’t disable it the fire will. So total core melt is almost certain.
TMI-2 melted 50% of the core which pooled at the bottom of the RV. The RV did not rupture despite the intense heat. It is possible this RV may also not rupture, especially if any cooling can be applied to the outer surface. If so then widespread intense contamination may be avoided.
If the RV does rupture then we’ll have molten corium pooling on the concrete floor uncovered before God and everyone. All bets are off at that point.
FYI the reactor is a GE Mark I BWR with steel containment. Details here [uiuc.edu](PDF). A very old, before-mandatory-concrete-containment-dome system.
Simply put, this reactor design (especially without the containment dome) is less safe than Three Mile Island. We (the world at large) really need to modernize our nuclear power plants. Unfortunately, that’s going to require building new reactors – we can’t practically afford the loss of generating capacity to take the existing ones off the grid that long – and there is, as always, a ridiculous amount of opposition, largely from luddites who wouldn’t know a molten salt reactor from a bomb shelter.
Posted in General, News by: howard
No Comments
12 Mar
Kim told me about her conversation today with David, all of 8 years old, interested in getting a pet.
Kim: You can have a fish.
David: But…they just swim around in the bowl and do nothing.
Kim: That’s right.
David: But…
Kim: That’s your choice.
David: Well I don’t want that.
Kim: That’s your choice too.
David: OK. So how about a turtle?
Kim: A turtle? Do you know how long turtles live?
David: No.
Kim: You go look it up on the computer with your father. No way. When you turn 16, and want to date girls, guess who’s going to be raising the turtle for the rest of its freaking 42 years? Nuh uh.
David: Other people have pets.
Kim: No dogs.
David: But…
Kim: Nicholas doesn’t have a dog. Not everyone has dogs, with a yard, and a big house for them to run around in. No dogs.
David: How about a hamster.
Kim: We eat hamsters.
Posted in General, Humor by: howard
No Comments
10 Mar
A comment in response to Miguel’s raving how C# is the one universal mobile programming language:
Saying that C# is nice because it works on all OS’s is like saying that anal sex is nice because it works on all genders.
Posted in C#, General, Humor, Mobile, Programming by: howard
No Comments
09 Mar
Another brilliant and entertaining insight by Linus:
> Wrong. __deprecated is not annoying enough.
Wrong.
The problem with __deprecated is that it is a F*CKING STUPID thing to
have, and I've wanted to remove it so many times.
It's annoying as hell, but it's annoying to the wrong people. It
doesn't annoy the people who need to fix things up (they may have one
or two cases they care about), it annoys everybody ELSE (who sees all
the cases that it warns about, whether they are able to do something
about it or not).
THAT is the fundamental problem with __deprecated. It's annoying, but
the annoyance is spread out entirely incorrectly. Even to people for
whom one of the warnings might be relevant, it's pointless, because
all the non-relevant cases it triggers.
So never _ever_ mark anything "deprecated". If you want to get rid of
something, get rid of it and fix the callers. Don't say "somebody else
should get rid of it, because it's deprecated".
And yes, next time this discussion comes up, I _will_ remove that
piece-of-sh*t. It's a disease. It's just a stupid way to say "somebody
else should deal with this problem". It's a way to make excuses. It's
crap. It was a mistake to ever take any of that to begin with.
Posted in General, Programming by: howard
No Comments
24 Feb
‘Twould do the Merovingen proud:
I love Perl programs, like I love the Perl stack-traces. I have sampled every language, Perl is my favorite. Fantastic language. Especially to curse with. It’s like wiping your ass with unix.”=~(‘(?{‘.(‘/_)@){‘^’_-@.][‘).’”‘.(‘___[^’^'-*=”|’).’,$/})’). I love it.
Posted in General, Humor, Programming by: howard
No Comments
Posted in General, Internet by: howard
No Comments