<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Fri, 12 Mar 2010 23:17:51 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>blog</title><subtitle>blog</subtitle><id>http://www.iqdupont.com/blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.iqdupont.com/blog/"/><link rel="self" type="application/atom+xml" href="http://www.iqdupont.com/blog/atom.xml"/><updated>2010-03-10T02:57:50Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.9.2 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Use pretty fonts everywhere: a bookmarklet to use any system font on any page</title><category term="CSS"/><category term="bookmarklets"/><category term="computers"/><category term="jQuery"/><category term="typography"/><id>http://www.iqdupont.com/blog/2010/3/9/use-pretty-fonts-everywhere-a-bookmarklet-to-use-any-system.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/3/9/use-pretty-fonts-everywhere-a-bookmarklet-to-use-any-system.html"/><author><name>Quinn</name></author><published>2010-03-10T01:11:59Z</published><updated>2010-03-10T01:11:59Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<span class="full-image-block ssNonEditable"><span><img src="http://www.iqdupont.com/storage/images/instapaper.png?__SQUARESPACE_CACHEVERSION=1268185128215" alt=""/></span></span><p>I use <a href="http://www.instapaper.com/">Instapaper</a> all the time, and I love it. It is beautiful and simple and elegant and wonderful.</p>
<p>All Instapaper needs is some options for alternative, elegant fonts, to add a little spice to an other repetitive reading experience. There are lots of ways of loading in your own CSS on most browsers (user specified CSS through preferences, Greasemonkey, etc.), but I like the ease and flexibility of bookmarklets. It is especially handy to have your bookmarklets follow you around if you use multiple computers: sync with either XMarks or Mozilla Weave.</p>
<p>Given this need, I&#8217;ve made a very simple bookmarklet that uses <a href="http://jquery.com/">jQuery</a> (hosted on Google&#8217;s CDN) to swap the HTML body font-family for Lucida Bright (although any font available on your system is possible). The jQuery is added using the &#8220;jQuerify&#8221; bookmarklet suggested by <a href="http://ejohn.org/blog/hacking-digg-with-firebug-and-jquery/">Resig</a> himself, and the jQuery command is dead-easy.</p>
<p>To install simply drag <a href="javascript:var%20s=document.createElement('script');s.setAttribute('src',%20'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');document.body.appendChild(s);s.onload=function(){$('body').attr('style','font-family:Lucida%20Bright')};void(s);">System Font</a> to your bookmark toolbar.</p>
<p>To customize simply click on the properties of the bookmarklet and change &#8216;Lucida Bright&#8217; to any font name you have available on your system</p>
<p><!-- Include required JS files -->
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/src/shCore.js"></script>
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/scripts/shBrushJScript.js"></script>

<!-- Include *at least* the core style and default theme -->
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
     SyntaxHighlighter.all()
