<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Short, sporadic thoughts on Helvetica, robots, pugs, New York, painting, speech bubbles, buttons, and other essential things by Brendan H. Berg; quotes by others.</description><title>Sodium Dreams</title><generator>Tumblr (3.0; @brendn)</generator><link>http://blog.sodiumdreams.com/</link><item><title>Data Porn: Geologic Map and Sections of the Kepler Region of the...</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_ky1wwdWh7o1qz9dcoo1_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_ky1wwdWh7o1qz9dcoo2_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_ky1wwdWh7o1qz9dcoo3_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://27.media.tumblr.com/tumblr_ky1wwdWh7o1qz9dcoo4_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;Data Porn: Geologic Map and Sections of the Kepler Region of the Moon.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/396972469</link><guid>http://blog.sodiumdreams.com/post/396972469</guid><pubDate>Thu, 18 Feb 2010 14:02:00 -0500</pubDate><category>map</category><category>data-porn</category></item><item><title>William Gibson's Ability to Predict the Present is Uncanny</title><description>&lt;a href="http://www.faithpopcorn.com/"&gt;William Gibson's Ability to Predict the Present is Uncanny&lt;/a&gt;: &lt;p&gt;I can’t stop laughing. Really. My sides hurt. Make it stop.&lt;/p&gt;

&lt;p&gt;First of all, her name is Faith Popcorn. Faith. Fucking. Popcorn. Second, her specialty is “brailing the culture.” Cayce Pollard—the cool hunter conjured up for Gibson’s &lt;em&gt;Pattern Recognition&lt;/em&gt;—has nothing on this chick. Something this off the wall is too good to be fiction. It must necessarily have been real the entire time.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/391012284</link><guid>http://blog.sodiumdreams.com/post/391012284</guid><pubDate>Mon, 15 Feb 2010 11:59:01 -0500</pubDate><category>future</category></item><item><title>This is a very cute video introduction to Square, a new...</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QSzsFAJAKHI&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QSzsFAJAKHI&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This is a very cute video introduction to &lt;a href="http://squareup.com/"&gt;Square&lt;/a&gt;, a new electronic payment platform. I like how the mixture of high production value and informal tone presents a trustworthy but approachable image of the company.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/384860446</link><guid>http://blog.sodiumdreams.com/post/384860446</guid><pubDate>Thu, 11 Feb 2010 22:36:00 -0500</pubDate></item><item><title>A Conversation Between Me and Seven Solaris Boxes</title><description>Me: Hi, there! I need to manage user accounts across all of you.&lt;br /&gt;&#13;
Solarae: Ha ha ha, good luck, fucker.&lt;br /&gt;&#13;
Me: Aha! But I have a secret weapon. Kerberos!&lt;br /&gt;&#13;
Solarae: Gahffffffk! Nooo! I refuse!&lt;br /&gt;&#13;
Me: Dammit. I said, "KERBEROS!"&lt;br /&gt;&#13;
Solarae: Mrfgk. Fine.</description><link>http://blog.sodiumdreams.com/post/380624780</link><guid>http://blog.sodiumdreams.com/post/380624780</guid><pubDate>Tue, 09 Feb 2010 17:34:01 -0500</pubDate><category>technology</category></item><item><title>Silicon Speculators</title><description>&lt;p&gt;From the &lt;em&gt;&lt;a href="http://www.nytimes.com/2010/02/02/technology/business-computing/02chip.html"&gt;New York Times&lt;/a&gt;&lt;/em&gt; article on Apple’s A4 processor:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“I don’t see anything that looks that compelling,” said Linley Gwennap, a chip analyst at the Linley Group. “It doesn’t seem like something all that new, and, if it is, they are not getting far with it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I don’t understand how Gwennap can back up his claim. I find it hard to believe the Linley Group has any more information about the A4 than anyone else outside Apple’s hardware division. Apple is unlikely ever to release detailed specs. &lt;a href="http://en.wikipedia.org/wiki/Apple_A4"&gt;Wikipedia&lt;/a&gt; doesn’t say much more than it “runs at 1 GHz and has an integrated graphics processor.” We know Samsung manufactures it. We know Apple licensed technology from ARM. That’s about it.&lt;/p&gt;

