<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Loar's Lair</title><link>http://matthew.loar.name/blog/rss.xml</link><lastBuildDate>Thu, 04 Mar 2010 11:23:44 GMT</lastBuildDate><item><title>Computer Science Programs - Joel Spolsky Saves Me Some Effort</title><link>http://matthew.loar.name/blog/2009/10/27/computer_science_programs_-_joel_spolsky_saves_me_some_effort/</link><pubDate>Tue, 27 Oct 2009 23:04:43 GMT</pubDate><category>Technical</category><description>&lt;p&gt;
Ever since my friend Elton made a
&lt;a href="http://eptiger.blogspot.com/search?updated-max=2009-08-27T00%3A32%3A00-07%3A00"&gt;post&lt;/a&gt;
about what he wished he had learned in college, I have been meaning to make my
own post about my experiences at &lt;a href="http://www.uiuc.edu"&gt;UIUC&lt;/a&gt;, er, I mean,
&lt;a href="http://www.illinois.edu"&gt;ILLINOIS&lt;/a&gt;.  I don't disagree with the things he
wishes CS programs would teach, though I do disagree with the value of the
education I received in college.  While Elton seems to have enjoyed his time at
UT and done well, the three years I spent at UIUC were the most miserable of my
life so far.  As I often find myself explaining to people today, there is
surprisingly little overlap between the skills required to be a good software
engineer and the things they teach you as an undergrad in what is supposedly one
of the top 5 computer science programs in the country.  My classes there were
far more about obtaining a pretty piece of paper to hang on my wall than
preparing to enter the workforce.  This was exemplified by the CS grad student I
met who appeared to be incapable of writing "Hello World" in C if his life
depended on it.
&lt;/p&gt;

&lt;p&gt;
Anyway, today I was going through my RSS feeds and found Joel Spolsky's
&lt;a href="http://www.joelonsoftware.com/items/2009/10/26.html"&gt;post&lt;/a&gt; on the subject,
and he hits it on the head.  Let's teach our students Scheme!  It's so
functional and elegant!  Nobody in industry uses it, but that's because they're
all unsophisticated heathens!  One of my colleagues once remarked on my zeal for
producing a quality product by saying that "If you ignore a bug long enough,
Matt will fix it."  Apparently if I delay a blog post long enough, Joel Spolsky
will write it.
&lt;/p&gt;

&lt;p&gt;
While I'm on the subject of Joel Spolsky, however, I need to take exception to
something he said in his
&lt;a href="http://www.joelonsoftware.com/items/2009/09/23.html"&gt;post&lt;/a&gt; on "Duct Tape
Programmers":
&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;
Duct tape programmers have to have a lot of talent to pull off this
shtick. They have to be good enough programmers to ship code, and we'll forgive
them if they never write a unit test, or if they xor the "next" and "prev"
pointers of their linked list into a single DWORD to save 32 bits, because
they're pretty enough, and smart enough, to pull it off.
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
As a member of the team which recently became the not-so-proud owner of GDI and
GDI+, I will say that if you do a crazy what-the-eff-is-he-doing "optimization"
like munging bits in a pointer and then fail to supply any unit tests for the
poor bastard who has to maintain your code after you run off to work on the Next
Big Thing, then you deserve to be fired.  Or shot.  Maybe both.
&lt;/p&gt;
</description></item><item><title>Vim 7.2.262</title><link>http://matthew.loar.name/blog/2009/10/05/vim_7_2_262/</link><pubDate>Mon, 05 Oct 2009 22:12:54 GMT</pubDate><category>Software Releases</category><description>&lt;p&gt;
Nothing major, just another build with all the latest patches.
&lt;/p&gt;

&lt;p&gt;
Packages on the &lt;a href="http://matthew.loar.name/software/vim"&gt;Vim&lt;/a&gt; page.
&lt;/p&gt;
</description></item><item><title>Still Alive</title><link>http://matthew.loar.name/blog/2009/09/30/still_alive/</link><pubDate>Wed, 30 Sep 2009 05:41:05 GMT</pubDate><category>Personal</category><description>&lt;p&gt;
I'm making a post here - HUGE SUCCESS.
&lt;/p&gt;

&lt;p&gt;
Wow, it has been four months since my last post.  Let's see what I have to report.
&lt;/p&gt;

