<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:at="http://www.sixapart.com/ns/at"
    xmlns:icbm="http://postneo.com/icbm"
    xmlns:rvw="http://purl.org/NET/RVW/0.2/"
    xmlns:media="http://search.yahoo.com/mrss">
    <channel>
        <title>Shattered Crystalline Matrix</title>
        <link>http://mithrandi.vox.com/library/posts/tags/tech/page/1/</link>
        <description>Echoes of the Singularity</description>
        <language>en</language>
        <generator>Vox</generator>
        <lastBuildDate>Wed, 09 Sep 2009 01:10:23 +0200</lastBuildDate>
        <copyright>Copyright 2009</copyright>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
        <category domain="http://mithrandi.vox.com/tags/">tech</category>  
 
        <item>
            <title>No more ls</title>
            <link>http://mithrandi.vox.com/library/post/no-more-ls.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/no-more-ls.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/no-more-ls.html?_c=feed-rss-full</guid> 
            <pubDate>Wed, 09 Sep 2009 01:10:23 +0200</pubDate>         
            
            <description>    &lt;p&gt;I don&amp;#39;t want &lt;code&gt;ls&lt;/code&gt; anymore. For that matter, I don&amp;#39;t want directories anymore; I&amp;#39;m not even sure I want files anymore, but let&amp;#39;s leave that one alone for now. So, before you conclude I&amp;#39;ve taken leave of my senses: of course, I don&amp;#39;t mean just deleting the /bin/ls binary, and ripping functionality out of all existing filesystems. All of that can still remain on a low level, and that may well prove useful in implementing a higher-level layer; what I mean is that I no longer wish to be concerned about all of that anymore. Why not? Well... story time!&lt;/p&gt;&lt;p&gt;Once upon a time, the web was brand new and unknown; indeed, the internet itself was relatively small and new and experimental. You could easily keep a list of every website around, and so people just did that. Over time, the number of websites grew to the point where keeping a flat list was no longer practical or useful. Enter Yahoo! Other directory projects existed, of course, but Yahoo! was the most successful and well-known; they built a directory of (just about) every website, broken down into an impressive array of categories. More time passed, and finally the directory system began to break down too; it was simply not possible to list and categorise every new website due to the rate at which new sites were popping up. And thus was born the age of search engines; the technology has improved today, and you&amp;#39;ll probably be using Google instead of Yahoo! — but today, when you want to find something on the internet, the first step is generally visiting a search engine, not navigating some directory-like site.&lt;/p&gt;&lt;p&gt;So, that&amp;#39;s what I want for my own filesystem too; I don&amp;#39;t want to deal with categorising a file in my directory structure, and I don&amp;#39;t want to deal with digging through that structure to find it again later. I just want to associate sufficient metadata in addition to the data itself, so that I can search for it later and find it without difficulty. What this really amounts to is decoupling the view of the data from the data itself; instead of hardcoding one particular view (ie. the filesystem directory structure) into my data, I can instead choose to view the data any way I want at a later stage.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How do I get there from here? I guess that will have to wait for my next post.&lt;br /&gt;&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/no-more-ls.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c45100010110164ed38f860b?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">data</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">information</category>   
        </item> 
 
        <item>
            <title>Firefox extensions</title>
            <link>http://mithrandi.vox.com/library/post/firefox-extensions.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/firefox-extensions.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/firefox-extensions.html?_c=feed-rss-full</guid> 
            <pubDate>Tue, 24 Feb 2009 17:08:13 +0200</pubDate>         
            
            <description>     &lt;blockquote&gt;&lt;p&gt;Out of the thinning mists and the cloud of strange incenses filed twin columns of giant black slaves with loin-cloths of iridescent silk. Upon their heads were strapped vast helmet-like torches of glittering metal, from which the fragrance of obscure balsams spread in fumous spirals. In their right hands were crystal wands whose tips were carven into leering chimaeras, while their left hands grasped long thin silver trumpets which they blew in turn. Armlets and anklets of gold they had, and between each pair of anklets stretched a golden chain that held its wearer to a sober gait. That they were true black men of earth&amp;#39;s dreamland was at once apparent, but it seemed less likely that their rites and costumes were wholly things of our earth.&lt;/p&gt;&lt;p&gt;— H P Lovecraft, &lt;em&gt;The Dream-Quest of Unknown Kadath&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I use a variety of Firefox (Iceweasel, actually; thanks MozCo) extensions, and I thought I&amp;#39;d make a list for my benefit as well as everyone else&amp;#39;s. I&amp;#39;ll divide them into two categories; the &amp;quot;must-have&amp;quot; ones that are critical to my browsing experience, and then the less important ones.&lt;/p&gt;&lt;p&gt;First up, the &amp;quot;must-haves&amp;quot;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/1865&quot;&gt;Adblock Plus&lt;/a&gt;: Not much to say about this one; it&amp;#39;s the best out of a handful of advert blocking extensions, and is pretty much essential to keep all of that cruft away from your eyeballs. It automatically updates the block list via subscriptions of your choosing, which is pretty handy&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/3615&quot;&gt;Delicious Bookmarks&lt;/a&gt;: The official Delicious extension. Delicious is how I keep URLs for later reference; I don&amp;#39;t care too much about the social aspect, just about being able to find things later when I want them.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://feedly.com/&quot;&gt;Feedly&lt;/a&gt;: Feedly is a Google Reader frontend, but so much more. It integrates with FriendFeed, Twitter, and other sites, and has its own completely separate UI.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;: This one is essential for doing any kind of web development. HTML / CSS exploring, JavaScript debugging, and more.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/2464&quot;&gt;FoxyProxy&lt;/a&gt;: Advanced proxy management tool. You can select different proxies for different sites based on pattern matching. For various reasons, I &lt;em&gt;need&lt;/em&gt; to be able to do this to access certain sites, so this is a must.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/748&quot;&gt;Greasemonkey&lt;/a&gt;: This one obviously has no value on its own, but there are a handful of extremely useful scripts I use, like &lt;a href=&quot;http://www.xs4all.nl/%7Ejlpoutre/BoT/Javascript/PasswordComposer/greasemonkey.html&quot;&gt;Password Composer&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://noscript.net/&quot;&gt;NoScript&lt;/a&gt;: This one is fairly self-explanatory; it includes protection against XSS and ClickJacking, and allows you to &amp;quot;opt-in&amp;quot; to JavaScript, Flash, etc.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/2324&quot;&gt;Session Manager&lt;/a&gt;: This extension extends the built-in session management functionality in Firefox; you don&amp;#39;t have to worry about losing your session every now and then, and lets you load older sessions, omit that page that keeps causing the crash when you load a session, manually save / load sessions, unclose closed tabs and windows, and more.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://labs.mozilla.com/projects/ubiquity/&quot;&gt;Ubiquity&lt;/a&gt;: A command-line for your web browser; I use dozens of Ubiquity commands every day.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And now, the rest:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/10297&quot;&gt;bit.ly preview&lt;/a&gt;: This extension gives you rollover preview for URLs using various shortening services (like tinyurl, bit.ly, etc.) as well as some other things like Twitter tweets.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/201&quot;&gt;DownThemAll!&lt;/a&gt;: A greatly enhanced download manager. Allows you to do thinks like snarfing a whole image gallery, and otherwise just giving you better functionality for managing active downloads, if you download in your browser a lot.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609&quot;&gt;Elasticfox&lt;/a&gt;: One of the best Amazon EC2 management interfaces.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/6683&quot;&gt;Firecookie&lt;/a&gt;: Extends Firebug with cookie management functionality.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/10273&quot;&gt;FireScope&lt;/a&gt;: Extends Firebug with linkage to reference material like the HTML and CSS specifications.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/7613&quot;&gt;Jiffy&lt;/a&gt;: JavaScript profiling for Firebug.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/2108&quot;&gt;Stylish&lt;/a&gt;: Like Greasemonkey, but for CSS.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/5890&quot;&gt;Tree Style Tab&lt;/a&gt;: Arrange your Firefox tabs in a collapsible tree, instead of a flat list.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/firefox-extensions.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001011017ac0d9a860e?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">tools</category> 
            <category domain="http://mithrandi.vox.com/tags/">firefox</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">extensions</category>   
        </item> 
 
        <item>
            <title>To those it may concern</title>
            <link>http://mithrandi.vox.com/library/post/to-those-it-may-concern.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/to-those-it-may-concern.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/to-those-it-may-concern.html?_c=feed-rss-full</guid> 
            <pubDate>Fri, 13 Feb 2009 12:09:46 +0200</pubDate>         
            
            <description>    &lt;p&gt;Please find enclosed an updated version of Mike Taylor&amp;#39;s FAQ, &amp;quot;&lt;a href=&quot;http://www.miketaylor.org.uk/tech/wxinmfpl/debian.html&quot;&gt;Why Debian Is Not My Favourite Operating System&lt;/a&gt;&amp;quot;.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;How can I add a package?&lt;/p&gt;&lt;p&gt;That&amp;#39;s easy! Just use &lt;code&gt;aptitude install &lt;em&gt;package&lt;/em&gt;.&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I upgrade my installation to the latest version?&lt;/p&gt;&lt;p&gt;That&amp;#39;s easy! Just use &lt;code&gt;aptitude update; aptitude full-upgrade&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I search for a package?&lt;/p&gt;&lt;p&gt;That&amp;#39;s easy! Just use &lt;code&gt;aptitude search &lt;em&gt;keyword&lt;/em&gt;&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I reconfigure an already-installed package?&lt;/p&gt;&lt;p&gt;That&amp;#39;s easy! Just use &lt;code&gt;dpkg-reconfigure &lt;em&gt;package&lt;/em&gt;&lt;/code&gt;. (Sorry, this one still sucks.)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I get cutting-edge versions of some packages?&lt;/p&gt;&lt;p&gt;You can upgrade to testing or unstable by replacing your distribution name in /etc/apt/sources.list with one of those keywords, and then following the instructions in FAQ 2. Please be warned that this is not, in general, a reversible operation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I keep stable versions of most packages?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can&amp;#39;t; mixing and maxing packages from stable with packages from unstable or testing will likely result in insanity, hair loss, and result in a broken system. However, if you want to mostly stick with stable, but want updated versions of a handful of packages, backported versions of many packages are available at &lt;a href=&quot;http://backports.org/&quot;&gt;backports.org&lt;/a&gt;; these are newer versions of packages compiled against the older libraries in stable. See the site for more information on how to make use of backports.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Why is php4 deleted when I install netpbm?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;It isn&amp;#39;t. However, when trying to diagnose other issues of this kind, you can use &lt;code&gt;aptitude why &lt;em&gt;package&lt;/em&gt;&lt;/code&gt; to tell you why a certain package is required, and &lt;code&gt;aptitude why-not &lt;em&gt;package&lt;/em&gt;&lt;/code&gt; to tell you why a certain package conflicts with other packages if you try to install it.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Why can&amp;#39;t I reinstall PHP4?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can, but see FAQ 7 for more information about similar issues.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I downgrade my system back to stable?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can&amp;#39;t. While you can attempt to downgrade any individual package by forcing the package manager to select an older version (for example, &lt;code&gt;aptitude install &lt;em&gt;package=version&lt;/em&gt;&lt;/code&gt;), downgrades are explicitly not supported, and trying to downgrade masses of packages at once, or downgrade a package to a much older version, will likely result in failure and a broken system.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I fix ``also in package&amp;#39;&amp;#39; errors?&lt;/p&gt;&lt;p&gt;Don&amp;#39;t downgrade. If you got this error while doing something else, report a bug.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I fix another, seemingly identical, error?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Seriously, no downgrades!&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I fix yet another, also seemingly identical, error?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I mean it, no downgrades!&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;How can I fix all the other similar errors?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Seriously, I&amp;#39;m not even joking.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;So how the hell are you supposed to downgrade?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You&amp;#39;re not!&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;What&amp;#39;s the relationship between apt, dpkg and dselect?&lt;/p&gt;&lt;p&gt;&lt;em&gt;dpkg&lt;/em&gt; is the low level tool for manipulating Debian packages. &lt;em&gt;apt&lt;/em&gt; is a library that provides additional functionality on top of &lt;em&gt;dpkg&lt;/em&gt;, such as locating and downloading packages on demand, and performing dependency analysis to install dependencies at the same time. &lt;em&gt;apt-get&lt;/em&gt; is a basic &lt;em&gt;apt&lt;/em&gt; frontend usable from the command-line. &lt;em&gt;aptitude&lt;/em&gt; is a more advanced &lt;em&gt;apt&lt;/em&gt; frontend which is usable from the command-line as well as having an &lt;em&gt;ncurses&lt;/em&gt; GUI. There are also a variety of other package management frontends, such as &lt;em&gt;synaptic&lt;/em&gt;. &lt;em&gt;dselect&lt;/em&gt; is an ancient &lt;em&gt;dpkg&lt;/em&gt; frontend that basically nobody uses anymore; if you don&amp;#39;t know what it is, then forget you ever heard about it.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Remind me again how easy Debian makes package-management?&lt;/p&gt;&lt;p&gt;Well, Debian&amp;#39;s far from perfect, it&amp;#39;s just better than everything else. *g*&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/to-those-it-may-concern.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001011016687e02860d?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">debian</category> 
            <category domain="http://mithrandi.vox.com/tags/">package management</category>   
        </item> 
 
        <item>
            <title>Increments in Monochrome</title>
            <link>http://mithrandi.vox.com/library/post/increments-in-monochrome.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/increments-in-monochrome.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/increments-in-monochrome.html?_c=feed-rss-full</guid> 
            <pubDate>Fri, 30 Jan 2009 00:54:41 +0200</pubDate>         
            
            <description>     &lt;p&gt;I&amp;#39;ve recently been grappling once again with an old problem: how to manage the development evolution of an idea that&amp;#39;s too big for my mind to consider all at once. Technology has provided tools to help deal with this problem in general, mostly in the form of enhanced communication channels and &amp;quot;external memory&amp;quot; (ie. storage), as well as information processing tools to sift through external memory. Unfortunately, these tools only go so far; for one thing, in order to write down information or otherwise store it externally in some form, you need to be able to encode the information (say, in English). This works great in many cases, but is of little help in a situation where the ideas and concepts are not sufficiently crystallised in order to be able to encode and communicate them. For ideas with sufficiently small scope, it&amp;#39;s not a problem to keep the idea in my mind over a period of time, as I slowly refine and crystallise the idea to the point where it can be communicated to others; but every now and then, something comes along that&amp;#39;s so huge that I can&amp;#39;t keep it in mind all at once.&lt;/p&gt;&lt;p&gt;One solution that some people resort to is encoding partial fragments of the idea independently. Unfortunately, this leads to a breakdown in cohesion and coherency; instead of a single coherent idea, you now have a sprawling mass of interrelated ideas that don&amp;#39;t fit together so well, which really isn&amp;#39;t a good substitute for the real thing.&lt;/p&gt;&lt;p&gt;Unfortunately, I don&amp;#39;t yet have an answer to this; the particular idea that I&amp;#39;m working on (which will probably turn into a blog) is simply too important to break down into separate ideas, as it just won&amp;#39;t have the necessary impact in that form. Every time I pick the idea up again, I realise that I&amp;#39;ve lost my grasp on various aspects of the idea, so it seems like I can&amp;#39;t make any progress; as soon as I develop one aspect, I lose what I&amp;#39;ve developed on another aspect.&lt;/p&gt;&lt;p&gt;Anyhow, I guess I&amp;#39;m not really expecting a solution to any of this, but I thought I&amp;#39;d throw it out there while I&amp;#39;m banging my head against the wall.&lt;br /&gt;&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/increments-in-monochrome.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c451000101101664ce46860d?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">ideas</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">memory</category> 
            <category domain="http://mithrandi.vox.com/tags/">mind</category>   
        </item> 
 
        <item>
            <title>PETArds</title>
            <link>http://mithrandi.vox.com/library/post/petards.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/petards.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/petards.html?_c=feed-rss-full</guid> 
            <pubDate>Wed, 28 Jan 2009 20:23:02 +0200</pubDate>         
            
            <description>     &lt;p&gt;People for the Ethical Treatment of Animals... sounds like a worthy cause, right? Sign me up! Unfortunately, the organisation seems to be run by clueless retards. Here are two of the latest examples I&amp;#39;ve run across:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.helpthaielephants.com/imogen2.html&quot;&gt;Torture in Thailand&lt;/a&gt;: &lt;a href=&quot;http://en.wikipedia.org/wiki/Imogen_Bailey&quot;&gt;Imogen Bailey&lt;/a&gt; features in an advertisement protesting cruel elephant &amp;quot;training&amp;quot; techniques in Thailand. In the ad, we have the eminent Ms. Bailey looking like a playful submissive dressed, err, undressed for a bondage shoot; this is an advert /against/ elephant torture?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.humanbatterycage.com/gallery&quot;&gt;Human Battery Cage&lt;/a&gt;: Ah yes, the battery cage, bane of hapless chickens everywhere. From the site:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The Human Battery Cage is a unique piece of installation/performance
