<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alkahest &#187; Technical</title>
	<atom:link href="http://www.fenris.org/category/technical/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fenris.org</link>
	<description>There&#039;ll be no more cigarettes.  No more having sex.  No more drinking until you fall on the floor.  No more indie rock.  Just a ticking clock.  You have no time for that anymore.</description>
	<lastBuildDate>Thu, 17 Jun 2010 02:13:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The Sounds of Science</title>
		<link>http://www.fenris.org/2010/06/16/the-sounds-of-science</link>
		<comments>http://www.fenris.org/2010/06/16/the-sounds-of-science#comments</comments>
		<pubDate>Thu, 17 Jun 2010 02:07:37 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1192</guid>
		<description><![CDATA[Last Friday, hsarik pointed out an interesting web site: Echo Nest.  They provide a web service that allows you to analyze and remix music.  The API also can provide information (meta-data) about music, artists, songs etc.  and has Python bindings.  If you&#8217;ve seen the &#8220;More Cowbell&#8221; website where you can upload an mp3 and have [...]]]></description>
			<content:encoded><![CDATA[<p>Last Friday, <a href="http://www.heathbar.org/weblog/">hsarik</a> pointed out an interesting web site: <a href="http://echonest.com">Echo Nest</a>.  They provide a web service that allows you to analyze and remix music.  The API also can provide information (meta-data) about music, artists, songs etc.  and has Python bindings.  If you&#8217;ve seen the &#8220;<a href="http://www.morecowbell.dj/">More Cowbell</a>&#8221; website where you can upload an mp3 and have more cowbell (and more Christopher Walken) added to it, well that site uses Echo Nest and if you download the python bindings for their API, you can see the script that adds the sounds.  Personally, I&#8217;m fond of &#8220;Ob-la-di, Ob-la-da&#8221; with 80% cowbell and 20% Christopher Walken.</p>
<p>I started playing with the API and as a first cut thought it would be neat to use the &#8220;get_similar&#8221; function.  So for each artist, you can get the top N similar artists.  Now where can I get a list of artists I like?  Well, I could type &#8216;em in, but that sucks.  So I wrote a small program which:</p>
<ol>
<li>Opens the database on my iPod (or a directory of mp3 files)</li>
<li>Finds each artist by either reading the iPod db or looking at the id3 tags in all of the files</li>
<li>For each artist, add a node to a graph where the area of the node is proportional to the number of songs that artist has on the iPod (or in the music folder)</li>
<li>For each artist, finds the top 50 similar artists</li>
<li>For all of the similar artists that are in my collection of artists, add a graph edge between the two nodes</li>
<li>Plot the graph</li>
</ol>
<p>What can I say, I&#8217;ve been working on a fair amount of graph-theory at work recently.  So after processing my iPod, I came up with the following graph of my current music (click to embiggen):</p>
<p><a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/music_network.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/music_network.png" alt="" width="500" /></a></p>
<p>Okay, that&#8217;s pretty cool.  Almost completely illegible, but cool.  FWIW, the graph has 15 connected components, unfortunately, 13 of them are &#8220;singles&#8221; (not connected to anything), with one pair (Louis Armstrong paired with Louis Armstrong and Duke Ellington).  Fortunately, the graphing tool I use (<a href="http://igraph.sourceforge.net">igraph</a>), has built in tools for doing community analysis (using the leading eigenvector method), i.e., we can automatically find tightly coupled subgraphs.  A few examples from the 25 or so communities:</p>
<p><a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph03.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph03.png" alt="" width="150" height="150" /></a>  <a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph12.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph12.png" alt="" width="150" height="150" /></a>  <a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph20.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph20.png" alt="" width="150" height="150" /></a>  <a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph21.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph21.png" alt="" width="150" height="150" /></a>  <a href="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph24.png"><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/06/subgraph24.png" alt="" width="150" height="150" /></a></p>
<p>which arguably correspond to &#8220;Indie,&#8221;  &#8220;Classic Rock,&#8221;  &#8220;Jam Bands,&#8221;  &#8220;Guitar Gods,&#8221; and &#8220;Alternative.&#8221;  If I processed my complete music database, I suspect we would wind up with several other communities, e.g., Blues.  But since Robert Johnson is the only blues I&#8217;ve got on there right now&#8230; he&#8217;s in a class by himself.</p>
<p>I suppose it goes w/o saying, that my musical tastes aren&#8217;t everyone&#8217;s and that if you don&#8217;t like my musical tastes, you can keep it to yourself or go DIAF <img src='http://www.fenris.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So, what&#8217;s next?  I was talking with M from my office and we&#8217;ve come up with another interesting project for the Echo Nest API.  This one a) uses the audio analysis functions, and b) if we do it right might cause someone to send us a cease and desist.  So, win all the way around.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2010/06/16/the-sounds-of-science/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Model update (updated!, updated again)</title>
		<link>http://www.fenris.org/2010/03/22/model-update</link>
		<comments>http://www.fenris.org/2010/03/22/model-update#comments</comments>
		<pubDate>Tue, 23 Mar 2010 01:09:45 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1152</guid>
		<description><![CDATA[Earlier, I posted my current model for predicting the NCAA tournament.  Since the whole thing is probabilistic, I figured that I would test it out against the current NCAA standings.  I considered four models: The one that I described A random selection of which team would win (50/50 chance) Always picking the top seeded team [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier, I posted my <a href="http://www.fenris.org/2010/03/22/they-laughed-at-my-theories">current model</a> for predicting the NCAA tournament.  Since the whole thing is probabilistic, I figured that I would test it out against the current NCAA standings.  I considered four models:</p>
<ol>
<li>The one that I described</li>
<li>A random selection of which team would win (50/50 chance)</li>
<li>Always picking the top seeded team</li>
<li>A model suggested by a colleague at work</li>
</ol>
<p>For each model, I ran 10,000 tests and compared them to the current NCAA tournament results, counting the scores for each test.  Results are:</p>
<p><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/03/models.png" alt="" width="500" height="375" /></p>
<p>The X axis is the score (0-64 at this point), the Y axis is the number of test runs (out of 10k) that achieved that score.  The number in the legend is the expected value (score) for each model.  As you can see, my model had the [second] highest expected value.  Choosing the top seeded team was the <span style="text-decoration: line-through;">worst (guaranteed 10 points)</span> best [see the 2nd update].  Choosing randomly was <span style="text-decoration: line-through;">better than selecting the top seed</span> the worst [see update] and my colleague&#8217;s model (cyan) was between my model and the random model.  Not bad.  I&#8217;ll update after the next two rounds of the tournament.</p>
<p><strong>Update: </strong>one interesting thing is that this suggests that there was still a lot of luck in my ESPN pick.  Only about 0.5% of my model runs were as good as that one.</p>
<p><strong>Update 2:</strong> So, I&#8217;m lying in bed when it occurs to me that I&#8217;m an idiot&#8230; the team with the *lowest* seed wins a game in Model 3.  This is why I say I don&#8217;t really know basketball.</p>
<p><img src="http://www.fenris.org/wordpress/wp-content/uploads/2010/03/models1.png" alt="" width="500" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2010/03/22/model-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>They laughed at my theories!</title>
		<link>http://www.fenris.org/2010/03/22/they-laughed-at-my-theories</link>
		<comments>http://www.fenris.org/2010/03/22/they-laughed-at-my-theories#comments</comments>
		<pubDate>Mon, 22 Mar 2010 19:09:59 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1148</guid>
		<description><![CDATA[They laughed at my theories.  They threw tomatoes when I presented my paper at the academy!  Tomatoes I tell you!  My minions cower in terror, shrinking in fright from the very ideas contained herein!  But I will show them!  I will PROVE IT TO THEM ONCE AND FOR ALL.  The FOOLS, I WILL DESTROY THEM!! [...]]]></description>
			<content:encoded><![CDATA[<p>They laughed at my theories.  They threw tomatoes when I presented my paper at the academy!  Tomatoes I tell you!  My minions cower in terror, shrinking in fright from the very ideas contained herein!  But I will show them!  I will PROVE IT TO THEM ONCE AND FOR ALL.  <strong>The FOOLS, I WILL DESTROY THEM!!</strong> <strong>MWAHAHAHAAAA! </strong>(<a href="http://www.offworlddesigns.com/p-291-fools-i-will-destroy-you-t-shirt.aspx">ask me how</a>)</p>
<p>Oh, sorry.  Where was I?  Apparently, there&#8217;s this basketball thing going on.  Some sort of NCAA tournament that will prove who has the best basketball team.  But what if it doesn&#8217;t?  What if it&#8217;s all just arbitrary?  Could it be that the chances of any team winning a game are not deterministic, but rather stochastic?  I&#8217;ll admit that I don&#8217;t know that much about basketball.  I mean, I played the sport in junior high.  I do know the rules.  And I even think that it&#8217;s a pretty game.  But I don&#8217;t follow the ins and outs of a particular season.</p>
<p>So what&#8217;s a guy to do when he doesn&#8217;t really follow basketball, but you live in NC where bball is life and it&#8217;s bracket time?</p>
<p>You model it.   Which is exactly what I did.</p>
<p>The basic model:</p>
<ol>
<li>Compute a team&#8217;s wins minus their losses, I&#8217;m sure there&#8217;s a word for this, but let&#8217;s call it demonstrated strength (D)</li>
<li>For a given match-up, take a draw from a <a href="http://en.wikipedia.org/wiki/Beta_distribution">Beta distribution</a> parameterized by each team&#8217;s demonstrated strength (D1 and D2)</li>
<li>The resulting draw is the <em>probability</em> that the team representing the first parameter wins</li>
<li>Draw from a uniform random variable to predict if that team actually will win</li>
</ol>
<p>There are some flaws with the model, the two obvious ones:</p>
<ol>
<li>Different teams have different schedules, so one team with a 30-5 record might be a lot better than another with a 30-5 record in a different conference (I&#8217;m looking at you SEC)</li>
<li>It&#8217;s not clear that you should parameterize directly on the demonstrated strengths.  There should probably be a scaling factor in there.  So that rather than drawing from Beta(D1, D2), you should draw from Beta(alpha*D1, alpha*D2)</li>
</ol>
<p>But this is close enough.  The nice features of the model are:</p>
<ol>
<li>The expected probability that a team will win is proportional to D1/(D1+D2).  So, a team whose wins outnumber their losses by 10, will have an expected probability of winning of 50% when playing against another team with D2=10.  And only a 33% chance of winning when playing against someone with a D2=20</li>
<li>The closer two teams&#8217; demonstrated strength is to zero, the broader the probability distribution is.  This reflects added uncertainty for two teams who win only slightly more often than they lose. </li>
<li>The larger two team&#8217;s demonstrated strength is, the narrower the probability distribution is.  For example, D1=20, D2=40 has the same expected probability as D1=10, D2=20; but because this is a more common pattern for the two teams, we don&#8217;t have the same variance.</li>
<li>This is actually pretty rigorous in Bayesian terms.  Throughout the season, we can update the posterior distribution of the probability of winning based on the prior distribution and the most recent game.</li>
</ol>
<p>So, how well does the model work?  Good question.  I <a href="http://games.espn.go.com/tcmen/en/entry?entryID=1279420">used it on ESPN</a>, and it&#8217;s currently ranked in the 92.9th percentile, i.e., better than almost 93% of all ESPN brackets.  All of my final four teams are still alive, and in general, the model predicted several of the biggest upsets in the tournament (e.g., Murray State vs Vanderbilt!).  That said, this is just one random draw from the model.  To test it further, I would like to go through a whole season of games and figure out if the probabilities of winning correspond to the statistics of a Beta distribution for the game&#8217;s D1 and D2.  Moreover, I would like to infer the alpha parameter that I mention above.</p>
<p>If the model appears accurate, and we can properly infer alpha, then we get a probabilistic assessment of how feasible it is to even pick tournament champions.  It may just be that at the end of the day, it comes down to luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2010/03/22/they-laughed-at-my-theories/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Hacking&#8221; predator drones</title>
		<link>http://www.fenris.org/2009/12/18/hacking-predator-drones</link>
		<comments>http://www.fenris.org/2009/12/18/hacking-predator-drones#comments</comments>
		<pubDate>Fri, 18 Dec 2009 18:05:08 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1113</guid>
		<description><![CDATA[This just makes me sad.  Two articles, one in the WSJ, the other on CNN, describing how insurgents in Iraq are hacking predator drones and receiving the video feeds that the drones are sending back to U.S. ground stations.   First things first, let&#8217;s fix the headlines.  Both are running something like &#8220;Iraqi insurgents hacked Predator [...]]]></description>
			<content:encoded><![CDATA[<p>This just makes me sad.  Two articles, one in the <a href="http://online.wsj.com/article/SB126102247889095011.html">WSJ</a>, the other on <a href="http://www.cnn.com/2009/US/12/17/drone.video.hacked/index.html">CNN</a>, describing how insurgents in Iraq are hacking predator drones and receiving the video feeds that the drones are sending back to U.S. ground stations.   First things first, let&#8217;s fix the headlines.  Both are running something like &#8220;Iraqi insurgents hacked Predator drone feeds.&#8221;  That should more clearly read:  &#8220;Iraqi insurgents watching the videos that the Predator drone sends out unencrypted.&#8221;  Or maybe &#8220;Iraqi insurgents watch Predator drone feeds on TV.&#8221;</p>
<p>If you look into the article, you find that insurgents are apparently using a $26 <a href="http://www.skygrabber.com/en/skygrabber.php">piece of software </a>that let takes satellite data and saves parts of it that might not be intended for your computer.  Essentially, it monitors the data that is sent and when it sees a file transferred will save it to your hard drive, regardless of whether or not your computer was the intended destination.</p>
<p>Now, I&#8217;ve been doing computer security work for over a decade.  I was the first person at my university to implement anti-virus in email, I was the first to require a department to use all-encrypted communication for transmitting passwords.  I discovered one of the earliest IRC-based botnets.  I&#8217;ve found vulnerabilities in financial systems.  I&#8217;ve seen &#8230; [a]ttack ships on fire off the shoulder of Orion. I&#8217;ve watched C-beams glitter in the dark near the Tannhauser Gate.  Er, wait, some of that last bit may have been <a href="http://www.imdb.com/title/tt0083658/quotes">someone else</a>, but you get the idea.</p>
<p>This stuff isn&#8217;t that hard.  SSL is over 15 years old, we know how to do encryption.  Hell, back in the 90s when we were developing the Predator, the U.S. was treating encryption as a munition &#8211; you had to get the government&#8217;s blessing to use decent encryption.  Is it too much to ask that an actual weapon include the munition that was encryption?  And this from the WSJ article strikes me as BS:</p>
<p style="padding-left: 30px;">Predator drones are built by General Atomics Aeronautical Systems Inc. of San Diego. Some of its communications technology is proprietary, so widely used encryption systems aren&#8217;t readily compatible, said people familiar with the matter.</p>
<p style="padding-left: 30px;">In an email, a spokeswoman said that for security reasons, the company couldn&#8217;t comment on &#8220;specific data link capabilities and limitations.&#8221;</p>
<p>Or more  to the point, entirely irrelevant.  First, the communication system can&#8217;t be *that* proprietary, since the commercial (if somewhat sketchy) SkyGrabber software can read the transmissions.  Second, you developed a proprietary communication system in the mid to late 90s and didn&#8217;t include encryption?  That&#8217;s the sort of thing that makes the baby <a href="http://www.schneierfacts.com/">Bruce Schneier</a> cry.</p>
<p>On the other hand, this from CNN seems far more likely:</p>
<p style="padding-left: 30px;">A senior defense official who was not authorized to speak about the security breach said, &#8220;This was an old issue for us and it has been taken care of,&#8221; but he would not elaborate on what specifically had been taken care of.</p>
<p style="padding-left: 30px;">The official said that many of the UAV feeds need to be sent out live to numerous people at one time, and encryption was found to slow the real-time link. The encryption therefore was removed from many feeds.</p>
<p style="padding-left: 30px;">Removing the encryption, however, allowed outsiders with the correct tools to gain unauthorized access to these feeds.</p>
<p>I&#8217;ll buy that.   There are certainly a few encryption schemes that will send encrypted data to multiple parties, hell at the very least, you could use symmetric encryption with shared keys.  But that kinda sucks.  Most commercial communication encryption technology assumes point to point transfers.  If you wanted to send the same data to many people&#8230; you send it multiple times.</p>
<p>Regardless, this is just embarrassing.  These days I&#8217;m doing security modelling work and if this is the sort of thing that we&#8217;ll have to consider, I&#8217;m going to sink into a very deep depression.</p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/12/18/hacking-predator-drones/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trash heap of programming history</title>
		<link>http://www.fenris.org/2009/11/29/trash-heap-of-programming-history</link>
		<comments>http://www.fenris.org/2009/11/29/trash-heap-of-programming-history#comments</comments>
		<pubDate>Sun, 29 Nov 2009 18:08:23 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1096</guid>
		<description><![CDATA[When we put in the massive wall-eating bookcase, I thought that we had enough book space for the next 10,000 years! Or at least the next 10. Unfortunately, things were filling up a bit too fast, so I grabbed some of the books that I know I&#8217;ll never use again and will send them to [...]]]></description>
			<content:encoded><![CDATA[<p>When we put in the massive wall-eating bookcase, I thought that we had enough book space for the next 10,000 years!  Or at least the next 10.  Unfortunately, things were filling up a bit too fast, so I grabbed some of the books that I know I&#8217;ll never use again and will send them to recycling.  Most are completely out of date (from bottom to top, these are from the mid-80s to the late 90s).  Linux Application Development is probably still relevant, but a little too basic.  Linux Device Drivers goes all the way through the 2.0 kernel series (and may be relevant for the experimental 2.1 series)!  Switched LANs (snicker) and In Search of Clusters were given to me by vendors.  And if I ever have to program native X-Windows again, I&#8217;ll kill myself.  I kept the books on C/C++, Python, Perl and PHP &#8211; though I&#8217;ll probably never buy another programming book.  Maybe Celeste is right, I should just get a Safari account&#8230; Google works pretty well too.  If there&#8217;s anything you want in here, let me know&#8230;</p>
<div class="wpg2tag-image"><a href="http://www.fenris.org/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=10259" title="dsc_7313_m" rel="lightbox[1096]"><img src="http://www.fenris.org/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=10260&amp;g2_serialNumber=2" width="101" height="150" id="IFid2" class="ImageFrame_None" alt="dsc_7313_m"/></a></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/11/29/trash-heap-of-programming-history/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Great moments in . . .</title>
		<link>http://www.fenris.org/2009/11/11/great-moments-in</link>
		<comments>http://www.fenris.org/2009/11/11/great-moments-in#comments</comments>
		<pubDate>Thu, 12 Nov 2009 01:39:44 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1046</guid>
		<description><![CDATA[Minor notes, none worth their own post. Traffic management: I get a call from K around 5:30. She&#8217;s stuck behind an accident and the cops on the scene, a) don&#8217;t tell people to take a detour until they&#8217;ve been there for a half hour; and b) once the ambulance has left the scene, don&#8217;t direct [...]]]></description>
			<content:encoded><![CDATA[<p>Minor notes, none worth their own post.</p>
<ul>
<li><strong>Traffic management: </strong>I get a call from K around 5:30.  She&#8217;s stuck behind an accident and the cops on the scene, a) don&#8217;t tell people to take a detour until they&#8217;ve been there for a half hour; and b) once the ambulance has left the scene, don&#8217;t direct traffic around the one remaining open lane.  So, after waiting a half hour, K has to take a 20+ minute detour home.</li>
<li><strong>Memory: </strong>Once she gets in, K and I are fixing leftovers for dinner.  C: &#8220;Hey, where are the mashed potatoes?&#8221;   K: &#8220;Where did you put them?&#8221;  &#8220;In the fridge, but I can&#8217;t find them.&#8221;  &#8220;Maybe they&#8217;re in the freezer.&#8221;  &#8220;Nope, not there either.&#8221;  Ten minutes of looking for the potatoes.  Did we throw them out on Sunday?  Nope, not in the trash.  Did C put them in the pantry?  Nope.  Can&#8217;t find &#8216;em, can&#8217;t find &#8216;em.  Finally, K says, &#8220;wait, we fixed rice on Sunday.&#8221;  There weren&#8217;t any potatoes.  I would attribute it to getting old, but I&#8217;ve always been this way. </li>
<li><strong>FUD (fear, uncertainty and doubt): </strong>we&#8217;re testing some things at the office &#8211; will our authentication system (active directory) honor password failure lockouts when using LDAP authentication?  I ask our windows consultant to either a) answer the question, or b) enable an account lockout policy so we can test.  He responds back that he can do that, but with the warning that &#8220;many Linux services aren&#8217;t well-designed for this, and repeatedly try a cached or user-provided password, so that users or service accounts may be mysteriously locked out after one attempt or at some future time when passwords change.&#8221;  Which is complete and utter B.S.  Signs that it&#8217;s BS?  He references Linux services as opposed to open source, i.e. attempted linux dig.  And I used to &#8220;own&#8221; identity management services, including authentication at a large university and if this was the case, things would have blown up within 10 minutes.  I thanked him for the advice and noted that I&#8217;ve never seen this, but that it&#8217;s why we test. </li>
<li><strong>OS Performance: </strong>we&#8217;re looking into some new ideas at the office.  Things that <em>could</em> be useful as a preprocessor for a host based intrusion detection system.  As part of my testing, I told my laptop to audit <strong>all</strong> syscalls made to the kernel, by <strong>all</strong> processes on the system.  CPU load spiked, system performance went through the floor, the windowing system became almost completely non-responsive.  In the two minutes it took to get access to a terminal, I logged 150 MB of audit logs.  On the plus side, all of  the information we need can be collected.  Now I just need to figure out how to keep a usable system. </li>
<li><strong>Self aggrandizement: </strong>talking to my technical manager, we need to write up two journal papers based on our recent work.  Cool!</li>
</ul>
<p>I hope everyone had a good Veteran&#8217;s Day and remembered to thank the veterans in their lives.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/11/11/great-moments-in/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook security vulnerabilities</title>
		<link>http://www.fenris.org/2009/11/05/facebook-security-vulnerabilities</link>
		<comments>http://www.fenris.org/2009/11/05/facebook-security-vulnerabilities#comments</comments>
		<pubDate>Thu, 05 Nov 2009 15:32:19 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1035</guid>
		<description><![CDATA[and this is why I like cross-posting to facebook from my blog.  It&#8217;s a healthy reminder that nothing on fb is actually private.  If it&#8217;s online &#8211; it&#8217;ll be exposed eventually, whether through a new exploit, or just because you &#8220;friend&#8221; someone in the future that you had written about in the past. h/t hsarik]]></description>
			<content:encoded><![CDATA[<p>and <a href="http://www.techcrunch.com/2009/11/05/massive-facebook-and-myspace-flash-vulnerability-exposes-user-data/">this</a> is why I like cross-posting to facebook from my blog.  It&#8217;s a healthy reminder that nothing on fb is actually private.  If it&#8217;s online &#8211; it&#8217;ll be exposed eventually, whether through a new exploit, or just because you &#8220;friend&#8221; someone in the future that you had written about in the past.</p>
<p><br class="spacer_" /></p>
<p>h/t <a href="http://www.heathbar.org/weblog/">hsarik</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/11/05/facebook-security-vulnerabilities/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toy!</title>
		<link>http://www.fenris.org/2009/11/03/toy</link>
		<comments>http://www.fenris.org/2009/11/03/toy#comments</comments>
		<pubDate>Wed, 04 Nov 2009 04:04:36 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1026</guid>
		<description><![CDATA[For a guy who uses computers as much as I do, you would think that I would have better machines at home.  But really, no.  Our last desktop was eight years old before we replaced it.  My laptop was an old Thinkpad X31 &#8211; maybe six or seven years old.  So, for a combination birthday/Christmas [...]]]></description>
			<content:encoded><![CDATA[<p>For a guy who uses computers as much as I do, you would think that I would have better machines at home.  But really, no.  Our last desktop was eight years old before we replaced it.  My laptop was an old Thinkpad X31 &#8211; maybe six or seven years old.  So, for a combination birthday/Christmas present, I got a new (sort of) laptop.  I picked up a refurbished thinkpad X200s from the Lenovo outlet.  So far it&#8217;s a nice machine: good processor, lots of high speed memory, and a big LED backlit screen.  Lenovo sent me notice that they were shipping the laptop today and the next thing I knew, it arrived at the office.  The advantages of working 5 miles from the outlet.  The only problem is that they didn&#8217;t ship all of the parts.  I&#8217;ve contacted them and they&#8217;ll send the dock/dvd.</p>
<p>When I got the machine home, I spent about a minute trying to decide if I would keep a partition with Windows on it.  But then I remembered that I don&#8217;t play video games, so I didn&#8217;t really need Vista.  I&#8217;ve installed Fedora 11 and moved all my files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/11/03/toy/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dragged kicking and screaming into the century of the fruitbat</title>
		<link>http://www.fenris.org/2009/10/29/dragged-kicking-and-screaming-into-the-century-of-the-fruitbat</link>
		<comments>http://www.fenris.org/2009/10/29/dragged-kicking-and-screaming-into-the-century-of-the-fruitbat#comments</comments>
		<pubDate>Thu, 29 Oct 2009 13:35:41 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=1016</guid>
		<description><![CDATA[With apologies to Terry Prachett, I feel like I being dragged (dragging myself?) into the Century of the Fruitbat.  As I mentioned a long time ago, I don&#8217;t care for Facebook.  I prefer my blog.  That said, many of my friends and most of my family use Facebook.  So I&#8217;m going to start a bit [...]]]></description>
			<content:encoded><![CDATA[<p>With apologies to Terry Prachett, I feel like I being dragged (dragging myself?) into the <a href="http://wiki.lspace.org/wiki/Discworld_calendar#Years_and_centuries">Century of the Fruitbat</a>.  As I mentioned a long time ago, <a href="http://www.fenris.org/2009/04/21/vint-cerf-called">I don&#8217;t care for Facebook</a>.  I prefer my blog.  That said, many of my friends and most of my family use Facebook.  So I&#8217;m going to start a bit of an experiment.  I&#8217;ve downloaded and installed the <a href="http://www.tsaiberspace.net/blog/2007/07/29/wordbook">Wordbook</a> plugin for my blog software (wordpress).   Starting with this post, in theory anything that&#8217;s published on the blog gets cross-posted to fb.</p>
<p>Kill me now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/10/29/dragged-kicking-and-screaming-into-the-century-of-the-fruitbat/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>So, this is important</title>
		<link>http://www.fenris.org/2009/08/27/so-this-is-important</link>
		<comments>http://www.fenris.org/2009/08/27/so-this-is-important#comments</comments>
		<pubDate>Fri, 28 Aug 2009 03:14:27 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=987</guid>
		<description><![CDATA[I&#8217;m not a big baseball fan.  For that matter, there are few ball sports that interest me.  But, this is important.  If you recall, a few years ago (2004), there was a big furor over steroids in baseball.  The government searched BALCO and found evidence of rampant steroid use by baseball players.  Now I hadn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a big baseball fan.  For that matter, there are few ball sports that interest me.  But, this is important.  If you recall, a few years ago (2004), there was a big furor over steroids in baseball.  The government searched BALCO and found evidence of rampant steroid use by baseball players.  Now I hadn&#8217;t been paying attention to this, but there has been an ongoing legal dispute over that search and how it was conducted.</p>
<p>Yesterday, the 9th Circuit Court of Appeals issued a 9-2 <a href="http://www.ca9.uscourts.gov/datastore/opinions/2009/08/26/05-10067eb.pdf">decision</a> that restores a great portion of the 4th Amendment&#8217;s right to protection against unreasonable search and seizure in an electronic context.</p>
<p><em>Caveat lector</em>, I am not a lawyer and I&#8217;ve never played one on TV.  Moreover, I haven&#8217;t finished reading the dissenting opinions and I&#8217;m almost certainly missing some of the nuances here.  In a nutshell, the government had evidence, sufficient to obtain a warrant, about 10 players and steroid use.  Based on this evidence and the warrant, the prosecutors were able to search BALCO for information about those 10 players.  BALCO maintains all records on their computers, of course.</p>
<p>Now, I&#8217;ve had experience with these types of searches.  The government never takes what&#8217;s just in their warrant.  The defined search *process* always allows them to take the whole computer or the whole hard drive, or more often than not, an image of the whole hard drive.  The reasoning is that information pertaining to the search could be hidden, or their could be some form of booby trap or the data could be encrypted or &#8230;</p>
<p>So, the prosecutor in the steroids case took the whole directory in which there was a file containing drug tests of MLB players.  The file itself contained information about far more than the 10 players named in the warrant.  So, rather than taking the 10 rows of the spreadsheet, rather than taking just the one file, the prosecutor took a directory containing the results of thousands of drug tests.</p>
<p>The prosecutor then (as I understand it) went jurisdiction shopping until he found a judge willing to grant a new warrant for information about 104 players, based on the information found in the spreadsheet.  The argument being that once they had access to the spreadsheet, or the directory, or even the computer, the additional information was in plain sight.  Several judges believed that the prosecutor intentionally wrote the process for executing the search warrant in such a way that he could *expand* the scope of the investigation by introducing evidence based on this plain sight doctrine in order to find new players to prosecute.</p>
<p>What&#8217;s interesting is that this seems fairly normal to many of us.  Of course the prosecutor will search your whole hard drive, of course they will bring new charges, etc.  The problem is that a) BALCO itself was not the subject of the prosecution, and b) this <strong>IS NOT</strong> the way things work in the tangible world.  Prosecutors are exploiting the new(ish) electronic domain to gain access to information they wouldn&#8217;t have if files were stored on paper.</p>
<p>Apparently (I need to look into this), the relevant doctrine in the physical world is the United States vs Tamura, 1982.  In this case, the object of a search was stored in a file cabinet.  It was not feasible to search that file cabinet in the office, so the prosecutors obtained access to it, with the requirement that they only pull information relevant to their warrant &#8211; even if they stumbled across additional criminal information.</p>
<p>The majority in the 9th Circuit decision believe that a sensible application of Tamura to an electronic domain means that inform<strong>ation/documents stored in proximity to the information sought in the warrant is *not* in plain view</strong>.  And they are correct.  If information in adjacent files in a file cabinet are not in plain view, then neither is information stored electronically in adjacent files, folders or computers.</p>
<p>Explicitly, the justices stated:</p>
<blockquote><p>In general, we adopt Tamura’s solution to the problem of necessary over-seizing of evidence: When the government wishes to obtain a warrant to examine a computer hard drive or electronic storage medium in searching for certain incriminating files, or when a search for evidence could result in the seizure of a computer, see, e.g., United States v. Giberson, 527 F.3d 882 (9th Cir. 2008), magistrate judges must be vigilant in observing the guidance we have set out throughout our opinion, which can be summed up as follows:</p>
<p>1. Magistrates should insist that the government waive reliance upon the plain view doctrine in digital evidence cases. See p. 11876 supra.</p>
<p>2. Segregation and redaction must be either done by specialized personnel or an independent third party. See pp. 11880-81 supra. If the segregation is to be done by government computer personnel, it must agree in the warrant application that the computer personnel will not disclose to the investigators any information other than that which is the target of the warrant.</p>
<p>3. Warrants and subpoenas must disclose the actual risks of destruction of information as well as prior efforts to seize that information in other judicial fora. See pp. 11877-78, 11886-87 supra.</p>
<p>4. The government’s search protocol must be designed to uncover only the information for which it has probable cause, and only that information may be examined by the case agents. See pp. 11878, 11880-81 supra.</p>
<p>5. The government must destroy or, if the recipient may lawfully possess it, return non-responsive data, keeping the issuing magistrate informed about when it has done so and what it has kept. See p. 11881-82 supra.</p></blockquote>
<p>As someone who has participated in prosecutorial searches, these strike me as eminently sensible guidelines.  The first states that there&#8217;s no such thing as plain view in computer cases &#8211; each piece of information is in its own separate space.  To consider otherwise is to allow every piece of electronic equipment in the world to be searched since they are all connected via the Internet.  The second states that the prosecutor shouldn&#8217;t be the one doing the search, b/c the searching personnel *will* wind up seeing information that isn&#8217;t related to the warrant.  The problem is that since nothing is in plain view (can you tell what does a hard drive contain by looking at the physical device?), an in-depth search is required to fulfill the warrant, but that search will violate the terms of the warrant if all of the information is shared with the prosecutor.  The third states that prosecutors can&#8217;t *overestimate* the risk of booby traps, deadfalls, etc. that would destroy data.  There was no reason to think there were such in the BALCO computers and therefore, a full copy of their hard drives was not required.  The fourth is pretty plain &#8211; the process/protocol must be restricted to what the government is allowed to find.  And the fifth says that the prosecutor can&#8217;t keep things that it found that it wasn&#8217;t supposed to have.</p>
<p>All in all, a very reasonable balance of 4th Amendment rights in a digital context &#8211; no matter what <a href="http://volokh.com/posts/1251308337.shtml">Orin Kerr might say.</a> Good news on the electronic privacy front&#8230; for once.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/08/27/so-this-is-important/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DDoS-ing good policy</title>
		<link>http://www.fenris.org/2009/08/26/ddos-ing-good-policy</link>
		<comments>http://www.fenris.org/2009/08/26/ddos-ing-good-policy#comments</comments>
		<pubDate>Thu, 27 Aug 2009 02:08:48 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Political]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=978</guid>
		<description><![CDATA[In computer security, one of the most difficult and annoying problems is the distributed denial of service attack (DDoS).  The idea behind a DDoS attack is straight forward: the attacker tries to prevent legitimate use of the service by using a large number of other computers.  Usually these other computers have been compromised (hacked) and [...]]]></description>
			<content:encoded><![CDATA[<p>In computer security, one of the most difficult and annoying problems is the distributed denial of service attack (DDoS).  The idea behind a DDoS attack is straight forward: the attacker tries to prevent legitimate use of the service by using a large number of other computers.  Usually these other computers have been compromised (hacked) and are following the commands of the attacker.  Such computers are usually called &#8220;zombies.&#8221;</p>
<p>There are a number of ways to conduct a DDoS attack, but they are typically variations on the following theme.  The attacker instructs the zombies to request access to the service.  But the zombies have no intention of actually using the service, instead, they often forge network traffic so that it&#8217;s impossible to tell who is making the request.  Because the zombies don&#8217;t want to use the service, they can make thousands of requests without slowing down.  The poor computer hosting the service then sees tens of thousands of requests for access, tries to fulfill the requests and eventually becomes overloaded and dies.  The zombies win.</p>
<p>What makes the DDoS attack so difficult to defend against is that each and every request coming in, looks like a legitimate request.  The problems are: a) the core of the request is a lie (at the direction of the attacker, the zombie has forged the network traffic), and b) the sheer quantity of bogus requests &#8211; one or two could be handled easily, 10s of thousands not so much.</p>
<p>Unfortunately, we&#8217;re seeing the exact same thing when it comes to creating good policies in the U.S.: a distributed denial of service attack.</p>
<p>The creation of good policies requires discussion.  Ideally, arguments will be presented, the merits debated and evaluated with respect to a set of shared norms, and these discussions will shape the eventually enacted policy.  But on every important issue, this is not occurring.  Instead, we have a group of reactionaries (they&#8217;ll call themselves conservatives) who try to prevent the important discussions from ever occurring.  Take two issues, global warming and health insurance.</p>
<p>On global warming, we could have a fairly important discussion about the expected costs of global warming, the probabilities of certain events occurring, the expected costs of limiting CO2 in order to limit the effects.  We could discuss the moral issues involved, from the increased rates of disease due to higher temperatures, the possibility of spending more money now on certain social problems, and the moral worth of species that will go extinct because of a changing climate.  There are even scientific questions that remain unresolved.  But instead of having any of those discussions, conservatives persist in lying.  Those lies are then redistributed on Fox News and in conservative publications.  The purpose of the lies isn&#8217;t to have a real discussion with respect to a valid scientific point.  The purpose is to attack the very idea that there can be a discussion.  The purpose is to make people believe that instead of global warming being a policy issue, it&#8217;s a political one.</p>
<p>A year ago, I was at a family reunion and sat down with my father and uncle who hold advanced degrees in physical sciences (masters and phd respectively).  The topic came around to global warming &#8211; perhaps one of them made a derisive comment about it, I don&#8217;t recall.  The next thing I knew, these two very intelligent men turned into DDoS zombies.  They brought up a number of talking points that they had heard, but hadn&#8217;t actually verified:</p>
<ul>
<li><em>&#8220;Ice cores have shown that temperature rises before CO2 levels.&#8221;</em> Historically true, but <a href="http://www.realclimate.org/index.php/archives/2004/12/co2-in-ice-cores/">completely irrelevant</a>.  We know of the causal reason that an increase in CO2 will increase temperature.  A doubling of CO2 will raise the temperature by roughly 3 degrees Celsius.  However, no one has said that the only reason that the temperature can rise is due to CO2 &#8211; there are certainly other reasons.  Why temperature rose in those cases is a legitimate scientific question, but rather than discussing that issue, the right uses a misinterpretation of the idea to attack the possibility of global warming.</li>
<li><em>&#8220;CO2 only contributes 3% of the effects of greenhouse gases.&#8221; </em>Alternatively, you&#8217;ll hear that water vapor is 97% or 98% of the total effect.  <a href="http://www.realclimate.org/index.php/archives/2005/04/water-vapour-feedback-or-forcing/">Nope</a>.  This is a pure, flat out lie.  I spent a few hours trying to track down the source.  It turns out that it&#8217;s not a scientific result.  3% never appeared in a peer-reviewed paper.  Instead, someone reviewing one of the IPCC reports decided that the report said 3% (it didn&#8217;t) and ever since, right-wing news has thrown around that number to dispute the very possibility that rising levels of CO2 could contribute to global warming.</li>
</ul>
<p>There were a few other talking points they had and there are dozens more to be found online.  My favorites often come from a site called Watt&#8217;s Up With That.  Favorites because they completely demonstrate that people are *actively* constructing lies to deceive the public on global warming.  You read a post there and you go to the original sources that they cite and sure enough, they&#8217;ve either taken it out of context or they&#8217;ll take the worse of all possible predictions.  My favorite is when the push what amount to linear rather than the actual (exponential) projections of climate change and then argue that because the actual temperatures don&#8217;t fall into their bogus projections, climate change is false.</p>
<p>The point is that none of those talking points are serious attempts to debate the science.  They are merely an attempt to overwhelm the dialog with incorrect information in order to delay or kill good policy.  Hell, they aren&#8217;t even arguments, at best they are <em>arglets. </em>Fragments of an argument with no real merit.</p>
<p>The arglets against health care reform are even worse.  A handful of people literally make things up and rather than having a discussion about the very real ways our health care system is falling apart, the news media (Fox and others) goes off on these tangents for days.  Consider:</p>
<ul>
<li><em>&#8220;death panels&#8221;</em> What a load of crap.  There&#8217;s no such thing in the health care bill.  Which is of course, not to say that these things don&#8217;t exist.  Every insurance company has a death panel.  Or more accurately, insurance companies consider the <a href="http://articles.latimes.com/2009/jun/17/business/fi-rescind17">amount of rescission</a> activity when evaluating employees, i.e., you&#8217;ve paid your premiums for years and when you try to use the policy and the company drops your coverage.</li>
<li><em>&#8220;in &lt;scary socialist country of your choice&gt; people have to wait &lt;some large number&gt; weeks for &lt;some medical procedure&gt;.&#8221; </em>We hear that one a lot.  Usually, the country is England or Canada, the time is 6+ weeks and it&#8217;s a hip replacement.  Of course, this arglet is also untrue, but is interesting in being untrue on multiple levels.  First of course, is the basic lie &#8211; delays for surgery. A small nugget of truth &#8211; this was a small problem pre-2000, before the British started increasing the amount of money for the NHS.  Then the larger lie &#8211; the implication that it&#8217;s better here in the U.S. under your insurance.  Then finally, the mother of all lies &#8211; that anyone&#8217;s even proposing a single payer system like the NHS anyway.  &#8220;Oh my god, some other system that no one here is seriously considering has wait times that are as bad as some of ours with insurance, but not nearly as bad as if you have no insurance and have to wait until you&#8217;re on medicare to obtain the surgery.&#8221;  To borrow a line from a glibertarian idiot &#8211; give me a break.</li>
<li>Perhaps <a href="http://www.guardian.co.uk/politics/2009/aug/12/birthers-stephen-hawking-paul-rowen">my favorite recent arglet</a>: <em>&#8220;Stephen Hawking never would have survived to be a brilliant physicist under the British system.&#8221; </em>Given that he is a British citizen and has always received his health care via the NHS, this is completely crazy, literally divorced from reality, batshit insane.</li>
</ul>
<p>I could go on and on.  For any topic you can name, there are people promoting lies in order to prevent good policies from being enacted.</p>
<p>Now here&#8217;s the part where I tell you the good news based on my DDoS analogy.  Tough &#8211; there isn&#8217;t any.  There are a few approaches to dealing with a computer DDoS:</p>
<ol>
<li>Ignore it.  Build capacity so that all requests, legitimate and bogus can be serviced.  This is unlikely to work.  The media has a short attention span, hell they&#8217;ve got ADHD.  While the majority of arglets are debunked within minutes of their creation, they continue to live on in the right-wing zombies and the media is incapable of ignoring that.</li>
<li>Identify the source of the arglets and take &#8216;em out.  In computer terms, this often means tracking down the source of the DDoS commands and arresting them.  For dialog, this means identifying the source of the arglets and ignoring them and their zombies.  But then we&#8217;re back to solution 1 and the media&#8217;s inability to call bullshit.</li>
<li>Ensure that all potential zombie computers are patched, i.e, ensure that potential zombies are innoculated/education against the lies.  Unfortunately, this doesn&#8217;t work in a computer context &#8211; too many lazy people with computers that they don&#8217;t want to take care of.  And it&#8217;s unlikely to work in a political context &#8211; too many lazy people who can&#8217;t be bothered to conduct basic fact check (or even sanity checking) before propagating a lie.</li>
</ol>
<p>In short, there&#8217;s no way for the current political process to work properly while the right wing and various corporate interests are conducting a denial of service attack.  Unfortunately, the only real solution is to circumvent the dialog and pass good legislation regardless of what&#8217;s in the press.  For 16+ years, <a href="http://theplumline.whorunsgov.com/bill-kristols-1993-memo-calling-for-gop-to-block-health-care-reform/">Bill Kristol has advised the right to prevent such a thing</a>.  &#8220;Don&#8217;t allow good legislation on health care.&#8221;  People would like good legislation and would realize that the republicans were a bunch of lying con men who wanted to shovel government money (aka public funds,  aka your money and mine) to corporate interests.  The republicans have gotten good at this and now the only way to pass decent legislation is to ignore them, which is easier and easier given that they&#8217;ve flat out stated that they won&#8217;t vote for their own compromises.  Screw &#8216;em.  Health care is too important.  Pass it, pass it now.  If you won&#8217;t support a single payer option, then at least allow people the choice of a having either their current insurance or a public option that&#8217;ll be better, cheaper and more efficient than what we&#8217;ve got now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/08/26/ddos-ing-good-policy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the importance of verifying backups</title>
		<link>http://www.fenris.org/2009/07/20/the-importance-of-verifying-backups</link>
		<comments>http://www.fenris.org/2009/07/20/the-importance-of-verifying-backups#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:58:46 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=965</guid>
		<description><![CDATA[I was using my personal laptop at a meeting yesterday and grabbed about a gig of files from someone&#8217;s usb key.  While I was taking minutes, I noticed a lovely new icon that popped up&#8230; your hard disk drive is failing.  Eeek!  Not cool.  So, last night I got home and started backing up my [...]]]></description>
			<content:encoded><![CDATA[<p>I was using my personal laptop at a meeting yesterday and grabbed about a gig of files from someone&#8217;s usb key.  While I was taking minutes, I noticed a lovely new icon that popped up&#8230; your hard disk drive is failing.  Eeek!  Not cool.  So, last night I got home and started backing up my files.  A few of the new files and a couple unimportant old files didn&#8217;t transfer properly.   Fine, I could live without them.</p>
<p>Today, I bought a replacement drive.  When I got home, I wanted to record the diffs from last night to today (quite a few since I uncompressed a lot of that gig&#8217;s worth of files).  As I started that up, I received a lot of notices about the *backup* disk failing.  I tried fixing it, but no luck.  Found a new backup disk.  Re-backed up 30 gigabytes worth of data.  Verified that and installed the new drive.  Things worked pretty well.  I installed Fedora 11 for the second time in two weeks, restored all my personal files and now I&#8217;m updating the system.</p>
<p>I&#8217;m just glad I verified the backup prior to doing this &#8211; it would have been annoying to have installed the OS only to find that I needed to revert back to the old drive to make a new backup.  :-/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/07/20/the-importance-of-verifying-backups/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vint Cerf called . . .</title>
		<link>http://www.fenris.org/2009/04/21/vint-cerf-called</link>
		<comments>http://www.fenris.org/2009/04/21/vint-cerf-called#comments</comments>
		<pubDate>Wed, 22 Apr 2009 01:58:23 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Pique]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=911</guid>
		<description><![CDATA[&#8230; and he and Tim Berners-Lee want you to stop breaking the Internet. Over the past couple of weeks I&#8217;ve had several occasions to be invited into someone&#8217;s walled garden on the internet.  You know the places.  Lovely little sites that are entirely self-contained and which you can&#8217;t access unless you are a member?  In [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; and <a href="http://en.wikipedia.org/wiki/Vint_Cerf">he</a> and <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee">Tim Berners-Lee</a> want you to stop breaking the Internet.</p>
<p>Over the past couple of weeks I&#8217;ve had several occasions to be invited into someone&#8217;s walled garden on the internet.  You know the places.  Lovely little sites that are entirely self-contained and which you can&#8217;t access unless you are a member?  In the old days, Compuserve and AOL were the big walled gardens.  These days, it&#8217;s Facebook and Linked-In.</p>
<p>These two social networking sites provide easy access to various tools for maintaining a web presence, but also keep enough meta-data that it&#8217;s easy to track down other people that you are likely to know.  FWIW, I have no problem with the meta-data aspects of the site.  If you want to find people that you may know due to past associations, well more power to you.  The concern I have is that once you go beyond those functions and start using the internals of the garden to maintain information, well, then the only people who can see that information are those who belong to that garden.  Even that is fine with me if the information is private and should be restricted through some form of identity management and authorization; but what if you intend the information to be public, should everyone have to come into the garden to see what should be public?  What does restricting the information to only those with (Facebook) accounts do for you?  You aren&#8217;t controlling access, you are just making the owners of your walled garden a little richer by increasing the popularity of their sites.</p>
<p>I mentioned that I&#8217;ve had several invitations respecting walled gardens recently.  FWIW, two were on Facebook.  A few of these are related to my upcoming 20th high school reunion (er, actually, that should be 20 year &#8211; technically it&#8217;ll be our 1st reunion and at this rate, our 20th will be in the year 2389) and seeing someone&#8217;s pictures, or viewing our class group or&#8230;.  The other was a friend who stopped blogging publically (for the most part) and is now (as I understand it) &#8220;writing on her wall&#8221; (which is a wonderfully ironic image for this post).  The Linked-in request was to &#8220;recommend&#8221; someone professionally.  Okay, it&#8217;s true that I do belong to Linked-in, but I use it as an online rolodex, not as a way to keep in touch with what former colleauges are doing.  I don&#8217;t &#8220;recommend&#8221; people.  I don&#8217;t ask to be &#8220;recommended&#8221; and I don&#8217;t really keep up with what happens.  As far as Facebook?  Not participating and not joining.  Use the (free) tools that are available like <a href="http://flickr.com">flickr</a> for images and <a href="http://blogger.com">blogger</a> or <a href="http://wordpress.com/">wordpress</a> for blogging.  In the meantime, if Facebook and/or Linked-in ever open up to the rest of the Internet, then maybe I&#8217;ll look at your images and read your writing.  But if they don&#8217;t, then you&#8217;re restricting yourself to only a subset of the people on the Internet.</p>
<p>.</p>
<p>.</p>
<p>oh, and <strong>You Kids Get Off My Lawn!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2009/04/21/vint-cerf-called/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>blog your type?</title>
		<link>http://www.fenris.org/2008/11/21/blog-your-type</link>
		<comments>http://www.fenris.org/2008/11/21/blog-your-type#comments</comments>
		<pubDate>Fri, 21 Nov 2008 21:44:47 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=835</guid>
		<description><![CDATA[This is neat.  Typealyzer claims to examine a blog (or presumably any webpage) in order to identify the Myers-Briggs type of the author.  It correctly identifies me as an INTP, but doesn&#8217;t seem to get etselec.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-836" title="intp" src="http://www.fenris.org/wordpress/wp-content/uploads/2008/11/intp-117x150.gif" alt="" width="117" height="150" />This is neat.  <a href="http://www.typealyzer.com/">Typealyzer</a> claims to examine a blog (or presumably any webpage) in order to identify the Myers-Briggs type of the author.  It correctly identifies me as an INTP, but doesn&#8217;t seem to get <a href="http://etselec.livejournal.com/">etselec</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/11/21/blog-your-type/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>at home in the (technical) universe</title>
		<link>http://www.fenris.org/2008/11/20/at-home-in-the-technical-universe</link>
		<comments>http://www.fenris.org/2008/11/20/at-home-in-the-technical-universe#comments</comments>
		<pubDate>Thu, 20 Nov 2008 15:11:26 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=830</guid>
		<description><![CDATA[Some recent (somewhat) technical notes: A while back, I swapped the dead harddrive from my ipod with a compact flash card.  Unfortunately, at the time, the biggest (affordable) compact flash was 16 GB, so I lost about half the capacity from my ipod.  Not a huge problem, but it became more of one as I [...]]]></description>
			<content:encoded><![CDATA[<p>Some recent (somewhat) technical notes:</p>
<ul>
<li>A while back, I <a href="http://www.fenris.org/2007/12/04/it-lives">swapped</a> the dead harddrive from my ipod with a compact flash card.  Unfortunately, at the time, the biggest (affordable) compact flash was 16 GB, so I lost about half the capacity from my ipod.  Not a huge problem, but it became more of one as I added more music.  Yesterday, a shiny new 32 GB compact flash arrived and now I&#8217;m back to the nominal amount of space on my ipod, except that it&#8217;s all solid state and cool.  From the technical standpoint, this was something of a PITA, since I didn&#8217;t have a windows or mac machine around to reinstall the firmware.  My ultimate solution:  1) back up /dev/sdb (boot record and partition table) and /dev/sdb1 (firmware) from the ipod using dd; 2) put the CF in my laptop and format it (a camera would work just as well), this just normalizes the card; 3) put the CF in the ipod (or in the laptop); 4) write the patition table using dd; 5) edit the partition table using fdisk, set the size of sdb2 to be 32 rather than 16 GB; 6) write out the firmware to sdb1; 7) format sdb2 using mkfs.vfat.  Voila &#8211; a 32 GB ipod CF</li>
<li>If you haven&#8217;t seen it already, check out <a href="http://projecteuler.net">projecteuler.net</a>.  They&#8217;ve got a bunch of mathematically oriented programming problems online of varying difficulty.  Good solutions should all run in 1 minute or less and generally take 100 lines of code or so.  It&#8217;s a good way to get familiar with a new programming language and to exercise your brain.  So far, I&#8217;ve done the first 70 or so problems &#8211; they don&#8217;t take too long, maybe a half hour each on average.</li>
<li>Finally, I got the clutch in my car replaced yesterday.  The mechanic said that it was in pretty bad shape and that the (plastic?) bearing the clutch uses had worn completely away.  This probably explains why I&#8217;ve had no acceleration for the past year (or more?).  I had forgotten what it was like to drive a decent car <img src='http://www.fenris.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/11/20/at-home-in-the-technical-universe/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer maps</title>
		<link>http://www.fenris.org/2008/10/30/computer-maps</link>
		<comments>http://www.fenris.org/2008/10/30/computer-maps#comments</comments>
		<pubDate>Thu, 30 Oct 2008 14:17:51 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=784</guid>
		<description><![CDATA[A few years ago, K was taking some GIS (geographic information systems) classes.  That was a lot of fun for me since GIS is something I&#8217;ve poked at on and off for quite some time.  Back when I was first playing with GIS, GRASS was probably the best (and may still be) open-source GIS system [...]]]></description>
			<content:encoded><![CDATA[<p>A few years ago, K was taking some GIS (geographic information systems) classes.  That was a lot of fun for me since GIS is something I&#8217;ve poked at on and off for quite some time.  Back when I was first playing with GIS, <a href="http://grass.itc.it">GRASS</a> was probably the best (and may still be) open-source GIS system out there, but it wasn&#8217;t too user friendly.  So it was a lot of fun playing with ESRI&#8217;s ArcGIS.</p>
<p>But 99% of the time, the things that I would like to do with maps don&#8217;t require a full blown GIS system.  The Python toolkit <a href="http://matplotlib.sourceforge.net/">Matplotlib</a> includes a Basemap package and that&#8217;s getting closer.  Basemap can read GIS shapefiles, handle coordinate transformations, etc.  But even that&#8217;s sometimes too much.  What if I wanted a simple, dynamically computed heat map of the location of website visitors?  Or for the PWC database &#8211; the counties from which we receive animals?</p>
<p>Well, the Wikimedia Commons has a <a href="http://commons.wikimedia.org/wiki/Image:BlankMap-USA-states.PNG">map</a> of the U.S. where states are slightly separated to allow for easier coloring.  But that&#8217;s again difficult to deal with programatically.  So what I&#8217;ve done is to create an indexed PNG image where each state is a different index color.  To color the map, you just load it up and change each state&#8217;s color triplet to the appropriate value.</p>
<p>I&#8217;m not certain if that&#8217;s useful to anyone else, but at least I&#8217;ve got it documented here for when I need it.</p>
<p><a href="http://www.fenris.org/wordpress/wp-content/uploads/2008/10/blankmap-usa-states-percolor.png"><img class="alignnone size-thumbnail wp-image-785" title="blankmap-usa-states-percolor" src="http://www.fenris.org/wordpress/wp-content/uploads/2008/10/blankmap-usa-states-percolor-150x97.png" alt="" width="150" height="97" /></a></p>
<p>The associated index of colors to states is here: <a href="http://www.fenris.org/wordpress/wp-content/uploads/2008/10/state-colors.txt">state-colors</a></p>
<p>At some point in the future, I might do something similar with a NC county map and maybe a world country map.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/10/30/computer-maps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annotate Flickr</title>
		<link>http://www.fenris.org/2008/10/04/annotate-flickr</link>
		<comments>http://www.fenris.org/2008/10/04/annotate-flickr#comments</comments>
		<pubDate>Sun, 05 Oct 2008 02:59:54 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=761</guid>
		<description><![CDATA[A while back, Luis Villa asked about a script to add creative commons licensing information to an image.  I just wrapped up a first cut at a GreaseMonkey script to do exactly that.  Hopefully someone will find it useful.]]></description>
			<content:encoded><![CDATA[<p>A while back, Luis Villa <a href="http://tieguy.org/blog/2008/09/03/creative-commons-picture-script-request/">asked</a> about a script to add creative commons licensing information to an image.  I just wrapped up a first cut at a <a href="http://www.fenris.org/projects/annotate-flickr/">GreaseMonkey script</a> to do exactly that.  Hopefully someone will find it useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/10/04/annotate-flickr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-book blogging</title>
		<link>http://www.fenris.org/2008/05/06/e-book-blogging</link>
		<comments>http://www.fenris.org/2008/05/06/e-book-blogging#comments</comments>
		<pubDate>Wed, 07 May 2008 01:49:39 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=462</guid>
		<description><![CDATA[I&#8217;ve had the Sony Reader now for about a week.  In that time, I&#8217;ve taken it on a plane trip, read three full books, multiple days worth of the NY Times and I&#8217;m in the middle of two books right now.  Observations so far: The electronic paper is very readable.  On my plane trip, I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the Sony Reader now for about a week.  In that time, I&#8217;ve taken it on a plane trip, read three full books, multiple days worth of the NY Times and I&#8217;m in the middle of two books right now.  Observations so far:</p>
<ul>
<li>The electronic paper is very readable.  On my plane trip, I must have read for several hours straight with no more eye strain than if I had been reading a paper book.  The legibility is good regardless of font size.  You might still want to increase the font size if your eyes are tired, but otherwise, there is no need.</li>
<li>The menus and button layouts are pretty reasonable.  You can page forward or back.  There&#8217;s a up-down-left-right cursor that is used to move around on a page.  Using the number buttons on the right, you can jump to an arbitrary page in the book.  These buttons double as a quick jump to a menu item on the Reader&#8217;s standard menus.  One gripe, you can only move to different links using up/down on the cursor, left/right don&#8217;t do anything.  At GB, paideka mentioned that it would be interesting to see what Apple did with the layout and look and feel of a reader.  Agreed</li>
<li>Battery life appears to be as advertised: 7,500 page turns per charge.  Keep in mind that a page on the reader contains only about half the content of a standard paper back (depending on page layout and font size).  Still, around 3,500 pages of paper back text is still pretty good.</li>
<li>Updating the screen is slow.  It takes about .5 &#8211; .75 seconds to update the screen.  A few ramifications:  1) this is almost un-noticeable while reading text; and 2) using the cursor keys is painful, you deal with the update time for each cursor pressed &#8211; where ever possible I use the numeric shortcuts.</li>
<li>A third ramification of the slow update time is that the Reader, and almost certainly any other reader using this generation of e-paper, is unusable as a reference book.  When I use a reference book, I flip around quite a bit.  Forward to the index, back to the text, forward many pages to the next topic, etc.  I suppose if the reference book had a really good index, it might be better, but for the most part, this is still not a good tool for referencing which is a real shame.</li>
<li>The bookmarking system is good.  Each book keeps your place in the book.  The top level of the reader keeps up with the last book you&#8217;ve read and your place in that book.  You can set any number of bookmarks in each book and then access the bookmarks on a global or a per book basis.  It would be nice if the reader also kept a list of most recently read, rather than just the single most recently read book; but that&#8217;s a small issue.  Typically, I&#8217;ll just set a bookmark when I pause in reading, then delete it when I pick the book back up.</li>
<li>PDF conversion still leaves something to be desired.  I&#8217;ve looked into this a bit.  The converter I&#8217;m using converts PDF -&gt; HTML -&gt; LRF.  The PDF -&gt; HTML conversion uses pdftohtml (surprised?) which is good in some ways, but still leaves off certain things (like images!), at least as used by the reader&#8217;s converter.  Part of this is due to conceptual differences between PDF and HTML.  HTML marks up text, flagging paragraphs, noting images, etc.  Ideally, all of this is passed to the browser which handles the layout.  PDF will have none of that.  PDF consists of a set of primitives that indicate what text (in which font and size) should go in which location on the page.  There is no markup of paragraphs, instead, each line of text is described individually.  There is no easy way to reconstruct paragraphs from a PDF file (as a research note, I wonder if you could use a partially observable markov decision process?). That said, minus the missing images, the LRF result is definitely readable.</li>
</ul>
<p>So overall, I&#8217;m pretty happy with the reader.  The biggest issue is the refresh time on the electronic paper and I hope that will improve over the next couple of years.</p>
<p>p.s. If you&#8217;re curious, so far I&#8217;ve read: Free for All (a history of open source),  <a href="http://home.cc.umanitoba.ca/~altemey/">The Authoritarians</a> (a sociologist&#8217;s take on a personality type and how it affects politics) and 20,000 Leagues Under the Sea (which I haven&#8217;t read in over 20 years).  I&#8217;m currently reading Nietzsche&#8217;s The Anti-Christ and Bruce Sterling&#8217;s Hacker Crackdown.  <span class="f"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/05/06/e-book-blogging/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book lover + nerd = ebook</title>
		<link>http://www.fenris.org/2008/04/29/book-lover-nerd-ebook</link>
		<comments>http://www.fenris.org/2008/04/29/book-lover-nerd-ebook#comments</comments>
		<pubDate>Tue, 29 Apr 2008 14:45:51 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/?p=436</guid>
		<description><![CDATA[Yesterday, I bought a Sony Reader &#8211; the electronic book reader that uses E Ink&#8217;s electronic paper.  The electronic paper display on the reader is very nice.  It uses encapsulated white and black pigments that can be brought to the surface of the page.  The only power consumption involved happens when you make a change.  [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I bought a <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/CategoryDisplay?storeId=10151&amp;mpe_id=1908904905&amp;identifier=S_BrandShowcase_Reader">Sony Reader</a> &#8211; the electronic book reader that uses E Ink&#8217;s electronic paper.  The electronic paper display on the reader is very nice.  It uses encapsulated white and black pigments that can be brought to the surface of the page.  The only power consumption involved happens when you make a change.  Once the change is made, it requires no power to keep the image.  The upshot is that you&#8217;ve got a very long battery life, a decent contrast ration and a display that can be read in any light &#8211; in fact, the more the better since it&#8217;s reflective (like paper) rather than backlit (like a monitor).  Moreover, because it&#8217;s not backlit, it&#8217;s easier on the eyes when reading for a long time.  I read for a couple of hours last night and it was no different than reading a paper book.</p>
<p>The Sony Reader hasn&#8217;t gotten quite the notoriety of Amazon&#8217;s Kindle, even though they both have the same display and the Sony came out a month earlier.  I suspect that&#8217;s because Amazon hyped the Kindle and after all, it was tied to the largest (or is it second largest?) book seller in the world.</p>
<p>So, why did I go with the Sony and not the Kindle?  A handful of reasons:</p>
<ul>
<li>Price &#8211; the Sony is $100 cheaper.  I&#8217;m hoping that this isn&#8217;t the last version of electronic paper to come out and that things will continue to improve.  That being the case, why should I spend the extra money.</li>
<li>Linux use &#8211; okay, technically, the Kindle doesn&#8217;t require any computer to use it, but I suspect that I would want to attach it to a computer anyway.  If for no other reason than to save the transfer cost for anything I send to the device that isn&#8217;t purchased from Amazon.  Beyond that, <a href="https://libprs500.kovidgoyal.net/">libprs500</a> is very nice software.  It handles file conversions, can download RSS feeds and convert them to the reader&#8217;s format, etc.</li>
<li>Books &#8211; I almost certainly won&#8217;t buy electronic books for the reader.  Not that it&#8217;s not a good device for reading, but I&#8217;ve got two concerns:  1) I don&#8217;t want the books I buy (or music for that matter) to be locked up by DRM software, things change quickly and I want my books to follow; and 2) the price point for electronic books isn&#8217;t right.  Why would I pay the paperback price for an electronic version that has essentially 0 duplication and distribution costs?  Instead, I&#8217;ll probably start piping the newspaper to the reader and will catch up on a lot of the content of <a href="http://www.gutenberg.org/wiki/Main_Page">Project Gutenberg</a> that I&#8217;ve been meaning to read.</li>
</ul>
<p>Last night, I added about 100 books and short stories to the reader.  I think that&#8217;ll be enough to keep me for a while.  <img src='http://www.fenris.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Happy reading</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/04/29/book-lover-nerd-ebook/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>tracks 1.5</title>
		<link>http://www.fenris.org/2008/04/12/tracks-15</link>
		<comments>http://www.fenris.org/2008/04/12/tracks-15#comments</comments>
		<pubDate>Sun, 13 Apr 2008 02:46:29 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/04/12/tracks-15/</guid>
		<description><![CDATA[Thanks to Luis, I find out last week that Tracks 1.5 has been released.  Tracks is the implementation of the  &#8220;getting things done&#8221; methodology which I prefer.  1.5 is pretty nice.  In particular, I look forward to hiding actions until a particular date.  In the past, I&#8217;ve wanted to track a todo some six months [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tieguy.org/blog/2008/03/30/tracks-15-released/">Thanks to Luis</a>, I find out last week that Tracks 1.5 has been released.  Tracks is the implementation of the  &#8220;getting things done&#8221; methodology which I prefer.  1.5 is pretty nice.  In particular, I look forward to hiding actions until a particular date.  In the past, I&#8217;ve wanted to track a todo some six months in the future.  I put it on the list and had to watch it for 180+ days.</p>
<p>The only trouble I had with the upgrade is that there&#8217;s some new SQL instructions in the code of the form &#8220;SELECT COUNT(DISTINCT foo)&#8230;&#8221;  That syntax was bombing on my ISP which was causing the AJAX updates to not happen properly.  It turned out that the sqlite3 driver uses this syntax and the sqlite2 driver has a fallback syntax since count-distinct isn&#8217;t supported.  Unfortunately, Dreamhost&#8217;s sqlite3 is about three years old and also doesn&#8217;t support count-distinct.  The solution was easy enough &#8211; copy the sqlite2 driver&#8217;s syntax into the sqlite3 driver.  Once that was done, everything worked great.</p>
<p>I suppose a better solution would be to get Dreamhost to upgrade sqlite, but somehow that seems like more effort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/04/12/tracks-15/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web 2.0 and trusting the users</title>
		<link>http://www.fenris.org/2008/04/11/web-20-and-trusting-the-users</link>
		<comments>http://www.fenris.org/2008/04/11/web-20-and-trusting-the-users#comments</comments>
		<pubDate>Fri, 11 Apr 2008 13:31:47 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Social]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[University Life]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/04/11/web-20-and-trusting-the-users/</guid>
		<description><![CDATA[The CTO Project makes an interesting observation that faculty are a bit like some corporations. They feel obligated to use Web 2.0 technologies in order to engage student interest and actually make some token effort to be up to date. But that they only want these technologies if they can exert complete control. Trust me, [...]]]></description>
			<content:encoded><![CDATA[<p>The CTO Project <a href="http://ctoproject.com/?p=38">makes an interesting observation</a> that faculty are a bit like some corporations.  They feel obligated to use Web 2.0 technologies in order to engage student interest and actually make some token effort to be up to date.  But that they only want these technologies if they can exert complete control.</p>
<p>Trust me, I can relate.  We&#8217;re currently contracting with a part of the government that wants to do something similar.  They want to make use of the knowledge of a number of experts to produce an encyclopedia of a given technology.  Of course, this has been dubbed the FOOpedia (where FOO is the technology).</p>
<p>In the first phase, they laid out an outline of the field.  There were to be top level items that only they could edit, secondary items which would be owned by specific individuals and third level items which would be links to support documentation like powerpoint slides and papers.  Control of the site was to be pretty restricted, but they did know that they wanted to use a wiki.</p>
<p>Kill me now.</p>
<p>So, in working with them for a bit, I think we&#8217;ve talked them out of the rigidly structured, top-down, hierarchical encyclopedia and have gotten them to embrace something a bit more organic.  They&#8217;re still not comfortable with a completely open system.  We&#8217;re looking at a model comparable to <a href="http://www.scholarpedia.org/">Scholarpedia</a> or <a href="http://en.citizendium.org/wiki/Main_Page">Citizendium</a> where there&#8217;s a person responsible for each article and he or she will have the final editorial say over that topic.  But at least we&#8217;re no longer trying to define all of the pages in advance.  I&#8217;ll call it a win.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/04/11/web-20-and-trusting-the-users/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital Amway</title>
		<link>http://www.fenris.org/2008/03/28/digital-amway</link>
		<comments>http://www.fenris.org/2008/03/28/digital-amway#comments</comments>
		<pubDate>Sat, 29 Mar 2008 02:22:52 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/03/28/digital-amway/</guid>
		<description><![CDATA[A few years ago, I was accused of using the word &#8220;interesting&#8221; in subtle ways.  Sometimes it means a truly novel idea that I would like to learn more about, other times, it&#8217;s a novel idea of which I&#8217;m more than a little skeptical.  In both cases, I stand by the description, to me, both [...]]]></description>
			<content:encoded><![CDATA[<p>A few years ago, I was accused of using the word &#8220;interesting&#8221; in subtle ways.  Sometimes it means a truly novel idea that I would like to learn more about, other times, it&#8217;s a novel idea of which I&#8217;m more than a little skeptical.  In both cases, I stand by the description, to me, both are interesting &#8211; but it can make it a little hard to know what I&#8217;m really thinking.  So take it with a grain of salt that I just read an interesting article in the February 2008 issue of IEEE Computer on how to turn music lovers (particularly teenagers) into music distributors.</p>
<p>The idea assumed a secure hardware architecture using digital certificates (for an idea of how this might work, read the novel &#8220;Rainbows End&#8221; by Vernor Vinge). Customers would buy music directly from the industry and would have the option of buying redistribution rights (at say a 10% discount).  The authors imagined that in addition to buying the song for personal use, customers could buy a 10 pack of redistribution licenses for maybe $8.99.  This 10 pack could be resold either as an end user license or a redistribution license so that the customer&#8217;s customer could resell it too.  Unsold licenses could be returned to the industry distributor for credit.</p>
<p>Having dealt with Microsoft Windows Server licensing at the office, I&#8217;m a little skeptical that any end user would want to get involved in such a scheme.  But then again, the office is paying MS, so what do I know.  The biggest problem that I see with the redistribution scheme is that customers have to pre-purchase redistribution licenses without knowing whether or not they could be resold.  Here&#8217;s my suggestion (perhaps I should get it published in IEEE Computer <img src='http://www.fenris.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ), the redistribution should be in an Amway style.  For example, person A purchases the song for full price (say $0.99).  Person A can give a copy of the song to a friend, Person B, who can play the song for only a limited number of times.  If they want to keep it, B does not go and buy it from the original retailer, they activate it instead.  They pay the retailer the full amount ($0.99), but person A receives 10% maybe in credit, maybe in an account that pays out on occasion.  If Person B distributes to Person C, then both A and B get paid (A gets less than B being one removed).</p>
<p>The industry would go along with this due to the significantly reduced bandwidth costs for distribution.  Users (might) go along with it because it&#8217;s a more natural distribution method and there&#8217;s a direct payment with low effort ovehead.</p>
<p>Don&#8217;t get me wrong, I&#8217;m not advocating this, I&#8217;m not a huge Digital Rights Management (DRM) fan &#8211; too much potential to restrict fair use; however, it does seem like a more natural approach to turning consumers into distributors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/03/28/digital-amway/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pros and Cons of VoIP</title>
		<link>http://www.fenris.org/2008/03/19/pros-and-cons-of-voip</link>
		<comments>http://www.fenris.org/2008/03/19/pros-and-cons-of-voip#comments</comments>
		<pubDate>Wed, 19 Mar 2008 14:45:46 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/03/19/pros-and-cons-of-voip/</guid>
		<description><![CDATA[We&#8217;ve got voice over IP phones at the office.  For the most part, they are a very smart way to handle our communications.  We&#8217;re too large to want to use individual analog lines through the local telephone company &#8211; their rates would be prohibitively expensive.  We&#8217;re too small to make a private branch exchange (PBX) [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve got voice over IP phones at the office.  For the most part, they are a very smart way to handle our communications.  We&#8217;re too large to want to use individual analog lines through the local telephone company &#8211; their rates would be prohibitively expensive.  We&#8217;re too small to make a private branch exchange (PBX) worthwhile.  So sending our voice data over the internet is a good approach.  When the phones work, the sound quality is excellent, the cost is relatively inexpensive and the system is fairly reliable.  Unfortunately, when the phones don&#8217;t work the challenges begin.</p>
<p>The biggest problems with the VoIP system is that the people that sell them, the same company that supports them, don&#8217;t really understand them.   Two recent examples of this:</p>
<p>All of the telephones connect to a regular networking switch.  Yesterday, that switch (which we own) died.  No lights, no power, no fan.  It went to silicon heaven (where all the calculators go).   Okay, no problem.  I call our technical support folks and they find us a spare switch &#8211; a Cisco Catalyst 2924 which must be about 12 years old now.  The tech brings it out, he and I rack mount it and move all the phones over.  Most, but not all, of the phones refuse to work.  The only phones that seem to work are those which were somewhat isolated from the original switch and didn&#8217;t notice it change.  All of the other phones failed to get their software from the network and just sat there trying to connect.</p>
<p>I tested my laptop in the switch.  That worked just fine.  So I punted and called the company that <strike>supports</strike> sells the phones.  I explained the problems, explained that my laptop worked, etc.  They had me take a phone and bypass the switch (arguably something I should have done myself) and when that worked, they said it was a switch problem and I should try a new switch.  Odd, since my laptop worked, but okay.</p>
<p>I called the other guy in the office who knows something about the phones, he was in Orlando for a conference, and he had seen a similar problem on another &#8220;smart&#8221; switch.  So we figured we should buy a dumb switch &#8211; maybe a netgear unmanaged switch that&#8217;s similar to the little 5 port version we had been testing with earlier.  Before I did that, I borrowed the same smart switch we had tried before.  Sure enough, it also didn&#8217;t work.  Fortunately, unlike the Cisco, I could get at the management interface without a dumb terminal.</p>
<p>It occurred to me that maybe the problem was that we weren&#8217;t passing phone traffic because the phones were on a VLAN.  I got into the interface, turned on the right VLAN on all of the ports and sure enough, phones plugged into the switch worked.  Woo hoo!  We were back online.  Of course, after the fact, I was annoyed that our provider just said &#8220;switch problem&#8221; without actually suggesting what it could be.  If I had purchased a new switch and it still didn&#8217;t work, I&#8217;m not certain what they would have said.  It&#8217;s like they don&#8217;t know how their own products work.</p>
<p>The second example of this has been ongoing for several months.  On a call, you occasionally lose parts of what the other person is saying.  Random half second parts of the conversation are completely lost.  The other person can always hear what you are saying &#8211; no trouble there.  It&#8217;s only a problem for voice traffic you are receiving.</p>
<p>The provider has been worse than no help on this one.  They first tried blaming it on our using a lot of data.  Well, sure, but we&#8217;ve got the quality of service QoS router they required &#8211; it limits the bandwidth for data to ensure that you&#8217;ve got enough for voice.  So they tried lowering the absolute limit on data from just giving priority to voice to 2.5 Mb/s for data (out of the total of 3).  That didn&#8217;t help.  So then, without telling us, they lowered it to 2 Mb/s.  Still didn&#8217;t help.  Essentially, our provider can&#8217;t understand why the QoS router wasn&#8217;t working to prevent the voice loss.</p>
<p>So we started thinking about it and doing some testing.  I spoke to a friend that does networking and he reminded me that the bottleneck for bandwidth is our 3 Mb/s connection to the internet.  On our side of that we&#8217;ve got a gigabit on the internet side, the ISP&#8217;s router probably has gigabits.  Moreover, our QoS router can only limit our *outbound* traffic with any certainty.  It can *try* to limit inbound traffic by dropping packets and hoping that TCP/IP will negotiate the speed downward.  But that negotiation takes time and is only good for 1 connection.  What we really needed, according to my friend, was QoS on the ISP&#8217;s router in order to limit inbound traffic on our 3 Mb/s bottleneck.  So we tried a few things.  We tried saturating the inbound line, and sure enough, the voice got terrible.  We monitored inbound traffic and saw that poor voice correlated to high inbound traffic and that the inbound traffic definitely &#8220;burst&#8221; over the QoS limits.  Then we tried the same things for outbound.  Sure enough, for outbound traffic, the QoS router did exactly as it should.  Even when we were uploading huge amounts of data, the QoS router ensured that we had enough available for voice.</p>
<p>We contacted the provider about QoS on the upstream router we&#8217;re connected to (since this would solve the problems).  Unfortunately, the ISP won&#8217;t turn on QoS.  Our VoIP provider suggested that we add a 3rd T1 to our data connection bringing out total bandwidth up to 4.5 Mb/s and that this would help.  WRONG.  The internet, heck CNN, is fully capable of saturating our link, be it 3 Mb/s or 4.5 Mb/s.  What we need is a 3rd T1 that is dedicated to voice only.  Our VoIP provider didn&#8217;t (and doesn&#8217;t) seem to understand this, and they&#8217;ve made it difficult to order, but we finally got through to them and it should be installed in a few weeks.  At that time, we&#8217;ll finally have a pretty good, reasonably priced, phone service.  Even if the provider doesn&#8217;t understand QoS, VLANs or for that matter VoIP and VoIP management.  Why are we paying these guys again?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/03/19/pros-and-cons-of-voip/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FISA extension and telecom amnesty</title>
		<link>http://www.fenris.org/2008/02/25/fisa-extension-and-telecom-amnesty</link>
		<comments>http://www.fenris.org/2008/02/25/fisa-extension-and-telecom-amnesty#comments</comments>
		<pubDate>Tue, 26 Feb 2008 04:10:27 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Social]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[University Life]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/02/25/fisa-extension-and-telecom-amnesty/</guid>
		<description><![CDATA[Few people have been on top of the extension of FISA like Glenn Greenwald. As a quick overview for folks that haven&#8217;t been paying attention to the issue: Late last year a real potential problem with the Foreign Intelligence Surveillance Act (FISA) (as written in the 70s and amended after Sept 11) was recognized. Namely, [...]]]></description>
			<content:encoded><![CDATA[<p>Few people have been on top of the extension of FISA like <a href="http://www.salon.com/opinion/greenwald/2008/02/23/mcconell/index.html">Glenn Greenwald</a>.  As a quick overview for folks that haven&#8217;t been paying attention to the issue:</p>
<ul>
<li>Late last year a real potential problem with the Foreign Intelligence Surveillance Act (FISA) (as written in the 70s and amended after Sept 11) was recognized.  Namely, communication between two foreign entities that was routed through the US was subject to the law&#8217;s requirements for a court order.  This was never the intent of the law and largely crept in due to the routing of Internet traffic through major US networking hubs</li>
<li>In addition to correcting this, the Whitehouse and the Republican congress pushed for a change to FISA that went beyond correcting the oversight and significantly extended the ability of the government to spy on citizens.</li>
<li>Congress couldn&#8217;t pass this permanently, but did pass a six month bill before the August recess, in large part because of scare tactics used by the FBI (releasing warnings of predicted attacks in DC)</li>
<li>Six months was up last week and the Whitehouse was pushing to: a) correct the known oversight, b) extend its ability to spy on US citizens without court order, and now they&#8217;ve added c) grant retro-active immunity to the telecommunications companies for illegally helping the government spy both before and after Sept 11th.  And of course, if they don&#8217;t get all of this, we&#8217;ll die in our sleep, murdered by terrorists.</li>
<li>The Senate caved and gave the Whitehouse everything it asked for.</li>
<li>Surprisingly, the House didn&#8217;t and we&#8217;re now seeing extra pressure claiming that we&#8217;ll all die and it&#8217;ll be their fault.  This is of course BS, but that&#8217;s the state of discourse in the country.</li>
</ul>
<p>I don&#8217;t have much to add on the spying per se, but I will admit to being particularly offended and disturbed by the telecom immunity issue.  Essentially, these companies started helping law enforcement to monitor calls, read emails, etc. well before September 11th.  Their actions were not scared or patriotic, they were largely motivated by greed.</p>
<p>Even if this were not the case.  Even if they only started cooperating after September 11th, there is no excuse for allowing extra-legal monitoring by law enforcement in  violation of the 4th Amendment.  While much of the monitoring may have been intended to track down terrorists, we know that tools of this nature are never used only for their intended purposes.  They are always used by someone trying to get a little extra edge in a non-terrorist case or by a cop wanting to spy on a girlfriend.</p>
<p>Consider the following.  I was the IT Security Officer for the university back in 2001.  When September 11th occurred, everyone wanted to be as cooperative as possible with law enforcement <em>within the bounds of the law</em>.  Within the bounds of the law was an important caveat.  Late September of 2001, I received a phone call from an individual who identified himself as being an agent with the FBI (note, none of this is confidential &#8211; there were a few times that I was asked/instructed to sign the equivalent of an NDA; for reasons that will become obvious, this was not one).</p>
<p>The agent asked me for some information pertaining to an investigation on which he was working.  I asked him to slow down a bit because I needed to confirm that he actually was with the FBI (and not some random caller) and then I would need a court order for the information (because, hey, I don&#8217;t want to be sued, he wasn&#8217;t asserting that this was an emergency situation, and my failure to follow reasonable procedure meant it might be me personally being sued, not the university).</p>
<p>The agent then starts to get very defensive and plays the terrorist card.  &#8220;This person could be a terrorist, and if you don&#8217;t help me, who knows what could happen?&#8221;  Taking things one step at a time, I asked for his FBI identification number.  He wouldn&#8217;t give it to me.  He did give me his name and a phone number I could reach him at.  I called the FBI.  After a couple of false starts, I was finally able to confirm his identity.</p>
<p>It turns out that he was sort-of an agent.  Actually, he was an agent of the Bureau of Alcohol, Tobacco and Firearms (ATF).  Ostensibly, he was on loan from the ATF to the FBI in order to assist them in their cases.  Instead, he was working on an ATF case and trying to use his newfound FBI authority and the tragedy of September 11th to get information that he could not normally obtain.  If I remember correctly, the FBI told me not to call him back and that they would handle it internally.</p>
<p>Granted that all of this occurred before these agencies were pulled into the Department of Homeland Security and the processes may be better.  However, any time someone claims they need new powers to keep us safe from terrorists, I remember this incident and become a little more wary.  If there is a demonstrated need for a new law enforcement power, then it should be discussed, weighed against civil rights and the constitution, voted on and enacted if passed.  The sum total of the argument for the power should not be, &#8220;we need it or you will die!&#8221;</p>
<p>p.s.  C&amp;L and Mark Fiore have produced a good/amusing <a href="http://www.youtube.com/watch?v=dxKYG6KTK-M">video</a> illustrating this tactic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/02/25/fisa-extension-and-telecom-amnesty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress title plugin</title>
		<link>http://www.fenris.org/2008/02/13/wordpress-title-plugin</link>
		<comments>http://www.fenris.org/2008/02/13/wordpress-title-plugin#comments</comments>
		<pubDate>Wed, 13 Feb 2008 16:01:01 +0000</pubDate>
		<dc:creator>cec</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.fenris.org/2008/02/13/wordpress-title-plugin/</guid>
		<description><![CDATA[One of the things I dislike about blogs (and actually most webpages) is that the static content is formatted very nicely using different fonts, etc., but the dynamic content is all pure text.  And since there are only a few fonts you will find on every computer, the text all looks pretty much the same: [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I dislike about blogs (and actually most webpages) is that the static content is formatted very nicely using different fonts, etc., but the dynamic content is all pure text.  And since there are only a few fonts you will find on every computer, the text all looks pretty much the same: sans or serif.  On my own blog, I find that particularly annoying.  I&#8217;ve got, what I think, is a nice clean looking theme that reminds me of a Victorian-era journal (except perhaps not that fancy).  But all of the titles and dynamic content are plain text.</p>
<p>To fix this, I&#8217;ve been experimenting with the creation of a new WordPress plugin.  It&#8217;s fairly simple as these things go, but could be pretty nice.  Basically, it hooks into the_title and automatically replaces the text with an image of that text in a font you&#8217;ve selected and sets the ALT tag to be the original text (allowing it to degrade cleanly).  Unfortunately, at least with my theme, this screws up a number of things.  So now I&#8217;ve made the hook an option and your other choice is to modify the theme itself to call the plugin function where appropriate.  I&#8217;ve started modifying my theme along those lines so that all of the titles are rendered in the (free) <a href="http://www.dafont.com/renaissance.font">Renaissance font</a>.</p>
<p>Since the ALT tags are set properly, I don&#8217;t think that this will cause any problems.  But if you can think of a good reason why this is dumb, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fenris.org/2008/02/13/wordpress-title-plugin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