&lt;p&gt;What strikes me as journalistic negligence is that the &lt;em&gt;Times&lt;/em&gt; fails to tell us the analysts they quote have no hard data on the chip, its fabrication process, or technical capabilities. The Linley Group certainly didn’t do a tear-down of an actual chip. And without seeing benchmarks or other performance metrics, how can Gwennap say he doesn’t “see anything that looks compelling”? Admittedly, an analyst with 15 years of industry experience can make some fairly educated guesses about what’s going on under the hood, but in the end it’s just speculation.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/366086965</link><guid>http://blog.sodiumdreams.com/post/366086965</guid><pubDate>Mon, 01 Feb 2010 21:06:44 -0500</pubDate><category>apple</category><category>speculation</category></item><item><title>A Poem to Be Read by an Apple II Disk Drive</title><description>&lt;p&gt;[d-d-d-d-r-r-r-r]&lt;/p&gt;

&lt;p&gt;[doot-doooot-doot-whzzzzz]&lt;/p&gt;

&lt;p&gt;[d-d-d-d-r-r-r-r]&lt;/p&gt;

&lt;p&gt;[dt-doooot-doot-whzzzzz]&lt;/p&gt;

&lt;p&gt;[dt dt dt dt]&lt;/p&gt;

&lt;p&gt;[dt dt dt dt]&lt;/p&gt;

&lt;p&gt;[dt dt dt dt]&lt;/p&gt;

&lt;p&gt;[dt dt dt dt]&lt;/p&gt;

&lt;p&gt;[dt dt whzzzzzzzzzzzzzzzzzzzz dt]&lt;/p&gt;

&lt;p&gt;[dt dt dt dt dt dt dt dt dt]&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/363930723</link><guid>http://blog.sodiumdreams.com/post/363930723</guid><pubDate>Sun, 31 Jan 2010 17:59:00 -0500</pubDate><category>poetry</category><category>pointless</category></item><item><title>Just Start</title><description>&lt;p&gt;The problem with saying things like “Obama should motivate young people to be entrepreneurs” or “2010 should be the year of Start-Up America” is that it implies that we are incapable of doing these things on our own. It’s a cop-out. How can we expect a slow, bureaucratic entity that is prone to chronic infighting, corruption, and foot-dragging to stimulate innovation? We, the entrepreneurs, do what we do against all odds, and when we succeed it is due to our vision, agility, and follow-through—not because we were awarded a handout from Uncle Sam. Stop whining that this stuff should be easy. It’s not. We don’t create Apples and Googles and Ciscos because it’s easy.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/358432623</link><guid>http://blog.sodiumdreams.com/post/358432623</guid><pubDate>Thu, 28 Jan 2010 16:39:34 -0500</pubDate></item><item><title>"And if it looks anything remotely like a 7” iPhone, I’ll eat my hat."</title><description>“And if it looks anything remotely like a 7” iPhone, I’ll eat my hat.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;I hope you like the taste of wool, &lt;a href="http://benjaminste.in/post/334158111/history-is-bound-to-repeat-itself"&gt;Mr. Stein&lt;/a&gt;&lt;/em&gt;</description><link>http://blog.sodiumdreams.com/post/358041795</link><guid>http://blog.sodiumdreams.com/post/358041795</guid><pubDate>Thu, 28 Jan 2010 11:03:13 -0500</pubDate><category>quote</category><category>technology</category><category>apple</category></item><item><title>Transitivity? We Don't Need No Stinkin' Transitivity!</title><description>&lt;p&gt;I want to stop &lt;a href="http://blog.sodiumdreams.com/post/323754417/unhelpful"&gt;posting&lt;/a&gt; &lt;a href="http://blog.sodiumdreams.com/post/317073748/php-new-math"&gt;these&lt;/a&gt;. I really do.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// The setup.

class Foo {}

$array = array();
$object = new Foo();

$array &gt; 100;       // This is true.
100 &gt; $object;      // This is also true. (Wha?)

// The punchline.