</script>
<script type="syntaxhighlighter" class="brush: js"><![CDATA[
javascript:var%20s=document.createElement('script');s.setAttribute('src',%20'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');document.body.appendChild(s);s.onload=function(){$('body').attr('style','font-family:Lucida%20Bright')};void(s);
]]></script></p>
]]></content></entry><entry><title>My changing computing patterns: iPad and KDE</title><category term="KDE"/><category term="computers"/><category term="development"/><category term="iPad"/><category term="iPhone"/><category term="technology"/><id>http://www.iqdupont.com/blog/2010/2/16/my-changing-computing-patterns-ipad-and-kde.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/2/16/my-changing-computing-patterns-ipad-and-kde.html"/><author><name>Quinn</name></author><published>2010-02-17T01:38:58Z</published><updated>2010-02-17T01:38:58Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>Even thought I&#8217;ve never even seen it, I&#8217;m going to purchase the Apple iPad. I&#8217;m just that kind of guy. But, rather than just another example of my technolust, I think this latest purchase will begin to mark a change in my computing patterns.<span class="full-image-float-left ssNonEditable"><span><img src="http://www.iqdupont.com/storage/images/The Raveonettes - Lust Lust Lust-2007.jpg?__SQUARESPACE_CACHEVERSION=1266372863430" alt="" /></span></span></p>
<p>Over the last few year I&#8217;ve become increasingly busy (or perhaps less willing to have my idle time infringed upon by less-than-productive matters), and I&#8217;ve become increasingly technical. I always had something of a silicon thumb, but I&#8217;ve been getting paid for this one-time hobby for the last two years and this means I do semi-professional web development and very professional information and process management daily. Further, with the advent of easier development tools I now build the thing I need, instead of merely wish for them (the rise of interpreted languages has been a boon to my tweak-and-iterate non-professional development style). One trajectory of my computing experience is increasingly technical, and increasingly powerful. I may still not allocate memory blocks or worry about pass-by-reference versus pass-by-value, but I typically can make the computer do what I need, albeit often in a rather rudimentary fashion.</p>
<p>The other trajectory of my computing experience is in many ways opposite. Instead of working in that last 10%, I let the Pareto ratio sort most matters out for me, and simply get by with what is in front of me. This computing pattern is not concerned with cutting out new methods, it is only concerned with form, and to a much lesser degree, content. Form is vitally important to me because I am busier and I am less willing to waste time. These computing patterns are becoming habitual&mdash;even if they do not always use the same vendors or websites, they do take the same path. For me, <a href="http://www.facebook.com/quinndupont">Facebook</a> and <a href="http://www.twitter.com/quinndupont">Twitter</a> are essentially the same (although Facebook is more private, and Twitter more public), and my interactions require the same strategies (notifications, platform independence, mobile). Content is important simply because in this trajectory I am looking for inputs, not outputs. Social sites, news, and the occasional idle distraction are inputs, and the only outputs are basic replies and comments, with the occasional post.</p>
<p>This brings me to the <a href="http://www.apple.com/ipad/">iPad</a>, and actually, <a href="http://arstechnica.com/open-source/reviews/2010/02/hands-on-semantic-desktop-starts-to-show-in-kde-sc-44.ars">KDE</a>. My computing pattern is now thoroughly bifurcated: on the one hand I want an appliance (my iPhone currently performs this duty). All it needs to do is parse content and create paths that shape a latent form. On the other hand, I need a &#8220;development&#8221; platform, and for this the new KDE looks like a champ. I still want to be able to root my operating system and fill out that custom, last 10% of my life, but much of what I do will be of a simpler form, on the iPad and iPhone.</p>
]]></content></entry><entry><title>Contra Dawkins</title><category term="dawkins"/><category term="philosophy"/><category term="religion"/><category term="science"/><id>http://www.iqdupont.com/blog/2010/2/13/contra-dawkins.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/2/13/contra-dawkins.html"/><author><name>Quinn</name></author><published>2010-02-13T20:16:17Z</published><updated>2010-02-13T20:16:17Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>"The alleged free-thinking of our naturalists and physiologists seems to me be a joke---they have no passion about such things [the antagonisms of religion]; they have not suffered" ~ F. Nietzsche, The Antichrist</p>]]></content></entry><entry><title>Hospitality and Haiti</title><category term="economics"/><category term="ethics"/><category term="ethics"/><category term="hospitality"/><category term="oppression"/><id>http://www.iqdupont.com/blog/2010/2/1/hospitality-and-haiti.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/2/1/hospitality-and-haiti.html"/><author><name>Quinn</name></author><published>2010-02-02T04:37:05Z</published><updated>2010-02-02T04:37:05Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p><span class="full-image-float-left ssNonEditable"><span><img src="http://www.iqdupont.com/storage/images/fggd.jpg?__SQUARESPACE_CACHEVERSION=1265086786347" alt="" /></span><span class="thumbnail-caption" style="width: 400px;">Haitian Immigration</span></span>It has been suggested, somewhat radically, that what Haiti needs more than aid is to <em><a href="http://aidwatchers.com/2010/01/the-best-way-nobody%E2%80%99s-talking-about-to-help-haitians/">leave Haiti</a>.</em> Not because Haiti is &#8220;hell on earth&#8221;, rather, because Haiti has been <a href="http://www.thenation.com/doc/20100208/editors2">systematically oppressed</a>: first from French colonial rule, then contemporary capitalism (IMF, <em>et. al</em>). As such, Haiti is as much a &#8220;man&#8221;-made disaster as it is tectonic. Derrida suggested, <a href="http://books.google.ca/books?id=Cy1kD3IjeiQC&amp;lpg=PP1&amp;ots=Xb53mxrzRJ&amp;dq=hospitality%20derrida&amp;pg=PP1#v=onepage&amp;q=&amp;f=false">long ago</a>, that the puzzles of ethics drive us from shear Otherness to hospitality. Haitians are Others, if for no other reason than Canadian and American racist immigration policies. By recognizing an ethics of hospitality we open the possibility of both accepting Haitian immigration as well as violence. Immigrating Haitians would assert a certain kind of dominion over their new land, and hospitality requires succumbing to this violent imposition. Even without the Derridean theory, immigration is, in the words of <a href="http://www.corblund.com/">Corb Lund</a>, &#8220;mighty neighbourly&#8221;.</p>
]]></content></entry><entry><title>Quick note: Google changes China policy due to cyberattack</title><category term="Google"/><category term="censorship"/><category term="comment"/><category term="ethics"/><id>http://www.iqdupont.com/blog/2010/1/13/quick-note-google-changes-china-policy-due-to-cyberattack.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/1/13/quick-note-google-changes-china-policy-due-to-cyberattack.html"/><author><name>Quinn</name></author><published>2010-01-13T00:41:27Z</published><updated>2010-01-13T00:41:27Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>Daily news isn't typical fare for the Textual Metanoia blog, but seeing Google completely reverse their decision to censor search results in China because of a cyberattack was just too relevant for my research to ignore. Evidently, Google was recently attacked in a sophisticated manner for the purpose of reaching Gmail accounts of dissidents. I don't yet have sophisticated thoughts on the matter, but I see it as a kind of motivation occuring from external, invasive prompting. Saying that this kind of sabotage prompts a response isn't in itself stirring revelation, but it does need repeating. Perhaps I'll be able to post a follow-up with deeper analysis.</p>]]></content></entry><entry><title>Automatically updating Chromium daily snapshots on OS X</title><category term="OS X"/><category term="browsers"/><category term="chromium"/><category term="computers"/><category term="cron"/><category term="php"/><category term="scripts"/><id>http://www.iqdupont.com/blog/2010/1/1/automatically-updating-chromium-daily-snapshots-on-os-x.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2010/1/1/automatically-updating-chromium-daily-snapshots-on-os-x.html"/><author><name>Quinn</name></author><published>2010-01-02T03:35:05Z</published><updated>2010-01-02T03:35:05Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>I&#8217;ve recently been smitten with Chromium for OS X (I use plain vanilla Chrome on Windows XP at work now). As of this post only Chromium will allow extensions on OS X. I&#8217;ve wanted an easy way to update to the daily snapshot. I&#8217;m sure there are people who have done something similar to what I have done, but in the interest of recreating the wheel, here&#8217;s my solution.</p>
<p>The script is pretty simple, and is not well tested or up to snuff in terms of security (some nasty exec exploits are the first of the problems). Further, since it does (attempt to) copy the Chromium.app package to your Applications directory there is possibility for some serious problems if Chromium is running and the tests to check this fail. Really, if anything fails, it could be ugly. This is only intended for running on your own local machine, and I assume no responsibility if things go south.</p>
<p>With the procedural matters out of the way, here&#8217;s the script (<a href="http://www.iqdupont.com/download/updateChromium.php">download</a>):</p>
<p>
<!-- Include required JS files -->
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/src/shCore.js"></script>
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/scripts/shBrushPhp.js"></script>

