<?xml version="1.0" encoding="utf-8"?>
        <?xml-stylesheet type="text/css" href="http://bbot.org/blog/styles/feed.css"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title>Filed under: nerdery | the bblog</title>
<atom:link href="http://bbot.org/blog/archives/nerdery/index-rss.xml" rel="self" type="application/rss+xml" />
<link>http://bbot.org/blog</link>
<description>complaining, nerdery, errata</description>
<dc:language>en-us</dc:language>
<dc:creator>Samuel Bierwagen</dc:creator>
<dc:date>2012-05-11T00:27:47-04:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />

<item>
<link>http://bbot.org/blog/archives/2012/04/17/gcc_why_you_gotta_hurt_me_so/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2012/04/17/gcc_why_you_gotta_hurt_me_so/</guid>
<title>gcc why you gotta hurt me so</title>
<dc:date>2012-04-17T08:11:59-04:00</dc:date>
<dc:creator>Samuel Bierwagen</dc:creator>
<dc:subject> nerdery</dc:subject>
<description><![CDATA[<p>I got tired of being apparently the last person in the world not to know C++. So I'm struggling through one of those stupid "Teach yourself X in only one hour a day" books, and because I'm me, I'm wasting a lot of time haring off on pointless tangents. Like, for one example, the auto operator.</p>
<p>From <a href="http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/">"The Biggest Changes in C++11 (and Why You Should Care)":</a></p>
<blockquote>
<p>In C++03, you must specify the type of an object when you declare it. Yet in many cases, an object&rsquo;s declaration includes an initializer. C++11 takes advantage of this, letting you declare objects without specifying their types:</p>
<code>auto x=0; //x has type int because 0 is int<br /> auto c='a'; //char<br /> auto d=0.5; //double<br /> auto national_debt=14400000000000LL;//long long</code></blockquote>
<p>This sounded like a new and innovative way to shoot yourself in the foot, so I gave it a try. And it works great! For&nbsp;<em>those examples,</em> and <em>those examples only.</em></p>
<pre class="prettyprint">auto Array[5] = { 1, 2, 3, 4, 5 };</pre>
<p>You'd think it would be pretty obvious that I want a five element array, initialized with 1 ... 5, right?</p>
<pre>$ g++ -pedantic -std=gnu++0x -Wall -Wextra -Werror foo4.cc
foo4.cc:5:33: error: unable to deduce &lsquo;std::initializer_list [5]&rsquo; from &lsquo;{1, 2, 3, 4, 5}&rsquo;</pre>
<p>C'mon, man. Please?</p>
<p>(There's also a really neat GCC feature called <a href="http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html#Designated-Inits">designated initializers,</a> which offers an abridged syntax for initializing an array with sequential values. C only, sucker! Anyone using C++ can fuck off, apparently.)</p>
<p>GCC is also really bad at reading minds:</p>
<pre class="prettyprint">auto a = 3;
auto b = 2;

int main()
{
  cout &lt;&lt; a / b &lt;&lt; endl;
}</pre>
<p>Which, of course, outputs:</p>
<pre>$ compile foo5.cc &amp;&amp; ./a.out
1</pre>
<p>This is because an operation on an <code>int</code> will always output another <code>int</code>. I didn't really think it would be smart enough to use <code>float</code>s here, but I had hope.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2012/03/18/fun_facts/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2012/03/18/fun_facts/</guid>
<title>fun facts</title>
<dc:date>2012-03-18T07:22:43-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> nerdery</dc:subject>
<description><![CDATA[<p>Two things on Wikipedia today which I found mildly amusing.

<p>Did you know: The numeral system which the Western world refers to as <a href="https://en.wikipedia.org/wiki/Arabic_numerals">"Arabic"</a> numbers, are actually called "Indian" numbers by the Arab world? The numeral system used by Arabs is the <a href="https://en.wikipedia.org/wiki/Eastern_Arabic_numerals">Arabic-Indic system,</a> which shares a couple glyphs with Hindu-Arabic numerals, but, hilariously, represent completely different numbers? ٩ is 9, logically enough, but ٦ is 6, ٥ is 5, and ٤ is 4!

<p>Furthermore, did you know that India has <a href="https://en.wikipedia.org/wiki/Indian_numerals">a whole pile of numbering systems,</a> presumably just to confuse foreigners?

<p>Also, everybody older than 18 remembers the Y2K panic; when on January 1st, 2000, two digit year representations rolled over, and widespread chaos was predicted to occur when various computer systems would stop working. Of course, thanks to a great deal of money being spent, this did not happen. (Though there were some <a href="http://www.jwz.org/blog/2012/02/pre-millennium-tension-the-dali-clock-y2k-easter-egg/">pranks.</a>)

<p>Slightly more au courant nerds are aware of the year 2038 problem, when 32-bit Unix timestamps roll over. But did you know: <a href="https://en.wikipedia.org/wiki/Year_32,768_problem">there are a whole bunch of these problems?</a>

<p>In 2036, <a href="https://en.wikipedia.org/wiki/Network_Time_Protocol#NTP_timestamps">the timestamps in the NTP protocol,</a> which has been used for the last 25 years to synchronize the clocks of more or less every server on the internet, will roll over. On September 17, 2042, the internal clock used by IBM mainframes will roll over. (System/360 has <a href="http://qntm.org/zomg">a number of delightful idiosyncrasies,</a> thanks to 40 years of cruft.) The year field used by the Windows FAT filesystem will roll over in 2107. Four digit years will roll over in the year 10,000. Fun!

<p>Various minor errors have resulted from Y2K-like problems, but on other dates. Taiwan uses a calendar with year 1 set to 1912, which meant they saw their first three digit year in 2011: <a href="https://en.wikipedia.org/wiki/Y1C_Problem">the Y1C problem.</a> Some Unix programs threw errors on the <a href="https://en.wikipedia.org/wiki/Unix_billennium">Unix Billennium,</a> when Unix time hit 1000000000 on September 9th, 2001. (The events of two days later slightly overshadowed this.)

<p>Did you know: It's a miracle anything works at all?]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2012/02/29/protip/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2012/02/29/protip/</guid>
<title>protip</title>
<dc:date>2012-02-29T17:16:59-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> nerdery</dc:subject>
<description><![CDATA[<p>Chainsawsuit 2012/02/29, <a href=http://chainsawsuit.com/2012/02/29/thanks-sybelifex/>"thanks sybelifex":</a>

<p><img width=700 height=250 src=http://bbot.org/blog-images/20120229.png>

<p>(<a href=http://optipng.sourceforge.net/>Optipng</a> made this file <a href=http://bbot.org/optipng.txt>45.46% smaller,</a> by the way. For a webcomic, that'd, what, reduce the total bandwidth bill by half?)

<p>Alright, Kris, this is <a href=http://chainsawsuit.com/tag/medication/>the third comic</a> you've done now about drug ads, and I'm gonna let you in on a little secret, here: That list of side effects is <i>legally mandated.</i>

<p>The Food and Drug Administration, shock of the century here, regulates <a href="https://en.wikipedia.org/wiki/Drug_advertising">direct to consumer drug advertising.</a> They've got <a href="http://www.fda.gov/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/ucm064956.htm">a bunch of boring legal documents about this.</a>

<p>From <a href="http://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/UCM070065.pdf">"Consumer-Directed Broadcast Advertisements":</a>

<blockquote>The purpose of this guidance is to describe an approach that FDA believes can fulfill the requirement for adequate provision in connection with consumer-directed broadcast advertisements for prescription drug and biological products. The approach presumes that such advertisements:<br><br>

[...]<br><br>

Present a fair balance between information about effectiveness and information about risk.<br><br>

  Include a thorough major statement conveying all of the product’s most important risk information in consumer-friendly language.<br><br></blockquote>

<p>They don't throw in that long list of side effects just for shits and giggles. They do it because it's the law! Jokes about side effect disclosures are about as hilarious as, "Wow, what's the deal with the Surgeon General's Warning on cigarette packs?" or "Isn't it weird that bottles of bleach are labeled <i>poison?</i> Isn't that <i>weird?</i>

<p>This ignores the fact that "side effect jokes" <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/SideEffectsInclude">have been done a million, billion times before.</a> This is not the cutting edge of humor. Leave that dead horse alone. It no longer requires beating.]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2012/02/24/the_pinnacle_of_evolution/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2012/02/24/the_pinnacle_of_evolution/</guid>
<title>the pinnacle of evolution</title>
<dc:date>2012-02-24T21:43:44-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, Engineering, nerdery</dc:subject>
<description><![CDATA[<p>(<i>Attention conservation notice:</i> Nothing said here is at all novel.)</p>

<p>So Maciej Cegłowski <a href="http://idlewords.com/2012/02/bia%C5%82owie%C5%BCa_forest.htm">has updated his blog</a> for the first time in four months. Upon encountering the novel task of "actually generating HTML", his gimcrack blogging software sprayed a couple random posts across his RSS feed, one of which was the venerable <a href="http://idlewords.com/2010/03/scott_and_scurvy.htm">2010 essay on scurvy in Antarctic exploration.</a> Which, combined with some other things I've read recently, got me to thinking.

<p><a href="https://en.wikipedia.org/wiki/Vitamin_C">Vitamin C</a> is just C<sub>6</sub>H<sub>8</sub>0<sub>6</sub>. Carbon, hydrogen, oxygen. All the atoms are there in glucose, just in a slightly different pattern. You could drink sugar water all day and never get scurvy, if we could synthesize it ourselves.

<p>Except we can't, because ten million years ago a primate species discovered that they ingest enough vitamin C in the natural environment to get by without making it themselves.

<p>A regular sideshow on my other blog is finding terrible Tumblr themes, <a href="http://c1qfxugcgy0.tumblr.com/tagged/CSS-disasters">then picking apart their CSS.</a> I've learned a lot about CSS in the process, in the <a href="http://richrap.blogspot.com/2011/10/art-of-failure-when-3d-prints-go-wrong.html">"gaze upon this disaster, young one, and learn well its lessons"</a> sense. But even the most incompetently written theme isn't as poorly designed as <a href="https://en.wikipedia.org/wiki/Vasopressin">vasopressin,</a> which, among other things, controls:

<ol>
<li>Water permeability of distal tubule and collecting duct cells in the kidney.
<li>Increasing permeability of the inner medullary portion of the collecting duct to urea by regulating the cell surface expression of urea transporters.
<li><i>Memory formation.</i>
<li>Peripheral vasoconstriction as a response to blood loss from serious injury.
<li><b><i>Pair bonding.</i></b>
</ol>

<p>The same hormone that controls your blood pressure also determines if you can <i>form a relationship.</i>

<p>From <a href="https://en.wikipedia.org/wiki/Arginine_vasopressin_receptor_1A">"Arginine vasopressin receptor 1A":</a>

<blockquote>Homozygosity in allele 334 of RS3 is associated in men (but not women) with problems with pair-bonding behavior, measured by traits such as partner bonding, perceived marital problems, marital status, as well as spousal perception of marital quality.[19]<br><br>

In a study of 203 male and female university students, participants with short (308-325 bp) vs. long (327-342) versions of RS3 were less generous, as measured by lower scores on both money allocations in the dictator game, as well as by self-report with the Bardi-Schwartz Universalism and Benevolence Value-expressive Behavior Scales; although the precise functional significance of longer AVPR1A RS3 repeats is not known, they are associated with higher AVPR1A postmortem hippocampal mRNA levels.[5]</blockquote>

<p><i>Who the fuck designed this?</i> The answer is, of course, "nobody". The <a href="http://lesswrong.com/lw/kr/an_alien_god/">blind idiot god</a> of evolution cares not at all for <a href="https://en.wikipedia.org/wiki/Separation_of_concerns">separation of concerns,</a> or <a href="http://www.catb.org/jargon/html/E/elegant.html">design elegance,</a> it just cares about how many offspring are produced. For evolution, the person who died at the age of 29, with six children, and the person who lived for two hundred years and won six dozen Nobel prizes, but never had children, it considers the latter person to have <i>failed.</i>

<p>It's even a mistake to think of evolution as an "entity" with "intent" or "purpose": evolution is the simple historical fact that the genes of the organisms which produce more offspring are more frequent in the general population. And so we have <a href="http://sabre.ucsf.edu/docs/Science-2011-Wu-243-7.pdf">white blood cells that trigger diabetes when they <i>don't</i> have parasites to combat,</a> or the thousand and one autoimmune diseases of an environment that is <a href=http://en.wikipedia.org/wiki/Hygiene_hypothesis>too clean:</a> the blind flailing of an immune system fighting a battle that's already won.

<p>The human body is the ultimate <a href=http://en.wikipedia.org/wiki/Dependency_hell>tangle of dependencies,</a> nobody sat down with a clean sheet of paper and said, "Alright, I'll design this anthropomorphic replicator <a href=http://en.wikipedia.org/wiki/Gut_flora>so that bacteria outnumber the endogenous cells 10 to 1.</a>" No, of course not! But bacteria were endemic in the ancestral environment, and so they colonized the human body, just as they've colonized every square millimetre on the entire planet.

<p>It's almost amusing to watch the naturists <a href=http://en.wikipedia.org/wiki/Probiotics>try to spin this,</a> as if it's a good thing that fully 30% of fecal mass is bacteria! You had to <i>eat</i> that food, yet it's being wasted on making bacteria. A prime example of <a href=http://en.wikipedia.org/wiki/Hill_climbing>local maxima.</a> You could imagine a mutant human with stomach enzymes that could digest oligosaccharides itself, without needing bacteria-- but the bacteria are already there. There's no fitness advantage, all paths lead down from there, and evolution has no foresight. You need two unlikely mutations to occur in the same individual at the same time (oligosaccharidease and an immune response to whatever oligosaccharide bacteria we already use) to acquire a fitness advantage, and that coincidence will be vanishingly rare.

<p>A pretty safe bet is that two hundred years from now, the idea of "vitamins" will be a quaint anachronism. Having to consume minerals is going to <a href=http://en.wikipedia.org/wiki/Nuclear_transmutation>be with us for a while,</a> barring really surprising breakthroughs in nuclear reactor miniaturization; but the need to periodically ingest acorbic acid is a bug, which will be patched sooner rather than later.

<p><b>EDIT:</b> There were about a dozen comments calling out how terrible this post looked on mobile browsers. Sorry, guys! Fixed.]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2012/02/04/oh_boy_space_marines/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2012/02/04/oh_boy_space_marines/</guid>
<title>oh boy, space marines</title>
<dc:date>2012-02-04T05:01:43-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> nerdery</dc:subject>
<description><![CDATA[<p>Alright, no. <a href=http://www.rockpapershotgun.com/2012/02/04/aliens-colonial-marines-gets-shooty-footage/>I'm not letting this one past.</a>

<p>Just how many Aliens games have there been, now? Answer: <a href=https://en.wikipedia.org/wiki/List_of_Alien_and_Predator_games>a shitload.</a> <em>Thirty eight!</em> And this is just counting the <em>official</em> ones. How about the Starcraft series, which is Aliens with the serial numbers filed off, or Alien Swarm, which is basically "Top-down L4D, with aliens". Then there's the Warhammer 40,000 franchise, with its Space Marines and Tyranids. Then there's the Doom series, and the Quake series after it. The Halo series. <a href=http://tvtropes.org/pmwiki/pmwiki.php/Main/SpaceMarine>The ten billion other variations on the same theme.</a>

<p>Yet another video game where space marines kill aliens does not seem to me like a rich, untapped vein of creative potential. That vein has been tapped, then mined out, then strip mined, then all the rock was dug out down to the mantle, which glares at us, a great red baleful eye, as if to dare humanity to produce one more game where the <a href=http://tvtropes.org/pmwiki/pmwiki.php/Main/ASpaceMarineIsYou>voiceless protagonist communicates with high command over a radio, after the rest of his team was wiped out.</a>

<p>This has been <em>done before.</em> Why is it being <em>done again?</em>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2011/11/17/table_of_the_day/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2011/11/17/table_of_the_day/</guid>
<title>table of the day</title>
<dc:date>2011-11-17T19:02:58-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, nerdery</dc:subject>
<description><![CDATA[<p>I've seen a lot of neat tables in my day, but this one is really something else.</p>

<p><img alt="Black holes" src="http://bbot.org/blog-images/black-hole-table.png"></p>

<p>(From <a href="http://arxiv.org/abs/0908.1803v1">"Are Black Hole Starships Possible?",</a> 2009)</p>

<p>It's not every day you learn that a one-attometre black hole would mass 673,000 tonnes, and radiate 129 petawatts of Hawking radiation. Some of that's in fairly harmless neutrinos, but the 15.7 gigaelectronvolt (GeV) gamma rays most decidedly <em>ain't.</em> (The gamma radiation coming off of a mass of Cobalt-60, (which is <a href="http://www.wired.com/magazine/2011/10/ff_radioactivecargo/all/1">excitingly radioactive</a>) by comparison, is a mere 1.33 MeV, 11,804 times less energetic. Attometre-gauge black holes pack a <em>punch.</em>)</p>

<p>The paper makes a pretty good case that using a microscopic black hole as a starship drive is at least physically <em>possible,</em> though there's a whole host of amusing practical problems that should be of any interest to the aspiring megaproject engineer with a couple <a href="https://secure.wikimedia.org/wikipedia/en/wiki/State_vector">state vector</a> backups safely stored behind a kilometre of lead shielding.</p>

<p>Firstly is the problem of <em>making</em> them. Apparently Messrs. Crane and Westmoreland are the first people to seriously consider how to generate an artificial black hole, (!) and they conclude that the most practical method (!!) is "by firing a huge number of gamma rays from a spherically converging laser." (!!!)</p>

<p>One can easily imagine just <em>how</em> huge this would have to be, of course, since you're aiming to get the energy density of a couple cubic attometres high enough to <em>spontaneously generate an object that masses 673,000 tonnes.</em></p>

<p>Once you've built your absolutely gigantic gamma ray laser array, and accompanying solar panel satellite well within the orbit of Mercury, you get to the fun part of calibrating the thing.</p>

<p>The best case scenario is that you generate a fairly large black hole, radiating at a sedate 130 petawatts or so. But if you don't get the power density high enough, then you might end up with a <em>smaller</em> black hole. The smaller the black hole, the more energy it radiates, and the faster it evaporates. At .9 attometres, it radiates 160 petawatts. At .6, 367 petawatts. At .3, 1527. At .16, <strong>5519 petawatts</strong> and a lifetime measured in <strong>days!</strong> It's a short and steep slope to kaboomville. You can see here that a misaligned laser array is mostly a big machine for producing gigantic explosions.</p>

<p>The authors helpfully point out that if you're worried about the radiation flux affecting the Earth, you can just move evaporating black holes to the other side of the Sun. Which reminds me of a famous maxim: if you're using a <em>star</em> as <em>radiation shielding,</em> then you're having a fun time.</p>

<p>Then there's the problems of how to use something that mostly shines in the gamma ray spectrum as a propulsion device, and how to postpone the inevitable kaboom-date. You wouldn't think this would be a problem, since the popular conception of a black hole starts and ends with "it eats things", but take another look at that table. The attometre hole loses 1.43 kilograms a second to Hawking radiation. How are you going to cram 1.43 kilograms of mass into a point 2 attometres across?</p>

<p>The authors, who I absolutely cannot fault in the "imagination" or "audacity" departments, conclude that "this point must remain as a challenge for the future."</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2011/11/11/guerilla_archiving_i/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2011/11/11/guerilla_archiving_i/</guid>
<title>guerilla archiving I</title>
<dc:date>2011-11-11T08:10:36-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, nerdery</dc:subject>
<description><![CDATA[<p>Remember when <a href="http://bbot.org/blog/archives/2011/01/17/more_fun_with_wget/">I downloaded everything2.com</a> and a dozen people sent me screamingly angry emails, and the whole thing was generally stressful and unrewarding?</p>

<p>Well shit, let's do that again, but with a <a href="http://archiveofourown.org/">a different site.</a> This time, though, I sent them an email first:</p>

<blockquote><p>Hi, I'm Sam Bierwagen, a volunteer with the Archiveteam project. (<a href="http://archiveteam.org/" >http://archiveteam.org/</a>) We make independent backups of sites of historical or cultural interest that, for whatever reason, (are being shut down by yahoo, like <a href="http://archiveteam.org/index.php?title=Geocities" >Geocities</a>; or are being crippled by the host company, like <a href="http://archiveteam.org/index.php?title=Delicious" >Delicious</a>) are at risk of disappearing. AO3 is dedicated to hosting copyright-infringing content, and depends on donations to keep operating; a combination that, in my experience, does not result in spectacular longevity.</p>

<p>Typically, we operate under extreme time pressure, which requires tactics that tend to generate some friction with operators that don't appreciate a dozen pageloads per second from our web spiders. Even extremely conservative spidering jobs can impact a site negatively, if done via an unusual API. (I downloaded all two million pages of everything2.com at the pace of one per second, which averaged out to three kilobytes per second, and took a full month; yet apparently was enough to crush their antiquated database backend.)</p>

<p>I've had enough legal threats to last me a lifetime, so I'm trying a softer approach this time. We're looking for database dumps, like the ones wikipedia publicly offers. (<a href="http://dumps.wikimedia.org/" >http://dumps.wikimedia.org/</a>)</p>

<p>Have any?</p></blockquote>

<p>I'll give them a week.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2011/11/10/thank_you__xxx/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2011/11/10/thank_you__xxx/</guid>
<title>thank you, .xxx</title>
<dc:date>2011-11-10T05:51:33-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, nerdery</dc:subject>
<description><![CDATA[<p>Something amusing one of my <a href="https://plus.google.com/106206762131663008216/posts">eagle-eyed readers</a> spotted: the <a href="http://about.xxx/">about page</a> for the new .xxx TLD has <a href="http://about.xxx/images/home_landrush_is_here.jpg">a banner image</a> with a couple example domains on it.</p>

<p><img src="http://bbot.org/blog-images/xxx1.png"></p>

<p>Wait a minute. What's that domain right there?</p>

<p><img src="http://bbot.org/blog-images/xxx2.png"></p>

<p>Oh boy. Glad to see my name has joined the hallowed company of "milf", "nude" and "gays" as "extremely stereotypical porn keywords."</p>

<p>Now, I didn't bother registering any other domains besides bbot.org. Why? Firstly, sour grapes.</p>

<p>I started using "bbot" way back <a href="http://everything2.com/title/bbot">in 2003,</a> but I didn't get around to registering the domain until 2005, which was real late in the game for four (ha) letter domain names. (My advice to 16-year-olds: <em>register that domain name you're thinking of.</em> Don't wait. Do it now. If you don't have your own bank account, then go to a grocery store and pick up a <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Debit_card#Prepaid_debit_cards" >prepaid debit card.</a> If you're 12, do the same thing, but try not to use a regrettable name. If you're six months old, <a href="http://www.mediapost.com/publications/article/131655/">then do the same thing.</a> Most people get by just using Facebook as their canonical internet presence, because most people are stupid. Facebook is a for-profit company, and you really don't want a for-profit company owning your name.)</p>

<p>This meant that I didn't even have the <em>option</em> of registering the other permutations of bbot.org. They're all taken.</p>

<p>Secondly, trying to register every single variation on a name is an exercise in futility. There's <a href="https://secure.wikimedia.org/wikipedia/en/wiki/List_of_Internet_top-level_domains">280 top level domains.</a> Are you going to register all of them?</p>

<p>Then there's <a href="http://www.wired.com/threatlevel/2011/09/doppelganger-domains/">typosquatting,</a>where attackers register misspelled versions of your domain. How many possible misspellings are there? <em>Then</em> there's <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Lamparello_v._Falwell">registering variations of your domain,</a> or <em>X-</em>sucks.com, etc etc etc.</p>

<p>This is all a waste of time. Nobody types in domain names anymore, they just use google, or a bookmark, or the browser history. It's just a <a href="http://www.cauce.org/2011/04/impenetrable-processes-and-fools-gold-at-icann.html">cynical money grab,</a> siphoning money from large corporations that are still under the delusion that they can manage their brand on the global internet.</p>

<p>But I might have to register bbot.xxx.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2011/11/05/shooting_yourself_in_the_foot_with_great_verve_and_accuracy/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2011/11/05/shooting_yourself_in_the_foot_with_great_verve_and_accuracy/</guid>
<title>shooting yourself in the foot with great verve and accuracy</title>
<dc:date>2011-11-05T13:28:54-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, nerdery</dc:subject>
<description><![CDATA[<p>So I was doing my usual morning routine, which is looking at the tumblr themes of <a href="http://barkbarkbarkbarkbarkbarkbarkbark.tumblr.com/">homestuck fans</a>&nbsp;while sighing heavily, when I noticed something even more egregiously stupid than the usual fare.</p>
<p>That page loads 322 files. (Ugh) One of them is... different.</p>
<p><img src="http://bbot.org/blog-images/tumblr_lu74d5ni2f1r1qhce.png" /></p>
<p>It would save <em>118kb?</em>&nbsp;But wait, judging from the filename, that's a 40x40 avatar image!</p>
<p>Turns out, in total, it's <a href="http://28.media.tumblr.com/avatar_c5ee131b70d0_40.png">one hundred and twenty one fucking kilobytes.</a> Running it through <a href="https://github.com/msanders/PNGSquash">PNGsquash</a> takes it down to 3.54 kilobytes. The old file is <em>thirty four times bigger</em>.&nbsp;Just for shits and giggles, I popped it into gimp and saved it as an entirely uncompressed 32-bit BMP file. Here it is:</p>
<p><img src="http://bbot.org/blog-images/tumblr_lu74jkIKPw1r1qhce.bmp" /></p>
<p>Double the size! Awful, terrible! It's now 6.3 kilobytes.</p>
<p>Now, not everyone can be as awesome as me, and use a <a href="http://25.media.tumblr.com/avatar_9c6643c3037e_64.png">296 byte avatar image</a>, but still, a 121 kilobyte 40x40 image file is a bit bloody much. Let's run it through <a href="http://www.stillhq.com/pngtools/">pngchunks</a>:</p>
<pre>Chunk: Data Length 13 (max 2147483647), Type 1380206665 [IHDR]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IHDR Width: 40
  IHDR Height: 40
  IHDR Bitdepth: 8
  IHDR Colortype: 6
  IHDR Compression: 0
  IHDR Filter: 0
  IHDR Interlace: 0
  IHDR Compression algorithm is Deflate
  IHDR Filter method is type zero (None, Sub, Up, Average, Paeth)
  IHDR Interlacing is disabled
  Chunk CRC: -1929463699
Chunk: Data Length 106022 (max 2147483647), Type 1346585449 [iCCP]
  Ancillary, public, PNG 1.2 compliant, unsafe to copy
  ... Unknown chunk type
  Chunk CRC: -1377520713
Chunk: Data Length 6 (max 2147483647), Type 1145523042 [bKGD]
  Ancillary, public, PNG 1.2 compliant, unsafe to copy
  ... Unknown chunk type
  Chunk CRC: -113001601
Chunk: Data Length 9 (max 2147483647), Type 1935231088 [pHYs]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 1976496277
Chunk: Data Length 6991 (max 2147483647), Type 1951945850 [zTXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 1156069395
Chunk: Data Length 6313 (max 2147483647), Type 1951945850 [zTXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: -331828581
Chunk: Data Length 52 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: -1807344212
Chunk: Data Length 1491 (max 2147483647), Type 1951945850 [zTXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 1166967249
Chunk: Data Length 3325 (max 2147483647), Type 1413563465 [IDAT]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IDAT contains image data
  Chunk CRC: -384872633
Chunk: Data Length 37 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 437683276
Chunk: Data Length 37 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 1800092912
Chunk: Data Length 17 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 745887135
Chunk: Data Length 32 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: -376046480
Chunk: Data Length 0 (max 2147483647), Type 1145980233 [IEND]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IEND contains no data
  Chunk CRC: -1371381630</pre>
<p>As you would know if you had read <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Portable_Network_Graphics">the wikipedia article on PNG</a>, (Neil also has a <a href="http://www.hackerfactor.com/blog/index.php?/archives/252-PNG-and-Cameras.html">good overview</a>&nbsp;of the format) it's one of the modern "container" types, with various types of chunks, most of them compressed with DEFLATE (which most people know as gzip). This is why compressing a PNG file does little to nothing: it's already compressed. PNGchunks just lists the chunks inside the container format.</p>
<p>As wikipedia will tell you, there's four critical chunks, IHDR, (header) PLTE, (palette) IDAT, (the actual image) and IEND. (image end) This image doesn't have a palette, since it's in full 24-bit RGB color. Here's IDAT, again:</p>
<pre>Chunk: Data Length 3325 (max 2147483647), Type 1413563465 [IDAT]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IDAT contains image data
  Chunk CRC: -384872633</pre>
<p>3,325 bytes. That makes sense.</p>
<p>Then there's 8 tEXt and zTXt fields. One contains EXIF metadata, one contains&nbsp;separate&nbsp;(?) IPTC XMP metadata. Then there's what is probably another copy of the image, in Adobe 8BIM format. These, combined, use up 14,970 bytes, four and a half times bigger than the image itself.</p>
<p>That's dumb. But it gets dumber. So far we've only accounted for 18,308 bytes of the file. But if we look at the chunk list again...</p>
<pre>Chunk: Data Length 106022 (max 2147483647), Type 1346585449 [iCCP]
  Ancillary, public, PNG 1.2 compliant, unsafe to copy
  ... Unknown chunk type
  Chunk CRC: -1377520713</pre>
<p>That, my friends, is a 106 kilobyte Kodak sRGB color profile for a 3 kilobyte image file. Gaze in awe.</p>
<p>This is not exactly an unknown problem. Google <a href="https://code.google.com/speed/page-speed/docs/payload.html#CompressImages">constantly harps</a>&nbsp;on optimizing images, but&nbsp;Tumblr blindly reuses images that its users hand it. This makes me sad.</p>]]></description>

</item>
<item>
<link>http://bbot.org/blog/archives/2011/09/29/do_not_buy_reamde/</link>
<guid isPermaLink="true">http://bbot.org/blog/archives/2011/09/29/do_not_buy_reamde/</guid>
<title>do not buy REAMDE</title>
<dc:date>2011-09-29T14:50:05-04:00</dc:date>
<dc:creator><a href=&quot;http://bbot.org/&quot; rel=&quot;author&quot;>Samuel Bierwagen</a></dc:creator>
<dc:subject> important, nerdery</dc:subject>
<description><![CDATA[<p>Neal Stephenson's last few books have not been good. But his latest cinderblock, <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Reamde">REAMDE,</a> is bad in an altogether different manner from the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/The_Baroque_Cycle">Baroque Cycle,</a> or <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Anathem">Anathem.</a>

<p>At the turn of the millennium, Neal wrote <a href="http://www.amazon.com/gp/product/0553380958/ref=as_li_ss_tl?ie=UTF8&tag=bbotorg-20&linkCode=as2&camp=217145&creative=399369&creativeASIN=0553380958">Snow Crash</a><img src="http://www.assoc-amazon.com/e/ir?t=bbotorg-20&l=as2&o=1&a=0553380958&camp=217145&creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and <a href="http://www.amazon.com/gp/product/0060512806/ref=as_li_ss_tl?ie=UTF8&tag=bbotorg-20&linkCode=as2&camp=217145&creative=399369&creativeASIN=0060512806">Cryptonomicon.</a><img src="http://www.assoc-amazon.com/e/ir?t=bbotorg-20&l=as2&o=1&a=0060512806&camp=217145&creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> These two books are straight up, no kidding, masterpieces. I so very rarely have occasion to speak of creative works that aren't complete piles of shit on this blog that I could talk at great and tedious length about the overwhelming genius of both books, but I won't. These novels pretty much created the category of "nerd philosopher"[1], and catapulted him to the top, next to <a href="http://yudkowsky.net/">Eliezer Yudkowsky,</a> <a href="http://www.idlewords.com/">Maciej Cegłowski,</a> <a href="http://paulgraham.com/articles.html">Paul Graham</a> and <a href="http://www.catb.org/~esr/">Eric Raymond.</a>

<p>After writing these savagely brilliant, enormously <em>relevant</em> novels, Stephenson essentially said "Thank god <em>that's</em> over, now it's time to write what I <em>really</em> want." And what he really wanted to write was The Baroque Cycle and Anathem.</a> These are also genius, insofar as Stephenson totally gave up on making anything readable, or interesting; and instead pounded out a couple million words that only he, personally, wanted to read. But despite their numerous failures, they are very obviously <em>pet projects.</em> Stephenson wanted to write about some very big ideas, so he did, completely ignoring the matter of convincing people to buy them.

<p>And then we have <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Reamde">REAMDE.</a> It's 1056 pages of generic techno-thriller, with a whole lot of <em>action</em> but not much actually <em>happening.</em> The vast majority of the book is taken up by viewpoint character A being thrust into desperate situation B, taking inventory of their possessions, and executing plucky plan C. If you want to read hundreds of pages of people searching rooms for inventory items, or putting guns in various states of readiness[2], then REAMDE is your book. The last hundred pages or so have the floaty, unpolished feel of a first draft, written by someone in a very great hurry to <em>finish</em> this goddamn thing so he can finally get <em>paid</em> and stop having to <em>think about it.</em>

<p>REAMDE, very clearly, was written to make cash. Stephenson didn't have any ideas to tell the reader, or anything interesting to say about the human condition, but he <em>did</em> have mortgage payments; and so we get REAMDE.

<p>Which makes it awkward when Stephenson introduces the fantasy novel authors. Their explicit, in-story purpose is to write very large books about a video game, very quickly, in return for lots of money. These books are shown to be terrible, (there's an extended quote that's one of the better jokes in REAMDE) and the people themselves are talentless hacks.

<p>Character 1 manipulates the writers into keeping a region in a MMO in a state of chaos, so he can interrogate character 2 as to the whereabouts of character 3. The killer part is that not only is this a huge waste of time, (Character 2 doesn't know anything) but the reader <em>knows all this ahead of time.</em> Dead ends in an investigation are great from a verisimilitude standpoint, but storywise, this entire subplot is a hundred page cul-de-sac which leads nowhere, and serves only to pad out the page count.

<p>The book ends (SPOILER) with a shootout between far-right survivalist nut-bags and literal jihadi terrorists, a scenario straight out of the masturbatory fantasies of a <a href="http://en.wikipedia.org/wiki/Stormfront_(website)">Stormfront</a> user.[4] After the terrorists are throughly perforated by bits of hot lead by Our Heroes, the male and female characters instantly pair off, and live happily ever after.[5]

<p>It's bad. The ending is bad, the beginning is bad, the middle is bad; the whole thing, bad. I'd like to say that I don't understand why Stephenson wrote this, but that would be a lie. His intent is plainly clear; so all that remains is disappointment.

<hr>

<p>1: The <em>real</em> term for them is "Hacker philosopher", but Eric was fighting <a href="http://www.pavietnam.net/">a desperate rearguard action</a> to preserve the correct definition of the word way back in 2001, and using "hacker" in 2011 requires a lot of waving your arms and narrowly qualifying your words and generally having to jump through a lot of loops in order to use a word defined <em>one</em> way by a tiny technical subculture, and defined <em>another</em> way by the other billion internet users.

<p>2: I have the epub version of the book, so I could do a search for how many times the sentence "he disengaged the safety" occurs in the book, but the answer would probably just depress me.

<p>3: There's a very surprising reference to the sea burial of Osama Bin Laden.  Judging from when the book came out, this must have been the result of a smart editor adding it to the galley proofs at the very last second.

<p>4: Which drags on and on, of course, and really, really could have used a map or two, Stephenson not being the greatest at conveying a layout at the best of times, and his headlong rush to finish the book does not make his writing any more lucid.

<p>5: (MORE SPOILERS) One of the main characters is actually the Chinese hacker responsible for the Reamde virus, which kicks off the events of the book. At <em>best</em> he's guilty of grand larceny, having stolen millions of dollars and destroyed the files of millions of people, and at worst he caused the deaths of a couple dozen bystanders and plot-relevant characters. Does he go to jail? No, of course not.]]></description>

</item>
</channel>
</rss>