$array &gt; $object;   // THIS IS FALSE!
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If &lt;code&gt;$array &gt; 100&lt;/code&gt; and &lt;code&gt;100 &gt; $object&lt;/code&gt;, shouldn’t &lt;code&gt;$array &gt; $object&lt;/code&gt;? Also, doesn’t the &lt;a href="http://www.php.net/manual/en/language.operators.comparison.php"&gt;language documenation&lt;/a&gt; say that when comparing an object to any other type, the object is always greater? What the fuck, PHP?&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/352961614</link><guid>http://blog.sodiumdreams.com/post/352961614</guid><pubDate>Mon, 25 Jan 2010 14:24:00 -0500</pubDate><category>programming</category></item><item><title>Drawing for Understanding: As a visual thinker, whenever I get...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_kwj706ilnW1qz9dcoo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Drawing for Understanding:&lt;/strong&gt; As a visual thinker, whenever I get stuck on a programming project, I whip out my sketchbook. An abstract diagram—no annotations necessary—usually clears up any confusion I have over tangled object relationships.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/352937213</link><guid>http://blog.sodiumdreams.com/post/352937213</guid><pubDate>Mon, 25 Jan 2010 14:02:00 -0500</pubDate><category>programming</category><category>thinking</category></item><item><title>Fatal Error</title><description>&lt;p&gt;As a programmer, this news terrifies me: software glitches in medical linear accelerators &lt;a href="http://www.nytimes.com/2010/01/24/health/24radiation.html"&gt;caused the deaths of two cancer patients&lt;/a&gt; in New York. Unstable software controlling potentially deadly machines is an intensely hazardous mix. These accidents should be of grave concern to the entire software industry—we can be coldly unconcerned when we hear that a buffer overflow attack caused the leak of millions of passwords, but a death is always a more persuasive motivation for improved safety.&lt;/p&gt;

&lt;p&gt;In one of the cases mentioned in the &lt;em&gt;Times&lt;/em&gt; article, a series of computer crashes apparently failed to save the treatment files for a patient. Between software crashes, the machine operators did not realize that the instructions for the machine were not saved, leaving an aperture wide open for the full dose of radiation.&lt;/p&gt;

&lt;p&gt;Unfortunately, this sort of accident is nothing new. Radiation therapy machines have killed people before—the &lt;a href="http://en.wikipedia.org/wiki/Therac_25"&gt;Therac-25&lt;/a&gt; comes to mind—and it’s frightening that the industry has &lt;em&gt;still&lt;/em&gt; not come up with stricter safety and security requirements.&lt;/p&gt;

&lt;p&gt;The truth is that &lt;em&gt;writing software is hard&lt;/em&gt;. I certainly don’t envy the programmers writing software for any system where lives are on the line, but the inevitability of software bugs is a feeble excuse for faulty software. Even though arithmetic overflows and race conditions are notoriously hard to spot, we have tools to minimize them. Static analysis can identify many potential errors before the code is even run. Code written in functional languages can be proved mathematically to be correct.&lt;/p&gt;

&lt;p&gt;Accountability, however, is the bottom line. A structural engineer who signs off on a building that collapses after construction will have a difficult time repairing his damaged reputation. If programmers faced similar consequences when lives hung in the balance, there’d be more encouragement to write safe and stable software.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/351428830</link><guid>http://blog.sodiumdreams.com/post/351428830</guid><pubDate>Sun, 24 Jan 2010 17:28:00 -0500</pubDate><category>programming</category></item><item><title>The System Is Down</title><description>&lt;p&gt;Can the people file a class-action suit against the senate? Our representatives are more concerned with knifing the other party than the country’s well-being. And the minority party is using an &lt;a href="http://www.nytimes.com/2010/01/11/opinion/11geoghegan.html?pagewanted=all"&gt;unconstitutional&lt;/a&gt; tactic to get their way. That fifteen percent of the population can effectively block legislation backed by the majority of Americans is simply &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; democracy.&lt;/p&gt;

&lt;p&gt;To be clear, I’m disgusted with both parties. Politics will always involve compromise, but the health care debate is bordering on farcical. The current situation has overtones of an exasperated parent calming a tantrum-throwing two-year-old. The Rebublicans have their collective fingers in their ears, stubbornly screaming &lt;strong&gt;&lt;em&gt;“NO”&lt;/em&gt;&lt;/strong&gt; while the Democrats keep making concessions in an effort to get the howling brat to stop making a scene in public. Neither strategy is politically viable in the long term.&lt;/p&gt;