<!-- Include *at least* the core style and default theme -->
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
     SyntaxHighlighter.all()
</script>
<script type="syntaxhighlighter" class="brush: php"><![CDATA[

<?php

function get_RemoteFile($file, $local_path, $newfilename) { //grabs remote file with Curl
	$err_msg = ''; 
	//echo "Attempting download of $file\n"; 
	$out = fopen($newfilename, 'wb'); 
	if ($out == FALSE){ 
		print "File not opened\n"; 
		exit; 
	} 
	
	$ch = curl_init(); 
	
	curl_setopt($ch, CURLOPT_FILE, $out); 
	curl_setopt($ch, CURLOPT_HEADER, 0); 
	curl_setopt($ch, CURLOPT_URL, $file); 
	
	curl_exec($ch);
	if(curl_error ($ch)){
		echo "FAILURE:".curl_error ($ch);
	}
	//echo "<br>Error is : ".curl_error ($ch); 
	
	curl_close($ch); 
	//fclose($handle); 
	
}

function testForRunningChromium(){ //checks to see if Chromium is running
	$application = 'Chromium';
	$fail = 0;
	$data = exec("ps aux | grep $application");
	
	$pos = strpos($data, "grep $application");
	if ($pos === false) {
		$fail = 1;
		
	}
	$pos = strpos($data, $application);
	if ($pos !== false && $fail != 0) {
		echo "$application is running.\n";
		return FALSE;
	}
	return TRUE;
}

if($argv[1] == 'help' || $argv[1] == 'h' || $argv[1] == '-h' || $argv[1] == '--help'){
	die("Usage: php -f updateChromium.php \n");
	
}

//set up some static variables
$username = $argv[1];	
$latestVersion = file_get_contents('http://build.chromium.org/buildbot/snapshots/chromium-rel-mac/LATEST');
$remote_file = "http://build.chromium.org/buildbot/snapshots/chromium-rel-mac/{$latestVersion}/chrome-mac.zip";
$local_file = 'chrome-mac.zip';
$local_path = ".";

if(file_exists($local_file)){ //clean out the existing downloaded Chromium
	unlink($local_file);
}

$test = testForRunningChromium();
if(!$test){
	die("Quitting.\n");
}

get_RemoteFile($remote_file, $local_path, $local_file); 


$finfo = finfo_open(FILEINFO_MIME_TYPE); // get file information to make sure it is actually a good zip that was downloaded (and not a 404 HTML page)
$fileInformation = finfo_file($finfo, $local_file) . "\n";
finfo_close($finfo);


if(trim($fileInformation) != 'application/zip'){
	die("\nFAILURE DOWNLOADING Chromium Snapshot\n");
}
else{ //run the ugly exec functions to unpack and copy Chromium to your Applications folder
	if(file_exists('chrome-mac')){
		exec("rm -r chrome-mac");
	}
	exec("unzip $local_file");
	$test = testForRunningChromium();
	if($test){
		exec("cp -R chrome-mac/Chromium.app /Applications/Chromium.app");
		echo "Success.\n";
	}
}
?>

]]></script></p>
<p>Copy this script to somewhere&nbsp;convenient&nbsp;and run in your command line (Applications-&gt;Utilities-&gt;Terminal) using the following syntax :</p>
<p><strong><tt>php -f updateChromium.php</tt></strong></p>
<p>The script will check to see if Chromium is already running (and abort if Chromium is running). If Chromium is not running it will download the latest snapshot from the Chromium build bot and then copy the application into your Applications directory.</p>
<p>You may want to put the script on your crontab, as such:</p>
<p>(in your command line)</p>
<p><tt>crontab -e</tt></p>
<p>Then type <tt>i</tt>. Now that we are in &#8220;insert&#8221; mode, type:</p>
<p><tt>0 0 * * * php -f &lt;locationToUpdateChromiumScript&gt;/updateChromium.php</tt></p>
<p>(This will set the script to run every day at midnight)</p>
<p>Then press ESC, and type <tt>wq</tt>. You should be issued a message that a new crontab has been installed.</p>
]]></content></entry><entry><title>Very easy Groovy and Grails installation on OS X (through MacPorts)</title><category term="computers"/><category term="grails"/><category term="groovy"/><category term="os x development"/><category term="web 2.0"/><id>http://www.iqdupont.com/blog/2009/12/31/very-easy-groovy-and-grails-installation-on-os-x-through-mac.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2009/12/31/very-easy-groovy-and-grails-installation-on-os-x-through-mac.html"/><author><name>Quinn</name></author><published>2009-12-31T21:52:27Z</published><updated>2009-12-31T21:52:27Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>I&#8217;ve had a lot of trouble with MacPorts in the past, so I&#8217;m typically reluctant to go that route for Unix tool installation on my OS X machine, however, installing Groovy and Grails proved very easy with MacPorts.&nbsp;</p>
<p>You must first install MacPorts.</p>
<p>Once MacPorts is installed (<a href="http://www.macports.org/install.php">instructions</a>), you:</p>
<p>&nbsp;</p>
<ol>
<li>Open a terminal (In Finder double-click Utilities-&gt;Terminal).</li>
<li>Type <tt>sudo port install groovy</tt> (you will be prompted for your password)<ol>
<li>Once installation is complete type <tt>groovy -v</tt> to confirm that the installation was successful.</li>
</ol></li>
<li>Type <tt>sudo port install grails</tt><ol>
<li>Once installation is complete you must set the <tt>GRAILS_HOME</tt> variable. Ensure you are in your Home directory (type <tt>cd ~</tt>), then type <tt>vim .profile</tt>. This will open the VImproved editor (it&#8217;s a wonky but handy editor). Press the down arrow until you are at the bottom of the screen, then type <tt>i</tt> to change to &#8220;insert&#8221; mode. Once in insert mode copy this to your clipboard:&nbsp;&nbsp; <tt>export GRAILS_HOME=/opt/local/share/java/grails</tt>. Then press <tt>CRTL+V</tt> to paste to the bottom of the file. Save the file and exit by typing <tt>ESC wq</tt>.</li>
<li>Type <tt>grails -v</tt> to confirm that the installation was successful.</li>
</ol></li>
</ol>
<p>That should do the trick!</p>
]]></content></entry><entry><title>Economics standing in for politics: China</title><category term="China"/><category term="comment"/><category term="economics"/><category term="neoliberalism"/><id>http://www.iqdupont.com/blog/2009/12/28/economics-standing-in-for-politics-china.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2009/12/28/economics-standing-in-for-politics-china.html"/><author><name>Quinn</name></author><published>2009-12-28T05:36:49Z</published><updated>2009-12-28T05:36:49Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>I've often thought that mainstream economic study (neoliberalism) has a problematic relationship with ethics; this couldn't have been put clearer than by a recent Nation article,<br />"In China, economics stands in for politics as the substance of public debate and conversation. You cannot call for elections or for a free Tibet, but you can publish heated polemics about the government's decisions to continue to purchase US treasury bonds."</p><p>I believe that there are historical contingencies for why neoliberalism is so divorced from discussion of ethics (these are now ontological features of neoliberalism, but at one point they were open questions). It's interesting to hear a practical example of how seemingly innocuous study can shape other discourse and thus soiety.</p>]]></content></entry><entry><title>Easy email validation with jQuery</title><category term="Javascript"/><category term="computers"/><category term="email"/><category term="jQuery"/><category term="validation"/><id>http://www.iqdupont.com/blog/2009/12/11/easy-email-validation-with-jquery.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2009/12/11/easy-email-validation-with-jquery.html"/><author><name>Quinn</name></author><published>2009-12-11T22:14:48Z</published><updated>2009-12-11T22:14:48Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p><a href="http://jquery.com/">jQuery</a> is an excellent Javascript framework/library that makes complicated things simple (simple enough for a Javascript punter like myself to use).</p>
<p>Recently I found a need for email validation on a form. The form is a fancy <a href="http://jquery.malsup.com/form/">AJAX form</a>, that was giving me troubles with preSubmit callbacks and the like. I tried a <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">heavyweight validation plugin</a> for jQuery, which worked, but was too complicated for my simple needs. In the end I went with regular expression validation and merely disabled the submit button if the validation failed. The full instructions are <a href="http://www.reynoldsftw.com/2009/03/live-email-validation-with-jquery/">here</a>, but here&#8217;s (a snippet of) my implementation:</p>
<p><!-- Include required JS files -->
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/src/shCore.js"></script>
<!-- At least one brush, here we choose JS. You need to include a brush for every language you want to highlight -->
<script type="text/javascript" src="http://www.iqdupont.com/storage/syntaxhighlighter/scripts/shBrushJScript.js"></script>

