<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-22215170</id><updated>2011-10-21T00:44:41.758-07:00</updated><category term='void check fraud'/><category term='configure chord sfslite error'/><title type='text'>Take a Pause</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22215170.post-1034085927979094091</id><published>2011-01-19T23:38:00.000-08:00</published><updated>2011-01-19T23:48:23.344-08:00</updated><title type='text'>Weird business idea of the day</title><content type='html'>Google (and other companies) often provide this "your lights are on" registry -- you put in your car's license plate number, and an email address, and if somebody notices your lights are on, they can put in the plate number and the system sends you a message. The important features of this system are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Random people can't determine the mapping between license plates and people.&lt;/li&gt;&lt;li&gt;When you send a message through the system, the recipient finds out who you are.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;So here's the idea: I want the police to provide this service, state-wide, for everybody. They have your name and possibly phone number already. You can also opt in by giving an email address. For $5 you can send a letter to anybody addressed by license plate. $.99 for an email or SMS message.  Some messages like "lights are on" would be free.&lt;br /&gt;&lt;br /&gt;The system lives at a well-known number so you can send a text there, with the first 7 characters being the license plate, and it forwards the body to the recipient and charges your carrier.&lt;br /&gt;&lt;br /&gt;Business model is for "missed connections" while driving, or the various cases where you'd leave a note right now -- like "I saw somebody hit your car", etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-1034085927979094091?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/1034085927979094091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=1034085927979094091' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/1034085927979094091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/1034085927979094091'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2011/01/weird-business-idea-of-day.html' title='Weird business idea of the day'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-8707883466505403917</id><published>2010-10-02T11:51:00.000-07:00</published><updated>2010-10-02T11:58:46.323-07:00</updated><title type='text'>It all adds up.</title><content type='html'>&lt;p&gt;There's a bar I'm a regular at. Very regular, in fact. I also keep track of my finances in a detailed way (with &lt;a href="http://www.gnucash.org"&gt;Gnucash&lt;/a&gt;). But it's still kind of ridiculous to run the numbers.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Over the last three years in the bay area I've:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Visited it &lt;b&gt;145&lt;/b&gt; times.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Driven &lt;b&gt;6525 miles&lt;/b&gt; for the experience (22.5 miles each way * 145 times)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Spent about &lt;b&gt;$753 on gas&lt;/b&gt; (based on 26MPG and $3/gallon)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Spent &lt;b&gt;$4148&lt;/b&gt; at the bar itself ($28/visit = $10-15 cover + drinks)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For a total of &lt;b&gt;$4901&lt;/b&gt; over the last three years. Sheesh!&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-8707883466505403917?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/8707883466505403917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=8707883466505403917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/8707883466505403917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/8707883466505403917'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2010/10/it-all-adds-up.html' title='It all adds up.'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-5268523791005508567</id><published>2010-05-15T15:15:00.000-07:00</published><updated>2010-05-15T15:21:48.950-07:00</updated><title type='text'>Dr. Maryam Amidi, DDS</title><content type='html'>The cost of living around here is pretty high, and everything seems expensive -- including dentistry. Sadly, these costs do not necessarily imply a better quality of service.&lt;br /&gt;&lt;br /&gt;Recently, I got a wonderful spam message from my Dentist (Maryam Amidi). I was pissed and asked why she was selling my personal info. The response was simply "Please disregard the email...". After further prompting I got the full story in perfect English: "It seems like we opened up a pt email with a virus.  We don't disclose your information to a this party."&lt;br /&gt;&lt;br /&gt;So, her staff is not so good with Them Computing Machines. Apparently somebody opened up a virus and spammed her entire clientele. Awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-5268523791005508567?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/5268523791005508567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=5268523791005508567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/5268523791005508567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/5268523791005508567'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2010/05/dr-maryam-amidi-dds.html' title='Dr. Maryam Amidi, DDS'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-5934696288621774487</id><published>2010-02-10T20:59:00.000-08:00</published><updated>2010-02-10T21:05:57.949-08:00</updated><title type='text'>GPG agent and pin entry</title><content type='html'>I recently hosed my X installation trying to get fglrx drivers to work. Turns out, that ubuntu stable is running a super old version of the x server, with which the latest fglrx drivers simply will not work. Somehow in the kernel locking and hard reboots, I managed to hose.... something. I had to manually remove a bunch of packages (dpkg --purge) and rebuild before I could get things working again.&lt;br /&gt;&lt;br /&gt;The "solution" to this first part was to stick with an old version of the driver until the next Ubunto long-term release. :(&lt;br /&gt;&lt;br /&gt;After all that hacking, my nice GPG interface went away. It used to have:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;A pretty gnome-looking window for entering password,&lt;br /&gt;&lt;li&gt;Short (like 15-30 minutes?) cache time for future gpg commands&lt;br /&gt;&lt;li&gt;A little tray icon with a lock I could use to clear the cached pass phrases.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;That's all gone. pinentry-gtk2 simply doesn't work. When installed, it flashes up a window, which accepts no input, and then disappears leaving a "bad passphrase" message on the terminal. The little tray thing is also gone.&lt;br /&gt;&lt;br /&gt;The "solution" to all this is the pinentry-qt package, which pops up a KDE-looking window for entering the password. Lacking the system tray icon, I've found that sending a kill -hup to the gpg-agent directly will make it dump its cache.&lt;br /&gt;&lt;br /&gt;So at least things are kind of working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-5934696288621774487?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/5934696288621774487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=5934696288621774487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/5934696288621774487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/5934696288621774487'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2010/02/gpg-agent-and-pin-entry.html' title='GPG agent and pin entry'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-4340683025947523484</id><published>2009-08-17T23:16:00.000-07:00</published><updated>2009-08-17T23:29:28.333-07:00</updated><title type='text'>Translation Party!</title><content type='html'>Saw &lt;a href="http://www.translationparty.com/"&gt;Translation Party&lt;/a&gt; today and found it too fun not to share. Type something in, and it translates back and forth to japanese until it finds a stable translation. Try putting in something with potentially subtle meaning, and hilarity ensues. For example, the following:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;What the hell are you doing to my cat?&lt;/td&gt;&lt;td&gt;Person A.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;一体何が私の猫にやってんの？          &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;It's not my cat?                      &lt;/td&gt;&lt;td&gt;Person B (Person a: No, it's &lt;b&gt;MY&lt;/b&gt; cat, you weirdo).&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;それは私の猫ではありませんか？        &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;It's my cat?                          &lt;/td&gt;&lt;td&gt;Person A: I mean, I think it is.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;それは私の猫は何ですか？              &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;That's my cat?                        &lt;/td&gt;&lt;td&gt;Person B: obviously confused.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;それが私の猫ですか？                  &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;What is my cat?                       &lt;/td&gt;&lt;td&gt;Person A: Says something deep and meaningful.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;私の猫は何ですか？                    &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;My cat?                               &lt;/td&gt;&lt;td&gt;Person B: Still focused on the here and now.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;うちの猫ですか？                      &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;What cats?                            &lt;/td&gt;&lt;td&gt;Person B again: Cat? What cat? I don't know what you're talking about. I never heard anything so ridiculous.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;猫は何ですか？                        &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Cat?                                  &lt;/td&gt;&lt;td&gt;Person A: trying to verify that person B speaks english.&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;猫？                                  &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Cat?                                  &lt;/td&gt;&lt;td&gt;Person B: No, I don't speak english&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-4340683025947523484?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/4340683025947523484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=4340683025947523484' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/4340683025947523484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/4340683025947523484'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2009/08/translation-party.html' title='Translation Party!'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-7391740928849230165</id><published>2008-12-27T15:03:00.000-08:00</published><updated>2008-12-27T15:16:02.547-08:00</updated><title type='text'>Irony...</title><content type='html'>Using your new T-mobile G1 "dream" phone to kill time in a verizon store.&lt;br /&gt;&lt;br /&gt;Also, yay awesome phone! I wasn't convinced at first but having a web-enabled, geo-aware device with a qwerty keyboard, touch screen, and a good camera in my pocket all the time fundamentally changes the way I can iteract with the "real world". And the call quality is remarkable. Freaked out my step-dad at first, he said it "sounded like I was next door".&lt;br /&gt;&lt;br /&gt;And the fact it's an open platform (I've already hooked it up to my computer and transferred files- something Verizon tries at all costs to keep you from doing) is awesome. I see app development in my future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-7391740928849230165?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/7391740928849230165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=7391740928849230165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/7391740928849230165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/7391740928849230165'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2008/12/irony.html' title='Irony...'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-4368653843825881396</id><published>2008-11-27T18:10:00.000-08:00</published><updated>2008-11-27T19:12:18.341-08:00</updated><title type='text'>New computer!</title><content type='html'>aka "Holy crap, I've got a blog."&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Circa 2001 I built a nice computer. Big white-box case, 750MHz athlon, 512MB memory, 80G hard drive. That thing was &lt;b&gt;sweet&lt;/b&gt;! Of course, time passes, and in late 2008 it was showing its age. So, now that I'm older and lazier, I bought a suitably customized &lt;a href="http://configure.us.dell.com/dellstore/config.aspx?c=us&amp;cs=19&amp;l=en&amp;oc=DXCW64A&amp;s=dhs"&gt;Dell XPS 630&lt;/a&gt;. Other than the stupid case (has this ridiculous jaunty angle, and LEDs bright enough to read by), it's awesome.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Of course, I put Linux on it. That was a pain, but worth it. Here's what was necessary:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Install Ubuntu from DVD&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;I was a long-time Debian user, decided to jump ship after one too many head-banging moments due to their overzealous free/nonfree policies. The Ubuntu install was a breeze and I loved the fact that the DVD was also 'live' so I could play with it and if I ever need to, recover with it.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Get Connected&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;I needed to do a hard reboot of cable modem before my machine could get network access.  The modem or something upstream is doing single-MAC whitelisting. New computer wouldn't connect to the network until I hard rebooted it with just the new computer attached; now the old one won't connect.&lt;br /&gt;&lt;br /&gt;I also needed these non-default packages:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;ssh (server)&lt;/tt&gt;: Can't live without remote access.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;vnc4server, xvnc4viewer&lt;/tt&gt;: Remote GUI access, even.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;ez-ipupdate&lt;/tt&gt;: So I can get into the box remotely, even with a dynamic IP&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Get Video/DVD Playing Working&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Much of the time I spend at my computer these days is watching DVDs. That was my first priority after getting the network up. The video card is an "(Asus) 512MB Radeon ATI HD 3870", branded "FireGL" which is new and shiny enough the drivers are still a little wack. You can use either the &lt;tt&gt;fglrx&lt;/tt&gt; driver (xorg-driver-fglrx package) or the &lt;tt&gt;radeon&lt;/tt&gt; driver (xserver-xorg-video-ati package). The &lt;tt&gt;RadeonHD&lt;/tt&gt; driver doesn't support this card.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;FGLRX driver&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You get logs that show you this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  (--) PCI:*(1:0:0) ATI Technologies Inc unknown chipset (0x9501) rev 0, Mem @ 0xd0000000/28, 0xefde0000/16, I/O @ 0xde00/8&lt;br /&gt;  (--) fglrx(0): Chipset: "ATI Radeon HD 3870" (Chipset = 0x9501)&lt;br /&gt;  (--) fglrx(0): (PciSubVendor = 0x1028, PciSubDevice = 0x2542)&lt;br /&gt;  (--) fglrx(0): board vendor info: third party graphics adapter - NOT original ATI&lt;br /&gt;  (II) fglrx(0): Using adapter: 1:0.0.&lt;br /&gt;  (--) fglrx(0): VideoRAM: 262144 kByte, Type: DDR4&lt;br /&gt;  (II) fglrx(0): PCIE card detected&lt;br /&gt;  (--) fglrx(0): Using per-process page tables (PPPT) as GART.&lt;br /&gt;  (WW) fglrx(0): board is an unknown third party board, chipset is supported&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;But then, if you do VideoOverlay you get a hard kernel lock and need the Big Red Button.  I also played with this command: &lt;tt&gt;aticonfig --overlay-type=Xv&lt;/tt&gt; to no great luck.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Radon driver&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;You get logs that show you this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  (WW) RADEON(0): Direct rendering disabled&lt;br /&gt;  (EE) RADEON(0): Acceleration initialization failed&lt;br /&gt;  (--) RADEON(0): Chipset: "ATI Radeon HD3870" (ChipID = 0x9501)&lt;br /&gt;  (WW) RADEON(0): R600 support is mostly incomplete and very experimental&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It annoyingly lacks a functional XV extension, but it doesn't lock my machine. For such a beefy card, it sucks to be doing software rendering.  Hopefully the drivers stabilize a bit and I can get this working better in the future.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Mplayer configuration&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For DVDs you'll want these packages: &lt;tt&gt;ubuntu-restricted-extras,w32codecs,libdvdcss,medibuntu-keyring&lt;/tt&gt;: this pulls in non-free extras, required to play DVDs and MP3s.  The really annoying thing here is that without the decss package, mplayer will happily try to play the DVDs without decrypting them, giving you awesome garbage and unrelated error messages. That took a while to figure out; I thought something was wrong with the drive itself.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Since the XV extension isn't working, you need to pass -zoom on the command line, or add it to your &lt;tt&gt;~/.mplayer/config&lt;/tt&gt;. Occassionally the software zoom shows visual artifacts.&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you install any KDE packages, like filelight, mplayer will hang for several seconds every time you try and play a video. It's trying to kill kde screensavers. (See &lt;a href="https://bugs.launchpad.net/ubuntu/+source/mplayer/+bug/246675"&gt;this bug&lt;/a&gt;. Just add &lt;tt&gt;'stop-xscreensaver=0'&lt;/tt&gt; to ~/.mplayer/config and it won't be stupid any more; however you'll need to manually kill any screensavers you have running with e.g. &lt;tt&gt;xscreensaver-command -exit&lt;/tt&gt; to watch movies.&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt; Get all the other bits working&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Install non-default packages to actually be able to use lots of helpful stuff:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;vim&lt;/tt&gt;: The one true editor.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;subversion&lt;/tt&gt;: I keep swaths of my home dir under version control.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;filelight&lt;/tt&gt;: To manage space (won't need to for a while, hello huge disk!&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;rhythmbox, amarok&lt;/tt&gt;: I miss XMMS. Enough so I kind of want to become a package maintainer... this is dumb.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;pwgen&lt;/tt&gt;: for stupid web passwords.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;dselect&lt;/tt&gt;: Real package management.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;xscreensaver&lt;/tt&gt;: So the massive number of strangers wandering through my livingroom when I'm away can't access my data.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;gphoto2, python-extractor, inkscape, imagemagick, ffmpeg&lt;/tt&gt;: Make pretty pictures/movies, download from camera.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;bittornado-gui&lt;/tt&gt;: For downloading legally shared stuff.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;gnucash&lt;/tt&gt;: Finance management.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;sgt-puzzles&lt;/tt&gt;: Fun management.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;uvccapture,luvcview&lt;/tt&gt;: Try out webcams. It works.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;gnumeric&lt;/tt&gt;: Spreadsheets are handy.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;xautomation&lt;/tt&gt;: So is forging X input. Yay cheating at flash games.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;mutt&lt;/tt&gt;: Ocassionaly you need a real mail reader.&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;&lt;tt&gt;festival festvox-kdlpc16k&lt;/tt&gt;: And sometimes somebody to read your mail to you.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;There were also a couple last configuration bits to be done:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;Set up new ssh keys/authorized keys file.&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;&lt;tt&gt;sudo update-alternatives –config editor&lt;/tt&gt;: Vim.&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Add a firewalling script.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;WTF is going on with my keyboard?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This one pissed me off; the mouse I've been using for years, a shiny logitech number that automatically turns the LED into a lower-power mode when not in use, doesn't work with this new kernel. It feels the need to reset the device when it does that, which locks up the bus for a few seconds. If you happen to have a key pressed on the keyboard when that happens, you get stuck keys (and text that looks liiiiiiiike thisssssss). Very annoying; this happens &lt;i&gt;every three seconds&lt;/i&gt; you're not using the mouse. I ended up switching to the dinky dell mouse that came with the computer, which doesn't have this behavior, but I miss my old one.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;You see this message filling dmesg logs every time it happens&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[12339.536428] usb 1-3: reset low speed USB device using ohci_hcd and address 3&lt;br /&gt;[12342.800250] usb 1-3: reset low speed USB device using ohci_hcd and address 3&lt;br /&gt;[12355.696772] usb 1-3: reset low speed USB device using ohci_hcd and address 3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A new linux box with new hardware is always wonderful and annoying. More wonderful than annoying these days, and Ubuntu is very cool. I'm a fan. It pretty much just worked at a basic level out of the box. After tweaking only two things are suboptimal: the video card's not fully supported (no super-fast rendering, but I'm not really gaming with it now, so I don't care that much) and I can't turn off the case LEDs. LibSMBios (dellLEDCtl, getSystemId) is two years out of date and doesn't support this model.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-4368653843825881396?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/4368653843825881396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=4368653843825881396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/4368653843825881396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/4368653843825881396'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2008/11/new-computer.html' title='New computer!'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-2601401362576381685</id><published>2007-05-29T11:49:00.000-07:00</published><updated>2007-05-29T12:17:52.271-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='configure chord sfslite error'/><title type='text'>configure and sfslite</title><content type='html'>OK, I wasted the better part of an hour figuring this one out. I'm building &lt;a href="http://www.okws.org/doku.php?id=sfslite"&gt;sfslite&lt;/a&gt;-0.8 for use with &lt;a href="http://pdos.csail.mit.edu/chord/"&gt;Chord&lt;/a&gt;. It requires the &lt;a href="http://gmplib.org/"&gt;GMP&lt;/a&gt; library. But configure reports the &lt;b&gt;wrong&lt;/b&gt; error when you're building the thing. To use with chord, it recommends you use these parameters to configure:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;../sfslite-0.8/configure --with-sfsmisc --with-dmalloc &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Which on my system (with GMP installed) gives:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;checking for GMP library... checking for gmp.h... yes&lt;br /&gt;checking for libgmp... configure: error: Could not find gmp library&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Adding --with-gmp=/usr/lib changes nothing. Google finds nothing. Checking GMP manually and it seems to be fine. Finally, after looking through the log files I find the real error: GMP is fine, but dmalloc's not installed! The GMP test depends on gmalloc, but dmalloc wasn't tested earlier.&lt;br /&gt;&lt;br /&gt;Removing the --with-dmalloc line fixes the problematic symptoms.&lt;br /&gt;&lt;br /&gt;The root problem problem is the ordering of dependencies in configure, though. Bah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-2601401362576381685?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/2601401362576381685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=2601401362576381685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/2601401362576381685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/2601401362576381685'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2007/05/configure-and-sfslite.html' title='configure and sfslite'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-7897497238912163422</id><published>2007-05-24T11:47:00.000-07:00</published><updated>2007-05-24T12:04:41.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='void check fraud'/><title type='text'>Hacking direct-debit checks</title><content type='html'>A little story, with two halves.&lt;br /&gt;&lt;br /&gt;First half: One of my roommates is somewhat disorganized. After holding a check of mine from June to mid-October last year before cashing it, we came to an agreement. He would have two weeks to cash checks written to him, or would eat the cost. I'd typically write "VOID AFTER (date)" and give him to the end of the month.&lt;br /&gt;&lt;br /&gt;Second half: &lt;a href="http://www.wamu.com/"&gt;WAMU&lt;/a&gt; lets certain companies do direct debits from checking accounts, regardless of whether the customer has authorized them to do so. For example, &lt;a href="http://www.sdge.com"&gt;SDG&amp;amp;E&lt;/a&gt; and &lt;a href="http://www.timewarnercable.com/"&gt;Time Warner&lt;/a&gt;. This has always irritated me, because I don't get the checks back and I can't even see the check image online. All I get is the number, and there's no paper trail.&lt;br /&gt;&lt;br /&gt;Putting it together: February 3rd I wrote the roommate a check for my portion of the cable and phone bill-- $22.45-- and wrote "VOID AFTER FEBRUARY 28th, 2007" in big letters up on the top. Sometime mid-March I wrote off the debt. May 21st a charge appears on my account: "TIME WARNER-SAND CHECK PYMT (number)" for $22.45.&lt;br /&gt;&lt;br /&gt;WTF?&lt;br /&gt;&lt;br /&gt;Well, it turns out the roommate had accidentally mixed up checks sent to the cable company-- and they cashed it! Not only was it &lt;b&gt;not made out to them&lt;/b&gt;, but it was &lt;b&gt;void&lt;/b&gt; three months prior! But the charge went through, because nobody at WAMU actually verified anything.&lt;br /&gt;&lt;br /&gt;Moral of the story: if you want perform invalid transactions, forge checks, or other illegal behavior, Time Warner is happy to launder your money.&lt;br /&gt;&lt;br /&gt;And the roommate's actually going to refund me the dough so I'm not going to go bitch and moan at the companies involved here-- although it would be interesting to try and track this all down.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-7897497238912163422?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/7897497238912163422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=7897497238912163422' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/7897497238912163422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/7897497238912163422'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2007/05/hacking-direct-debit-checks.html' title='Hacking direct-debit checks'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-116933369568237933</id><published>2007-01-20T14:29:00.000-08:00</published><updated>2007-01-20T14:54:55.696-08:00</updated><title type='text'>Subversion vs. CVS</title><content type='html'>I recently decided to take &lt;a href="http://subversion.tigris.org"&gt;subversion&lt;/a&gt; for a test drive. I know a couple folks who are using it and were pleased, and I was tired of some problems with CVS (e.g. having to hack the repository by hand for moves, stupidity with binary files, the pollution of my file namespace with "CVS" directories, ...).&lt;br /&gt;&lt;br /&gt;Short version of the result: steep but short learning curve, immediate vast improvement in productivity over CVS.&lt;br /&gt;&lt;br /&gt;Longer version:&lt;br /&gt;The "CVS to SVN" howtos don't tell you some of the info you really need to know.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Subversion makes an explicit distinction between data and metadata ("properties", in svn). CVS uses &lt;code&gt;.cvsignore&lt;/code&gt; files,&lt;br /&gt;SVN uses &lt;code&gt;svn:ignore&lt;/code&gt; properties which you have to set up yourself. This bit me in a weird way-- I had put some JPEG files into CVS but forgotten to set -kb so they became corrupted. I noticed this during my check of files after importing into subversion, and copied correct versions over the corrupt ones in my working subversion directory-- but committing did nothing. This is because subversion helpfully set up file properties for these files that marked them non-binary; these had to be removed using &lt;pre&gt;svn propdel eol-style&lt;br /&gt;svn propdel svn:keywords&lt;/pre&gt;before fixing it up with &lt;pre&gt;svn propset svn:mimetype application/octet-stream file.jpg&lt;/pre&gt;Then, it works correctly.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Subversion doesn't have modules. In CVS I had a separate directory in my CVS root for each project, and could check out and commit independently. Importing this into subversion makes one repository, and committing to one project bumps the revision number on the entire repository. There's nothing technically wrong with this, but it's confusing-- when you 'update' a project and the revision number goes up, yet nothing has changed. To get the same behavior as CVS, you need to create separate repositories for each independent project.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Subversion doesn't like man pages. Everything is via &lt;code&gt;[command] help&lt;/code&gt;. This is just annoying because you can't get all the info in one page to search through, you have to interact with the program's help system.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Subversion's repository can only be mucked around with through commands, or worst-case through a text file dump of the same. At some point, I guarantee you will have to hand edit a dump file. You will need to learn their syntax (which isn't so bad) but it's not like going in to CVS and doing file operations.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Subversion likes URLs for some commands. Even if you're running on localhost. And they're not too consistent on when to use one, and when another. This kills tab-completion on my shell. Annoying.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;But once you get beyond that stuff you find it's pretty slick. &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Moving files is possible-- restructuring your source code tree is easy rather than darn near impossible.&lt;br /&gt;&lt;li&gt;Branching is trivial.&lt;br /&gt;&lt;li&gt;Your checked-out directories are 'clean' (no CVS directories).&lt;br /&gt;&lt;li&gt;You can do lots of things disconnected due to the file caching mechanisms. &lt;br /&gt;&lt;li&gt;Atomic commits.&lt;br /&gt;&lt;li&gt;Vastly improved logging mechanisms, log-per-commit.&lt;br /&gt;&lt;li&gt;Status checking.&lt;br /&gt;&lt;li&gt;Knowledge that the tool has active developers and is only going to get better rather than die a slow painful dragged-out death.&lt;br /&gt;&lt;li&gt;"Coolness" factor.&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-116933369568237933?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/116933369568237933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=116933369568237933' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116933369568237933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116933369568237933'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2007/01/subversion-vs-cvs.html' title='Subversion vs. CVS'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-116666348720643986</id><published>2006-12-20T17:01:00.000-08:00</published><updated>2006-12-20T17:11:27.236-08:00</updated><title type='text'>Python MySQLdb, warnings, mix-ins</title><content type='html'>I've been working on a side project that uses MySQLdb. Database work. Munging imperfect data inevitably spawns warnings and I want to supress the obviously unimportant ones.&lt;br /&gt;&lt;br /&gt;Originally, one would call MySQLdb.connect with "cursorclass=MySQLdb.cursors.CursorNW" as an argument. (NW=No Warnings). That hasn't worked for years, though, so if you google and find that, you're SOL.&lt;br /&gt;&lt;br /&gt;The next approach was to derive a new cursor class using mix-ins; the default cursor has a "Warning" mix-in that we simply want to exclude:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import MySQLdb.cursors&lt;br /&gt;class EricsCursor(MySQLdb.cursors.CursorStoreResultMixIn,&lt;br /&gt;                MySQLdb.cursors.CursorTupleRowsMixIn,&lt;br /&gt;                MySQLdb.cursors.BaseCursor,&lt;br /&gt;                ):&lt;br /&gt;...&lt;br /&gt;db = MySQLdb.Connect( user=uname, passwd=pword, db=dbase, cursorclass=EricsCursor)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Unfortunately, that documentation is also out of date. The CursorWarningMixIn is no more and in fact the EricsCursor is exactly what the default cursor is, now. So that doesn't work either... still SOL.&lt;br /&gt;&lt;br /&gt;Finally, the &lt;b&gt;actual&lt;/b&gt;, &lt;b&gt;correct&lt;/b&gt; way to supress these messages is with the &lt;a href="http://docs.python.org/lib/module-warnings.html"&gt;stock python warning module&lt;/a&gt;. You can either turn off all warnings (which is probably a bad idea) or filter exactly those you know are incorrect out, as follows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import warnings&lt;br /&gt;Class Blah:&lt;br /&gt;    def supress_warnings():&lt;br /&gt;        # I get a warning on "DROP TABLE IF EXISTS" query,&lt;br /&gt;        # that the temp table (something_temp) is unknown.&lt;br /&gt;        warnings.filterwarnings("ignore", "Unknown table.*_temp")&lt;br /&gt;        return&lt;br /&gt;    supress_warnings = staticmethod(supress_warnings)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This actually works, and I can piecewise supress any warnings I know are irrelevant. I made it a static method to keep the code in the same module as the Database class, but I want to call it exactly once early in my program initialization routines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-116666348720643986?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/116666348720643986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=116666348720643986' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116666348720643986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116666348720643986'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/12/python-mysqldb-warnings-mix-ins.html' title='Python MySQLdb, warnings, mix-ins'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-116621055662146264</id><published>2006-12-15T11:13:00.000-08:00</published><updated>2006-12-15T11:22:36.633-08:00</updated><title type='text'>Dick's "The Man in the High Castle"</title><content type='html'>Having fallen into a rut of reading the same author's books, I found a couple of top-(whatever) lists for fiction, and I'm working my way through them at the library. I just finished Philip K. Dick's "The Man in the High Castle." It was OK, but I was rather unsatisfied with the ending. Two of the main characters just lose it, then the whole alternate 'real' reality thing seemed to come out of nowhere.&lt;br /&gt;&lt;br /&gt;I completely missed that Tagomi was supposed to be visiting our reality. I thought it was just being pointed out that Japanese control wasn't total.&lt;br /&gt;&lt;br /&gt;Did Juliana actually swallow a razorblade? If so, how was she able to just continue on with the story (eating, drinking, sleeping, etc) with no ensuing problems?&lt;br /&gt;&lt;br /&gt;Hawthorne's family's bland acceptance that Juliana had killed a man seemed too much to accept.&lt;br /&gt;&lt;br /&gt;All in all, an OK book. But mix in a little ignorance of German and history around WWII, that this was the first PKD book I've read, and the way it ended, I can't say I'd recommend it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-116621055662146264?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/116621055662146264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=116621055662146264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116621055662146264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/116621055662146264'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/12/dicks-man-in-high-castle.html' title='Dick&apos;s &quot;The Man in the High Castle&quot;'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-115637040534548630</id><published>2006-08-23T14:54:00.000-07:00</published><updated>2006-08-23T15:00:05.363-07:00</updated><title type='text'>Vim folds</title><content type='html'>I've been a long-time &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; user. To the extent that I have a customized calendar syntax and keybindings written for it, I often do filesystem management operations (rename a bunch of oddly-named files to unified format), and so forth within the editor. &lt;br /&gt;&lt;br /&gt;People accuse emacs of being the kitchen sink, but you can do pretty much the same stuff within Vim, it just starts up faster, has a different set of keybindings, and has that whole "Mode" thing going on.&lt;br /&gt;&lt;br /&gt;Regardless, I've started using &lt;a href="http://www.vim.org/htmldoc/fold.html"&gt;folds&lt;/a&gt; in Vim, and it's a really really useful feature. I've known about it for a long time, but never really saw the point. Now I do... it allows you to get rid of all the irrelevant context and focus on the meat of whatever you're doing. Makes paper writing much easier; you can fold each section and see the outline, or collapse everything except for the section you're working on and the abstract. Handy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-115637040534548630?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/115637040534548630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=115637040534548630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115637040534548630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115637040534548630'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/08/vim-folds.html' title='Vim folds'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-115620562618806046</id><published>2006-08-21T17:07:00.000-07:00</published><updated>2006-08-21T17:13:46.200-07:00</updated><title type='text'>CSE Building "rooted"</title><content type='html'>There have been a rash of thefts from the CSE building over the last several months. Laptops, computers, even our couch disappeared. Today, somebody stole an HP PDA. Not just any PDA-- the PDA that is used to program the building's electronic locks.&lt;br /&gt;&lt;br /&gt;In other words, (1) We can't change access controls to the building any more and (2) for all practical purposes, somebody now has complete access and control of the doors to the most `secure' parts of the building (e.g. machine/equipment rooms with millions of dollars of stuff in them).&lt;br /&gt;&lt;br /&gt;All this because they wanted to save a few bucks by not installing a centralized system, and because one admin didn't lock her door. This is the admin whose job it was to walk around to every one of the 40+ doors and recode them every single time any access changed (e.g. a person joined department, left department, etc).&lt;br /&gt;&lt;br /&gt;Brilliant.&lt;br /&gt;&lt;br /&gt;Whoever stole it certainly knew how to attack the weakest part of the security system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-115620562618806046?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/115620562618806046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=115620562618806046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115620562618806046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115620562618806046'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/08/cse-building-rooted.html' title='CSE Building &quot;rooted&quot;'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-115593244791125049</id><published>2006-08-18T13:16:00.000-07:00</published><updated>2006-08-18T13:20:47.920-07:00</updated><title type='text'>CVS's "Move away * it is in the way"</title><content type='html'>I used to have this problem with CVS: I could work in it, update it (cvs update) and so forth, but if I ever wanted to refresh the directories (cvs update -d) I'd get millions of "Move away [filename], it is in the way" messages.&lt;br /&gt;&lt;br /&gt;The problem was that I had a trailing slash on the end of the directory name in the CVS/Root files. e.g. This fails:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:ext:eric@localhost:/home/eric/cvs/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;But this works:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:ext:eric@localhost:/home/eric/cvs&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Bah. Yet another reason I need to investigate subversion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-115593244791125049?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/115593244791125049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=115593244791125049' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115593244791125049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/115593244791125049'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/08/cvss-move-away-it-is-in-way.html' title='CVS&apos;s &quot;Move away * it is in the way&quot;'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-114410412678669472</id><published>2006-04-03T15:35:00.000-07:00</published><updated>2006-04-03T15:42:06.803-07:00</updated><title type='text'>LaTeX compilation with 'rubber'</title><content type='html'>My main desktop died last week and I reinstalled from scratch (I had everything safe on a backup, not to worry). This gave me a chance to upgrade all my software, and things are working great now. I really like the x.org server and globally antialiased fonts, and other nice minor features.&lt;br /&gt;&lt;br /&gt;What has made my day, however, is the '&lt;a href="http://www.pps.jussieu.fr/~beffara/soft/rubber/"&gt;rubber&lt;/a&gt;' tool. I do a lot of writing, and most of it in tex. It's always been irritating to have to manage dependencies, makefiles, etc. all by hand. Now, I just have a makefile I can dump anywhere and it works like magic!&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;TARGET_FORMAT=ps&lt;br /&gt;#TARGET_FORMAT=pdf&lt;br /&gt;&lt;br /&gt;PROBLEMS:=${shell ls *.tex}&lt;br /&gt;&lt;br /&gt;all: figures ${PROBLEMS:.tex=.${TARGET_FORMAT}}&lt;br /&gt;    gvwatch ${PROBLEMS:.tex=.${TARGET_FORMAT}}&lt;br /&gt;&lt;br /&gt;%.pdf:%.tex&lt;br /&gt;    rubber --pdf $&lt;&lt;br /&gt;&lt;br /&gt;%.ps:%.tex&lt;br /&gt;    rubber --ps $&lt;&lt;br /&gt;&lt;br /&gt;figures:&lt;br /&gt;    $(MAKE) -C figures&lt;br /&gt;&lt;br /&gt;clean:&lt;br /&gt;    $(MAKE) -C figures clean&lt;br /&gt;    rm -f *.{aux,bbl,blg,dvi,log,ps,pdf} texput.log *~&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I love cool little tools that make my life easier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-114410412678669472?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/114410412678669472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=114410412678669472' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114410412678669472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114410412678669472'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/04/latex-compilation-with-rubber.html' title='LaTeX compilation with &apos;rubber&apos;'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-114047790806933290</id><published>2006-02-20T15:19:00.000-08:00</published><updated>2006-02-20T15:28:47.673-08:00</updated><title type='text'>More Firefox issues</title><content type='html'>I run multiple Firefox profiles concurrently. Using simultaneous profiles allows me to, for example, have both my work and personal web mail accounts open to the same site simultaneously. It also allows me to obscure my browsing habits slightly.&lt;br /&gt;&lt;br /&gt;This worked fine up until my upgrade to Firefox 1.5. Suddenly, even if you run firefox as 'firefox -ProfileManager', it won't start the profile manager. It will start up the last profile you used. This is stupid, broken behavior. But the firefox developers think it's ok, because "Profiles aren't for users, even for advanced users. They're for developers." Whatever.&lt;br /&gt;&lt;br /&gt;To get firefox to actually do what you tell it to (run the profile manager, so you can pick which profile to start up in the new firefox window), you have to set an environment variable "MOZ_NO_REMOTE=1". Do that, and it works again. It's possible that to someone nerdier than I, this makes perfect sense. But I doubt it.&lt;br /&gt;&lt;br /&gt;The fact that remote firefox interaction (read: AIM wants to open a webpage) interferes with profile management should not be the user's problem. One profile is already the default, open links in it and don't mess with this remote crap. If that profile's not open, start it. Voila.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-114047790806933290?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/114047790806933290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=114047790806933290' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114047790806933290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114047790806933290'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/02/more-firefox-issues.html' title='More Firefox issues'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-114038604562274846</id><published>2006-02-19T13:50:00.000-08:00</published><updated>2006-02-19T13:54:05.630-08:00</updated><title type='text'>Firefox CPU issues</title><content type='html'>For as long as I can remember, I've had this problem where firefox sucks up 100% of my CPU, freezes, locks, effectively dies but won't go away... and I have to kill it. I've always suspected it was Flash, but now I have some form of proof.&lt;br /&gt;&lt;br /&gt;Installing the &lt;a href="http://flashblock.mozdev.org/"&gt;Firefox flash blocker&lt;/a&gt; extension made the problem go away. Now on sites where I want to see the flash (e.g. flickr) I can just click on any flash I want to see. On other sites, it doesn't start it up.&lt;br /&gt;&lt;br /&gt;No more 100% CPU. No more locks. Eric is a happy man.&lt;br /&gt;&lt;br /&gt;Also, in the debugging process, I discovered that pressing 'Escape' will stop all animated GIFs on the current page.&lt;br /&gt;&lt;br /&gt;These two things combined mean that my browsing experience has dramatically improved in the last few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-114038604562274846?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/114038604562274846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=114038604562274846' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114038604562274846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/114038604562274846'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/02/firefox-cpu-issues.html' title='Firefox CPU issues'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-113952792192495101</id><published>2006-02-09T15:14:00.000-08:00</published><updated>2006-02-09T15:32:01.936-08:00</updated><title type='text'>AC_CONFIG_HEADERS vs AM_CONFIG_HEADERS</title><content type='html'>I'm using &lt;a href="http://www.gnu.org/software/autoconf"&gt;autoconf&lt;/a&gt; and &lt;a href="http://www.gnu.org/software/automake"&gt;automake&lt;/a&gt; to deal with building issues in my software, CEP. The move was not by choice, but by necessity for interaction with other tools. It has been nothing but a pain.&lt;br /&gt;&lt;br /&gt;Autoconf and automake have a config file which is built out of macros. Two of those macros are AC_CONFIG_HEADERS and AM_CONFIG_HEADERS. Now, here's the fun part. To use autoconf, you need to use the former. To use automake, you need to use the later. Either tool will barf processing the config file if the other is present (with error messages like `automake requires `AM_CONFIG_HEADER', not `AC_CONFIG_HEADER', which tell you how to fix the problem but not the root cause). This means that you'd need to edit the config file every time you built the software. Unfortunately, even that workaround eventually failed: the "configure" script installed an automatic dependency check into the makefile, which would try to do an automake and autoconf run to verify changes (read: any time CVS touched files). So the software would not build. Google found zero help for this problem.&lt;br /&gt;&lt;br /&gt;Turns out, it was due to a version inconsistency between autoconf and automake. Debian keeps multiple simultaneous versions of these tools around because they have &lt;b&gt;different&lt;/b&gt; behavior and certain code will only work with one version. My problem was that while I had installed the&lt;br /&gt;newer version (automake1.9) it hadn't replaced version 1.4, and nothing had changed. As soon as I got rid of automake version 1.4, suddenly everything worked.&lt;br /&gt;&lt;br /&gt;Lessons learned: (1) when google can't find a solution, it's something very strange. (2) You should blog it so people can find it in google later (3) Automake, autoconf, and debian are really annoying sometimes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-113952792192495101?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/113952792192495101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=113952792192495101' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/113952792192495101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/113952792192495101'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/02/acconfigheaders-vs-amconfigheaders.html' title='AC_CONFIG_HEADERS vs AM_CONFIG_HEADERS'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22215170.post-113952124561947066</id><published>2006-02-09T13:38:00.000-08:00</published><updated>2006-02-09T13:40:45.626-08:00</updated><title type='text'>Test post</title><content type='html'>This is a test post.&lt;br /&gt;&lt;br /&gt;I used to use livejournal as more of an online diary, but I'm looking to move to a more professional site that I'm willing to let search engines index.&lt;br /&gt;&lt;br /&gt;Hopefully I'll be able to post some useful observations here. Probably mostly computer-related stuff that I want to publish.&lt;br /&gt;&lt;br /&gt;We'll see, I guess.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22215170-113952124561947066?l=momentarypause.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://momentarypause.blogspot.com/feeds/113952124561947066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22215170&amp;postID=113952124561947066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/113952124561947066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22215170/posts/default/113952124561947066'/><link rel='alternate' type='text/html' href='http://momentarypause.blogspot.com/2006/02/test-post.html' title='Test post'/><author><name>Eric</name><uri>http://www.blogger.com/profile/18061149609944376816</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://csag.ucsd.edu/individual/ehw/img/sunshine_sm.jpg'/></author><thr:total>0</thr:total></entry></feed>