&lt;p&gt;It’s a shame the current political environment is so hostile to reason that intelligent people with sensible solutions to real problems take the only logical course of action—to stay out of politics.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/344500324</link><guid>http://blog.sodiumdreams.com/post/344500324</guid><pubDate>Wed, 20 Jan 2010 11:48:26 -0500</pubDate><category>politics</category><category>rant</category></item><item><title>Cupertino Kremlinology</title><description>&lt;p&gt;In preparation to try my hand at Apple prognostication, the standard disclaimers apply: I have no inside information, I am engaging in idle speculation, and I am fully prepared to eat my words. Okay. Let’s get started.&lt;/p&gt;

&lt;p&gt;I’m not interested in what unreleased hardware will look like, since it’s safe to say anything designed by Apple will be simple and breathtakingly beautiful (as usual), and will solve the associated design challenges with kick-you-in-the-pants obviousness.* The interesting question I keep coming back to is whether a tablet device will run the iPhone OS, and by extension, run iPhone apps.&lt;/p&gt;

&lt;p&gt;First of all, since the rumored tablet would presumably have more in common with an iPhone than your mom’s MacBook—multitouch screen, accelerometer—it’s safe to say it would &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; be running Mac OS X. Apple has &lt;strong&gt;&lt;em&gt;already created&lt;/em&gt;&lt;/strong&gt; a mobile version of OS X—the iPhone OS. Furthermore, it’s clear that Apple has designed Cocoa Touch from the beginning to have enough headroom to grow into a device with a larger screen. (Which might explain why the SDK took so long.) Evidence of this includes the &lt;a href="https://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html"&gt;&lt;code&gt;UIWindow&lt;/code&gt;&lt;/a&gt; class, which exists even though iPhone applications display only one window. I bet Cocoa Touch on the tablet will allow multi-windowed applications.&lt;/p&gt;

&lt;p&gt;I would also wager that the device would be able to run existing iPhone apps without any trouble. I’m almost positive, however, that they won’t run full screen. App developers have spent too much time optimizing their UIs so widgets are relatively finger-sized. The interfaces simply won’t scale without usability problems.&lt;/p&gt;

&lt;p&gt;Given that size is less of a constraint in a tablet device, I expect the hardware to be powerful enough to support multitasking. This, combined with the presumption that the tablet would run iPhone apps at their native size presents an interesting UI possibility. I envision a dashboard-like layer where a limited number iPhone apps run as widgets on the tablet.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_kwj5nv8NPa1qz9xg0.jpg" alt="Pages of widgets"/&gt;&lt;/p&gt;

&lt;p&gt;Picture this: iPhone apps launch on a translucent layer where a pair of widgets run side-by-side on the screen. A simple swipe will switch between pages of running apps that don’t fit on the first screen—just like having multiple pages open in Mobile Safari. Capping the number of simultaneously running apps is as simple as limiting the number of pages in the widget layer.&lt;/p&gt;

&lt;p&gt;Apple would be crazy to launch a device without the momentum of the App Store behind it, and the only way hit the ground running would be to let existing iPhone apps run on a tablet. In the end though, Apple has spent far more time thinking about these problems and refining the solutions than all of the armchair product-designers and rumormongers combined. I may be wildly off predicting the app switcher, but it’s a fairly safe bet that whatever we see next Wednesday will blow us away.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;* I won’t speculate on text input other than saying that I don’t expect to see Inkwell, Mac OS X’s pen input software, anywhere near this thing. Considering there’s no page dedicated to Inkwell on Apple’s website, it’s easy to guess how Jobs feels about this technology.&lt;/small&gt;&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/344402883</link><guid>http://blog.sodiumdreams.com/post/344402883</guid><pubDate>Wed, 20 Jan 2010 10:12:00 -0500</pubDate><category>apple</category><category>technology</category><category>speculation</category><category>interactions</category></item><item><title>The Future</title><description>&lt;p&gt;First of all, I’d like to get one thing out of the way so we can move on. The title of the post has to be read (either silently, to yourself, or—preferably—out loud) in a voice like the &lt;a href="http://quietube.com/v.php/http://www.youtube.com/watch?v=5tmMwEMDpCw"&gt;narrator of this video&lt;/a&gt;. Thank you.&lt;/p&gt;

