<?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>Laufeyjarson writes...</title>
	<atom:link href="http://blog.laufeyjarson.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.laufeyjarson.com</link>
	<description>... notes, thoughts, rants, and randomness.</description>
	<lastBuildDate>Fri, 05 Apr 2013 05:29:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Template Toolkit Talk at SVPerl</title>
		<link>http://blog.laufeyjarson.com/2013/04/template-toolkit-talk-at-svperl/</link>
		<comments>http://blog.laufeyjarson.com/2013/04/template-toolkit-talk-at-svperl/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 05:29:17 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=302</guid>
		<description><![CDATA[I gave a talk on Template Toolkit at the Sillicon Valley Perl meeting. I used these Template Toolkit Slides as I talked. Except I think I corrected the typos when I got home. =) It&#8217;s a fun group, and I always enjoy going, even when I&#8217;m the speaker.]]></description>
				<content:encoded><![CDATA[<p>I gave a talk on <a href="http://www.template-toolkit.org/">Template Toolkit</a> at the <a href="http://www.svperl.org">Sillicon Valley Perl</a> meeting. I used these <a href="http://blog.laufeyjarson.com/wp-content/uploads/2013/04/Template-Toolkit-Perl-Talk.pdf">Template Toolkit Slides</a> as I talked. Except I think I corrected the typos when I got home. =)</p>
<p>It&#8217;s a fun group, and I always enjoy going, even when I&#8217;m the speaker.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2013/04/template-toolkit-talk-at-svperl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Raspberry Pi Media Player</title>
		<link>http://blog.laufeyjarson.com/2013/03/raspberry-pi-media-player/</link>
		<comments>http://blog.laufeyjarson.com/2013/03/raspberry-pi-media-player/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 23:04:37 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=299</guid>
		<description><![CDATA[I wonder if I could build a Squeezebox-compaitble media device out of a Raspberry Pi.  It would mean I could get as many as I needed. Raspberry Pi, $50ish, with case, etc. That has sound already.  If it&#8217;s crappy, plug in a $100 Total Bithead.  If you want to go whole hog, get a $500 [...]]]></description>
				<content:encoded><![CDATA[<p>I wonder if I could build a Squeezebox-compaitble media device out of a Raspberry Pi.  It would mean I could get as many as I needed.</p>
<p>Raspberry Pi, $50ish, with case, etc.</p>
<p>That has sound already.  If it&#8217;s crappy, plug in a $100 Total Bithead.  If you want to go whole hog, get a $500 Headroom Micro DAC and Headroom Micro Amp.  You&#8217;ll even get a big knob and all the nice ports on the front.</p>
<p>Way less than a Transporter, but no shiny displays.</p>
<p>If I could get &#8220;good enough&#8221; sound for $50, with a DIY software set from the Internet, that&#8217;d rock.  It&#8217;d rock especially hard if I could make it do the software sync, too, but that might require changes to the Logitech Media Center.</p>
<p>EDIT: After thirty seconds of searching the Internet, yes, it can do this.  Someone else has done the hard part, even.  Neat.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2013/03/raspberry-pi-media-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech Media Manager and Perl 5.16</title>
		<link>http://blog.laufeyjarson.com/2013/03/logitech-media-manager-and-perl-5-16/</link>
		<comments>http://blog.laufeyjarson.com/2013/03/logitech-media-manager-and-perl-5-16/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 22:54:30 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[perl squeezebox suse linux]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=297</guid>
		<description><![CDATA[I have some Logitech Squeezeboxes.  Some of the older Slim Devices ones, too, actually, but they work together well. The nice people at Logitech have dropped the Squeezebox line to make a new cloud-based product.  Not my cup of tea. Problem: The Logitech Media Server software is old and balky, and installing it is a [...]]]></description>
				<content:encoded><![CDATA[<p>I have some Logitech Squeezeboxes.  Some of the older Slim Devices ones, too, actually, but they work together well.</p>
<p>The nice people at Logitech have dropped the Squeezebox line to make a new cloud-based product.  Not my cup of tea.</p>
<p>Problem: The Logitech Media Server software is old and balky, and installing it is a pain on new systems, because it includes binary versions of Perl modules.</p>
<p>Solution: Install perlbrew for the squeezebox user, install a supported Perl version there, and tweak the #! lines to use that squeezebox user&#8217;s perl install.</p>
<p>The right perl works fine, and since it&#8217;s in ~squeezebox, it won&#8217;t get screwed up when SuSE upgrades.</p>
<p>WAY easier than trying to fix the idiosyncratic Logitech Media Server software!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2013/03/logitech-media-manager-and-perl-5-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loricraft PRC6 Record Cleaning Machine</title>
		<link>http://blog.laufeyjarson.com/2012/11/loricraft-prc6-record-cleaning-machine/</link>
		<comments>http://blog.laufeyjarson.com/2012/11/loricraft-prc6-record-cleaning-machine/#comments</comments>
		<pubDate>Sat, 24 Nov 2012 10:23:57 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=289</guid>
		<description><![CDATA[I ordered a Loricraft PRC6 Record Cleaning Machine early this month, and it arrived today while I was out.  I&#8217;ve got it unpacked, but not all set up yet.  I&#8217;m excited to try it, but I know if I do I&#8217;ll be up all night playing records and messing with it.  So, sleep first.  Record [...]]]></description>
				<content:encoded><![CDATA[<p>I ordered a Loricraft PRC6 Record Cleaning Machine early this month, and it arrived today while I was out.  I&#8217;ve got it unpacked, but not all set up yet.  I&#8217;m excited to try it, but I know if I do I&#8217;ll be up all night playing records and messing with it.  So, sleep first.  Record cleaning tomorrow.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/11/loricraft-prc6-record-cleaning-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Cartridge</title>
		<link>http://blog.laufeyjarson.com/2012/11/new-cartridge/</link>
		<comments>http://blog.laufeyjarson.com/2012/11/new-cartridge/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 21:32:06 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[turntable]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=280</guid>
		<description><![CDATA[I have just discovered that the prior owner has put an entirely inappropriate cartridge on my &#8220;good&#8221; turntable. Not only did they use the cheapest one they could find &#8211; it is a Shure, but old and bottom of the barrel when it was new &#8211; they used a P-mount on a standard tonearm, which [...]]]></description>
				<content:encoded><![CDATA[<p>I have just discovered that the prior owner has put an entirely inappropriate cartridge on my &#8220;good&#8221; turntable. Not only did they use the cheapest one they could find &#8211; it is a Shure, but old and bottom of the barrel when it was new &#8211; they used a P-mount on a standard tonearm, which adds weight and made connecting it difficult.</p>
<p>So. Shopping for cartridges. This leads easily down the audiophile rabbit hole, and I don&#8217;t want to go too far.<span id="more-280"></span></p>
<p>This was, in it&#8217;s day, a moderate-to-nice turntable, not the pinnacle. It&#8217;s plugged into a vintage moderate-to-nice receiver. They match! :) Keep in mind that in the mid-1970&#8242;s, vinyl was more important than now, so even moderate-to-nice was pretty good gear.</p>
<p>I&#8217;ve had two solid recommendations for the Sure M97xE. It&#8217;s well regarded.</p>
<p>There&#8217;s also a Grado &#8211; the Gold -I&#8217;d consider.</p>
<p>In the end, I went with an Audio-Technica AT440MLa.  Well regarded and affordable.  My local shop was impressed with the sound, and said it went on easily.  I&#8217;m pleased with the sound too.</p>
<p>I also got a new stylus on the turntable I inherited from my Grandfather.  There&#8217;s a 78 stylus available for that cartridge, too, which is tempting.  It would play 78&#8242;s properly, with way less fuss.  We shall see.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/11/new-cartridge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Paizo-like pawns AKA stand-ups</title>
		<link>http://blog.laufeyjarson.com/2012/11/making-paizo-like-pawns-aka-stand-ups/</link>
		<comments>http://blog.laufeyjarson.com/2012/11/making-paizo-like-pawns-aka-stand-ups/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 21:29:00 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[craft]]></category>
		<category><![CDATA[pawn]]></category>
		<category><![CDATA[rpg]]></category>
		<category><![CDATA[stand-up]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=283</guid>
		<description><![CDATA[There are often cardboard stand-ups used for characters on a map when playing a role-playing game. They&#8217;e cheaper than minis. Paizo has sets of them they market as &#8220;pawns&#8221;. The plastic bases commonly used hold 1/16&#8243; chipboard, perfectly. It&#8217;s also numbered 0.06&#8243; or just 0.06. It can sometimes be called Binder&#8217;s Board and is used [...]]]></description>
				<content:encoded><![CDATA[<p>There are often cardboard stand-ups used for characters on a map when playing a role-playing game.  They&#8217;e cheaper than minis.  Paizo has sets of them they market as &#8220;pawns&#8221;.</p>
<p>The plastic bases commonly used hold 1/16&#8243; chipboard, perfectly.  It&#8217;s also numbered 0.06&#8243; or just 0.06.  It can sometimes be called Binder&#8217;s Board and is used for making book covers.  Check the scrapbooking places.</p>
<p>I got a big box of it on eBay &#8211; possibly a lifetime supply &#8211; for $16, including shipping.</p>
<p>It fits the stands perfectly. I&#8217;ll print the art, glue them to the cardboard, and cut them out on the laser cutter at TechShop.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/11/making-paizo-like-pawns-aka-stand-ups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vinyl Record Brush</title>
		<link>http://blog.laufeyjarson.com/2012/10/vinyl-record-brush/</link>
		<comments>http://blog.laufeyjarson.com/2012/10/vinyl-record-brush/#comments</comments>
		<pubDate>Tue, 30 Oct 2012 07:19:06 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=278</guid>
		<description><![CDATA[I&#8217;ve been playing records lately, and have been considering one of the big expensive Record Cleaning Machines.  I&#8217;ll probably buy one, in fact.  In the meantime, and to handle surface dust, I ordered a carbon fiber brush to use dry.  I&#8217;m really impressed at how effective it is!  It&#8217;s easy, quick, inexpensive, and makes a [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been playing records lately, and have been considering one of the big expensive Record Cleaning Machines.  I&#8217;ll probably buy one, in fact.  In the meantime, and to handle surface dust, I ordered a carbon fiber brush to use dry.  I&#8217;m really impressed at how effective it is!  It&#8217;s easy, quick, inexpensive, and makes a big difference.  Highly recommended!</p>
<p><span id="more-278"></span></p>
<p>I ordered my brush from, of all places, <a title="DAK Carbon Fiber Brush" href="http://www.dak.com/reviews/3306story.cfm" target="_blank">the DAK catalog</a>.  It was gone for a while, but he&#8217;s back.  Lots smaller, but many of the same ideas &#8211; reasonable products at cheap import prices.  Several of the &#8220;audiophile&#8221; sources had what appears to be the same brush for twice the price.  And Drew has pictures of dust to look at.  What more can you ask?</p>
<p>I&#8217;ve been really impressed at the difference this makes right away.  Whenever you put a record in a paper liner or a cardboard sleeve &#8211; who&#8217;s brilliant idea was that, anyway? &#8211; the grooves get filled with linty fluff.  As the record spins &#8211; at about 1.1mph at the outside edge &#8211; all that fluff impacts with the stylus and makes a torrent of little white noisy sounds.</p>
<p>The carbon fiber brush is really simple &#8211; it sweeps all the linty fluff out of the grooves without packing them full of crud.  That whole layer of noise goes away.  I bet most people just think that is how records sound &#8211; nope!</p>
<p>I&#8217;m confident that this is something that almost anyone can hear the difference between, and at $30 or so it&#8217;s well within the bounds of most people.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/10/vinyl-record-brush/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Dislike Autodie</title>
		<link>http://blog.laufeyjarson.com/2012/10/why-i-dislike-autodie/</link>
		<comments>http://blog.laufeyjarson.com/2012/10/why-i-dislike-autodie/#comments</comments>
		<pubDate>Tue, 23 Oct 2012 21:07:12 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=273</guid>
		<description><![CDATA[Many people have suggested I use autodie. I have never been interested in the functionality it provides, and don&#8217;t use it. I think there&#8217;s primarily two reasons why that is. I might know a way to address one of them, but it&#8217;s tricky. It&#8217;s Invisible The first reason is that I feel it changes the [...]]]></description>
				<content:encoded><![CDATA[<p>Many people have suggested I use autodie. I have never been interested in the functionality it provides, and don&#8217;t use it. I think there&#8217;s primarily two reasons why that is. I might know a way to address one of them, but it&#8217;s tricky.<span id="more-273"></span></p>
<h1>It&#8217;s Invisible</h1>
<p>The first reason is that I feel it changes the language a lot, and in ways that make it really hard for a new reader to follow. If you&#8217;re reading code that has no error checking in it, as a new or even mid-level Perl author, you&#8217;ll perhaps not realize that&#8217;s bad, or that it does have error checking. That checking being hidden in &#8220;use autodie&#8221; can be somewhat difficult to see.</p>
<p>As part of that difficulty, using autodie makes changes to all the Perl builtins.  When I need to use one, I look it up in perldoc.  perldoc tells me it returns false or undef or whatever in case of an error.  Except&#8230; that&#8217;s not true with autodie.  While I&#8217;m a good enough programmer to remember this about my own programs, it makes it a lot harder to tell what a particular piece of Perl code will do.</p>
<p>I&#8217;m really unhappy with the changes to the second edition of the Modern Perl book, because it&#8217;s assuming autodie everywhere.  I don&#8217;t want to give it to new Perl programmers any more because they&#8217;ll be confused, and the differences are subtle and almost entirely undocumented.  I can&#8217;t recommend the new version of this otherwise useful book to anyone who isn&#8217;t an expert Perl programmer and that&#8217;s a shame.</p>
<p>I don&#8217;t like making large-scale, undocumented changes to the language libraries any more.  At what point is it no longer Perl, but something new and different?</p>
<p>As an aside, I think a lot of expert Perl programmers forget that many people using Perl don&#8217;t know it has exceptions at all.  I often find people who are shocked to discover it does.  Some of them have even been using die for errors, and didn&#8217;t know how the whole thing works together.  Professional programmers, not script kiddies.  Happens all the time.</p>
<p>This concern of mine with autodie is actually a solvable problem.  The Perl core needs to incorporate autodie, and update al the perldocs to explain it.  If the perldoc for &#8220;unlink&#8221; said, &#8220;returns the number of files deleted. With autodie enabled, will die on error deleting files.&#8221; it would mean that a new author would have a chance to see what&#8217;s happening.  I don&#8217;t expect this to happen, but until it does, I consider autodie too sweeping a set of changes for a module to be making.</p>
<p>I probably wouldn&#8217;t use it anyway, because of this second reason:</p>
<h1>I Don&#8217;t Like Exceptions</h1>
<p>I&#8217;ve worked in a ton of languages that use exceptions.  I understand them, and I can use them.  I don&#8217;t like them.  I find it hard to write robust, resilient code with them.  Many people like them because you can put off or ignore error handling and capture it all in one place.  Your code is free of that distracting noise of error handling.</p>
<p>However, this means your code notices the errors in the wrong place to do anything about them, and has to pretty much fall over dead and crash.  It can&#8217;t try and fix things very well.  Or you can handle the exceptions very close to the place they might occur, littering your code with even more distracting and hard to read exception handling stanzas.</p>
<p>The most reliable and robust code I&#8217;ve ever written was about 70% error handling code.  In many cases it could recover from errors or try an alternative to keep running.  I find this much harder to do with exceptions, and exceptions in general much more difficult to manage.</p>
<p>If programmers were clamoring for a giant &#8220;ON ERROR GOTO&#8221; statement, while telling me that gotos were evil, I&#8217;d be really confused.  Yet, that&#8217;s what exceptions are.  Exceptions that many programmers never handle, and simply want the program to crash the first time something goes wrong.  I don&#8217;t want my program to crash every time something goes wrong; I want it to log the error and keep going, or ask again or try an alternative.</p>
<p>If &#8220;Go To Considered Harmful&#8221; is still valid &#8211; and it seems to me to be &#8211; why is ON ERROR GOTO allowed?  Isn&#8217;t that all an exception is?</p>
<p>I don&#8217;t know a way to change this preference of mine, and how to convince myself that it&#8217;s okay to just let things crash or to write horribly tangled code to pander to the needs of the exception handlers.  So, I don&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/10/why-i-dislike-autodie/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>About Lifehacker&#8217;s Headphone Picks</title>
		<link>http://blog.laufeyjarson.com/2012/10/about-lifehackers-headphone-picks/</link>
		<comments>http://blog.laufeyjarson.com/2012/10/about-lifehackers-headphone-picks/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 05:47:36 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Headphones]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=263</guid>
		<description><![CDATA[A friend sent me a link to an article from Lifehacker, where they picked their Five Best Headphones.  My friend knew that I like headphones.  I try not to be too into audiophile headphones.  I only own one pair of headphones worth over $1,000, so I&#8217;ve not gone completely overboard.  Trust me.  Or don&#8217;t and [...]]]></description>
				<content:encoded><![CDATA[<p>A friend sent me a link to an article from Lifehacker, where they picked their <a title="Lifehacker's Five Best Headphones" href="http://lifehacker.com/5949489/five-best-headphones" target="_blank">Five Best Headphones</a>.  My friend knew that I like headphones.  I try not to be too into audiophile headphones.  I only own one pair of headphones worth over $1,000, so I&#8217;ve not gone completely overboard.  Trust me.  Or don&#8217;t and go over to <a title="Head-Fi" href="http://www.head-fi.org/" target="_blank">Head-Fi</a> and read what all the nice people there have to say about headphones.</p>
<p>I replied to my friend, discussing that article on Lifehacker, and he suggested I publish it as there was a ton of additional information in it.  So, here it is, a reply to Lifehacker&#8217;s article:<span id="more-263"></span></p>
<div>
<p>Best depends on what you&#8217;re using it for.  These are all lower end headphones, and reasonably well selected for their function and price range.  They&#8217;re not bad suggestions.  Other than the Bose, which are always overpriced, they&#8217;re reasonable value for money choices.</p>
<p>When I consider a headphone, I look at two things: how does it sound, and how comfortable it is.</p>
<p>I find headphones that sit on your ear (called supraural headphones) to be uncomfortable quickly, especially if I&#8217;m wearing glasses.  I want the big padded ones that surround the ear entirely, called circumarural headphones.  Or, I want &#8220;canalphones&#8221; or &#8220;in-ear monitors&#8221; which fit in the ear like earplugs, and don&#8217;t mess with the ear at all.</p>
<p>The other consideration is if the headphones are &#8220;open&#8221; or &#8220;closed&#8221;.  An &#8220;open&#8221; headphone is open on both sides.  One side goes to your ear, and the other side is open to the room.  Many headphones have only a grille or screen on the back, and are quite open despite looking like they have a box around them.  Closed headphones have a solid back.  Closed headphones block out more room nouse &#8211; they isolate better &#8211; but can make music sound muddy or echo.  Closed headphones can sound like your head is in a box, because it is.  Many people think open headphones sound better, but they can annoy people around you or let people around you through to annoy you.  I generally prefer a closed headphone for the isolation.</p>
<p>The Grado SR80i the list there is often loved by many.  Others can&#8217;t tell it apart from the cheaper SR60i, or think you&#8217;ve wasted your money until you get the SR220i.  They have a particular sound, which is good for some music and not others.  If you want to listen to Classic Rock, older Rock &amp; Roll, or various forms of metal, they&#8217;re a good choice.  They&#8217;re not a win for classical or prog rock.  They&#8217;re not good at keeping outside sound out, and they leak a little sound.  Some find them uncomfortable &#8211; you just have to try them; they rest partly on the ear and can pinch glasses, and rub your ears.  I can only wear them for a few hours.  Others are put off by the WWII radio operator look.</p>
<p>I carry a pair of the Grado SR60i&#8217;s in my briefcase for portable listening.  They get pretty flat and haven&#8217;t got beaten up yet.  I don&#8217;t find them terribly comfortable, or particularly enjoy the Grado sound.</p>
<p>The Sony headphones are loved by DJs everywhere.  They&#8217;re loud, and isolate outside sound well &#8211; so you can hear yourself at a loud club, for instance.  They are fully circumaural, which I find more comfortable, and well padded.  They&#8217;re pretty tough.  I thought they didn&#8217;t sound very good in the brief try I had with them, but I can see where some would like their strongly colored sound.  I consider them not worth the money, and would prefer different headphones, but some love them.</p>
<p>The ATH-M50 is their entry-level headphone, and it is well regarded.  I haven&#8217;t heard a pair, so can&#8217;t comment on them.  Closed back means reasonable if not good isolation and they won&#8217;t be noisy for other people in the room, and full circumaural usually means more comfort, at least in my book.</p>
<p>The Bose Quiet Comfort are hugely overrated and hugely overpriced.  People get all giddy over them because they&#8217;ve never listened to good headphones before.  Comfort is extremely good, and they are light and can be worn for quite a while, which is unusual for me to say about a supraaural headphone that rests on the ear.  They&#8217;re really fragile and break often.  Bose won&#8217;t fix them.  Bose has a house sound that&#8217;s strongly colored.  Some people will like that sound; it works well with vocals and brass.  It&#8217;s not as good for strings or classical.  Active noise cancelling is only good for a few sorts of noises &#8211; jet engines is one of them! &#8211; but won&#8217;t change people talking around you or the screaming baby behind you.  Active noise cancelling also gives some people headaches.  I&#8217;m not fond of any of the active noise cancellation headphones, and these are overpriced for what they are.</p>
<p>The Koss Porta Pro &#8211; look for them on sale, you can find them way cheaper than Koss&#8217;s full retail &#8211; is really good sounding headphone for a flimsy pair to wear around and get beat up.  They fold up and can be jammed in a pocket and will take all sorts of abuse.  They look like cheap crap, and don&#8217;t sound like it at all.  Koss&#8217; lifetime warranty ($6 to replace, for any reason) is true and worthwhile.  If you plan on doing anything active with them get two pairs so you can have one on you and one in the mail to Koss for repair.</p>
<p>Instead of the ATH-M50, I&#8217;d probably suggest a Sennheiser headphone; the HD558 or the HD598 are both going to be good choices, which will offer a different sound than anything listed here, and be better for classical or vocals than rock.  They&#8217;re a more mellow sound.  They&#8217;re also very light and comfortable.  I can wear mine for hours.</p>
<p>If you really wanted a noise cancelling headphone, I would suggest the Audio Technica ATH-ANC7B or ATH-ANC9 instead of the Bose.  They&#8217;ll last longer and sound better.</p>
<p>I really wouldn&#8217;t suggest a noise cancelling headphone, though.  I&#8217;d suggest a strongly isolating headphone, instead.  My choice is the Etymotic ER4p, but their less expensive models are good too &#8211; they keep changing them, so I don&#8217;t know exactly which to suggest.  The Shure in-ear headphones are also good, and start around $100.  Avoid in-ear headphones below around $100, as they&#8217;ll be awful.</p>
<p>Key to headphones is to remember that more money is not always better.  Beats By Dr. Dre is a hugely overpriced headphone with mediocre quality.  Apple and celebrities love it &#8211; but it sounds bleh.  Bose is overpriced for what you get.  Lots of people enjoy them, but you can get as high quality of sound for half the money.</p>
<p>Keep your wits about you and replace the $1 crap that came with your device with $100 headphones, and you&#8217;ll be impressed.  Even $200 headphones will be audibly better to many people off most MP3 players.  Jump straight to $1,000 gear, and you&#8217;ll be sad.  Spend the money on high quality music before you buy the $1,000 headphones.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/10/about-lifehackers-headphone-picks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remember to store errors!</title>
		<link>http://blog.laufeyjarson.com/2012/08/remember-to-store-errors/</link>
		<comments>http://blog.laufeyjarson.com/2012/08/remember-to-store-errors/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 00:04:37 +0000</pubDate>
		<dc:creator>Laufeyjarson</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.laufeyjarson.com/?p=247</guid>
		<description><![CDATA[In Perl, when you get an error, there are magic globals that the interpreter sets to the value of that error. If you&#8217;re going to do any other work before reporting the error, save those variables!  Work almost got this right&#8230; Here&#8217;s pseudo code of what I found at work today: $ok = link("$src/$file", "$dst/$file"); [...]]]></description>
				<content:encoded><![CDATA[<p>In Perl, when you get an error, there are magic globals that the interpreter sets to the value of that error. If you&#8217;re going to do any other work before reporting the error, save those variables!  Work almost got this right&#8230;<span id="more-247"></span></p>
<p>Here&#8217;s pseudo code of what I found at work today:</p>
<pre>$ok = link("$src/$file", "$dst/$file");</pre>
<pre>unless($ok) {</pre>
<pre>    my $log = $!;</pre>
<pre>    log_error_in_database($log);</pre>
<pre>    send_error_in_email($!);</pre>
<pre>}</pre>
<p>See the error?  The coder saved the error from $! in $log, and then passed it to the DB to store it.  The DB (which no one knew existed) had all the right errors.  Writing to the DB changed $! to a harmless non-error.  It wound up being &#8220;Resource temporarily unavailable&#8221; or whatever numeric value that is.  It&#8217;s meaningless, though, because it was set by calling some other stuff in the DB handling function.</p>
<p>Then, the code tries to e-mail it.  Clearly the DB was added later, as it didn&#8217;t use the copy they saved there, and used $!, sending the useless value to us in e-mail where we all looked at it.</p>
<p>(Edit: A sharp commenter suggested I actually show the fix, which is an excellent idea!)  Instead of storing your error, then forgetting to use it, use the stored error message in both places:</p>
<pre>$ok = link("$src/$file", "$dst/$file");</pre>
<pre>unless($ok) {</pre>
<pre>    my $log = $!;</pre>
<pre>    log_error_in_database($log);</pre>
<pre>    send_error_in_email(<strong>$log</strong>);</pre>
<pre>}</pre>
<p>Another alternative would be to use local on $!, but that&#8217;s not as sound, because every function you call also has to do the same, and it is hard to tell what module or library you use might get it wrong.  Saving a copy of $! for your code to use later will be safer.</p>
<p>The good news is that I eventually found, and realized the values were in the DB and looked there so I know what was going on and can try and make progress.</p>
<p>This is actually cleaner and simpler than the real code.  The real code actually did check the results of link(), which is good!  It doesn&#8217;t check mkdir() or chdir() anywhere, though&#8230;  It&#8217;s not the worst Perl I&#8217;ve ever seen, but it&#8217;s on the list of contenders.</p>
<p>I really, really want to replace this code with something that is less painful.  I have a nice, new Modern Perl version well underway.  We&#8217;ll see if management lets me finish and deploy it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.laufeyjarson.com/2012/08/remember-to-store-errors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