&lt;p&gt;
Work has been fairly slow, though it's starting to pick up now.  There's a big reorg to prepare for the next release going on at the moment.  Luckily I get to stay with my current manager and work on more-or-less the same feature team.  However that feature team is moving to a different department, so our priorities going forward will likely be quite different.  Right now I'm knee-deep in trying to port all of the clients of a clunky old API to the shiny new API so that we can kill the clunky old API which we currently share responsiblity for with another feature team which is going to a different department.  Fun stuff.
&lt;/p&gt;

&lt;p&gt;
In July I took a vacation to San Francisco.  Mostly I explored the public transit system.  I rode BART from SFO to my hotel just off Market Street.  While I was there I rode the Muni Metro out to the zoo and saw their interesting mixed-traffic LRV operation.  I also took Muni to AT&amp;amp;T park to catch a Giants afternoon game for which I got box seats.  On Saturday I met a bunch of ACM people for lunch at a little French bistro, and then that evening I took BART over to Berkeley to see a Death Cab for Cutie concert (oh, the irony!).  All-in-all it was a fun trip.
&lt;/p&gt;

&lt;p&gt;
I did finally call an interior decorator to pick colors for me, and I'm glad I did.  I really like the two colors she selected for my living room (Benjamin Moore colors "Atmospheric" and "Glacial Till").  She also selected colors for the rest of my place, but so far I have only painted the living room.  I also bought a desk for my living room, and I bought some posters at a place in San Francisco and had them mounted on foam and shipped home.
&lt;/p&gt;

&lt;p&gt;
In July the new light rail opened.  I actually was at Westlake Center at 0945 to get on one of the first trains, which gives you some idea of how excited I was about this.  It's really nice, and it will be even better once it reaches the airport in December.  I can't wait for the future expansions.
&lt;/p&gt;

&lt;p&gt;
I'm thinking about getting a new computer.  The keyboard on the Thinkpad is starting to give me trouble, and it spends its life on my desk anyway, so I think I should get a desktop.  Preferably one with a good graphics card so I can play my Steam games at home instead of on my ridiculously-good-for-gaming work machine.  I've played through the entire Half-Life 2 series.  I've been trying to work my way through Half-Life: Source mostly to learn the backstory for HL2, but I got stuck at one point and haven't been at it for a while.  Speaking of which, if you like Half-Life, you should check out &lt;a href="http://www.youtube.com/show?p=bYPdeqBaYDg&amp;amp;feature=fvsp"&gt;Freeman's Mind&lt;/a&gt;.  It's really funny.
&lt;/p&gt;

&lt;p&gt;
Well, I think that's enough for now.  Hopefully I'll post more frequently in the future.
&lt;/p&gt;
</description></item><item><title>remctl 2.14</title><link>http://matthew.loar.name/blog/2009/05/26/remctl_2_14/</link><pubDate>Tue, 26 May 2009 01:28:37 GMT</pubDate><category>Software Releases</category><description>&lt;p&gt;
I have just uploaded Windows binaries for &lt;a href="http://www.eyrie.org/~eagle/journal/2009-05/014.html"&gt;remctl 2.14&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
You can find them on the &lt;a href="http://matthew.loar.name/software/remctl"&gt;remctl&lt;/a&gt; page.
&lt;/p&gt;
</description></item><item><title>May Flowers</title><link>http://matthew.loar.name/blog/2009/05/12/may_flowers/</link><pubDate>Tue, 12 May 2009 10:10:41 GMT</pubDate><category>Personal</category><description>&lt;p&gt;
It has been a while since I made a personal post.  I'm fully moved out of my
apartment and mostly settled into my new condo.  I'm slowly getting everything
put away.  I have numbers for a couple of interior decorators, and I intend to
consult one on what colors would work well for my living room.  But before I do
that, I want to really get my place squared away.  I'm very glad that I asked
the seller to leave behind the pantry-type thing in the kitchen - there is very
little cabinet space and it is very useful.  The thing in the bedroom I asked
him to leave is a lot less useful, however.  It looked very wrong where it
wasplace, so I pulled it out of the bedroom and it is currently out in the
living room on its side supporting my server machine.  I think that it would
probably be best for me to get a real desk for my server and to put my laptop
out there as well.  But I am slowly making this place my own, and once I get the
walls painted a consistent color, I plan to have a housewarming party.
&lt;/p&gt;