&lt;p&gt;Alright, where was I? Oh yes.&lt;/p&gt;

&lt;p&gt;We live in an age where my operating system can auto-detect &lt;a href="http://www.amazon.com/Samsung-ML-1630-Monochrome-Laser-Printer/dp/B000XV3YVI/"&gt;my printer&lt;/a&gt; and auto-install its drivers. But a corollary of Newton’s third law states, for every advance in usability there is always an equal and opposite set of new and baffling features.&lt;/p&gt;

&lt;p&gt;Take “&lt;a href="http://slickdeals.net/forums/showpost.php?s=93bab5f7831e88182dc90e4005e92e65&amp;p=11621319&amp;postcount=2"&gt;high altitude correction&lt;/a&gt;,” for example. I had no idea that printers could suffer from &lt;a href="http://en.wikipedia.org/wiki/Altitude_sickness"&gt;hypobaropathy&lt;/a&gt;. Hey Samsung engineers, can’t you just throw a barometer in there and auto-tune that setting yourself?&lt;/p&gt;

&lt;p&gt;Whatever. It was kind of cool that I could auto-enjoy my dinner last night instead of spending two hours manually downloading and installing printer drivers.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/332748642</link><guid>http://blog.sodiumdreams.com/post/332748642</guid><pubDate>Wed, 13 Jan 2010 14:30:00 -0500</pubDate><category>interfarce</category><category>usability</category></item><item><title>Neurotic</title><description>&lt;p&gt;I am cleaning my apartment right now even though I should be programming but actually have five different drafts of Tumblr posts open in five different windows which is marginally nettling to my compulsive aversion to clutter that somehow inevitably is overcome by entropy as my desktop degrades into full-on dishevelment regardless.&lt;/p&gt;

&lt;p&gt;Time is the factor here. More specifically that there isn’t any, but that doesn’t cut the number of things I need or want to do in a particular day. I have code to debug, projects to manage, specifications to write, and I’m supposed to blow away a baker’s dozen of readers with literary brilliance here? It takes too long for the words to congeal. Dammit, a literary soufflé takes time.&lt;/p&gt;

&lt;p&gt;But my spare time is finite and while it would be nice to learn Haskell and maybe tell you about it I would need to teach myself monads first and I just don’t have &lt;em&gt;time&lt;/em&gt; for that and besides it kind of sounds dirty. Instead I have unread novels essays treatises critiques interviews theses monographs in stacks that collect pages and dust and value. It is precisely this moment that I start to wonder what kind of programmer I am given my preference for reading Foucault, Eco, Venturi, Perec, Jacobs, Bringhurst, or the late-great-DFW over staring at a screenful of parentheses semicolons and square brackets. I mean come on why would &lt;em&gt;anyone&lt;/em&gt; prefer to savor the elegant compositions of artists who meticulously craft their prose?&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/326930394</link><guid>http://blog.sodiumdreams.com/post/326930394</guid><pubDate>Sun, 10 Jan 2010 09:04:00 -0500</pubDate></item><item><title>Mix That Metaphor!</title><description>&lt;blockquote&gt;
  &lt;p&gt;“In early February, that’s when the rubber hits the road or the shit hits the fan,” Ratnieks concluded.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;— “&lt;a href="http://www.wired.com/wiredscience/2010/01/colony-collapse-lives/"&gt;Bee Colony Collapse May Have Several Causes&lt;/a&gt;” Wired Science, 8 January 2010.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/325811437</link><guid>http://blog.sodiumdreams.com/post/325811437</guid><pubDate>Sat, 09 Jan 2010 18:26:49 -0500</pubDate></item><item><title>Unhelpful</title><description>&lt;p&gt;&lt;a href="http://us.php.net/manual/en/function.xml-set-object.php"&gt;&lt;img src="http://media.tumblr.com/tumblr_kvxz75JPeT1qz9xg0.jpg" alt="Unhelpful"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clearly the &lt;a href="http://us.php.net/manual/en/function.xml-set-object.php"&gt;&lt;code&gt;xml_set_object&lt;/code&gt;&lt;/a&gt; function takes two arguments: the first is a parser, a featureless gray rectangle, and the second is an object, a similarly featureless gray rectangle.&lt;/p&gt;