<!-- Include *at least* the core style and default theme -->
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="http://www.iqdupont.com/storage/syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
     SyntaxHighlighter.all()
</script>
<script type="syntaxhighlighter" class="brush: js"><![CDATA[
$("#validate").keyup(function(){
				var email = $("#validate").val();
				if(email != 0)
				{
					if(isValidEmailAddress(email))
					{
						$("#validEmail").css({ "background-image": "url('/jsdocs_feedback/validyes.png')" });
						$("#submit").removeAttr("disabled"); 
					} else {
						$("#validEmail").css({ "background-image": "url('/jsdocs_feedback/validno.png')" });
						$("#submit").attr("disabled", "true"); 
					}
				} else {
					$("#validEmail").css({ "background-image": "none" });
					$("#submit").removeAttr("disabled"); 
				}
		});
		$('#feedbackForm').ajaxForm(options);
]]></script></p>
]]></content></entry><entry><title>What is OOO? (tip: not a computer programming methodology)</title><category term="definition"/><category term="object oriented ontology"/><category term="objects"/><category term="philosophy"/><category term="philosophy"/><id>http://www.iqdupont.com/blog/2009/12/10/what-is-ooo-tip-not-a-computer-programming-methodology.html</id><link rel="alternate" type="text/html" href="http://www.iqdupont.com/blog/2009/12/10/what-is-ooo-tip-not-a-computer-programming-methodology.html"/><author><name>Quinn</name></author><published>2009-12-11T02:24:09Z</published><updated>2009-12-11T02:24:09Z</updated><content type="html" xml:lang="en-CA"><![CDATA[<p>Object Oriented Ontology is something that I&#8217;ve been interested in ever since I learned about OOP (Object Oriented Programming). I then came into OOO on a side-channel (on a connection that I don&#8217;t think anyone has made yet), from Brian Cantwell Smith&#8217;s excellent <em>On the Origin of Objects</em>. OOO is notoriously difficult to explain without getting into minutia of ontological ideologies, so Ian Bogost drafted up a tentative &#8220;ordinary folk&#8221; <a href="http://www.bogost.com/blog/what_is_objectoriented_ontolog.shtml">definition</a>. I think it&#8217;s pretty good:</p>
<blockquote>
<p>Ontology is the philosophical study of existence. Object-oriented ontology (&#8220;OOO&#8221; for short) puts <em>things</em> at the center of this study. Its proponents contend that nothing has special status, but that everything exists equally&mdash;plumbers, cotton, bonobos, DVD players, and sandstone, for example. In contemporary thought, things are usually taken either as the aggregation of ever smaller bits (scientific naturalism) or as constructions of human behavior and society (social relativism). OOO steers a path between the two, drawing attention to things at all scales (from atoms to alpacas, bits to blinis), and pondering their nature and relations with one another as much with ourselves.</p>
</blockquote>
<ol>
<li>Brian Cantwell Smith, <span style="font-style: italic;">On the origin of objects</span> (MIT Press, Cambridge MA, 1996).&nbsp; <span class="Z3988" title="url_ver=Z39.88-2004&amp;ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=On%20the%20origin%20of%20objects&amp;rft.publisher=MIT%20Press%2C%20Cambridge%20MA&amp;rft.aufirst=Brian&amp;rft.aulast=Cantwell%20Smith&amp;rft.au=Brian%20Cantwell%20Smith&amp;rft.date=1996"><br /></span></li>
</ol>
<p>&nbsp;</p>
]]></content></entry></feed>