<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>polimath</title>
	<atom:link href="http://polimath.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://polimath.com/blog</link>
	<description>203: Non-Authoritative Information</description>
	<pubDate>Thu, 15 May 2008 06:29:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Kubuntu KDE4 Remix: An Ubuntu User&#8217;s View</title>
		<link>http://polimath.com/blog/2008/05/13/kubuntu-kde4-remix/</link>
		<comments>http://polimath.com/blog/2008/05/13/kubuntu-kde4-remix/#comments</comments>
		<pubDate>Tue, 13 May 2008 06:12:21 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/?p=31</guid>
		<description><![CDATA[This weekend as classes have started to wind down I had a bit of time to mess with my laptop for some general geek fun. Playing with KDE 4 is something I&#8217;ve wanted to do the past few months but avoided for fear of breaking things when I had too much going on to spend [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend as classes have started to wind down I had a bit of time to mess with my laptop for some general geek fun. Playing with KDE 4 is something I&#8217;ve wanted to do the past few months but avoided for fear of breaking things when I had too much going on to spend a full day getting them working again.  Encouraged by a brief trial of the <a href="http://www.kubuntu.org/download.php#remix">Kubuntu KDE4 Remix LiveCD</a> I decided to give it a try.</p>
<p>To give a bit of background: I&#8217;ve been an Ubuntu user for over 3 years and had only given Kubuntu a try once, on a live CD back at 6.06.  The most exposure to KDE that I&#8217;d really had was back when I ran Fedora for a few months as my secondary OS while I was still primarily using Windows.  </p>
<p>If you want to follow along and are already on Ubuntu, it helps that Kubuntu is an official Ubuntu project and not a fork or derivative, installing it couldn&#8217;t be easier.<br />
<code><br />
sudo apt-get install kubuntu-kde4-desktop<br />
</code><br />
Walk away for a while while it installs, come back, logout, and select KDE4 at the login screen.</p>
<p><a href='http://polimath.com/blog/wp-content/uploads/2008/05/desktop.png'><img src="http://polimath.com/blog/wp-content/uploads/2008/05/desktop-300x187.png" alt="A Screenshot of a fairly typical KDE Desktop" title="desktop" width="300" height="187" class="alignnone size-medium wp-image-33" /></a></p>
<h3>Appearance</h3>
<p>KDE4 is certainly attractive, to me it has always felt that KDE valued visual polish while for the most part Gnome has treated it as secondary.  The new Oxygen theme and Plasma widgets are visually appealing although Plasma is certainly not without its problems.  Taking a closer look at the above screenshot shows that the clock is cut off, some of the systray icons are not properly redrawn, and the main KDE menu is drawn a bit off as well.  Changing the size of the systray fixes these problems, but I can&#8217;t stand a huge tray. (I also prefer my tray at the top which caused even more problems)</p>
<p>KDE4 has built in compositing which (as expected) ran fine on my laptop&#8217;s nVidia 8600.  It stacks up fine compared to Compiz Fusion, while it doesn&#8217;t have the wild selection of plugins, it has essentially everything I used on Compiz, and the few people I showed my desktop to this weekend were suitably impressed by &#8220;that Linux thing&#8221;.</p>
<p>Similarly to Gnome, the various built in themes range from the hideous to the sleek.  Why someone would want their desktop to look like the antique CDE or Windows 95 is a mystery, but it seems like KDE and Gnome always feel obligated to include these themes.  Of course, the Oxygen theme is very polished, and coming from Gnome the saved color schemes were a nice twist.  Color schemes offer the ability to easily customize a theme, and several of the included schemes looked fairly nice, and it appears easy to make your own or get more from <a href="http://kde-look.org">KDE-Look.org</a></p>
<p>Plasma doesn&#8217;t seem quite ready, I had a few instances where desktop icons would duplicate.  Widgets didn&#8217;t seem to be entirely persistent, and as noted, the panel contained numerous display glitches.  Reading up on plasma it appears to be a massive overhaul, they are attempting to really reshape the desktop metaphor, and so these kinks can in some ways be expected of a .0 release.</p>
<p>The only real problem besides the plasma glitches, was that when running non-native apps like Firefox they looked terrible.  A quick search turned up the gtk-qt-engine-kde4 package that provided an added configuration section that allowed for tuning the appearance of GTK apps, which solved the problem.</p>
<p>Performance-wise it was difficult to notice much of a difference, this is a fairly new laptop.  KDE4 did seem to come up faster from the login screen than Gnome typically does, but this may have just been an illusory perception caused by the fact that KDE gives more of an indication of what it&#8217;s doing as it starts than Gnome does.</p>
<h3>Core Functionality</h3>
<p>Gnome is known for hiding its configuration and even removing options, this was a major issue that Linus had criticized the Gnome developers for.  It is sometimes frustrating in Gnome to not be able to change a certain setting, and I figured that it would be nice not to run into these problems in KDE.  </p>
<p>The KDE configuration app is very impressive coming from Gnome.  All of the settings exist in one place and are extremely comprehensive.  The settings manager even contains a lot of the application specific settings.  It&#8217;s like a user-friendly version of gconf-editor.  One minor point would be that the distinction between the two tabs, General and Advanced, seems somewhat arbitrary given the placement of some settings.</p>
<p>Another thing I noticed was that the KDE window manager KWin has some nice options that just aren&#8217;t present in Gnome.  (and a few that are but that I never knew about because they aren&#8217;t configurable so I&#8217;d never seen them)  Right/middle clicking the maximize button for instance maximizes horizontally/vertically, which it turns out is default behavior in Compiz (but not Metacity, Gnome&#8217;s default WM).  KWin&#8217;s multiple desktop support was nice, and featured easily accessible options from the window menu to peg a window to a particular desktop, control the window&#8217;s opacity, and a lot more.  A lot of these options are available via Gnome+Compiz but take going into the Compiz settings manager and setting manually instead of clicking on the window menu and selecting.  This was a nice touch that made some of the more useful features of a modern WM like KWin/Compiz accessible instead of hidden away. </p>
<p>Another nice feature is the new KDE menu.  From what I&#8217;ve seen of the Vista Start Menu it resembles it, although I&#8217;m not qualified to comment on how it truly compares to Vista&#8217;s.  I appreciated the ability to search instead of navigating the menu (on Gnome I rarely use the menu, opting instead to use <a href="http://do.davebsd.com/">Gnome Do</a>)  Saving favorite applications and having large buttons for the sub-menus is another nice touch that I think could make the fairly stale Gnome menu more usable.</p>
<p><a href='http://polimath.com/blog/wp-content/uploads/2008/05/menu.png'><img src="http://polimath.com/blog/wp-content/uploads/2008/05/menu-261x300.png" alt="The KDE4 applications menu" title="KDE4 menu" width="261" height="300" class="aligncenter size-medium wp-image-34" /></a></p>
<p>In KDE pressing Alt-F2 brings up miniterm, which is much nicer than Gnome&#8217;s Alt-F2 run dialog.  Miniterm allows the execution of command line one liners as well as typical launch behavior.  On the other hand however, the system monitor equivalent lacked much of the information that Gnome&#8217;s provides and seemed like a weak spot in the otherwise shiny KDE4.  The recent improvements to Gnome&#8217;s system monitor have made this gap even wider.  (<em>update: commenter Tsiolkovsky points out that I was seeing the stripped down version of the task manager and that KDE does in fact have a very nice task manager that can be brought up separately, he is absolutely correct</em>)</p>
<p>KDE has recently adopted a new file manager named Dolphin.  Dolphin is quite new and aims to be simpler than the previous KDE file manager, but I felt still outperformed Nautilus in most ways.  Dolphin supports OSX-style column browsing, as well as features like split-pane browsing.  I did miss the ease of remote browsing that nautilus provides as well as certain features I have gotten used to like Ctrl-S to select a pattern in a folder.  </p>
<p><a href='http://polimath.com/blog/wp-content/uploads/2008/05/dolphin.png'><img src="http://polimath.com/blog/wp-content/uploads/2008/05/dolphin-300x219.png" alt="KDE\&#039;s dolphin file explorer" title="KDE\&#039;s dolphin file explorer" width="300" height="219" class="aligncenter size-medium wp-image-35" /></a></p>
<h3>KDE4 Applications</h3>
<p>A desktop environment is in many ways defined by its applications.  Although it is possible to run KDE apps on a Gnome desktop and vice versa, things tend to work better when they are native.  I took a look primarily at the core applications: web browser, IM client, document viewer, terminal, media player, text editor.</p>
<p>The standard KDE Web Browser is Konqueror.  Konqueror was also until recently the default file manager and is immensely powerful.  Konqueror is based on KHTML which is the predecessor to WebKit.  It rendered most pages fairly well, and was certainly usable.  I couldn&#8217;t get along without Firefox for long, although a fair comparison would be to Gnome&#8217;s Epiphany which I felt that Konqueror blew away.  I also spent time using Konqueror as a file manager which was nice.  The fact that it supports split views, tabbed browsing, and inline previews was extremely nice. For example, it can open PDFs using a KDE subsystem called KParts that allows KDE apps to embed one another as components.  (KParts seems quite cool, and is presumably why the terminal is embeddable everywhere such as the file browser and text editor).</p>
<p>I had never really heard much about KDE&#8217;s IM client Kopete so I figured that it didn&#8217;t stack up to pidgin.  It certainly doesn&#8217;t have the protocol support, which I think is a shame because it seems like otherwise it could be a real contender.  I&#8217;ve been using Pidgin (or it&#8217;s previous incarnation gaim) longer than probably any other piece of software (except perhaps counting Mozilla with Firefox) so making the switch would be a bit tough as I&#8217;ve just gotten used to it.  Kopete has some unique features including conversation theme support like OSX&#8217;s adium, and has some unique plugins (including one that displays LaTeX formulas in conversations).</p>
<p><a href='http://polimath.com/blog/wp-content/uploads/2008/05/kopete.png'><img src="http://polimath.com/blog/wp-content/uploads/2008/05/kopete-300x165.png" alt="a kopete latex conversation" title="a kopete preview" width="300" height="165" class="alignnone size-medium wp-image-37" /></a></p>
<p>Although not yet a true KDE4 application, <a href="http://amarok.kde.org/">AmaroK</a> warrants a mention here.  AmaroK is easily the best Linux music client and with an upcoming Windows, will likely be the best music player on Linux.  AmaroK has great library support, an easy to use plugin system with a rich suite of plugins.  AmaroK (alongside <a href="http://kile.sourceforge.net/">Kile</a>) was one of the two KDE applications that I have used heavily from Gnome.</p>
<p>At first I didn&#8217;t think I&#8217;d bother talking about the terminal, as I&#8217;ve never thought much one way or the other about gnome-terminal.  konsole however includes features like searching output, monitoring for activity/silence, and bookmarking. Given how much time I spent in the terminal, now that I have these features I&#8217;m not sure I&#8217;ll be able to give them up.  Terminal transparency doesn&#8217;t work unless you pass &#8211;enable-transparency which I thought was strange, but isn&#8217;t really a show stopper as I don&#8217;t typically use a transparent terminal, and it&#8217;d be simple to alias a konsole command to include this option if I did.</p>
<p>Similarly to the terminal, it&#8217;d be easy to overlook the document viewer coming from Gnome&#8217;s evince.  I should say that this is in a way a testament to evince&#8217;s ease of use that it is so out of the way.  Despite being scores better than acroread I&#8217;ve always wanted more out of my PDF reader.  I never understood why I couldn&#8217;t easily annotate and bookmark my PDFs, Okular, the KDE4 document viewer remedies that problem.  Okular is based on libpoppler, the same library that powers evince, and so it&#8217;s rendering should be just as good as that of evince.  At the same time however, it offers highlighters, post-it notes, and bookmarking that make reading a PDF book a lot more practical.  For some reason however, search did seem broken, which is a big problem that should definitely be fixed.</p>
<p><a href='http://polimath.com/blog/wp-content/uploads/2008/05/okular.png'><img src="http://polimath.com/blog/wp-content/uploads/2008/05/okular-300x218.png" alt="Okular" title="Okular" width="300" height="218" class="aligncenter size-medium wp-image-36" /></a></p>
<p>Kate is the KDE text editor, and puts Gnome&#8217;s gedit to shame the way that gedit puts Notepad to shame.  Features like split windows, embedded terminal support, and code folding make Kate resemble a serious editor for developers.  I can understand the desire to have a simpler editor however, and it seems like by default Kate might be a bit overwhelming for someone that is looking to just edit some simple text. (although I do question how often that happens these days when it seems like most users looking for simple text editing would go to a word processor)</p>
<p>And just to explain my omission of word processors: I didn&#8217;t get a chance to test KOffice.  From what I&#8217;ve read KOffice 2 (the KDE4 edition) isn&#8217;t quite ready yet, and Kubuntu uses OpenOffice by default.  Kubuntu does ship with an Oxygen theme for OpenOffice however that makes it look native.</p>
<h3>Final Thoughts</h3>
<p>Unfortunately the erratic behavior of Plasma is going to keep me from making the full switch over to KDE4.  The fact that I seem to prefer Dolphin/Konqueror over Nautilus and Konsole over gnome-terminal seems like fair reason to seriously consider switching.  The gedit/kate differences matter little to me as I prefer <a href="http://www.openkomodo.com/">Komodo Edit</a> as my editor in general.  Also, I&#8217;m fairly convinced I&#8217;m going to use Firefox, Pidgin, AmaroK and OpenOffice no matter which desktop environment I&#8217;m using so the various offerings in these fields don&#8217;t have a huge effect on my opinion.  KDE is certainly visually attractive, and I have a feeling that I&#8217;ll start using more and more KDE apps, and by the time the Intrepid Ibex release hits, I&#8217;m very likely to give Kubuntu another real try.  By then KDE 4.1 will be released and I&#8217;d expect that a lot more KDE3 apps will be KDE4 native.</p>
<p>One thing to take away from all of this is that in the era of the modern desktop it really isn&#8217;t too scary to mix and match.  I have been back in Gnome now for a day and have given Dolphin a try as well as showing off the LaTeX plugin in Kopete to a friend.  Just as I&#8217;ve never had real problems using AmaroK in my several years on Ubuntu, it doesn&#8217;t seem like I&#8217;ll have much trouble at all should I start to prefer things like Okular over Evince or even sticky note application KNotes over it&#8217;s counterpart Tomboy.  This also makes the idea of switching less frightening, just as the availability of Open Source applications like pidgin and firefox eased my transition to Ubuntu, the fact that I didn&#8217;t have to give up any of my Gnome apps from KDE and vice versa will make what might be a transition over to KDE4 relatively pain free should the time come.</p>
<p>In conclusion, kudos to the KDE and Kubuntu team for building fine products.  I&#8217;m understanding of the bugs in Kubuntu seeing as Kubuntu 8.04 was the first distro to ship with KDE4.  I regret that I didn&#8217;t have more time to test out some of the other apps that are less important to me like KOffice and KPlayer or any of the KDE games.  Also, if I overlooked any really cool KDE applications I&#8217;d be glad to hear from readers as I admittedly just pretty much went with what showed up in the menus after a default install.</p>
<p><span id="more-31"></span></p>
<p><script type="text/javascript" src="http://reddit.com/button.js?t=2"></script><script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/05/13/kubuntu-kde4-remix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>vestigial syntax: programming languages don&#8217;t need tails anymore</title>
		<link>http://polimath.com/blog/2008/04/20/vestigial-syntax/</link>
		<comments>http://polimath.com/blog/2008/04/20/vestigial-syntax/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 03:48:31 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/?p=30</guid>
		<description><![CDATA[This weekend I was helping out a friend when he pasted me some of the code from his latest project that happens to be written in C#:
(the only change I&#8217;ve made was to rename the identifying feature to XYZ)

namespace XYZ.Core
{
    static class Entry
    {
      [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend I was helping out a friend when he pasted me some of the code from his latest project that happens to be written in C#:</p>
<p>(the only change I&#8217;ve made was to rename the identifying feature to XYZ)</p>
<pre><code>
namespace XYZ.Core
{
    static class Entry
    {
        static void Main(string[] args)
        {
            using (Game game = new Game())
            {
                game.Run();
            }
        }
    }
}
</code></pre>
<p>I know that monitors are getting bigger and bigger, but vertical space is still a precious commodity, so let&#8217;s try turning the above code into something that looks more like</p>
<pre><code>
namespace XYZ.Core

static class Entry:
    static void Main(string[] args):
        using (Game game = new Game())
            game.Run();
</code></pre>
<p>This code is shorter and easier on the eyes, and I&#8217;m even ignoring the whole issue of having a class that simply has a static void main, as the authors of the cool <a href="http://boo.codehaus.org/Getting+Started">Boo</a> language point out, the people who came up with &#8220;public static void main&#8221; were kidding, it&#8217;s just that a few million Java/C# programmers didn&#8217;t get the joke.</p>
<p>For those of you that didn&#8217;t know where this was going, the above is just a few steps away from being valid Python (or for you .NET junkies perhaps Boo).  Other people have addressed <a href="http://www.secnetix.de/olli/Python/block_indentation.hawk">the myth of significant whitespace</a> and I won&#8217;t go into great detail here, but I will say that Python essentially injects INDENT/DEDENT tokens that function in the exact same way as { and }. </p>
<p>What is often used as an argument against Python and other indentation-scoped languages is therefore really an advantage.  {} are no more useful than the human appendix or other <a href="http://en.wikipedia.org/wiki/Vestigial_structure">vestigial structures</a>, the only reason that modern programming languages have them is that they inherited them.</p>
<p>If languages like Java/C# thought it was a good idea to free themselves of explicit memory management why not also free themselves of useless syntax that does nothing but clutter up code?</p>
<p>This divergence seems to only be growing wider, with languages like Python already free of these vestigial quirks, whereas languages like C++, Java, and C# continue to make their syntax more and more obfuscated.  (eg. the <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions">tortured C++ lambda syntax</a>)</p>
<p>This discussion on what syntax could be thought of as vestigial sparked some debate, some other potential candidates others suggested include the ++/&#8211; operators and PHP&#8217;s use of -&gt;.  I&#8217;d love to read comments with examples of other developers favorite vestigial syntax.</p>
<p><strong>edit: </strong> A <a href="http://reddit.com/info/6ghnz/comments/">commenter over on reddit</a> points out that the Lisp community had this right years ago.  It does say something that one of the oldest languages is so free of the cruft that the traditionally more dominant <a href="http://en.wikipedia.org/wiki/Curly_bracket_programming_language">curly-brace family</a> has adopted.  The idea that those who forget lisp are doomed to reinvent it is surely at work here.</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/04/20/vestigial-syntax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>a spring update</title>
		<link>http://polimath.com/blog/2008/04/13/a-quick-update/</link>
		<comments>http://polimath.com/blog/2008/04/13/a-quick-update/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 23:01:24 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[personal]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/?p=19</guid>
		<description><![CDATA[If you&#8217;re one of the 20 or so regular readers, you noticed that the theme here just changed.  I went with something a lot simpler than the other theme.  Hacking on the previous theme became tiresome, I&#8217;ve switched to the much more generic copyblogger that is known for it&#8217;s clean code and therefore [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re one of the 20 or so regular readers, you noticed that the theme here just changed.  I went with something a lot simpler than the other theme.  Hacking on the previous theme became tiresome, I&#8217;ve switched to the much more generic <a title="copyblogger theme" href="http://www.copyblogger.com/the-copyblogger-theme-for-wordpress/" target="_blank">copyblogger</a> that is known for it&#8217;s clean code and therefore is easy to bend to my needs.  Another mistake I made with the previous theme was not keeping my changes in revision control, so now all my changes are in a <a title="bazaar vcs" href="http://bazaar-vcs.org/" target="_blank">bazaar</a> repository.  If you have any trouble with the new site post a comment here and I&#8217;ll take a look at it.</p>
<p>I also wanted to take a minute to plug <a title="Steven Jackson" href="http://sjackson.net" target="_blank">Steven Jackson&#8217;s blog</a> here, which has been added to the blogroll.  I should have had this on here earlier, he&#8217;s one of the developers I correspond with the most, and someone I run ideas by constantly.  Most of his content is gamedev/gamedesign related.  I know Steve from my sordid past as an member of the amateur game development community, he&#8217;s a freshman in college but has a pretty impressive skill set, and is one of the most determined developers I know.</p>
<p>As he mentioned on his blog I was working with him on an entry in <a title="PyWeek" href="http://www.pyweek.org/" target="_blank">PyWeek 6</a> which I&#8217;m sure even though it was my idea was somehow his plan to get me back into gamedev. Neither of us ended up having the time we would have liked to complete our idea, but we&#8217;re still talking about following through on it.  It gave me an excuse to learn <a title="Pyglet" href="http://polimath.com/blog/wp-admin/pyglet.org" target="_blank">Pyglet</a> and <a title="Cocos" href="http://code.google.com/p/los-cocos/" target="_blank">Cocos</a>, two excellent python libraries.  Most likely something (whether it&#8217;s our initial game or not) will come out of my having picked them up.</p>
<p>(This would also be a time to give a shoutout to his indie gamedev shop, <a title="Snowfall Media" href="http://snowfallmedia.com/" target="_blank">Snowfall Media</a>, that he&#8217;s set up with one other developer.)</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/04/13/a-quick-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rochester Barcamp Presentation: Developers Can Change the World</title>
		<link>http://polimath.com/blog/2008/04/09/rochester-barcamp-developers-can-change-the-world/</link>
		<comments>http://polimath.com/blog/2008/04/09/rochester-barcamp-developers-can-change-the-world/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 23:21:31 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[RIT]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/?p=27</guid>
		<description><![CDATA[This past weekend I had the pleasure of attending the (fantastically organized) Rochester barcamp 3 on the RIT Campus.
A barcamp is basically a group of knowledgeable people that get together and give talks on subjects that they care about.  It&#8217;s quite possibly one of the coolest things I&#8217;ve had a chance to be involved in [...]]]></description>
			<content:encoded><![CDATA[<p>This past weekend I had the pleasure of attending the (fantastically organized) Rochester barcamp 3 on the RIT Campus.</p>
<p>A barcamp is basically a group of knowledgeable people that get together and give talks on subjects that they care about.  It&#8217;s quite possibly one of the coolest things I&#8217;ve had a chance to be involved in the entire time I&#8217;ve been at RIT.  (I didn&#8217;t hear about the first one, and last year I was out of town)</p>
<p>I was originally going to give my talk on Django, maybe sprinkling in a bit of discussion on political data, etc. if I had time.  Around midnight the night before Barcamp began however I decided to toss out my presentation and start from scratch.  What I ended up with was in my opinion a lot better.  95% of the people at barcamp are technical, but I realized hardly any would be political.. this in my opinion was a problem.</p>
<p>Of course, one might think it would be risky giving a political talk at a tech-oriented event on a tech-oriented campus.  My audience was on the small side, which was to be expected, and also brilliantly illustrated my first point: most of us are apathetic.</p>
<p>I only had 30 minutes, so my discussion on why people are apathetic was limited, but it led me to the discussion of a vicious circle wherein apathy fosters bad government which in turn fosters further apathy.</p>
<p>I closed the talk with examples of what developers can do which I grouped into two broad and somewhat overlapping categories: software to get people involved, and software to get people information.</p>
<p>Going beyond the obvious examples of flash mobs, blogs, wikis, and the like, I discussed several projects like the UK-based <a title="pledgebank" href="http://www.pledgebank.com/" target="_blank">PledgeBank</a> and <a title="writetothem" href="http://www.writetothem.com/" target="_blank">WriteToThem</a>.  These are projects that push individuals to get involved by encouraging either collective action (in the case of PledgeBank) or in the case of WriteToThem getting people to do more personal than sign their name to what are typically meaningless e-petitions.  (think &#8220;303,222 email addresses against Genocide in Darfur&#8221;)</p>
<p>I also pointed to examples of sites that aim to give people more information.  Django creator Adrian Holovaty&#8217;s new site <a title="everyblock" href="http://www.everyblock.com/">EveryBlock</a> is a great example of just getting as much information as possible out to people and letting them do with it what they like.  There is also the Sunlight Labs project <a title="EarmarkWatch" href="http://earmarkwatch.org" target="_blank">EarmarkWatch</a> which is a hybrid of sorts as it not only makes it easier to look at details of federal earmark spending, it also encourages citizen involvement due asking citizens to help research earmarks.  The very idea of researching an earmark on your own is empowering, and can also be seen as an approach to get people more involved in at least questioning government.</p>
<p><em>(Disclaimer: I was lead developer on EarmarkWatch, although my thoughts here do not necessarily reflect those of the Sunlight Foundation)</em></p>
<p>Wrapping up my talk I asked the developers in the audience to make use of the massive quantities of government data that is out there.  Or at the very least keep in mind the social responsibility that they have as being part of a uniquely skilled class with the power to control the machines and software that dominate so much of our everyday life.</p>
<p>The last slide ends with an equation: Django + Political Data APIs + Barcamp = ?</p>
<p>The discussion stemming from this talk actually led to a second talk later in the evening, where we attempted to answer this question.  We ended up having a 3 hour discussion on how a few developers from RIT most with no former political experience could move on a project that will &#8220;change the world.&#8221;</p>
<p>Expect to hear more about that in coming weeks.</p>
<p>v1 of the slides that I gave (I&#8217;m working on an update as these were done in about an hour)</p>
<div style="width:425px;text-align:left" id="__ss_351326"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=changetheworld-1208130206425601-8"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=changetheworld-1208130206425601-8" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/jamesturk/developers-can-change-the-world?src=embed" title="View 'Developer&#39;s can Change The World' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload?src=embed">Upload your own</a></div>
</div>
<p><a title="change the world v1 odp" href="http://polimath.com/presentations/changetheworld/changetheworld-v1.odp" target="_blank">Slides in OO.org format</a></p>
<p><a title="change the world v1 pdf" href="http://polimath.com/presentations/changetheworld/changetheworld-v1.pdf" target="_self">Slide overview in PDF format</a></p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/04/09/rochester-barcamp-developers-can-change-the-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Initial Thoughts on Hardy Heron (Beta)</title>
		<link>http://polimath.com/blog/2008/03/29/initial-thoughts-on-hardy-heron/</link>
		<comments>http://polimath.com/blog/2008/03/29/initial-thoughts-on-hardy-heron/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 20:22:46 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/?p=26</guid>
		<description><![CDATA[As I have done with every release since Ubuntu 5.04 (Hoary Hedgehog) I installed the latest Ubuntu Beta almost immediately upon release.
To be entirely honest, so far, I almost wish I hadn&#8217;t.
Now I know, that it&#8217;s rare to read an Ubuntu review that&#8217;s anything but glowing, but keep in mind this is a Beta, and [...]]]></description>
			<content:encoded><![CDATA[<p>As I have done with every release since Ubuntu 5.04 (Hoary Hedgehog) I installed <a title="Hardy Beta" href="http://www.ubuntu.com/testing/hardy/beta" target="_blank">the latest Ubuntu Beta</a> almost immediately upon release.</p>
<p>To be entirely honest, so far, I almost wish I hadn&#8217;t.</p>
<p>Now I know, that it&#8217;s rare to read an Ubuntu review that&#8217;s anything but glowing, but keep in mind this is a Beta, and there was just no reason for me to upgrade.</p>
<p>The major features advertised on the Beta release page include: Xorg 7.3, Kernel 2.6.24, Gnome 2.22, PolicyKit, PulseAudio, Firefox 3 Beta 4, Transmission Bittorrent Client, Vinagre VNC viewer, Brasero CD/DVD burning, World Clock Applet, Inkscape 0.46, and Wubi.</p>
<p>Xorg 7.3 promises to bring better multi-monitor support.  The thing is that for my laptop&#8217;s nvidia card nothing beats nvidia-settings.  I know it&#8217;s proprietary, but it just works with my setup and still has a much nicer interface than the &#8220;two white rectangles&#8221; that the new XRandR GUI offers.</p>
<p>It&#8217;s hard for me to judge what benefit I&#8217;m getting from the Kernel, I will say that as always with a Kernel upgrade a few drivers break, which is a hassle, but my own fault for upgrading to a Beta before everyone has the chance to catch up.</p>
<p>Gnome 2.22&#8217;s big thing is GVFS, which I&#8217;m sure in time will pay off.  So far I haven&#8217;t seen much benefit, but I understand that getting rid of the old underlying filesystem will allow some cool things in the future. Related to this is PolicyKit, which again, isn&#8217;t integrated with the system enough to bring real benefit so far, but is a nice idea to avoid having to gksudo everything.  The other feature of Gnome 2.22 is the World Clock Applet which is cool.  Of course, the practical use for most users is close to nil.</p>
<p>PulseAudio integration is another thing that lays some cool groundwork, but without integrated volume controls much of the benefit is lost.  I have to say that controlling volume on an application-by-application basis sounds awesome.</p>
<p>I was already running Beta 3 of Firefox 3, no real changes in Beta 4.  (I did notice that for some reason I was having X lockup issues with <a title="TwitterFox" href="http://www.naan.net/trac/wiki/TwitterFox" target="_blank">Twitterfox</a>.  I unfortunately had to uninstall it they were so serious and 100% reproducible.  Unfortunately a coworker of mine couldn&#8217;t reproduce them on his Hardy Heron system so I have no idea what was actually to blame, so I haven&#8217;t been able to file a bug report yet.)</p>
<p>Transmission Bittorrent client looks nice, I only usually fire up bittorrent when downloading Ubuntu ISOs however, so I haven&#8217;t really taken it on a test drive.  Vinagre VNC viewer is another &#8220;looks nice but I&#8217;m not a VNC user&#8221;.  Same with the new CD burning application, typically the only CDs I burn are ISOs so this isn&#8217;t a huge deal for me.  Inkscape having PDF support built in by default is awesome.  I played around with it a bit and it seems pretty good.  I love Inkscape despite my lack of artistic ability, and being able to generate PDFs is quite nice.</p>
<p>Which of these application upgrades matters to you is a highly personal thing that depends on your usage, all four are nice polished applications that I feel are great choices for inclusion in a default install.</p>
<p>The memory protection and new firewall aren&#8217;t things that are very visible to an end user, although it certainly is nice to see the continued focus on security.  (Ubuntu being the last laptop standing in <a href="http://www.networkworld.com/news/2008/032908-with-vista-breached-linux-unbeaten.html" target="_blank">this &#8220;hack a laptop to win it&#8221; contest</a> shows that it&#8217;s already somewhat ahead of Vista/OSX.)</p>
<p>The last thing, and one of the biggest features being plugged with the new Ubuntu release is Wubi.  Wubi allows you to install Ubuntu within Windows without repartitioning.  This is cool for people who have to be on Windows, but I&#8217;m a bit worried it&#8217;ll slow conversion rates.</p>
<p>I never meant to switch to Ubuntu. About a month after I installed 5.04 (<em>3 years ago, happy anniversary!</em>) I realized I hadn&#8217;t rebooted my computer (a rare feat in windows).  It was another 3 months until I went into windows again, and that was only to make sure that a hardware problem wasn&#8217;t to blame on Ubuntu (it wasn&#8217;t).   When I got my new laptop I hesitated before giving the whole drive to Ubuntu, but I realized that I hadn&#8217;t booted into Windows in something like a year, and when I did (to test windows applications that refused to run under wine) a VM would have been must less of an interruption to my workflow.</p>
<p>It remains to be seen if users running Ubuntu within Windows will have this same realization that they don&#8217;t need windows anymore.  Of course, lowering the barrier to entry so drastically is a huge positive.  I rather preferred the idea of switching users away from Windows only apps (getting them to use OpenOffice, Firefox, and Pidgin) and then pointing out that they hardly needed Windows (this is what inadvertantly also switched a (non-computer geek for the record) girl I was dating a few years ago to Linux-only, she hasn&#8217;t rebooted her desktop since upgrading to 7.10).</p>
<p>As I said at the beginning of this review, I somewhat wish I had waited to upgrade.  I got virtually no benefit from upgrading as I had virtually no problems on 7.10 for the last 6 months.  This is not a negative review of 8.04 so much as it is a glowing review of 7.10 (which wasn&#8217;t even a LTS release).  That said, with the exception of the aforementioned TwitterFox issue and an issue with a new wireless driver I had early on, there is no reason not to upgrade to 8.04 at your leisure.</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/03/29/initial-thoughts-on-hardy-heron/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GLFT_Font: Simple Font Drawing in OpenGL</title>
		<link>http://polimath.com/blog/2008/03/03/glft_font-simple-font-drawing-in-opengl/</link>
		<comments>http://polimath.com/blog/2008/03/03/glft_font-simple-font-drawing-in-opengl/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 05:07:14 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/2008/03/03/glft_font-simple-font-drawing-in-opengl/</guid>
		<description><![CDATA[If everything goes as planned in about 11 weeks I&#8217;ll graduate from RIT which means no more depending on RIT email or web space.
The most accessed public resource that I have on an RIT server is GLFT_Font, a very simple C++ library for drawing text with TTF fonts using OpenGL.  Despite it&#8217;s age I still [...]]]></description>
			<content:encoded><![CDATA[<p>If everything goes as planned in about 11 weeks I&#8217;ll graduate from RIT which means no more depending on RIT email or web space.</p>
<p>The most accessed public resource that I have on an RIT server is GLFT_Font, a very simple C++ library for drawing text with TTF fonts using OpenGL.  Despite it&#8217;s age I still get the occasional request for help or thank you letter, I certainly didn&#8217;t want to let it fall off the internet altogether in May so I&#8217;ve put up a new page about <a href="http://polimath.com/blog/code/glft_font/" title="GLFT_Font">GLFT_Font</a> in the new <a href="http://polimath.com/blog/code/" title="Polimath Code">code section</a> of polimath.</p>
<p>The old page (http://www.cs.rit.edu/~jpt2433/glftfont/) now redirects here.  I do still answer questions about GLFT_Font despite it&#8217;s age, and I&#8217;m happy to accept any patches or contributions that any users may have.</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/03/03/glft_font-simple-font-drawing-in-opengl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TODO: design a better todo</title>
		<link>http://polimath.com/blog/2008/03/02/todo-a-better-todo/</link>
		<comments>http://polimath.com/blog/2008/03/02/todo-a-better-todo/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 11:01:41 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/2008/03/02/todo-a-better-todo/</guid>
		<description><![CDATA[A Peek Into My Life

pack for upcoming DC trip
get haircut
exchange book at Barnes &#38; Noble
finish reading The Universe in a Single Atom
confirm w/ someone that policy seminar will count for minor capstone
&#8230;
come up with a better system for organizing all of these things I need to do

I&#8217;ve been having discussions lately with quite a few [...]]]></description>
			<content:encoded><![CDATA[<p><strong>A Peek Into My Life</strong></p>
<ul>
<li>pack for upcoming DC trip</li>
<li>get haircut</li>
<li>exchange book at Barnes &amp; Noble</li>
<li>finish reading <a href="http://www.amazon.com/Universe-Single-Atom-Convergence-Spirituality/dp/0767920813/ref=ed_oe_p" title="Amazon link to Universe in a Single Atom" target="_blank">The Universe in a Single Atom</a></li>
<li>confirm w/ someone that policy seminar will count for minor capstone</li>
<li>&#8230;</li>
<li><em>come up with a better system for organizing all of these things I need to do</em></li>
</ul>
<p>I&#8217;ve been having discussions lately with quite a few people gathering my thoughts and theirs on what can be done to make an improved todo list application.  One of the tough parts of making a good todo list is that it that everyone&#8217;s mind is organized differently and therefore everyone seems to have different ideas of how a todo list should be organized.  Are tasks organized via projects, categories, tags, sub-tasks?  Do tasks have due dates? Can a task be recurring? What about priorities? Is there a need to estimate how long a task will take?</p>
<p>Everyone has their own answers to these questions, and because of this there is probably a new todo app created every day.  If you hadn&#8217;t already guessed this post seeks to explore the idea of making one more.</p>
<p><strong>A Crowded Field</strong></p>
<p>I&#8217;m well aware that there are a number of popular todo lists that are already available.  I used the extremely simple <a href="http://www.tadalist.com/" title="TaDa List" target="_blank">TaDa List</a> for a while, for a long time I was a fan of the full featured <a href="http://voo2do.com/" title="Voo2do" target="_blank">Voo2do</a> even spending a bit of time doing some email tech support for it&#8217;s creator.  Seeking better Google integration among other things I recently gave <a href="http://www.rememberthemilk.com/" title="RtM" target="_blank">Remember the Milk</a> a try but found it didn&#8217;t really match the way I think of todo lists.  I&#8217;ve taken a look at various others but they didn&#8217;t hold my interest as long as these three.  I suppose in the interest of completeness I should also mention my own efforts to keep organized using <a href="http://www.gnome.org/projects/tomboy/" title="Tomboy">Tomboy notes</a> and a personal wiki.</p>
<p>There are tons of todo lists out there that are extremely simple, little more than bulleted lists, occasionally with due dates attached.  There are quite a few that attempt to go in the other direction, offering countless features that are only useful to a select few (such as google maps integration or integrated time tracking).  There are also many out there that save their best features for paying users.</p>
<p><strong> What Now?</strong></p>
<p>My issue with all of the above is that using a todo list should add value with minimal effort.  A bulleted todo list can easily be replicated on paper, in any text editor, or in Google docs or a personal wiki.  I really think that there is little reason to sign up for and learn to use an additional service to keep track of a bulleted list.  What I want from my todo list are powerful views on data that is easy to enter.  I want to be able to ask my todo list &#8220;what can/should I be working on now?&#8221; Ultimately this is the fundamental question, the reason we enter priorities, due dates, or can arbitrarily order our lists via fancy drag and drop interfaces.</p>
<p><em>The entire point of having a todo list is so we can always have a grasp of what is happening in the near future.</em></p>
<p>The problem then, is if our todo list offers an incomplete view of the near future.  If our todo list only has those tasks that we take the time to painstakingly enter and assign priorities to.  If our todo list only has those items that can easily be categorized and assigned a due date.</p>
<p><strong>Rule 1: A todo list should be extremely easy to add to </strong></p>
<p>A lot of the leading players get this right, requiring the minimal amount of information, and allowing for additional info to be added later.  Also falling under this rule would be making information as easy as possible to add through nice features such as flexible formats for entering due dates.  Making the interface nice and intuitive and allowing for things like emailing of tasks all increase the probability that a user will actually take the time to enter a task.</p>
<p><strong>Rule 2: Not every item has a due date, but usually we have an idea of an approximate period in which we want something done.</strong></p>
<p>Let&#8217;s look at my todo list, when is the due date for &#8220;pack for DC trip&#8221;?  Well my flight leaves around 7am on March 3rd, so perhaps 6am?  No I want to be packed the night before probably, so sometime this weekend would be good (perhaps instead of writing this blog post?)  Even harder would be getting a haircut or finish reading the Dalai Lama&#8217;s book.  Work tasks often are due within a week or so, but without a specific due date. When I&#8217;m back in classes in a week I&#8217;ll have more tasks with very specific due dates.</p>
<p>Nearly all of the existing offerings have two options for due dates, a specific day or no due date at all.  But in reality no due date at all might mean &#8220;this week&#8221; or &#8220;whenever I get a chance.&#8221;  In my discussions with people I&#8217;ve heard two common rebuttals to my claim that this distinction is important.  &#8221; If something should be done this week, just put in the last day of the week&#8221; is a fair compromise, although I feel it unnecessarily overloads the meaning of a due date.  Perhaps &#8220;whenever I get a chance&#8221; is best left without a due date, but I find it is useful to at least set a general goal of when I&#8217;d like to finish a book by, if for no other reason as to keep me on track.</p>
<p>Now it&#8217;d certainly be nice if someone would come along and improve their todo list to support the concept of fuzzy dates.  Sadly not enough people read this blog for me to believe this is going to magically happen, so I suppose I&#8217;m stuck doing it myself.  My design skills are rusty so that part will probably take me a while (any volunteers are of course welcome).  Comments on what makes a todo list worth using or pointers towards a great todo list that&#8217;ll make me doing this pointless are of course welcome.</p>
<p><span id="more-16"></span></p>
<p><script>reddit_url=\'http://polimath.com/blog/2008/03/02/todo-a-better-todo/\'</script><br />
<script src="http://reddit.com/button.js?t=1" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/03/02/todo-a-better-todo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New RITDemocrats.com</title>
		<link>http://polimath.com/blog/2008/02/22/new-ritdemocratscom/</link>
		<comments>http://polimath.com/blog/2008/02/22/new-ritdemocratscom/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 01:30:19 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[RIT]]></category>

		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/2008/02/22/new-ritdemocratscom/</guid>
		<description><![CDATA[I&#8217;ve spent a bit of time the last couple weeks polishing the new RIT Democrats website.  It&#8217;s now up, and I pulled in the old posts which I was putting off but ended up being rather pain free.  I even made a little tiger-donkey logo. (RIT&#8217;s mascot is a tiger)
A lot of my political posts [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent a bit of time the last couple weeks polishing the new <a href="http://ritdemocrats.com" title="RIT Democrats blog" target="_blank">RIT Democrats website</a>.  It&#8217;s now up, and I pulled in the old posts which I was putting off but ended up being rather pain free.  I even made a little tiger-donkey logo. (RIT&#8217;s mascot is a tiger)</p>
<p>A lot of my political posts will probably be posted there in general for the time being, I&#8217;ll probably cross post some things, but if you&#8217;re one of the 2-3 people that actually reads this blog for political content, I figured I&#8217;d mention it.</p>
<p>Why getting a better website together wasn&#8217;t a priority when I was actually in charge of the club is sort of a mystery.  I suppose the revitalized interest in the club due to this being an exciting election year really helped, as did finally having my own server and the original domain name being available again (the club owned it in 2004 but it lapsed and was being domain-squatted).</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/02/22/new-ritdemocratscom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gambling on capital punishment.. the only winning move is not to play</title>
		<link>http://polimath.com/blog/2008/01/27/gambling-on-capital-punishment/</link>
		<comments>http://polimath.com/blog/2008/01/27/gambling-on-capital-punishment/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 00:08:28 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[law]]></category>

		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/2008/01/27/gambling-on-capital-punishment/</guid>
		<description><![CDATA[I was recently asked the question &#8220;Would you rather an innocent person be executed or a guilty person freed to kill again?&#8221; in a debate on the death penalty.
This seems a common enough question in such debates that I&#8217;ll attempt to actually answer it despite the fact that I feel it is a terrible question [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked the question &#8220;Would you rather an innocent person be executed or a guilty person freed to kill again?&#8221; in a debate on the death penalty.</p>
<p>This seems a common enough question in such debates that I&#8217;ll attempt to actually answer it despite the fact that I feel it is a terrible question (among other things it assumes that all murderers plot to kill again, neglecting crimes of passion and human potential for remorse, it also neglects the option of a prison sentence which I will address).</p>
<p>For the sake of argument let&#8217;s take a look at the two options provided:</p>
<p><strong>Option A: Put them to death.</strong></p>
<ul>
<li>innocent: The real killer is still free and not being pursued (negative).  The state has killed an innocent person, doing the very thing which it is condemning (negative).</li>
<li>guilty: the public is safe from this individual (strong positive).  The state has killed a person (neutral).</li>
</ul>
<p><strong>Option B: Free them.</strong></p>
<ul>
<li>innocent: The killer is going to still be free but is still being actively pursued (neutral).</li>
<li>guilty: The public is in danger presuming the murderer may kill again. The killer is still being pursued so the person may be caught again. (negative)</li>
</ul>
<p>The best outcome possible given these options would be A-guilty.   In the other three options the killer is still free.</p>
<p>Let&#8217;s assume that no matter what, if free, the killer is going to kill 3 more people.  A-innocent is the only option that results in 4 deaths.  The first suspect dies at the hands of the state, which regardless of how you feel about the death penalty is a tragedy when the person is innocent.  Option  A therefore is a high-stakes gamble.  It could end the killing, or it could result in the worst possible outcome.  Option B leaves the killer on the loose, but both options involve continuing the search.  It is possible that after 1-2 of the following killings the killer will be caught, even if it was the person captured the first time.  These options are much lower risk.</p>
<p>Personally, the thought of the state killing an innocent person is so repugnant that I would choose B over A.  But this is a matter of individual conviction.</p>
<p>As I mentioned however, this is a faulty question as it leaves out the more likely alternative:</p>
<p><strong>Option C: Jail them for life.</strong></p>
<ul>
<li>innocent: they will spend time in jail until they either can prove their innocence or die (negative, but less so than killing them).</li>
<li>guilty: the public is safe from this individual. (strong positive)</li>
</ul>
<p>C-innocent is somewhat worse than B-innocent, as an innocent person is in jail for some amount of time, and probably during this time the real killer will have the opportunity to strike again.  C-guilty however is much better than B-guilty as it puts the criminal away.</p>
<p>The ranking of the possible outcomes is:</p>
<ul>
<li>Criminal is captured/punished: A-guilty, C-guilty (the ranking of these depends on your view of the death penalty)</li>
<li>Criminal is not captured, nobody is punished unjustly: B-guilty, B-innocent</li>
<li>Criminal is not captured, innocent person is jailed: C-innocent</li>
<li>Criminal is not captured, an additional life is lost: A-innocent</li>
</ul>
<p>B-guilty and B-innocent are almost equal as in both cases the search continues and so the guilty will eventually be caught (most likely the person if freed under charges of insufficient evidence will be closely monitored).</p>
<p>Which is the better outcome between A-guilty or C-guilty is determined by one&#8217;s view of if the government should use capital punishment at all.  Both seem better than a murderer on the loose however.</p>
<p>There are a myriad of other effects outside the immediate scope of the trial, for instance capital punishment of a successful criminal (A-guilty) may be a deterrent.  Capital punishment of an innocent criminal (A-innocent) may damage the legitimacy the judicial system in the eyes of the public.</p>
<p>A rational evaluation however does not seem like the law should include an option whereupon the execution of an innocent person would take place.  Therefore Option A would be thrown out unless there is a case in which one can say with 100% certainty that the suspect is indeed the culprit.  Limited examples to spring to mind, but DNA evidence or even a confession do not constitute 100% as various cases have shown.</p>
<p>Mass murder as seen in genocides and terrorist attacks on civilian targets often has a highly identifiable culprit that does not fear but rather revels in their spotlight.  In these cases 100% seems like a fair assessment of their guilt.  Despite the fact that these cases also correspond to the most heinous of crimes, I would encourage people to use this reasoning as a basis for their support of the death penalty in such extreme cases.</p>
<p>Justice must be based in reason and not in passion or indignation at the act committed.</p>
<p><em>edit: Discussion that ensued leads me to realize I should clarify that I am well aware the game-theory approach taken here is oversimplified, for instance it would be proper instead of choosing a fixed number of subsequent killings to have some sort of probability.  I chose a constant murder rate because the question initially posed assumes one.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/01/27/gambling-on-capital-punishment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C++: I&#8217;m not coming back</title>
		<link>http://polimath.com/blog/2008/01/02/c-im-not-coming-back/</link>
		<comments>http://polimath.com/blog/2008/01/02/c-im-not-coming-back/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 04:33:10 +0000</pubDate>
		<dc:creator>James</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://polimath.com/blog/2008/01/02/c-im-not-coming-back/</guid>
		<description><![CDATA[For a long time my primary language was C++.  I know this is uncommon for someone of my age (21) but C was actually the first language that I learned. (Keep in mind although this wasn&#8217;t that long ago, it was hard to find good advice online so I bought a book on a [...]]]></description>
			<content:encoded><![CDATA[<p>For a long time my primary language was C++.  I know this is uncommon for someone of my age (21) but C was actually the first language that I learned. (Keep in mind although this wasn&#8217;t that long ago, it was hard to find good advice online so I bought a book on a language I&#8217;d heard was commonly used and spent a couple months digging into C.)</p>
<p>When I went to college I had to learn Java, on my own I got into Perl, Python, and Lisp.  I fooled around with PHP, learned to respect Javascript as a real language, and even wrote some Ruby.  When it came time to explain what I did to my then-girlfriend it was Python not C++ that I helped her write a small game in.</p>
<p>Despite all of this linguistic infidelity I have faithfully kept up to date on C++, following the draft standard and reading Herb Sutter&#8217;s fantastic GotW.  But something that&#8217;s been coming a long time happened when I read <span id="ctl00_MainContentPlaceholder_ctl01_ctl00_lblEntry"></span><a href="http://herbsutter.spaces.live.com/blog/cns!2D4327CC297151BB!378.entry" title="Herb Sutter's GotW 88">GotW #88: A Candidate For the &#8220;Most Important const&#8221;</a>.</p>
<p>In this posting he discusses the difference between assigning to a const reference and a non-const reference.  Spoiler alert: in the examples he provides it is only legal to assign to a const reference.</p>
<p>I&#8217;d actually played around with this &#8220;feature&#8221; so I was still able to follow along, and then it hit me.  I simply don&#8217;t care.</p>
<p>I used to think that part of programming was memorizing these syntactic quirks (be sure to put a space between the &gt;&#8217;s in a nested template declaration!).  As a C++ developer I always kept them in mind but accepted them, surely other languages must have their own.  I suppose this is still true, and a handful of others do come to mind.. but what has changed in my way of thinking is that they are a necessary part of a language.</p>
<p>So getting down to what I need to say.. C++, I know when I put you down years ago I said I&#8217;d be back - that these other languages were fun but you were the one for me.  I just think we&#8217;ve grown apart, it&#8217;s best we both move along.  It&#8217;s time I made an honest language out of Python and admitted I&#8217;m a Python programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://polimath.com/blog/2008/01/02/c-im-not-coming-back/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