&lt;p&gt;It’s almost unsportsmanlike to make fun of an easy target like PHP. Almost.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/323754417</link><guid>http://blog.sodiumdreams.com/post/323754417</guid><pubDate>Fri, 08 Jan 2010 14:53:00 -0500</pubDate><category>programming</category><category>interfarce</category></item><item><title>You Can't Take True From False, False Is Less than True</title><description>&lt;h2&gt;or, PHP’s new math&lt;/h2&gt;

&lt;p&gt;Sheer brilliance. Unsarcastically, of course, when referring to the title, “&lt;a href="http://www.decontextualize.com/2010/01/ghost-equals-ghost/"&gt;Ghost Equals Ghost, but Poison Is False to Steel&lt;/a&gt;,” and content of Adam Parrish’s short post on PHP’s type comparison game and Pokémon’s truth table for some bizarre form of fuzzy logic.&lt;/p&gt;

&lt;p&gt;The sarcasm is reserved for situations where a few simple rules designed for convenience produce disastrous user experience when applied concurrently. The &lt;a href="http://php.net/manual/en/types.comparisons.php"&gt;&lt;strong&gt;&lt;em&gt;Double Equals Loose Comparison Matrix&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; appears, at first glance, to be an arbitrary construct of a language designer’s twisted, sadistic brain.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_kvqvvgndWG1qz9xg0.gif" alt="Loose Comparisons with =="/&gt;&lt;/p&gt;

&lt;p&gt;After a bit of archeological excavation, we find that there may be method behind the madness. At the very least a lesser lunacy is involved, since the &lt;a href="http://www.php.net/manual/en/language.operators.comparison.php"&gt;type conversion rules&lt;/a&gt; below describe the mechanisms at work behind the seemingly chaotic scattering of Trues and Falses above.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_kvqvvoDOPr1qz9xg0.gif" alt="Comparison with Various Types"/&gt;&lt;/p&gt;

&lt;p&gt;But we do not get off quite so easily. PHP would not allow it. Why is False less than True? (Boolean values shouldn’t have a numerical order.) If “array is always greater” when comparing an array to any other type, and “object is always greater” when comparing an object to any other type, what happens when you compare an object to an array? These are the uncertainties we face when we concern ourselves with the hermeneutics of PHP.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/317073748</link><guid>http://blog.sodiumdreams.com/post/317073748</guid><pubDate>Mon, 04 Jan 2010 19:21:00 -0500</pubDate><category>programming</category></item><item><title>APL Functional Symbol Tilde Diaeresis</title><description>&lt;p&gt;&lt;big&gt;⍨&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;That is all.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/316711715</link><guid>http://blog.sodiumdreams.com/post/316711715</guid><pubDate>Mon, 04 Jan 2010 14:50:00 -0500</pubDate><category>unicode</category></item><item><title>Things Startups Do and Don't Need</title><description>&lt;p&gt;&lt;em&gt;(This is based on &lt;a href="http://cdixon.tumblr.com/post/311546950/things-startups-do-and-dont-need"&gt;a pair of lists by Chris Dixon&lt;/a&gt;. I don’t agree with some of what he says, so I’m compiling my own list. This is not an exhaustive checklist, but an exploration of what makes the spaces I’ve worked in productive or not.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Location is everything, both on a macro (the region—Silicon Valley, New York, or the Research Triangle) and micro (the neighborhood, the daily activity of the city) scale. It’s important to be near other bright, innovative companies. The office should be easily accessible by public transportation. There should be a variety of places to eat (both sit-down and takeout or delivery) nearby. Maybe even a bar to get drinks with coworkers after a long day. &lt;a href="http://www.amazon.com/Death-American-Cities-Modern-Library/dp/0679600477/"&gt;Jane Jacobs&lt;/a&gt; might be of some help here.&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;Offices need natural light, but not direct sun. It should be bright but glare-free. Operable windows are a must if there’s no mechanical ventilation. There should be plants in the office for &lt;a href="http://www.ted.com/talks/kamal_meattle_on_how_to_grow_your_own_fresh_air.html"&gt;better air quality&lt;/a&gt;, and a park nearby when potted plants aren’t enough.&lt;/p&gt;