art designed to show the public, in a vivid and realistic way, the
cramped conditions caged birds are subjected to for the production of
eggs for human consumption.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Right, so, they have a nice gallery full of people sitting in the cage in these horrific cramped conditions... and every single one of them has a grin so big it looks like The Joker was on makeup duty for the day. Hello?&lt;/p&gt;&lt;p&gt;Basically, it seems like PETA don&amp;#39;t care what message they send, as long as people get the message; this seems to completely defeat the point of trying to send a message in the first place.&lt;br /&gt;&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/petards.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001011016299c15860c?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">peta</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category>   
        </item> 
 
        <item>
            <title>Elephant naming</title>
            <link>http://mithrandi.vox.com/library/post/elephant-naming.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/elephant-naming.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/elephant-naming.html?_c=feed-rss-full</guid> 
            <pubDate>Tue, 20 Jan 2009 19:21:02 +0200</pubDate>         
            
            <description>    &lt;blockquote&gt;&lt;p&gt;The blind man at the back takes firm hold of the tail and says, &amp;quot;But why do we need to call it an *elephant*? No-one knows what that is. Everyone knows what a rope is, so we should just call it a rope.&amp;quot;&lt;/p&gt;&lt;p&gt;And that is how the elephant came to be labelled a rope in all the guide books.&lt;/p&gt;&lt;p&gt;— Dougal Stanton, Haskell-cafe mailing list&lt;br /&gt;(in &amp;lt;ea8ae9fb0901161321k1beadf8crd42e57e6cc4e3587@mail.gmail.com&amp;gt;)&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/elephant-naming.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001010980cb0e04000b?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">naming</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">haskell</category>   
        </item> 
 
        <item>
            <title>SSH h4x0rz</title>
            <link>http://mithrandi.vox.com/library/post/ssh-h4x0rz.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/ssh-h4x0rz.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/ssh-h4x0rz.html?_c=feed-rss-full</guid> 
            <pubDate>Sun, 11 Jan 2009 19:38:22 +0200</pubDate>         
            
            <description>     &lt;p&gt;I continue to be baffled by the SSH intrusion attempts that show up in my logs.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan 11 10:03:47 azure sshd[6044]: Invalid user white\twhite from 121.144.130.32&lt;br /&gt;Jan 11 10:04:23 azure sshd[6070]: Invalid user venta\tventa from 121.144.130.32&lt;br /&gt;Jan 11 10:04:34 azure sshd[6081]: Invalid user white\twhite from 121.144.130.32&lt;br /&gt;Jan 11 10:05:11 azure sshd[6106]: Invalid user venta\tventa from 121.144.130.32&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;No, none of my usernames have a tab or a \t in them.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan 10 17:24:05 crimson sshd[23214]: Invalid user llinco\361ir from 209.222.52.89&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Who?&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan&amp;#160; 8 13:14:12 crimson sshd[12153]: Invalid user has-cechova$ from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:46:54 crimson sshd[13596]: Invalid user !a@b#c from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:46:56 crimson sshd[13598]: Invalid user !@#abc from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:47:26 crimson sshd[13620]: Invalid user mail$ from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:50:37 crimson sshd[13762]: Invalid user Xu}7fXta!p7y from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:50:39 crimson sshd[13764]: Invalid user Xu}7fXta!p7y from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:50:42 crimson sshd[13766]: Invalid user Xu}7fXta!p7y from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:50:45 crimson sshd[13768]: Invalid user Xu}7fXta!p7y from 64.119.177.36&lt;br /&gt;Jan&amp;#160; 8 13:50:47 crimson sshd[13770]: Invalid user Xu}7fXta!p7y from 64.119.177.36&lt;br /&gt;&amp;lt;snip more identical attempts&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Why would any of these usernames exist on my system? And why does &amp;quot;Xu}7fXta!p7y&amp;quot; get a zillion attempts, but the others only get one each?&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan&amp;#160; 8 11:09:18 crimson sshd[7359]: Invalid user 123!@# from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:09:54 crimson sshd[7383]: Invalid user bl\345hajk from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:15:46 crimson sshd[7607]: Invalid user fv11r01rc3@l from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:15:52 crimson sshd[7611]: Invalid user pcsarl,49 from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:19:16 crimson sshd[7746]: Invalid user r00tp@ssw0rd from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:21:45 crimson sshd[7845]: Invalid user 4fj^w! from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:22:03 crimson sshd[7857]: Invalid user #jaime56 from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:34:57 crimson sshd[8360]: Invalid user moromete*!*@* from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:35:01 crimson sshd[8362]: Invalid user moromete*!*@* from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:35:04 crimson sshd[8364]: Invalid user cartaya*!*@* from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:35:07 crimson sshd[8366]: Invalid user cartaya*!*@* from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:35:22 crimson sshd[8376]: Invalid user moromete*!*@* from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 11:35:25 crimson sshd[8378]: Invalid user cartaya*!*@* from 190.14.234.71&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Protocol mismatch: expect SSH but found IRC.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan&amp;#160; 8 10:33:41 azure sshd[17826]: Invalid user !#!@#&amp;amp;*#!@#$ from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 10:33:54 azure sshd[17834]: Invalid user !@###$@ from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 10:42:09 azure sshd[18122]: Invalid user #@#POLICE@!!@!@!@ from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 10:43:45 azure sshd[18188]: Invalid user *&amp;amp;_%$#*&amp;amp;!@#$@! from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 10:44:34 azure sshd[18215]: Invalid user fericitmereu@l from 190.14.234.71&lt;br /&gt;Jan&amp;#160; 8 10:53:09 azure sshd[18577]: Invalid user %$#$%!@#^&amp;amp; from 190.14.234.71&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Shit! It&amp;#39;s the POLICE, run for it!&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Jan&amp;#160; 8 10:59:41 crimson sshd[6038]: Invalid user kx028897chebeuname+a from 190.14.234.71&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Who?&lt;/p&gt;&lt;p&gt;Anyhow, if you have some explanation for any of these, please let me know; I&amp;#39;m dying of curiosity.&lt;br /&gt;&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/ssh-h4x0rz.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001010980c87d6f000b?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">security</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">ssh</category> 
            <category domain="http://mithrandi.vox.com/tags/">bruteforce</category>   
        </item> 
 
        <item>
            <title>Denial; realization</title>
            <link>http://mithrandi.vox.com/library/post/denial-realization.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/denial-realization.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/denial-realization.html?_c=feed-rss-full</guid> 
            <pubDate>Fri, 09 Jan 2009 19:16:21 +0200</pubDate>         
            
            <description>    &lt;blockquote&gt;&lt;p&gt;I have tasted of the fruit,&lt;br /&gt;and it&amp;#39;s opened up my eyes;&lt;br /&gt;it&amp;#39;s given me a thirst,&lt;br /&gt;that&amp;#39;s so hard to satisfy;&lt;br /&gt;drink from juicy lips,&lt;br /&gt;delicious in a kiss,&lt;br /&gt;allow yourself.&lt;/p&gt;&lt;p&gt;— Infected Mushroom, &lt;em&gt;Illuminaughty&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Fear of change is a common human affliction. Some fear change in the world around them, because they do not know whether they will be able to survive in a world that is different to the one they now live in. Some fear change in all things, because they fear that the change may be for the worse, rather than the better. Others fear intellectual change; that is, a change in their thinking, in their mind. This fear stems from a fear of losing one&amp;#39;s identity; and of course, the accompanying fear that should such a change occur, they would no longer be able to understand why the change is good or bad, or perhaps even realise that any change has occurred.&lt;/p&gt;&lt;p&gt;Such fear is certainly not baseless; it can be truly terrifying to observe the downward spiral of someone afflicted with a psychological or neurological disease that slowly tears apart what was once a person, while the individual thus afflicted is almost oblivious to the process. Then there are forms of &amp;quot;brainwashing&amp;quot;, or forced intellectual change; people hear of things like the so-called &amp;quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Stockholm_syndrome&quot;&gt;Stockholm syndrome&lt;/a&gt;&amp;quot; (which, incidentally, is not a real medical term), and brainwashing through the use of psychotropic drugs and mental torture. Thus, it is perhaps not such a great leap from fearing these extreme scenarios, to fearing any kind of intellectual change at all.&lt;/p&gt;&lt;p&gt;However, down this path lies many dangers. First and foremost are the consequences of being unable to correct incorrect views that one holds; you need no longer worry about changing from correct beliefs to incorrect beliefs, but at the same time, any incorrect beliefs you hold will continue to mislead you, as you resist any attempts to change them. Then, too, there are the consequences of isolating yourself from others; even if you are, in fact, right, and they are wrong, you cannot hope to interact with them on anything more than a superficial level if you cannot at least understand their perspective, however incorrect it may be.&lt;/p&gt;&lt;p&gt;Thus, while I respect in some way those who seek to avoid intellectual change, I choose to embrace it fully. This does not mean that I buy into any hair-brained theory or belief that gets thrown my way. Any new ideas and concepts are carefully examined, tested, torn apart and put back together; but at the end of this process, if the new idea meets muster, then I will embrace it. Far from seeing this as &amp;quot;losing&amp;quot; myself, I feel that the new me is simply something greater than the old me; I don&amp;#39;t discard the old beliefs or perspective as the new ones are embraced, I simply cut them out of the decision-making loop. Thus, I retain all of the previous awareness I had, but now it is augmented by new and different things.&lt;/p&gt;&lt;p&gt;I should, perhaps, stress the latter point; while some people seek to forget about painful memories or times of their life, to &amp;quot;put it behind them&amp;quot;, I don&amp;#39;t wish to do that. I don&amp;#39;t wish to dwell on the past, but neither do I wish to discard the past, and lose the value of experiences. All of the pain, misery, suffering, and darkness is as much a part of me as the joy, love, peace, happiness, and light; to discard that is to discard part of who I am, and to become something less than I was before.&lt;/p&gt;&lt;p&gt;I urge those of you who fear change to, instead, embrace it, and release yourselves from that fear.&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/denial-realization.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c45100010109d07b085f000e?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">me</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category> 
            <category domain="http://mithrandi.vox.com/tags/">change</category>   
        </item> 
 
        <item>
            <title>Reassessing</title>
            <link>http://mithrandi.vox.com/library/post/reassessing.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/reassessing.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/reassessing.html?_c=feed-rss-full</guid> 
            <pubDate>Wed, 31 Dec 2008 20:38:56 +0200</pubDate>         
            
            <description>    &lt;blockquote&gt;&lt;p&gt;That age is best which is the first,&lt;br /&gt;When youth and blood are warmer;&lt;br /&gt;But being spent, the worse, and worst&lt;br /&gt;Times still succeed the former.&lt;/p&gt;&lt;p&gt;— Robert Herrick, &lt;em&gt;To the Virgins, to Make Much of Time&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Feed my will to feel this moment,&lt;br /&gt;urging me to cross the line;&lt;br /&gt;reaching out to embrace the random,&lt;br /&gt;reaching out to embrace whatever may come.&lt;/p&gt;&lt;p&gt;— Tool, &lt;em&gt;Lateralus&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Breathe... the air while you still can;&lt;br /&gt;leave... all tomorrow&amp;#39;s plans.&lt;br /&gt;Here... the calm before the storm;&lt;br /&gt;heed... the message of the Dawn.&lt;/p&gt;&lt;p&gt;— Rhea&amp;#39;s Obsession, &lt;em&gt;Death by Moonlight&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I know, I know, the timing is horribly ironic; I&amp;#39;m writing this post on New Year&amp;#39;s Eve, yet I find the concept of the &amp;quot;New Year&amp;#39;s Resolution&amp;quot; to be laughably crude, simplistic, and naïve. Nevertheless, here we are; the self-realisation I &lt;a href=&quot;http://mithrandi.vox.com/library/post/the-mirror.html&quot;&gt;alluded to in a previous post&lt;/a&gt; has given rise to things I never could have imagined. For the first time in years, I&amp;#39;m truly operating outside of the reactionary prison I built for myself, without ever realising it. In many ways, this changes nothing; but at the same time, it somehow changes everything. One particularly important aspect of this epiphany (at the risk of sounding pompous): stepping outside the cage unlocked a reservoir of inner emotional intensity that I did not believe existed; it seems this may have been the cause of the &amp;quot;muting&amp;quot; of my own emotions. For some, being suddenly deluged by emotional energy like this may have been devastating, but for me, it&amp;#39;s really the exact opposite; being driven to the edge emotionally is something I can draw deeply on for strength, regardless of the nature of the emotion. Intense fear, intense joy, intense sorrow, intense anger, it&amp;#39;s all the same to that part of me, although the negative emotions do take their toll on me in other ways.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This brings me to the next aspect: I&amp;#39;m now also aware that the depression I thought I had long since left behind me was never truly gone; but with the aid of this new-found source of emotional energy, I&amp;#39;ve finally been able to perceive my depression on a mental level for the first time. In the past, the only way I&amp;#39;ve been able to gauge the effects of the depression is through the indirect physical effects that it&amp;#39;s had; while others close to me could sense the darkness, it always overwhelmed me to the point where I was not even consciously aware of it while being affected by it. This doesn&amp;#39;t mean that I&amp;#39;ve suddenly been able to finally throw it off for good, but now that I&amp;#39;m aware exactly how and where it has been affecting me, I&amp;#39;ve been able to start doing something about the problem.&lt;/p&gt;&lt;p&gt;One particular quandary I find myself in now, is deciding exactly how much of this new-found emotion to show others in my interactions with them. To a large extent, my normal social responses, body language cues, and so on are completely simulated; my natural responses don&amp;#39;t even vaguely match what most other people actually expect to see, and so I have to fake it in order to avoid miscommunication. I&amp;#39;ve mostly been doing nothing to reveal the changes in my interactions, but concealing my emotional reactions to this extent seems somehow dishonest, although I couldn&amp;#39;t really explain why. I guess it&amp;#39;s something I&amp;#39;ll have to figure out as I go along.&lt;/p&gt;&lt;p&gt;On a practical level, this hasn&amp;#39;t yet had any effect on a day-to-day &amp;quot;getting things done&amp;quot; level; I&amp;#39;m right in the middle of the holiday season, so things have been relatively quiet, and I&amp;#39;d been planning on taking as much time as I could to just sit back and relax anyway; but it looks like I&amp;#39;m going to be approaching life quite differently in some ways next year, as I start focusing on driving my real priorities forward, rather than just reacting.&lt;/p&gt;&lt;p&gt;The thing that truly terrifies me right now is that I&amp;#39;m not sure I&amp;#39;ll be able to hang onto the state I&amp;#39;m in now. I can easily imagine slipping back to where I was before in a few weeks, at which point all this will seem like so much drivel and handwaving. Then again, there&amp;#39;s not much I can do about it, and I won&amp;#39;t truly be able to grasp what I&amp;#39;ve lost if I do lose it again, so I suppose there&amp;#39;s no sense worrying about it. Somehow, that line of reasoning isn&amp;#39;t particularly comforting...&lt;/p&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/reassessing.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c45100010109d0785b95000e?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">me</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category>   
        </item> 
 
        <item>
            <title>JavaScript horrors</title>
            <link>http://mithrandi.vox.com/library/post/javascript-horrors.html?_c=feed-rss-full</link>   
            <author>nobody@vox.com(Tristan Seligmann)</author>
            <comments>http://mithrandi.vox.com/library/post/javascript-horrors.html?_c=feed-rss-full</comments>
            <guid isPermaLink="true">http://mithrandi.vox.com/library/post/javascript-horrors.html?_c=feed-rss-full</guid> 
            <pubDate>Tue, 30 Dec 2008 13:06:09 +0200</pubDate>         
            
            <description>     &lt;p&gt;Okay, so you probably already know JavaScript is bad; but did you know exactly how bad? Here&amp;#39;s a couple of my favourite examples; if you haven&amp;#39;t seen all of these already, then hopefully you&amp;#39;ll also be saved some future headaches by reading this. Please note that I am using &lt;code&gt;=&lt;/code&gt; to denote the concept of mathematical equality, since there isn&amp;#39;t really any JavaScript operator that maps to that concept.&lt;/p&gt;&lt;h2&gt;String coercion:&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;quot;5&amp;quot; + &amp;quot;10&amp;quot; = &amp;quot;510&amp;quot;&lt;br /&gt;5 + &amp;quot;10&amp;quot; = &amp;quot;510&amp;quot;&lt;br /&gt;&amp;quot;5&amp;quot; + 10 = &amp;quot;510&amp;quot;&lt;br /&gt;5 + 10 = 15&lt;br /&gt;&lt;br /&gt;[1,2,3] + 4 = &amp;quot;1,2,34&amp;quot;&lt;br /&gt;1 + [2,3,4] = &amp;quot;12,3,4&lt;br /&gt;&lt;br /&gt;null + &amp;quot;foo&amp;quot; = &amp;quot;nullfoo&amp;quot;&lt;br /&gt;undefined + &amp;quot;foo&amp;quot; = &amp;quot;undefinedfoo&amp;quot;&lt;br /&gt;null + [1,2] = &amp;quot;null1,2&amp;quot;&lt;br /&gt;undefined + [1,2] = &amp;quot;undefined1,2&amp;quot;&lt;br /&gt;null + null = 0&lt;br /&gt;undefined + undefined = NaN&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Array constructor:&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Array(&amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;3&amp;quot;) = [&amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;3&amp;quot;]&lt;br /&gt;Array(1, 2, 3) = [1, 2, 3]&lt;br /&gt;Array(4) = [undefined, undefined, undefined, undefined]&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;&amp;quot;Equality&amp;quot;:&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;1 == 1 = true&lt;br /&gt;1 == 2 = false&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;1 == &amp;quot;1&amp;quot; = true&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;[1] == 1 = true&lt;br /&gt;[1,2] == &amp;quot;1,2&amp;quot; = true&lt;br /&gt;[1,2,3] == [1,2,3] = false&lt;br /&gt;var x = [1,2,3]; x == x = true&lt;br /&gt;&lt;br /&gt;null == undefined = true&lt;br /&gt;null == &amp;quot;null&amp;quot; = false&lt;/code&gt;&lt;/pre&gt;    &lt;p style=&quot;clear:both;&quot;&gt; 
    &lt;a href=&quot;http://mithrandi.vox.com/library/post/javascript-horrors.html?_c=feed-rss-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00f48d09c4510001010980c4e1e6000b?_c=feed-rss-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;
 
            </description> 
            <category domain="http://mithrandi.vox.com/tags/">javascript</category> 
            <category domain="http://mithrandi.vox.com/tags/">tech</category>   
        </item> 
    </channel>
</rss>