&lt;p&gt;
Otherwise I have been enjoying my new place.  I have set a goal for myself to
sit at every bar in Belltown (a goal which is very difficult to achieve, but
that is kind of the point).  Belltown is a great neighborhood, and it doesn't
hurt that a lot of my friends live around here too.
&lt;/p&gt;
</description></item><item><title>HTC Fuze</title><link>http://matthew.loar.name/blog/2009/04/26/htc_fuze/</link><pubDate>Sun, 26 Apr 2009 00:08:32 GMT</pubDate><category>Technical</category><description>&lt;p&gt;
A few weeks ago I replaced my broken Blackjack with an HTC Fuze.  So far it
seems to be an improvement.  The HTC Fuze combines a touchscreen with important
things like Send and End keys and a slide-out QWERTY keyboard.  The slide-out
keyboard is definitely an improvement on the Blackjack's tiny keys and allows
the Fuze to be narrower than the Blackjack, if twice as thick.  The Fuze is
pretty heavy, and I have the feeling that it would not take well to being
dropped.  Another thing I like is that unlike the Blackjack, it has a standard
Mini-USB port.
&lt;/p&gt;

&lt;p&gt;
Software-wise the phone is marginal.  It runs Windows Mobile 6.1 and comes
loaded with HTC TouchFLO(tm) software which provides a shinier and more
touch-friendly home screen.  Of course it's not very customizable, so the first
thing I did was turn it off.  I like how it files SMS messages into
conversations.  I never used SMS on the Blackjack, so I don't know if this is a
recent feature or not.  When using the web browser I have run into an issue
where it returns a "403 Forbidden" page for all sites.  I suspect this may be an
AT&amp;amp;T issue rather than a phone issue, as disconnecting and reconnecting to the
network fixes it.  This is made easier by the fact that the function performed
by holding the End key is configurable, and I have configured it to toggle
"airplane mode."
&lt;/p&gt;

&lt;p&gt;
The voice quality on the Fuze is fine, but using it as a phone can get very
irritating.  The keypad is through the touchscreen.  When a call is active, the
display has a number of buttons for functions such as turning on the
speakerphone, and you have to hit a softkey to bring up the keypad.  Also, the
screen turns off after a second while a call is active (presumably to avoid
inadvertent touchscreen presses), so you have to press the power key to turn it
back on.  This makes using touchtone interfaces (like voicemail) very frustrating.
&lt;/p&gt;

&lt;p&gt;
Today I woke up to find my phone frozen and had to remove the battery to restart
it.  I think the phone had been up for about a week.  It's a sad state of
affairs that I think a phone crashing after a week of uptime is marginally
acceptable, but hey, it's WinMo.
&lt;/p&gt;
</description></item><item><title>The Joy of Homeownership</title><link>http://matthew.loar.name/blog/2009/04/06/the_joy_of_homeownership/</link><pubDate>Mon, 06 Apr 2009 08:03:02 GMT</pubDate><category>Personal</category><description>&lt;p&gt;
Sigh.
&lt;/p&gt;

&lt;p&gt;
So I picked up the keys to my new condo a week ago Friday, and due to various
issues I decided it was best to hold off moving in until later today.  In the
meantime I decided to paint the living room.  The room is quite large and two of
the walls were a very dark green color.  This color is also used in the kitchen
and bathroom, but it just seemed wrong for the living room.  The living room has
a window which faces west, so I figured a brighter color was in order.  I
figured that since I wasn't moving in right away, this was the perfect time to
do it.  And I guess I had this need to assert my ownership of my new home.
&lt;/p&gt;

&lt;p&gt;
So I went to the hardware store.  For whatever reason I decided that the right
color for my wall was a Benjamin Moore hue called "Mellow Yellow."  Well, let me
tell you, it wasn't so mellow once I got it on the wall.  It is very
overpowering, and I'm not sure if it really works with the pale green on the
adjoining wall.  My sister was undecided, her boyfriend thought it clashed.  So
today I went back to the store and looked at some more color cards, and brought
home a sample of a much paler yellow to try on the wall.  I think this one might
work, but I was dumb and bought two gallons of the "Mellow Yellow" color before
I had so much as brought a color card home to compare it with.  Well, live and
learn, I guess.
&lt;/p&gt;

&lt;p&gt;
Speaking of tomorrow, I have to go pick up a truck at 8 AM, and here I am typing
this at after 1 AM.  And I still need to walk back to my old place, where my bed
remains until tomorrow.  I still don't have everything packed up.
&lt;/p&gt;