&lt;p&gt;Heat should be comfortable and adjustable. You’d be surprised how much the temperature can vary in a large room, &lt;a href="http://www.marco.org/270919755"&gt;so if the building has radiators, you may need fans to evenly distribute the heat&lt;/a&gt;. The office should be heated all night. (Here’s a hint: get programmable thermostats with timers. Set the heat to shut off at times when everyone is usually gone, but make it simple to manually override the setting if someone is staying late.)&lt;/p&gt;

&lt;p&gt;For a startup to succeed, people are going to have to &lt;em&gt;want&lt;/em&gt; to spend a lot of time at the office. This doesn’t necessarily mean pool tables and foosball tournaments, but a place away from the desks with a couch and a TV is great for a quick nap after lunch or for playing Rock Band after work is essential. Don’t skimp here. You want a setup that is (just slightly) better than your own living room. The kitchen area is slightly less important, but there does seem to be a high correlation between programmers and coffee geeks. I guess that means a good coffee maker is essential.&lt;/p&gt;

&lt;p&gt;Your office should be visually pleasant. You don’t need expensive art, but you need &lt;em&gt;something&lt;/em&gt; on the wall, even if it’s framed posters. Blank white institutional walls simply will not do. Best office I’ve experienced in this regard: &lt;a href="http://8.media.tumblr.com/u8TZn2GMOfxqojf8ya95mpNyo1_500.png"&gt;Tumblr’s&lt;/a&gt;. (It helps to share space with an animation studio.)&lt;/p&gt;

&lt;p&gt;You &lt;em&gt;need&lt;/em&gt; to have fully redundant Internet connections. My current office had subscribed to Towerstream, which broadcasts a WiMAX signal from the Empire State Building. It would have been a perfectly acceptable Internet provider in Los Angeles or Phoenix; but whenever it rained, the signal would cut out. We had entire days of zero productivity! Broken Internet is completely unacceptable for a software startup. We have Verizon now, but even a wired connection can cause trouble; it’s best to have a backup.&lt;/p&gt;

&lt;p&gt;As for equipment, invest in a battery backup for your network gear when you can. If a circuit breaker trips or you lose power to a portion of your office, you don’t want it to be the portion that everyone relies on to get work done. Large monitors pay for themselves in increased productivity. I get twice as much done in front of my 23” Cinema Display as I do on my laptop’s 15” LCD in the same amount of time.&lt;/p&gt;

&lt;p&gt;In general, I believe that you get what you pay for. Aeron chairs got a bad rap for being frivolous luxuries, but they really are five times as comfortable and ten times sturdier than the $200 OfficeMax chairs that break after four months of use. I like buying things once. I also like chairs I can actually sit in for five hour stretches. Apple monitors, on the other hand, have always been overpriced. Save a few hundred bucks and go with the Dell.&lt;/p&gt;

&lt;p&gt;Your office needs to be quiet. This is important. I don’t mean you need an elementary school librarian shushing you if your voice rises above a whisper, but conversations shouldn’t carry across the room. Open plan offices are bad at this, and the solutions to acoustic problems in large offices—carpeted cubicle walls, dropped acoustic tile ceilings—tend to double as massively efficient soul crushers. Programming is a verbal task, and background conversation—even music with lyrics—can easily disrupt a programmer’s state of flow.&lt;/p&gt;

&lt;p&gt;The open-plan-vs-private-offices debate will rage at least as long as the tabs-vs-spaces debate, but I’m in &lt;a href="http://www.joelonsoftware.com/items/2006/07/30.html"&gt;Joel’s&lt;/a&gt; &lt;a href="http://www.joelonsoftware.com/articles/FieldGuidetoDevelopers.html"&gt;camp&lt;/a&gt; on &lt;a href="http://www.joelonsoftware.com/articles/BionicOffice.html"&gt;this one&lt;/a&gt;. Maybe it’s personal preference, but I simply can’t get anything done when I have phones ringing and five conversations going on around me at once.&lt;/p&gt;</description><link>http://blog.sodiumdreams.com/post/313805777</link><guid>http://blog.sodiumdreams.com/post/313805777</guid><pubDate>Sat, 02 Jan 2010 21:20:00 -0500</pubDate></item></channel></rss>
