<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>briancarper.net</title>
	<link>http://briancarper.net</link>
	<description></description>
	<pubDate>Thu, 03 Jul 2008 07:51:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Still no news from Westinghouse</title>
		<link>http://briancarper.net/2008/07/02/still-no-news-from-westinghouse/</link>
		<comments>http://briancarper.net/2008/07/02/still-no-news-from-westinghouse/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 06:46:38 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://briancarper.net/2008/07/02/still-no-news-from-westinghouse/</guid>
		<description><![CDATA[I filed a complaint against Westinghouse to the BBB, but two weeks later they haven't responded to it yet.  Can't say I'm surprised.  The good thing is that if they don't respond to the BBB, they get a big fat stinking black mark on their BBB profile.  Might not do that much [...]]]></description>
			<content:encoded><![CDATA[<p>I filed a complaint against Westinghouse to the BBB, but two weeks later they haven't responded to it yet.  Can't say I'm surprised.  The good thing is that if they don't respond to the BBB, they get a big fat stinking black mark on their BBB profile.  Might not do that much good, but it hopefully will let others know to avoid them.</p>
<p>I've gotten some posts from some people in the same situation of Westinghouse blowing them off and not sending them replacement items when their crappy merchandise breaks.  Some people want to file a class-action lawsuit.  I don't know if I'd go that far.  I may take them to small claims court though.  Before that, I'm going to write a letter to their corporate office, pointing out the existence of my website.</p>
<p>In the meantime, conclusions:</p>
<ul>
<li>Westinghouse doesn't give half a crap about its customers.</li>
<li>Never ship anything expensive via UPS.  They're happy to leave $500 merchandise sitting on your front porch (assuming it even made it to my front porch and the UPS guy didn't just keep it, how would I know?  I never saw it).</li>
<li>Beware buying things online.  When they break, your options for getting them fixed or covered by warranty are limited, impractical, and prone to months of aggravation.  Is it worth the time you save buying things online, when you have to spend six months going through the kind of bullcrap I went through over this monitor?</li>
</ul>
<p>This is post is just a friendly reminder to everyone reading this, don't buy anything from Westinghouse, and tell everyone you know the same thing.  I wonder if Westinghouse cares about all of the people whose business they flushed down the toilet by ripping me off?</p>
<p>(Read the whole crappy story of Westinghouse's dishonesty and horrible customer service: <a href="http://briancarper.net/2008/03/15/westinghouse-do-they-suck/">The beginning</a>, <a href="http://briancarper.net/2008/03/22/blah-blah-blah/">Update 1</a>, <a href="http://briancarper.net/2008/04/08/westinghouse-closer-to-sucking-every-day/">Update 2</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 3</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 4</a>, <a href="http://briancarper.net/2008/06/10/westinghouse-still-sucks/">Update 5</a>, <a href="http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/">Update 6</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/07/02/still-no-news-from-westinghouse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lispforum.com</title>
		<link>http://briancarper.net/2008/06/28/lispforumorg/</link>
		<comments>http://briancarper.net/2008/06/28/lispforumorg/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 05:51:30 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/28/lispforumorg/</guid>
		<description><![CDATA[Ten days ago I complained that there were no good Lisp equivalents of ruby-forum or perlmonks.  It looks like someone went and made one.  What good timing.
I hope it's a success, and I hope it stays newb-friendly.  The amount of fake watch and shoe spam on comp.lang.lisp has reached critical mass.
Speaking of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://briancarper.net/2008/06/17/wish-list/">Ten days ago</a> I complained that there were no good Lisp equivalents of ruby-forum or perlmonks.  It looks like someone <a href="http://www.lispforum.com/index.php">went and made one</a>.  What good timing.</p>
<p>I hope it's a success, and I hope it stays newb-friendly.  The amount of fake watch and shoe spam on <a href="http://groups.google.com/group/comp.lang.lisp/topics">comp.lang.lisp</a> has reached critical mass.</p>
<p>Speaking of mailing lists, maybe it's just me but I've never found mailing lists to be all that enjoyable to use.  They have the benefit of being a sort of lowest common denominator (everyone has email, and you can slap an HTML interface on top of one).  They also have the benefit of being distributed to some degree, because everyone who gets the email serves as an archive, and if the main server dies maybe you can recover things.  And mailing lists do have less overhead than MBs when it comes to running one, especially a high-traffic one, I would imagine.</p>
<p>But the bad things about mailing lists vs. message boards:</p>
<ul>
<li>Message boards are accessible from anywhere that you have a web browser, which is everywhere.  Email isn't necessarily accessible from everywhere, unless you use webmail or SSH home and use mutt or something, which not everyone can or wants to do.  Or if there's a good web interface on the mailing list.</li>
<li>You can't do anything more than plaintext, which isn't entirely a bad thing, HTML email is pure evil, but being able to cleanly post images or clickable links or formatted text on a message board is a nice feature.</li>
<li>Threading never quite works correctly on mailing lists, because eventually someone will hit the wrong button in their mail client and break the thread; whereas on a message board it always works fine.</li>
<li>You can move threads around between forums on an MB, you can edit threads, you can close threads, you can delete a post if you make a mistake; but mailing lists are write-only, and once you send a message off into the ether it's posted for everyone to see forever, and no one has much control over a list beyond moderating the messages that end up getting through.
<li>
<li>Avatars.  Personal profiles.  These things make people seem more like people and less like a nameless entity.  It's friendlier and more inviting.</li>
<li>The HTML interfaces people slap on top of mailing list archives are pretty horrible 95% of the time.  Probably because most people are using email clients anyways so no one cares.  Message boards generally look nice and have nice interfaces for reading and posting.</li>
<li>Email sucks.  Spam filters and bounced messages mean you never quite know if what you just wrote actually made it to the list.  Reply to list vs. reply to sender vs. reply to all, etc. are all needless complications.  How many times have you seen "UNSUBSCRIBE" sent to everyone on a list?  The interface to mailing lists is not intuitive.  Whereas you can always see immediately if an MB post worked or not.</li>
</ul>
<p>And so on.  I likes me my message boards.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/28/lispforumorg/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Laptops at border crossings</title>
		<link>http://briancarper.net/2008/06/24/laptops-at-border-crossings/</link>
		<comments>http://briancarper.net/2008/06/24/laptops-at-border-crossings/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 06:08:28 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/24/laptops-at-border-crossings/</guid>
		<description><![CDATA[There's an article on Slashdot about a US Senate hearing on laptop seizures at border crossings.  This affects me, because I travel to Canada a lot and plan to move there within a year or so.
It's a problem because my job requires me to handle what amount to people's medical records as data files [...]]]></description>
			<content:encoded><![CDATA[<p>There's an article on <a href="http://yro.slashdot.org/yro/08/06/25/010206.shtml">Slashdot</a> about a US Senate hearing on laptop seizures at border crossings.  This affects me, because I travel to Canada a lot and plan to move there within a year or so.</p>
<p>It's a problem because my job requires me to handle what amount to people's medical records as data files on my laptop.  It's part of my job, and often I work from home.  As of right now, I never take my laptop with me to Canada partly because I don't know what would happen if a border agent decided to inspect or copy all of my data.  I can get in very serious trouble for breaching patient confidentiality.  On the other hand I could get in serious trouble if I refused to allow a search for myself; at best I'd be turned way at the border, having wasted hundreds of dollars to travel there.</p>
<p>I really don't know what I'm going to do when I move.  I'll probably have to wipe my computers clean before shipping them up there.  Another option would be to encrypt all the data, upload it to the server that hosts my website, then download it all again after I move.  It's insane that I'd have to do such a thing though.  And shuffling sensitive data around to strangers' computers and servers isn't the safest thing in the world either.</p>
<p>How do lawyers and doctors and people with trade secrets and other people with classified or legally protected information handle border crossings?  It's a bit of a conflict of interest.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/24/laptops-at-border-crossings/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wish list</title>
		<link>http://briancarper.net/2008/06/17/wish-list/</link>
		<comments>http://briancarper.net/2008/06/17/wish-list/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 07:47:43 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/17/wish-list/</guid>
		<description><![CDATA[What's the Common Lisp version of Perlmonks or Ruby-forum?  I have yet to find it.
comp.lang.lisp is largely crap.  50% of the traffic on that list is spam about shoes and fake watches.  The other half is equally split between:

People debating tiny, silly semantic points of the Common Lisp Hyperspec.
People stuck in the [...]]]></description>
			<content:encoded><![CDATA[<p>What's the Common Lisp version of <a href="http://perlmonks.org">Perlmonks</a> or <a href="http://ruby-forum.org">Ruby-forum</a>?  I have yet to find it.</p>
<p><a href="http://groups.google.com/group/comp.lang.lisp/topics">comp.lang.lisp</a> is largely crap.  50% of the traffic on that list is spam about shoes and fake watches.  The other half is equally split between:</p>
<ul>
<li>People debating tiny, silly semantic points of the <a href="http://www.lispworks.com/documentation/common-lisp.html">Common Lisp Hyperspec.</a></li>
<li>People stuck in the 70's or 80's, talking about the good old days, ruminating about Lisp history.</li>
<li>Flame wars.</li>
<li>New people asking for help.  Some get good honest advice and helpful answers, many are flamed and ridiculed into next week if they even hint that they <a href="http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/171fee6be225c833#">dislike the parentheses</a>.</li>
</ul>
<p>The Common Lisp community (if you can call it that) is a bunch of really smart guys, but they all live isolated in hermit shacks up in the mountains and they spend their time doing magic tricks with Lisp that few people ever see, and if you wander too close they throw rocks at you.</p>
<p>What's the Common Lisp equivalent of <strong>perldoc</strong> or <strong>rdoc</strong>?  We have the Hyperspec.  It's an impressive document, but it's a bunch of painful HTML that looks like it was created in the early 90's, probably because it was.  It reads like a dusty, dry, technical document probably because it is.  What it's not, is friendly or easily readable.</p>
<p>Perl has CPAN, Ruby has rubygems, what does Lisp have?  Either a hand-rolled system definition script, or if you're lucky an ASDF install file.  ASDF is the semi-standard Lisp way of installing libraries, except that it doesn't quite work in Windows, it doesn't check dependencies or handle different versions of a package very well, and it doesn't work the same on all Lisp implementations.  Many people in the so-called community think it's not very good. </p>
<p>The fellow running <a href="http://www.lispcast.com/drupal/node/29">Lispcast</a> makes another good point.  Where can you download Lisp?  It's not obvious.</p>
<p>You could say "OK Brian, good idea, now get to work!"  The problem is that even if I had the time or willpower, I'm not the smartest guy in the world.  I honestly don't think I could design and run and maintain a CPAN.  And even if I did, would anyone use it?  But I do know that there ARE plenty of smart, enthusiastic people using Lisp.  Yet high-quality friendly code is largely not being produced.</p>
<p>Peter Christensen wrote about "<a href="http://www.pchristensen.com/blog/articles/hey-language-snobs-dont-pinch-pennies/">langauge snobs</a>" and the importance of community.  One point made is that some really ugly, horrific languages have been extremely successful simply because they've been accessible and fun.  An example given is the scripting language in Second Life, which has over 2.5 billion lines of code written in by tens of thousands of amateurs and has accurately modeled a realistic 3D environment with thousands of users at any given time.  All in an ugly language some guy invented AND implemented in one week.  The developers admit that the language is total crap, but it doesn't matter.  1) It has very good and accessible documentation, 2) it has a very newbie-friendly community, and 3) and it's easy to pick up, throw together some code and get immediate results.  Three things Common Lisp lacks.</p>
<p>This is something I've said <a href="http://briancarper.net/2008/04/07/perl-6/">myself</a> many times: an active, supportive, enthusiastic community is essential for the health of any programming language.  Common Lisp simply doesn't have one and it's a shame.</p>
<p>I still secretly hope that <a href="http://clojure.org/">Clojure</a> or <a href="http://www.newlisp.org/">NewLisp</a> or <a href="http://www.paulgraham.com/arc.html">Arc</a> turn out to be a huge success.  They are the kinds of things Lisp needs today.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/17/wish-list/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Westinghouse, the saga continues</title>
		<link>http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/</link>
		<comments>http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 07:56:52 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/</guid>
		<description><![CDATA[Friday a guy on the phone said he'd call me back Monday or Tuesday to give me an update on when / whether they're ever going to send me my monitor.  Monday came and went with no call.  Not really surprising.  
I filed a complaint with the BBB today.  We'll see [...]]]></description>
			<content:encoded><![CDATA[<p>Friday a guy on the phone said he'd call me back Monday or Tuesday to give me an update on when / whether they're ever going to send me my monitor.  Monday came and went with no call.  Not really surprising.  </p>
<p>I filed a complaint with the BBB today.  We'll see how that goes.  At the BBB Westinghouse has around 150 complaints in the past 36 months, but 133 of them were supposedly solved "satisfactorily" and Westinghouse somehow still has the highest possible rating at the BBB.  I've read some things about the BBB not being an entirely neutral entity itself, but who knows.  I'll start filing complaints with other consumer groups if I need to.  </p>
<p>A good handful of people have left comments here at my blog saying they aren't going to buy anything from Westinghouse themselves, which is great to hear.  I may mention my blog to Westinghouse next time I call them, if there is a next time.  Is not sending me the monitor I paid for really worth losing a bunch of customers?</p>
<p>The sad thing is that I really do need a monitor with component and composite inputs, and they are somewhat rare (the local store had none except Westingcrap brand).  However I have found a Gateway model that has them, so maybe that'll work out.  I'd gladly take a refund from Westinghouse rather than a monitor at this point.</p>
<p>EDIT: Read the whole crappy story of Westinghouse's dishonesty and horrible customer service: <a href="http://briancarper.net/2008/03/15/westinghouse-do-they-suck/">The beginning</a>, <a href="http://briancarper.net/2008/03/22/blah-blah-blah/">Update 1</a>, <a href="http://briancarper.net/2008/04/08/westinghouse-closer-to-sucking-every-day/">Update 2</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 3</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 4</a>, <a href="http://briancarper.net/2008/06/10/westinghouse-still-sucks/">Update 5</a>, <a href="http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/">Update 6</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My desk</title>
		<link>http://briancarper.net/2008/06/14/my-desk/</link>
		<comments>http://briancarper.net/2008/06/14/my-desk/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 02:32:33 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/14/my-desk/</guid>
		<description><![CDATA[Following in the footsteps of Sean Potter I took a photo of my desk.

My desk itself sucks, but I'm moving again in a year or so and didn't want to invest in a good one yet.  I'm missing one of my big monitors (thanks Westinghouse) and in the meantime I have to settle for [...]]]></description>
			<content:encoded><![CDATA[<p>Following in the footsteps of <a href="http://www.obsidianprofile.com/index.php/blog/entry/1212602570">Sean Potter</a> I took a photo of my desk.</p>
<p><a href="/screenshots/photos/desk_2008-06-14.jpg"><img src="/screenshots/photos/thumbs/desk_2008-06-14.jpg" /></a></p>
<p>My desk itself sucks, but I'm moving again in a year or so and didn't want to invest in a good one yet.  I'm missing one of my big monitors (thanks Westinghouse) and in the meantime I have to settle for that old Apple display as my second monitor.  </p>
<p>My mousepad is an Icemat; can you believe the green ones were cheaper than all the other colors?  That shade of green is clearly the best.  And my keyboard is a tasty Saitek Eclipse II, which is one of the most comfy keyboards I've found to type on (and it glows in the dark).  Nothing too exciting beyond that.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/14/my-desk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python</title>
		<link>http://briancarper.net/2008/06/14/python-2/</link>
		<comments>http://briancarper.net/2008/06/14/python-2/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 19:14:45 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/14/python-2/</guid>
		<description><![CDATA[People are stupid.  We're blinded by our own prejudices and biases and preconceptions.  It's kind of understandable because no one has enough time to really collect enough information to have an informed opinion about everything.  So we end up extrapolating or relying on expert opinion or turning to our gut feeling.  [...]]]></description>
			<content:encoded><![CDATA[<p>People are stupid.  We're blinded by our own prejudices and biases and preconceptions.  It's kind of understandable because no one has enough time to really collect enough information to have an informed opinion about everything.  So we end up extrapolating or relying on expert opinion or turning to our gut feeling.  Inevitably we end up being wrong some of the time.</p>
<p>This leads to two problems.  One is that being a person myself, I'm also stupid, meaning there are almost certainly some beliefs I currently hold that are wrong.  The second is that from my perspective, I appear to be right about everything.  This is trivially true of everyone; as soon as a person decides they're wrong, they change their mind right away and become right again.  The problem then is how can I tell when I'm wrong and when I'm right?  I quick objective glimpse at reality suffices most of the time, but sometimes we're still tricked.</p>
<p>Those two things in combination are a problem for everyone.  I think the best anyone can do is to realize that this is the case, be open to being wrong, and to take some efforts to rectify it.  At least minimize the damage, try to be as right about as many things as you can.</p>
<p>This is why e.g. I started learning Emacs even though I love Vim, and why I stick with it even though it's unpleasant at first.  A lot of smart people say good thing about Emacs.  My opinion of it is much different now than before I'd used it a lot.  I think many things people say about it are wrong, but many are also right.  There is some good stuff there.</p>
<p>For the same reason, I've decided to learn Python.  I've been wanting to for quite a while anyways.  In spite of the pain I've had trying to use it in the past, and my generally low opinion of the language, there may just be something worthwhile there.  A lot of smart people say good things about it, and a lot of good programs are written in it.  The community is large and active and enthusiastic.</p>
<p>My first shot was to try some of the stuff at <a href="http://www.pythonchallenge.com/">Python Challenge</a>.  It's an interesting site full of puzzles that you need a programming language to solve; many of them are geared toward Python or toward libraries available in Python, but you can use any good language for many of them.  I got through 17 of the puzzles last night, but I did look at "hints" on the forum for about half of those.  A lot of them require sort of specialized knowledge apart from knowledge of Python, on a wide variety of subjects, so it's pretty fun.</p>
<p>My first pet peeve (of many to come, I'm sure): why doesn't <strong>python --help</strong> or <strong>python --version</strong> work?  Instead you have to use <strong>python -h</strong> and <strong>python -V</strong> (capital V).  This is non-standard.  It worries me when people do things like this differently.  But we'll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/14/python-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Westinghouse still sucks</title>
		<link>http://briancarper.net/2008/06/10/westinghouse-still-sucks/</link>
		<comments>http://briancarper.net/2008/06/10/westinghouse-still-sucks/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 02:55:28 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/10/westinghouse-still-sucks/</guid>
		<description><![CDATA[Way back in March I sent in my L2410NM monitor for RMA to Westinghouse.  This is June and I don't have it back yet.  Last I heard they sent my case to their corporate office.  I called again this week, call #16 or 17, I lost count, and I was told that [...]]]></description>
			<content:encoded><![CDATA[<p>Way back in <a href="http://briancarper.net/2008/03/15/westinghouse-do-they-suck/">March</a> I sent in my L2410NM monitor for RMA to Westinghouse.  This is June and I don't have it back yet.  <a href="http://briancarper.net/2008/05/05/westinghouse-fail/">Last I heard</a> they sent my case to their corporate office.  I called again this week, call #16 or 17, I lost count, and I was told that they put in a request for a "status update", but having heard any update on it.  I'm always promised a return call, but I've yet to receive even one of those.  As of now they've promised to send me a new monitor and have given up hope of ever recovering my legendary lost monitor, and supposedly they even created the order in their system that will initiate the monitor-sending process, complete with a long string of letters and numbers representing my fates.</p>
<p>I almost wish they would say "Ha ha, just kidding, screw you customer, you're not getting anything from us" so that I'd feel justified in filing a complain with the BBB.  But no, they keep the carrot dangling in front of my nose, inching closer and closer to resolving this issue.  Likely I'm going to do so soon though.  Not sure if it'll actually help anyways.</p>
<p>I've already ensured that my friends and family will never buy anything from them, nor will my place of employment, and hopefully some people reading this will also refrain.  The real problem is, what company is any better?  I keep a mental list of companies that have screwed me over, but that list is becoming so large that I'm running out of companies I can actually buy things from.  I can at least prioritize according to the level of suckiness.  Westinghouse tops the list at the moment.</p>
<p>EDIT: Read the whole crappy story of Westinghouse's dishonesty and horrible customer service: <a href="http://briancarper.net/2008/03/15/westinghouse-do-they-suck/">The beginning</a>, <a href="http://briancarper.net/2008/03/22/blah-blah-blah/">Update 1</a>, <a href="http://briancarper.net/2008/04/08/westinghouse-closer-to-sucking-every-day/">Update 2</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 3</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 4</a>, <a href="http://briancarper.net/2008/06/10/westinghouse-still-sucks/">Update 5</a>, <a href="http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/">Update 6</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/10/westinghouse-still-sucks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emacs pinky?</title>
		<link>http://briancarper.net/2008/06/08/emacs-pinky/</link>
		<comments>http://briancarper.net/2008/06/08/emacs-pinky/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 21:23:44 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/08/emacs-pinky/</guid>
		<description><![CDATA[I worry about my hands.  I play with computers for a living, and part of the reason someone would want to hire me is that I get a job done quickly.  And being able to type fast is a necessary (not sufficient) ability for that to happen.
When I was in high school I [...]]]></description>
			<content:encoded><![CDATA[<p>I worry about my hands.  I play with computers for a living, and part of the reason someone would want to hire me is that I get a job done quickly.  And being able to type fast is a necessary (not sufficient) ability for that to happen.</p>
<p>When I was in high school I started getting horrible pain on my wrists and hands.  I had to wear a wrist brace for weeks at a time.  I don't know what caused it, but too much keyboard time and bad posture and good old repetitive strain injury was and is my best guess.  (This was before I'd even heard of Vim.  Not sure what text editor I used back then.  Probably some Notepad clone, ugh.)</p>
<p>But then I trained myself to type more comfortably, and I haven't had any pain for years.  I hold my arms at the proper angle, and I don't bend my wrists or stretch or strain my fingers.  My hands bounce over the keys nowadays, on and off the home row constantly.  I don't use my pinky fingers to type at all, in fact.  When I need to type a q or a number or a tilde, I move my whole hand up and hit it with my ring finger.  When I'm vimming, I hit ESC with my middle finger.  With practice this is just as fast as keeping your hands on the home row, but I find it far more comfortable.  I still do it fast enough that people remark that I'm a fast typist (though I know plenty of people who are faster).</p>
<p>Thus we come to Emacs.  Emacs is the king of key chords.  I'm OK hitting Ctrl.  I pick up my hand and hit Ctrl with the side of my pinky like I'm karate-chopping it with a half-closed fist, or use my pinky and ring finger both.  The Alt key I can usually reach with my thumb.  But anything that requires Ctrl + Shift or to a lesser degree Alt + Shift is a killer on my hands.  I don't know a good way to quickly type Ctrl + Shift + another key in a comfortable way.  Caps lock remapped to another Ctrl is the solution many websites list, but that doesn't cut it for me either, it's just pinky-stretching in another direction (and what do you do when you have to hit Ctrl with your right hand?).</p>
<p>For some reason I'm highly amused yet slightly horrified that there really is a condition called <a href="http://en.wikipedia.org/wiki/Emacs#Emacs_Pinky">Emacs pinky</a>.  And that Richard Stallman and other Emacs gurus have famously experienced wrist injuries due to years of using Emacs.  How many people in the world can say that their favorite text editor has <em>physically crippled them</em>?</p>
<p>Even if you admit that heavy dependence on the modifier keys is necessary, some of Emacs' keybindings seem ill-chosen to me. See this quote from the Emacs tutorial:</p>
<blockquote><p>You can use the arrow keys,but it's more efficient to keep your hands in the standard position and use the commands C-p, C-b, C-f, and C-n.</p></blockquote>
<p>I don't know what kind of creature finds those keys more efficient than the arrow keys or pageup / pagedown, but I don't think it's a human being.  (But admittedly, same goes for hjkl in Vim.)  Sure, you don't have you move your hands from the home row.  You just have to contort them into pretzels.  Try hitting up up up down left left right quickly, then try to do the same using those keys.</p>
<p>Same is true of other commands.  <strong>delete-indentation</strong>, which I find myself doing a lot, is <strong>M-^</strong>.  When editing Lisp you may get to experience wonders like <strong>C-(</strong> and <strong>M-J</strong>.  </p>
<p>Anything multi-chord is also just a little bit torturous for me.  How do you execute a command more than once in Emacs?  e.g. move down 3 lines?  You can either type <strong>M-3 C-n</strong>, which requires me to hit Alt with my right hand and 3 with my left, then hit Ctrl with my left and n with my right.  Or you can do <strong>C-u 3 C-n</strong>, which actually requires me to alternate hands on the modifier keys three times instead of two.  This for something so ridiculously simple as moving the cursor, something I do hundreds of times a day.  </p>
<p>This kind of crap leads you to try to hit M-3 or C-u or C-n with one hand instead of two.  If I can manage to hit M-3 with my left hand, I can hit the down arrow with my right.  M-3 is possible with one hand, but M-8 or M-9 would not be without dislocating a few joints.  Down this path leads permanent disability.</p>
<p>Sometimes I toy with the idea of remapping every keybinding or nearly every keybinding in Emacs to something sane.  But aside from thoughts such as "Why the heck should it be necessary for me to do this?" or "Why would this possibly be worth my time?", I'm unsure I could come up with anything better.  I'd still be limited to using lots and lots of modifier keys.  Emacs has had decades of refinement after all, and it's still in this sorry state.</p>
<p>I have tried the Vi and Vim keybindings in Emacs, and they don't work right.  They don't work in all buffers, for example a SLIME REPL buffer.  Even when Vim mode is working, many of the Vim commands are present, but not all.  These huge, massive Emacs-customization hacks always seem to work well maybe 95% of the time for me, but text editor bindings and behaviors are really something you need to work perfectly 100% of the time.  Every time Emacs does something ridiculous or one of these third-party scripts mangles my buffer, and I have to kill and reload the file, it completely breaks my stride and throws off my concentration.  The text editor needs to get out of your way and let you focus on what you're doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/08/emacs-pinky/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Work</title>
		<link>http://briancarper.net/2008/06/05/work/</link>
		<comments>http://briancarper.net/2008/06/05/work/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 04:32:39 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/06/05/work/</guid>
		<description><![CDATA[When I was in college, one of the guys in one of my classes was an older fellow who'd been working in the Real World for a while, and he asked me one day what kind of job I wanted after I graduated.  I remember saying "I have no idea.  Pretty much anything. [...]]]></description>
			<content:encoded><![CDATA[<p>When I was in college, one of the guys in one of my classes was an older fellow who'd been working in the Real World for a while, and he asked me one day what kind of job I wanted after I graduated.  I remember saying "I have no idea.  Pretty much anything.  If Microsoft drove up to my house with a truck full of money, I'd go work for them."</p>
<p>Looking back now, I was wrong.  There really are more important things than money.  I couldn't do a job I didn't thoroughly enjoy.  Not for long anyways.  I don't make as much money doing what I'm doing right now as I could be making elsewhere, but I like it.  I like the atmosphere of working in a research setting.  I can't imagine working in a corporate setting.</p>
<p>I feel really bad for people who work jobs that they hate.  When I got out of college I worked for six months doing tech support over the phone for a residential satellite dish company.  If not for the fact that I needed money to survive, I wouldn't have.  Near the end I was considering going to live under a bridge somewhere.  If faced with the choice, I'd probably rather dig ditches for a living than do that again.</p>
<p>If hell existed, for me hell would consist of being eternally bored.  I've had jobs that required no thought, just mindless repetition of tasks that were slightly too complicated to get a computer or machine to do.  I can't imagine a worse fate.  I can feel my brains start to leak out of my ears after an hour of a boring task.</p>
<p>When you have a job where you have to play with data, as I do at times, it can sometimes start turning into that kind of boredom.  But then I start writing programs to do all the mindless repetition for me.  Instead of spending lots of time solving little problems and doing little tasks, I solve bigger, harder, much more interesting problems that incidentally solve lots of little problems at the same time.</p>
<p>Computers are useful tools for everyone.  But in one sense, a computer is often a waste in the hands of anyone but a programmer.  The way most people use computers is like using a powerful microscope as a hammer to pound in a nail.  Any time you find yourself copying and pasting a bunch of things over and over for an hour, there's something wrong.  Any time a human being is forced to do a linear search through a long list of ANYTHING on a computer screen, someone along the line has failed.  There are so many of these little problems in most people's lives that a programmer can solve for people.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/05/work/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cool feature in Vista</title>
		<link>http://briancarper.net/2008/06/01/cool-feature-in-vista/</link>
		<comments>http://briancarper.net/2008/06/01/cool-feature-in-vista/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 06:05:30 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Microsoft sucks]]></category>

		<category><![CDATA[Vista Sucks]]></category>

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

		<category><![CDATA[Windows sucks]]></category>

		<guid isPermaLink="false">http://briancarper.net/2008/06/01/cool-feature-in-vista/</guid>
		<description><![CDATA[Vista has this really cool feature.  When I log in to work via VPN and then close my laptop's lid to put it to sleep, when I open the lid later, I get the CTRL+ALT+DEL login screen as normal, except that my mouse cursor is now invisible!  If I can somehow manage to [...]]]></description>
			<content:encoded><![CDATA[<p>Vista has this really cool feature.  When I log in to work via VPN and then close my laptop's lid to put it to sleep, when I open the lid later, I get the CTRL+ALT+DEL login screen as normal, except that my mouse cursor is now invisible!  If I can somehow manage to position the invisible mouse cursor over a button, let's say the one to shut the computer down, and I click it, Vista says something about not having enough memory to perform that operation, and crashes or hangs!</p>
<p>Oh wait, that's not a feature.  That's a big hairy stinking bug.  My mistake.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/06/01/cool-feature-in-vista/feed/</wfw:commentRss>
		</item>
		<item>
		<title>mp3gain</title>
		<link>http://briancarper.net/2008/05/27/mp3gain/</link>
		<comments>http://briancarper.net/2008/05/27/mp3gain/#comments</comments>
		<pubDate>Wed, 28 May 2008 01:52:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/27/mp3gain/</guid>
		<description><![CDATA[I listen to MP3s in the car and it's annoying when the volume isn't normalized.  I can't be fumbling around with the tiny buttons on my MP3 player to adjust the volume while I'm driving.  I found mp3gain and used it on a bunch of files and it appears to have worked.  [...]]]></description>
			<content:encoded><![CDATA[<p>I listen to MP3s in the car and it's annoying when the volume isn't normalized.  I can't be fumbling around with the tiny buttons on my MP3 player to adjust the volume while I'm driving.  I found <a href="http://mp3gain.sourceforge.net/">mp3gain</a> and used it on a bunch of files and it appears to have worked.  </p>
<p>If anyone knows of a better program for normalizing volume of lots and lots of MP3s, post now or forever hold your peace.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/27/mp3gain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emacs undo is horrible</title>
		<link>http://briancarper.net/2008/05/25/emacs-undo-is-horrible/</link>
		<comments>http://briancarper.net/2008/05/25/emacs-undo-is-horrible/#comments</comments>
		<pubDate>Mon, 26 May 2008 06:54:34 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/25/emacs-undo-is-horrible/</guid>
		<description><![CDATA[Emacs has a, well, "unique" undo system.  It only has undo, no redo.  When you undo something, the act of undoing is added as itself onto a stack of undo actions.  When you've un-done enough things, you do "something, like move the cursor, and that breaks the chain.  From there if [...]]]></description>
			<content:encoded><![CDATA[<p>Emacs has a, well, "unique" undo system.  It only has undo, no redo.  When you undo something, the act of undoing is added as itself onto a stack of undo actions.  When you've un-done enough things, you do "something, like move the cursor, and that breaks the chain.  From there if you undo again, you will traverse back over the undo actions you just did.</p>
<p>This is supposedly powerful.  It does help with the following situation: </p>
<ol>
<li>Type something. </li>
<li>Type something #2. </li>
<li>Type something #3.  </li>
<li>Undo undo undo.  </li>
<li>Type something #4.  </li>
</ol>
<p>In most programs once you reach step 4, you can redo to get back to the text you just undid  But once you reach step 5, the first three things you typed are lost forever.  You've gone back in time and changed history, eradicating the old future and replacing it with a new one.  You can never get back to the old future.   Emacs undo, on the other hand, where undo actions are just like any other actions and pushed onto a stack of actions, does let you undo back first three things you typed.</p>
<p>However in practice this doesn't work so well.  <a href="http://www.e-texteditor.com/blog/2006/making-undo-usable">This site</a> has a nice quote:</p>
<blockquote><p>“By [undoing] repeatedly, you can gradually work your way back to a point before your mistake. This is convenient if you’ve made a mistake four or five commands back. It is marginally useful if you’ve made a mistake twenty or thirty characters back. And it is completely useless if your mistake is ancient history.” - Learning GNU Emacs (page 42)</p></blockquote>
<p>The problem being, supposing you undo 20 times, and break the chain (by moving the cursor for example), if you then decide to undo one step FURTHER back, you have to undo all 20 of your previous undos, undo 20 more times, then undo once more.  Eventually you end up feeling like you're going up and down a roller coaster of undos.</p>
<p>If you hate this, which you probably do, you could use <a href="http://www.emacswiki.org/cgi-bin/wiki/RedoMode">redo mode</a>, which gimps up Emacs undo/redo to be like any other program's, i.e. you get the same behavior as Microsoft Notepad.  (Although when I tried it, it was buggy as heck, failing to undo my actions properly, mangling text from different lines together and whatnot.)</p>
<p>Vim's undo system on the other hand is far better and equally powerful.  You have a standard undo / redo option via <strong>u</strong> and <strong>CTRL-R</strong>.  You also have a second completely different way to undo: you can "go back in time".  In the above example, Vim will create two undo "branches" and you can jump from one to the other even if you undo and "break the chain" by typing something new.</p>
<p>Doing <strong>:undol</strong> lists the branches, in a somewhat confusing format.  But you can just pound <strong>g-</strong> and <strong>g+</strong> to go to older / newer text states, or use <strong>:earlier</strong> with a human-readable time (say, 10s or 5m) and it will take you to that point.  These will get you all the power of Emacs' undo stack, with none of the pain or confusion.  See also <strong>:h undo-two-ways</strong>.</p>
<p>This is one of many instances where Vim wins, hands-down.  Vim's undo system isn't as reprogrammable as Emacs, but it's so powerful and so perfectly what you'd want that it doesn't matter.  This is beautifully typical of Vim.  I don't have a year to figure out all the nooks and crannies and edge cases and idiosyncrasies of Emacs undo system, let alone the time it'd take to write a custom, crusty elisp script to buggily re-implement it.</p>
<p>Being an "extensible text editor" doesn't help much when such basic functionality is so broken.  Unless you want to <a href="http://www.gnufans.net/~deego/emacspub/lisp-mine/undo-browse/dev/undo-browse.el">play your undo history back like a movie, in rainbow colors</a>, which I don't.  I want undo/redo that works.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/25/emacs-undo-is-horrible/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vim joy, Lisp woes</title>
		<link>http://briancarper.net/2008/05/15/vim-joy-lisp-woes/</link>
		<comments>http://briancarper.net/2008/05/15/vim-joy-lisp-woes/#comments</comments>
		<pubDate>Thu, 15 May 2008 08:17:11 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/15/vim-joy-lisp-woes/</guid>
		<description><![CDATA[I symlinked my .vimrc to my local mirror of my website so that every time I rsync it (which is pretty often) it'll automatically update my the vimrc on this server.  So that should be fun.  I experiment with things in there all the time so at any given moment there are likely [...]]]></description>
			<content:encoded><![CDATA[<p>I symlinked my .vimrc to my local mirror of my website so that every time I rsync it (which is pretty often) it'll automatically update my the <a href="/vim/vimrc">vimrc</a> on this server.  So that should be fun.  I experiment with things in there all the time so at any given moment there are likely to be things horribly broken, but maybe someone can use some of it.  </p>
<p>This <a href="http://docs.google.com/View?docid=dfkkkxv5_65d5p3nk">mirror of Ciaran McCreesh's vimrc</a> which I found linked from <a href="http://steveno.wordpress.com/vimrc/">here</a> (edit: updated version <a href="http://ciaranm.wordpress.com/2008/05/15/my-vimrc/">here</a>) has lots of good stuff in it.  In particular using <strong>:set listchars</strong> to display tabs and trailing whitespace as some funky Unicode characters is a really good idea.  When I first tried that good idea I realized my favorite font ProggySquare didn't properly display most Unicode characters, which was part of my motivation to switch to Terminus.  (That, and those tiny Proggy fonts aren't so great on a 1920x1200 monitor.)</p>
<p>After a long time putting it off, I finally hunkered down one day and figured out how the heck Vim script works.  The difference between statements and expressions in Vim script language confused me for a while, which goes to show that I'm far too used to Ruby and Lisp where almost everything or everything returns a value as an expression.  Vim expects expressions in certain places and colon-prefixed commands in others.  But then there's <strong>normal</strong> and <strong>eval</strong> and <strong>execute</strong> and <strong>"=</strong> some of which let you do things from one mode in another mode if you mix and match them.  But I think I've gotten a handle on it now.</p>
<p>Today I came across <a href="http://mikael.jansson.be/hacking/limp">Limp</a> which is a recent attempt to get Lisp to work well with Vim.  It seems quite new and buggy and had dependencies on things I had to guess until I was able to install it (like <strong>rlwrap</strong>), but I still was excited about it.  Until I realized that it's just a wrapper around GNU screen.  SBCL runs separately, and some keystrokes send stuff from Vim to screen, but that's about it.  Nice, but not nearly as nice as SLIME in Emacs.  So that disappointed me.  In the back of my mind I always think about how Vim could possibly be integrated with Lisp like SLIME does but I don't see any good way.  Vim doesn't have the ability to embed shells like Emacs and it doesn't look like it will gain that ability any time soon.  Ah well.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/15/vim-joy-lisp-woes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vim color scheme: Gentooish</title>
		<link>http://briancarper.net/2008/05/10/vim-color-scheme-gentooish/</link>
		<comments>http://briancarper.net/2008/05/10/vim-color-scheme-gentooish/#comments</comments>
		<pubDate>Sat, 10 May 2008 19:49:52 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/10/vim-color-scheme-gentooish/</guid>
		<description><![CDATA[I look at Vim 7 or 8 hours a day, so it's nice if the colors don't give me a headache.  I've used ps_color for years but recently I decided it's a bit too washed-out and it has some quirks that make it hard to read Ruby code.  It's hard to find anything [...]]]></description>
			<content:encoded><![CDATA[<p>I look at Vim 7 or 8 hours a day, so it's nice if the colors don't give me a headache.  I've used <a href="http://www.vim.org/scripts/script.php?script_id=760">ps_color</a> for years but recently I decided it's a bit too washed-out and it has some quirks that make it hard to read Ruby code.  It's hard to find anything else that's any better though.  <a href="http://www.vim.org/scripts/script.php?script_id=1143">inkpot</a> is good but it's a bit too monochrome for me.  I like things to have a very distinct hue rather than rely on saturation or subtle differences.  </p>
<p>So I started writing my own color scheme.  For some reason that's beyond me, I seem to gravitate toward purple and green.  Green is my favorite color, but why purple?  I think it might be due to Gentoo brainwashing, so I called this color scheme Gentooish.  I've been using it for a week or so and I keep changing things that annoy me, which will probably continue, but it's non-sucky enough to upload at this point probably.</p>
<p><a href="/vim/gentooish.vim">Download gentooish.vim.</a><br />
<a href="/vim/gentooish.png"><img src="/vim/thumbs/gentooish.png" alt="Gentooish" /></a></p>
<p>I've never written a color scheme before, but it's not difficult.  inkpot had nice clean source code so I used that as a basis.  ps_color's source is horrific.  </p>
<p>Sadly I'm not 100% sure how vim color schemes map to colors in a terminal.  Konsole, urxvt, xterm, and a real terminal all show me different colors when using the same color scheme.  So I didn't bother with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/10/vim-color-scheme-gentooish/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Passwords in log files = bad</title>
		<link>http://briancarper.net/2008/05/08/passwords-in-log-files-bad/</link>
		<comments>http://briancarper.net/2008/05/08/passwords-in-log-files-bad/#comments</comments>
		<pubDate>Fri, 09 May 2008 03:31:38 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/08/passwords-in-log-files-bad/</guid>
		<description><![CDATA[In Linux when I use SSH I usually pass the host and port and username on the command line and then type the password when prompted.  (In those rare cases I don't use certificates to log in without a password.)  In Windows, PuTTY makes you pick a host and port and then prompts [...]]]></description>
			<content:encoded><![CDATA[<p>In Linux when I use SSH I usually pass the host and port and username on the command line and then type the password when prompted.  (In those rare cases I don't use certificates to log in without a password.)  In Windows, PuTTY makes you pick a host and port and then prompts you for the username AND password.</p>
<p>This leads to unpleasant results.  I'm so conditioned to open SSH and type my password at the prompt and hit Enter that I often end up typing my password as my username in PuTTY.  Bad.</p>
<p>I've sometimes opened webpages that have some stupid Javascript bullcrap that tries to auto-focus the username field in a login form.  But if you're a fast typist (and mouse-ist) like I am, you can focus the field, type your username, and hit tab to get to the password field before the long-loading Javascript bloat has a time to load and run.  Which can result in auto-re-focusing the username field, which if it happens at just the right instant, results in my typing the password into it and pounding Enter before I have a chance to notice what's happened.  Bad bad bad.</p>
<p>I use a computer far too often to have time too read every prompt, which leads to bad things.  Anyone who's used to flying around an interface at light-speed by instinct and repeated learned behavior has experienced this kind of thing I'm sure.</p>
<p>This is horrendously bad because these programs often log the usernames of login attempts in plaintext in logs that lots of potentially evil people have the ability to read.  The logs don't usually log the passwords of login attempts, but if you type a password AS a username, oops, you're screwed.  Thankfully I'm root on most or all of the machines I ever SSH to, and I can go into /var/log and erase my mistake from the logs before anyone can see.  But that doesn't help for web pages I don't know.  And I wonder how often this kind of thing happens to other people.  I wonder how many people who aren't familiar with computers accidentally send their password as their username to a bunch of websites.</p>
<p>After all the effort we go to to try to secure computer applications, these kinds of stupid human factors can still so easily ruin everything.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/08/passwords-in-log-files-bad/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FAT</title>
		<link>http://briancarper.net/2008/05/05/fat/</link>
		<comments>http://briancarper.net/2008/05/05/fat/#comments</comments>
		<pubDate>Tue, 06 May 2008 01:13:36 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<category><![CDATA[Windows sucks]]></category>

		<guid isPermaLink="false">http://briancarper.net/2008/05/05/fat/</guid>
		<description><![CDATA[I had to undelete someone's files from a FAT partition today.  My first thought was to use good ol' Windows to do so, given that Windows is the unholy ground which spawned FAT to begin with.  I remember there used to be an UNDELETE command of some sort in some old version of [...]]]></description>
			<content:encoded><![CDATA[<p>I had to undelete someone's files from a FAT partition today.  My first thought was to use good ol' Windows to do so, given that Windows is the unholy ground which spawned FAT to begin with.  I remember there used to be an UNDELETE command of some sort in some old version of DOS.  But this doesn't seem to exist in XP any longer.  </p>
<p>There are however lots and lots of third-party "shareware" programs which can do this kind of thing, as <a href="http://www.google.com/search?q=undelete+fat32">Google reveals</a>.  There is in fact an overwhelming number of such shareware programs.  Most of these programs are total crap and cost around $30.  One program required me to burn a CD and reboot my computer from the CD before I could run it.  Many of the programs "intelligently" scan a partition looking for chunks of things that look like JPEGS or WMVs.  I tried a few "demos" before I gave up, not having an hour to waste finding the one program that would work.  Thus bringing the current score to Windows: 948, Brian: 0.</p>
<p>Instead I brought the drive home and plugged it into Gentoo and used <a href="http://lists.slug.org.au/archives/slug/2006/05/msg00002.html">this post</a> as a guide.  I dd'ed the partition to a file, fscked around with it a bit, mounted it via loopback, and had my files back.  Took 10 minutes, and worked as expected.  And it didn't cost me $30.</p>
<p>The moral of this story: I need to burn a Knoppix disk to take to work with me.</p>
<p>My only quibble is that I can never ever remember what Gentoo package contains <strong>fsck.vfat</strong>.  Note to self, it's <strong>dosfstools</strong>.  I can never think of the search terms even to locate that package.  I had to google it.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/05/fat/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Westinghouse: FAIL</title>
		<link>http://briancarper.net/2008/05/05/westinghouse-fail/</link>
		<comments>http://briancarper.net/2008/05/05/westinghouse-fail/#comments</comments>
		<pubDate>Tue, 06 May 2008 01:00:54 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/05/05/westinghouse-fail/</guid>
		<description><![CDATA[My ninth call to Westinghouse today, about my Westinghouse L2410NM 24" LCD monitor which I RMA'ed back in March, revealed that they did in fact shipmy monitor, supposedly to my house, on April 4th or so.  A UPS tracking number confirms it.  There are are a few things wrong with this.

In spite of [...]]]></description>
			<content:encoded><![CDATA[<p>My ninth call to Westinghouse today, about my Westinghouse L2410NM 24" LCD monitor which I RMA'ed back in March, revealed that they did in fact shipmy monitor, supposedly to my house, on April 4th or so.  A UPS tracking number confirms it.  There are are a few things wrong with this.</p>
<ol>
<li>In spite of the fact that I asked for a phone call to be updated on the status of my monitor whenever it was shipped, I received no such phone call.</li>
<li>During the <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">four</a> <a href="http://briancarper.net/2008/04/08/westinghouse-closer-to-sucking-every-day/">phone calls</a> (or was it five?) I made to Westinghouse in April, AFTER my monitor was supposedly shipped to my house, no one at the company had any record that it shipped.  I was told that by multiple representatives over the past four weeks that my monitor was "in processing".</li>
<li>I asked for my monitor to be shipped to workplace, not my house.  My nice, safe, cozy workplace with human beings who can sign for large expensive packages.  Not my empty house in a neighborhood full of drug addicts, in the property theft capital of the west.  In addition to telling the phone representative this, I actually taped a 8.5 x 11 inch sheet of paper directly to the monitor itself (as well as the outside of the box) specifying SHIP TO: and my work address.  Even such drastic measures were not enough to catch the attention of whatever magical monitor-repair fairies work at Westinghouse, apparently.  Perhaps I should've carved that information directly into the monitor screen.</li>
<li>I could possibly overlook the above, except that, as you may have surmised, at the present time, I do not, in fact, have my monitor.</li>
</ol>
<p>After calling up UPS to ask why their driver left a $450 computer monitor, in a shiny bright blue and white box with pictures of a computer monitor all over it, sitting on my front porch while I was at work without getting my signature, I placed call number ten (yes, I've finally hit double digits!) to Westinghouse, and managed to escalate my issue to the Westinghouse corporate office.  Supposedly in 7-10 business days they will send me a brand new monitor.  </p>
<p>Oh how I wish I had any confidence that I'm ever going to see that monitor.</p>
<p>In the meantime, <a href="http://www.lge.com/products/model/detail/w2452t.jhtml">this guy</a> was on sale at the local store, so I bought one.  Time will tell whether LG brand is any better than Westinghouse.  This time, I also bought the extended warranty, having learned my lesson that it can, indeed, be worth an extra $60 to save myself some pain and aggravation later.  I'm also going to think twice about buying things like this over the internet in the future.  There is something to be said about being able to drive 10 minutes down the road to have your property serviced or replaced by real-life human beings, rather than paying to have things shipped around the world for a month.</p>
<p>EDIT: Read the whole crappy story of Westinghouse's dishonesty and horrible customer service: <a href="http://briancarper.net/2008/03/15/westinghouse-do-they-suck/">The beginning</a>, <a href="http://briancarper.net/2008/03/22/blah-blah-blah/">Update 1</a>, <a href="http://briancarper.net/2008/04/08/westinghouse-closer-to-sucking-every-day/">Update 2</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 3</a>, <a href="http://briancarper.net/2008/04/14/westinghouse-the-saga-continues/">Update 4</a>, <a href="http://briancarper.net/2008/06/10/westinghouse-still-sucks/">Update 5</a>, <a href="http://briancarper.net/2008/06/16/westinghouse-the-saga-continues-2/">Update 6</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/05/westinghouse-fail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello again, world</title>
		<link>http://briancarper.net/2008/05/04/hello-again-world/</link>
		<comments>http://briancarper.net/2008/05/04/hello-again-world/#comments</comments>
		<pubDate>Mon, 05 May 2008 04:04:07 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

		<category><![CDATA[Windows sucks]]></category>

		<guid isPermaLink="false">http://briancarper.net/2008/05/04/hello-again-world/</guid>
		<description><![CDATA[Computers are a love/hate thing for me.  I love all things digital, but I desperately need to get away from it sometimes too.  So I had a nice vacation away from my computer last week.  I couldn't keep myself from reading some mailing lists and hitting Slashdot once a day, but I [...]]]></description>
			<content:encoded><![CDATA[<p>Computers are a love/hate thing for me.  I love all things digital, but I desperately need to get away from it sometimes too.  So I had a nice vacation away from my computer last week.  I couldn't keep myself from reading some mailing lists and hitting Slashdot once a day, but I didn't write a single line of code and didn't give my websites or work projects or anything much thought.</p>
<p>But now my vacation is over, and it's so easy to fall back into old habits, endlessly looking at webcomics and reading articles about Common Lisp unit testing suites and cringing at the latest drama amongst Gentoo devs and minding my message board like a crusty old beat cop making his rounds.  It's the life I've chosen, and I do like it, but I do like getting away sometimes too.</p>
<p>I fulfilled one of my dreams last week when I finally caved and ordered a <a href="http://www.icemat.com/products/icematgear/icemat_2nd_edition">solid glass mousepad</a>.  They're pretty cheap on newegg.com, depending on the color you want.  I happened to want green, and it happened to be the cheapest, so all is well.  It looks very nice, and it's big and hopefully the surface won't degrade over time; I tend to eat through mousepads via a slow yet inexorable process of erosion.  </p>
<p>Unfortunately my laser mouse doesn't work on it.  However, I have learned that if I upgrade my mouse's firmware, it will magically be able to work on a solid glass mousepad.  Who would've thought my mouse had updateable firmware, let alone that updating the firmware would allow it to work on new surfaces?  Not I.</p>
<p>The bad thing is that I need freaking Windows XP to upgrade the firmware on my mouse.  I don't have any computer that has XP on it and I'm afraid to try anything in a virtual machine that involves something as dangerous as fiddling with the innards of connected peripherals.  So I tried to install XP on my laptop, desperate times calling for desperate measures.  But of course the install failed because my XP install CD is so old (pre-SP1, received free from my college 7 years ago) that it didn't recognize most of my hardware.  In fact, the XP install CD blue-screened, which set a new record for how low Windows could sink in my opinion.</p>
<p>So I tried slipstreaming SP2 into my install CD.  But it failed because, get this, the filenames of some drivers on the CD, namely <strong>usbehci.sys</strong>, ended up in lower case rather than uppercase and the CD's install program couldn't locate them.  I kid you not.  Since when is anything in Windows case-sensitive?  Is it running Linux?  I had to burn another CD after renaming all the files into uppercase.  Then the CD worked, but it couldn't find my hard drive, probably due to missing SATA drivers.  At that point I gave up, and plan to take my mouse to work tomorrow to upgrade the firmware on a work machine that has XP on it.  </p>
<p>And so the score up to this point in my life is Windows: 947, Brian: 0.  Windows remains undefeated.</p>
<p>Thanks go out to Logitech for not letting me use Vista (or, say, LINUX) to upgrade my mouse's firmware, and of course to Microsoft, for yet another gloriously broken and frustrating computing experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/05/04/hello-again-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Email woes</title>
		<link>http://briancarper.net/2008/04/18/email-woes-2/</link>
		<comments>http://briancarper.net/2008/04/18/email-woes-2/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 04:49:16 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

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

		<guid isPermaLink="false">http://briancarper.net/2008/04/18/email-woes-2/</guid>
		<description><![CDATA[I own my own domain (or five) and one of the good things about that is having nearly infinitely many email accounts if you want them.  So I tend to make up a new account for every site I register at.  This leads to amusing things like getting an email from a marketing [...]]]></description>
			<content:encoded><![CDATA[<p>I own my own domain (or five) and one of the good things about that is having nearly infinitely many email accounts if you want them.  So I tend to make up a new account for every site I register at.  This leads to amusing things like getting an email from a marketing firm asking me to complete a survey for an airline "who wants to remain STRICTLY ANONYMOUS".  Sent of course to <strong>UNITED@<span><em></em></span>briancarper.net</strong>.  Oops.</p>
<p>Because of laziness I set up a catchall account on my domain so every email sent to anything @briancarper.net would be sent to me.  This was such a horribly bad idea, I'm unsure how I lasted for a couple of years this way.  I was getting about a few hundred spam emails per day.  Amazingly spamassassin + Thuderbird's junk mail filter caught almost every single one of them to the point where I hardly even noticed.  Spam filters can be bad in the same way pain killers can be bad.  They don't solve a problem, they only mask the pain so you can ignore the problem.</p>
<p>So I decided to stop using a catchall.  Problem is that I already have around a hundred email addresses I've used for various message boards and companies and friends and family, and there's no way I'm going around to change them all.  So I decided to just get a list of them all and set up a big list of postfix aliases for now.</p>
<p>So, I downloaded my whole email account in mbox format and wrote a Ruby script to crawl it and make a list of all the email accounts I've ever received mail from.  Thank you Linux mailserver for storing email sanely in plaintext.  Luckily for me, I haven't deleted any emails from my server since 2005; so my generated list of emails is likely to be pretty complete.  It pays to be obsessive sometimes.</p>
<p>Even a braindead brute-force Ruby script is fast enough to do this.  Took a minute or two to scan 200MB of plaintext.</p>
<pre class="ruby"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span>
<span style="color:#CC0066; font-weight:bold;">require</span> 'find'
found = <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
Find.<span style="color:#9900CC;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span>ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> |fn|
  <span style="color:#9966CC; font-weight:bold;">next</span> <span style="color:#9966CC; font-weight:bold;">unless</span> File.<span style="color:#9900CC;">file</span>? fn
  File.<span style="color:#9900CC;">read</span><span style="color:#006600; font-weight:bold;">&#40;</span>fn<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">scan</span><span style="color:#006600; font-weight:bold;">&#40;</span>/<span style="color:#006600; font-weight:bold;">&#91;</span>A-Za-z0-9_-<span style="color:#006600; font-weight:bold;">&#93;</span>+@briancarper.<span style="color:#9900CC;">net</span>/<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> |email|
    <span style="color:#9966CC; font-weight:bold;">next</span> <span style="color:#9966CC; font-weight:bold;">if</span> found<span style="color:#006600; font-weight:bold;">&#91;</span>email<span style="color:#006600; font-weight:bold;">&#93;</span>
    found<span style="color:#006600; font-weight:bold;">&#91;</span>email<span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#0000FF; font-weight:bold;">true</span>
    <span style="color:#CC0066; font-weight:bold;">puts</span> email
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://briancarper.net/2008/04/18/email-woes-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