&lt;p&gt;
Plus just to spite me, my cell phone decided to stop working today.  I can hear
people, but they can't hear me.  It's funny, just last week the PM was saying
his phone had broken in exactly the same way.  This is ridiculous - I already
had to replace the Blackjack once.  I don't think it's in warranty any more, so
I won't even have that option this time.  Argh.
&lt;/p&gt;
</description></item><item><title>Why Banks Suck</title><link>http://matthew.loar.name/blog/2009/03/24/why_banks_suck/</link><pubDate>Tue, 24 Mar 2009 18:23:51 GMT</pubDate><category>Personal</category><description>&lt;p&gt;
Methods of transferring funds between banks:&lt;br /&gt;
&lt;strong&gt;ACH:&lt;/strong&gt; Takes two to three bank business days.&lt;br /&gt;
&lt;strong&gt;Wire transfer:&lt;/strong&gt; Possibly same-day.  Both the sending and receiving bank
are likely to charge you an obscene fee.&lt;br /&gt;
&lt;strong&gt;SneakerWire:&lt;/strong&gt; Withdraw cash from ATM, walk to teller window.
Instantaneous and free if you do it right.
&lt;/p&gt;

&lt;p&gt;
Methods of fraud prevention:&lt;br /&gt;
&lt;strong&gt;Rational:&lt;/strong&gt; When suspicious transactions occur, call the customer and ask
if they are authorized.&lt;br /&gt;
&lt;strong&gt;Reality:&lt;/strong&gt; Just start declining transactions at random.  Wait for
customer to call from their home phone and deal with your automated phone
system.
&lt;/p&gt;

&lt;p&gt;
In theory, credit unions are supposed to be less obnoxious, as all the
depositors have an ownership interest.  In reality, the only credit union I've
ever been a member of will charge you a dollar "Foreign ATM Fee" if you withdraw
cash at any ATM outside their extensive network covering both Champaign
&lt;strong&gt;and&lt;/strong&gt; Urbana.
&lt;/p&gt;

&lt;p&gt;
Considering what interest rates are like these days, I just wish my mattress was
FDIC-insured.
&lt;/p&gt;
</description></item><item><title>afsbak 1.2</title><link>http://matthew.loar.name/blog/2009/03/06/afsbak_1_2/</link><pubDate>Fri, 06 Mar 2009 23:42:57 GMT</pubDate><category>Software Releases</category><description>&lt;p&gt;
Recently I had vos dump start sending the contents of a directory before all of
its ancestor directories had been sent.  I suppose that a sane ordering of the
dump was too much to hope for.  This release of afsbak changes tarvol to write
orphaned entries into a tempfile.  Then once the entire dump has been read, the
orphan file is processed to see if ancestors have been found.  This repeats
until the orphans are eliminated or the orphan file stops shrinking.
&lt;/p&gt;

&lt;p&gt;
This release also adds a new utility called aestar.  This is my solution to the
problem of how to make an encrypted, rsync-friendly backup of the BackupPC pool.
Duplicity won't work because it does not support hard links.  Rsyncrypto uses a
dubious decision function for resetting the IV in CBC.  What aestar does is read
a tar file and encrypt the data for each file separately.  Thus the size of the
change when using CBC is limited to the size of the changed file, not the entire
tarball.  This utility requires the aespipe utility available in Debian for now;
in the future I may rewrite it against a crypto library for better performance.
&lt;/p&gt;

&lt;p&gt;
You can find it on the &lt;a href="http://matthew.loar.name/software/afsbak"&gt;afsbak&lt;/a&gt; page.
&lt;/p&gt;
</description></item><item><title>afsbak 1.1</title><link>http://matthew.loar.name/blog/2009/03/01/afsbak_1_1/</link><pubDate>Sun, 01 Mar 2009 02:15:30 GMT</pubDate><category>Software Releases</category><description>&lt;p&gt;
This release corrects a couple of problems with the first version of afsbak.
Firstly it removes the -omitdirs argument to vos dump.  I hadn't realized that
only looks at the mtime and ctime on the directory, so it will miss updates to
existing files.  Secondly I now filter what is written to stderr, since BackupPC
doesn't like things it doesn't recognize being written to stderr.
&lt;/p&gt;

&lt;p&gt;
You can find it at the &lt;a href="http://matthew.loar.name/software/afsbak"&gt;afsbak&lt;/a&gt; page.
&lt;/p&gt;
</description></item></channel></rss>
