<?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-17022101</id><updated>2011-08-16T03:19:26.725-04:00</updated><category term='IMAP IDLE'/><title type='text'>Five Pounds of Flax</title><subtitle type='html'>Every culture has a burrito.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fivepoundsflax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default?start-index=101&amp;max-results=100'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>107</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17022101.post-3239746549624653351</id><published>2008-12-30T09:36:00.001-05:00</published><updated>2008-12-30T09:40:00.901-05:00</updated><title type='text'>Netgear WNR854T access point: comes with a bad power supply</title><content type='html'>If you intermittently lose your wireless connection, and you have a netgear rangemax access point, try swapping out the power supply. Apparently the one that comes with it is bad and causes the access point to reboot spontaneously. Since swapping power supplies, I've not had any problems with mine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3239746549624653351?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3239746549624653351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3239746549624653351'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2008/12/netgear-wnr854t-access-point-comes-with.html' title='Netgear WNR854T access point: comes with a bad power supply'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-2400964678005413264</id><published>2008-12-05T07:04:00.002-05:00</published><updated>2008-12-05T07:16:52.403-05:00</updated><title type='text'>Time Machine, ZFS and iSCSI</title><content type='html'>I have an OpenSolaris file server at home.  I also have several Macs, which include Time Machine for backup services. I would like to have my household Macs back themselves up to the network server, but it's not easy to accomplish. Time Machine uses a goofy hard-link-farm method for making backups, and requires an HFS filesystem. It doesn't support network backup -- reliably. The SparseBundle format, which is used to create an HFS disk image on a remote file server, is prone to failure when the network disconnects, making future backups and restores fail until the sparsebundle is repaired (manually).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apple is incorporating ZFS in to Snow Leopard, its next version of MacOSX. This would allow a tremendous improvement in backup service in OSX, because ZFS can make snapshots of filesystems and ship them over the network reliably. Simply having the mac make a snapshotof its local filesystem and send it to a zfs fileserver (running OpenSolaris, FreeBSD, OSX Server, Linux with fuse) would result in a reliable point-in-time backup.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Until we're all in ZFS nerdvana, I came up with another way to do backups to a network file server using Time Machine. Using Time Machine is convenient for users (my family in this case) because it has a nice, easy-to-use UI. One of ZFS' features on OpenSolaris is that it will export iSCSI targets. Using the free globalSAN iSCSI initiator for OSX, I mount an iSCSI volume from the fileserver and format it with HFS. Time Machine sees it as a regular local disk and makes backups to it as per normal. Time Machine works as expected. To prevent users (my family) from using the network backup volume as a regular disk, I hide it using SetFile:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;$ SetFile -a V /Volumes/network-backup&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Time Machine can still see it, but it's invisible in the Finder.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wouldn't recommend this for computers connected via wifi, but it works very well for the iMac connected over ethernet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-2400964678005413264?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2400964678005413264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2400964678005413264'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2008/12/time-machine-zfs-and-iscsi.html' title='Time Machine, ZFS and iSCSI'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-7683225874748493613</id><published>2008-11-19T20:08:00.003-05:00</published><updated>2008-11-19T20:13:51.886-05:00</updated><title type='text'>sparsebundle won't mount, "resource temporarily unavailable"</title><content type='html'>&lt;div&gt;If you're having trouble getting a sparsebundle disk image to cooperate with hdiutil, disk utility or just mounting via the finder, it's probably got an incomplete "band" due to a crash or inconvenient network disconnection (in the case of sparsebundles mounted from a network volume).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;To fix it, delete (or more safely, move) the last "band" in the bundle (see thing.sparsebundle/bands). It should be the last one, sorted alphabetically by name, and probably the smallest.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a sparsebundle with World of Warcraft in it, stored on an Opensolaris (yay, zfs) machine and accessed via NFS. I took the laptop to work one day and forgot to unmount the sparsebundle. When I got back home, it wouldn't remount, saying "resource temporarily unavailable." Grr. Removing the last band fixed it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-7683225874748493613?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/7683225874748493613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/7683225874748493613'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2008/11/sparsebundle-wont-mount-resource.html' title='sparsebundle won&apos;t mount, &quot;resource temporarily unavailable&quot;'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-755164295358288368</id><published>2008-04-16T07:48:00.002-04:00</published><updated>2008-04-16T07:52:30.766-04:00</updated><title type='text'>Seasteading</title><content type='html'>The &lt;a href="http://www.seasteading.org/"&gt;Seasteading Institute&lt;/a&gt; has opened its doors.&lt;br /&gt;&lt;blockquote&gt;Mountain View, CA, April 15th, 2008. The &lt;span class="nfakPe"&gt;Seasteading&lt;/span&gt; Institute today announced that it has been established in order to establish permanent, autonomous ocean communities to enable experimentation and innovation with diverse social, political, and legal systems.  It will continue and expand on the work of Patri Friedman and Wayne Gramlich, authors of "&lt;a href="http://seastead.org/commented/paper/index.html" target="_blank"&gt;&lt;i&gt;&lt;span class="nfakPe"&gt;Seasteading&lt;/span&gt;: A Practical Guide to Homesteading the High Seas&lt;/i&gt;&lt;/a&gt;".&lt;/blockquote&gt;Homesteading on the open ocean. Sounds exciting, but I would be afraid of storms and pirates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-755164295358288368?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/755164295358288368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/755164295358288368'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2008/04/seasteading.html' title='Seasteading'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3165293894773394082</id><published>2007-12-29T12:03:00.000-05:00</published><updated>2007-12-29T12:22:02.772-05:00</updated><title type='text'>Dr. Ron Paul doesn't accept evolution? Boo!</title><content type='html'>Apparently Dr. Ron Paul doesn't accept the theory of evolution. Boo.&lt;br /&gt;&lt;a href="http://www.reason.tv/roughcut/show/215.html"&gt;http://www.reason.tv/roughcut/show/215.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is not as bad as it would be for other candidates (Huckabee, for example), as Dr Paul is unlikely to establish any federal "faith-based" agencies, or dictate via the Department of Education how science should be taught in classrooms, etc. However, it's unfortunate that he turns out to be anti-intellectual regarding science.&lt;br /&gt;&lt;br /&gt;It's true, as he says, that it's not the case that "anybody has absolute proof", however, science isn't based on absolute proof. That's a bad standard. Science is based on the best theory available at the time. &lt;a href="http://en.wikipedia.org/wiki/Falsifiability"&gt;An idea is considered  "scientific" only if it is possible to disprove it&lt;/a&gt;. Science as a discipline seeks better and better explanations for physical phenomena over time, revising and discarding theories as necessary. A religion already has a set explanation of the universe and revises or discards facts to fit that explanation. Truly, if the universe is God's creation, then studying that creation scientifically is a way to better know "the mind of God" and poses no threat to religion. It may pose a threat to particular dogmas or political power structures, but not to religion itself.&lt;br /&gt;&lt;br /&gt;It would have been nice for Dr. Paul to have given an explanation like the above, perhaps even mentioning that &lt;a href="http://www.law.umkc.edu/faculty/projects/ftrials/conlaw/vaticanview.html"&gt;the Vatican recognizes evolution&lt;/a&gt;, rather than saying "I don't accept it" and giving a muddled endorsement of Creationism.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3165293894773394082?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3165293894773394082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3165293894773394082'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/12/dr-ron-paul-doesnt-accept-evolution-boo.html' title='Dr. Ron Paul doesn&apos;t accept evolution? Boo!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4529153185941555655</id><published>2007-11-25T10:40:00.001-05:00</published><updated>2008-12-10T23:36:46.629-05:00</updated><title type='text'>IMAP-IDLE version 1.07</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_k2iQ-GC3DD0/R0mX13qrEXI/AAAAAAAAAFM/o6JJlKVR-nw/s1600-h/slice-of-bread.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_k2iQ-GC3DD0/R0mX13qrEXI/AAAAAAAAAFM/o6JJlKVR-nw/s320/slice-of-bread.png" alt="" id="BLOGGER_PHOTO_ID_5136803801724555634" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.rothwell.us/imapidle/index.html"&gt;Version 1.07 of the IMAP-IDLE &lt;/a&gt;plugin for Tiger's Mail.app has been released.&lt;br /&gt;&lt;br /&gt;This version asks Mail to fetch (not sync), due to user reports that sync caused excessive server load. I've received a request to optionally enable "sync", but have not (yet) implemented that feature. It also fixes a memory management issue that caused occasional crashes (unfortunately, not on my test machines --  but thanks for the crash reports!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4529153185941555655?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4529153185941555655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4529153185941555655'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/11/imap-idle-version-107.html' title='IMAP-IDLE version 1.07'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_k2iQ-GC3DD0/R0mX13qrEXI/AAAAAAAAAFM/o6JJlKVR-nw/s72-c/slice-of-bread.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-5195476589401929188</id><published>2007-11-23T21:25:00.001-05:00</published><updated>2007-11-23T21:25:50.829-05:00</updated><title type='text'>Windows mobile 5 "smartphone" is the worst phone software ever made</title><content type='html'>TSIA.&lt;br /&gt;&lt;br /&gt;p.s. "Invalid Message Recipients".&lt;br /&gt;&lt;br /&gt;POS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-5195476589401929188?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5195476589401929188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5195476589401929188'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/11/windows-mobile-5-smartphone-is-worst.html' title='Windows mobile 5 &quot;smartphone&quot; is the worst phone software ever made'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6733870492193729143</id><published>2007-11-17T20:26:00.001-05:00</published><updated>2008-12-10T23:36:46.781-05:00</updated><title type='text'>Why does infoworld need this?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Rz-U6XqrEWI/AAAAAAAAAEs/KpnoS7aKptI/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Rz-U6XqrEWI/AAAAAAAAAEs/KpnoS7aKptI/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5133985830731977058" border="0" /&gt;&lt;/a&gt;Infoworld's website is requesting "enhanced abilities that are UNSAFE".&lt;br /&gt;&lt;br /&gt;Uh, no.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6733870492193729143?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6733870492193729143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6733870492193729143'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/11/why-does-infoworld-need-this.html' title='Why does infoworld need this?'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_k2iQ-GC3DD0/Rz-U6XqrEWI/AAAAAAAAAEs/KpnoS7aKptI/s72-c/Picture+1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-456740349346869628</id><published>2007-11-17T18:39:00.001-05:00</published><updated>2008-12-10T23:36:47.124-05:00</updated><title type='text'>Boxtopia.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rz97u3qrEVI/AAAAAAAAAEk/EjvZ6VYQ3SI/s1600-h/IMG_4369.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rz97u3qrEVI/AAAAAAAAAEk/EjvZ6VYQ3SI/s320/IMG_4369.jpg" alt="" id="BLOGGER_PHOTO_ID_5133958145372787026" border="0" /&gt;&lt;/a&gt;Yesterday, the moving van arrived at my new house in Lenoir, NC. I recently got a job with Google (yay!), and I'll be working in the datacenter there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-456740349346869628?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/456740349346869628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/456740349346869628'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/11/boxtopia.html' title='Boxtopia.'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rz97u3qrEVI/AAAAAAAAAEk/EjvZ6VYQ3SI/s72-c/IMG_4369.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6421134618353308403</id><published>2007-11-14T21:00:00.000-05:00</published><updated>2007-11-14T21:02:50.818-05:00</updated><title type='text'>John Scalzi's review of the Creation Museum is quite entertaining.</title><content type='html'>&lt;a href="http://scalzi.com"&gt;John Scalzi&lt;/a&gt;'s &lt;a href="http://scalzi.com/whatever/?p=121"&gt;review of the Creation Museum&lt;/a&gt; is quite entertaining.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Here’s how to understand the Creation Museum:&lt;/strong&gt;&lt;/p&gt; Imagine, if you will, a load of horseshit. And we’re not talking just your average load of horseshit; no, we’re talking colossal load of horseshit.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6421134618353308403?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6421134618353308403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6421134618353308403'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/11/john-scalzis-review-of-creation-museum.html' title='John Scalzi&apos;s review of the Creation Museum is quite entertaining.'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-121228295548979655</id><published>2007-09-12T22:09:00.000-04:00</published><updated>2007-09-12T22:11:18.800-04:00</updated><title type='text'>Easy image and movie capture</title><content type='html'>&lt;a href="http://www.jingproject.com/"&gt;Jing&lt;/a&gt; makes screenshots and screen movies very easy to make. It exports screen movies to SWF (flash video), ready for hosting on a website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-121228295548979655?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/121228295548979655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/121228295548979655'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/easy-image-and-movie-capture.html' title='Easy image and movie capture'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-8517832541199629941</id><published>2007-09-11T04:38:00.000-04:00</published><updated>2007-09-11T04:43:30.716-04:00</updated><title type='text'>It's Hillary's turn next, then Jeb's</title><content type='html'>So you know &lt;a href="http://www.villagevoice.com/news/9901,hentoff,3231,6.html"&gt;who&lt;/a&gt; to vote for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-8517832541199629941?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8517832541199629941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8517832541199629941'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/its-hillarys-turn-next-then-jebs.html' title='It&apos;s Hillary&apos;s turn next, then Jeb&apos;s'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-2380074601175768974</id><published>2007-09-07T12:49:00.000-04:00</published><updated>2008-12-10T23:36:47.358-05:00</updated><title type='text'>The iCache -- a pocket credit card reader/writer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/RuGCOOd9vWI/AAAAAAAAAD8/xhx0Kb8c4p0/s1600-h/icache.03.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/RuGCOOd9vWI/AAAAAAAAAD8/xhx0Kb8c4p0/s320/icache.03.jpg" alt="" id="BLOGGER_PHOTO_ID_5107506633328409954" border="0" /&gt;&lt;/a&gt;A company named &lt;a href="http://www.icache.com/"&gt;iCache&lt;/a&gt; is developing an &lt;a href="http://money.cnn.com/2007/08/23/technology/one_credit_card.biz2/index.htm?postversion=2007082407"&gt;eponymously named product&lt;/a&gt; to store your credit cards. It has a magstripe reader/writer in it, which it uses to produce single-use credit cards.&lt;br /&gt;&lt;br /&gt;It's an obvious idea, in retrospect, and certainly better than carrying a Costanza-wallet of various cards around. Instead, you just need the iCache and one magstripe card, which gets reprogrammed for each use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-2380074601175768974?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2380074601175768974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2380074601175768974'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/icache-pocket-credit-card-readerwriter.html' title='The iCache -- a pocket credit card reader/writer'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/RuGCOOd9vWI/AAAAAAAAAD8/xhx0Kb8c4p0/s72-c/icache.03.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3538959004052474240</id><published>2007-09-06T07:12:00.000-04:00</published><updated>2007-09-06T07:13:50.801-04:00</updated><title type='text'>IMAP-IDLE 1.07-PRE-5</title><content type='html'>&lt;a href="http://www.rothwell.us/imapidle/index.html"&gt;Release 1.07-PRE-5 of IMAP-IDLE&lt;/a&gt;, a plugin that provides "push-mail" support for Apple's email client,  is available for download.&lt;br /&gt;&lt;br /&gt;This version asks Mail to sync &lt;i&gt;and&lt;/i&gt; fetch, due to user reports that just a sync doesn't always catch new mail. It also fixes a memory management issue that caused occasional crashes (unfortunately, not on my test machines -- but thanks for the crash reports!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3538959004052474240?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3538959004052474240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3538959004052474240'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/imap-idle-107-pre-5.html' title='IMAP-IDLE 1.07-PRE-5'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-923414755051118783</id><published>2007-09-04T14:15:00.000-04:00</published><updated>2008-12-10T23:36:47.771-05:00</updated><title type='text'>An interesting community</title><content type='html'>&lt;a href="http://www.bradburnvillage.com/about/index.php"&gt;Bradburn Village &lt;/a&gt;in Westminster, Colorado looks like a great place to live.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Every home in Bradburn includes a large front porch—not just a token 2 foot concrete stoop.  Garages are all in the back, and homes here also have very small setbacks (the distance between the house and the sidewalk, or front yard), meaning the porches sit right above the sidewalks.  This means people sitting on their front porches easily see neighbors walking by, and they stop to talk, creating a community bond that is so elusive in most traditional suburban neighborhoods. &lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rt2hi-d9vVI/AAAAAAAAAD0/EYt0ALxIZT4/s1600-h/large_Bradburn_Porch_Party.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rt2hi-d9vVI/AAAAAAAAAD0/EYt0ALxIZT4/s320/large_Bradburn_Porch_Party.jpg" alt="" id="BLOGGER_PHOTO_ID_5106415174764313938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;(from &lt;a href="http://www.fermentarium.com/content/view/52/59/"&gt;Fermentarium&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-923414755051118783?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/923414755051118783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/923414755051118783'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/interesting-community.html' title='An interesting community'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rt2hi-d9vVI/AAAAAAAAAD0/EYt0ALxIZT4/s72-c/large_Bradburn_Porch_Party.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6453699175705487100</id><published>2007-09-04T12:47:00.001-04:00</published><updated>2007-09-04T12:47:48.682-04:00</updated><title type='text'>Hi Ryan</title><content type='html'>Woof. Woof.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6453699175705487100?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6453699175705487100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6453699175705487100'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/hi-ryan.html' title='Hi Ryan'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-2257076753400911268</id><published>2007-09-03T17:01:00.000-04:00</published><updated>2007-09-03T22:17:10.039-04:00</updated><title type='text'>Theresa's "dark night of the soul"</title><content type='html'>&lt;div class="entry-body"&gt;                               &lt;p&gt;&lt;a href="http://newsweek.washingtonpost.com/onfaith/daniel_c_dennett/2007/08/the_agony_of_misplaced_ecstasy.html"&gt;Daniel Dennett wrote down his thoughts&lt;/a&gt; on &lt;a href="http://www.spectator.org/dsp_article.asp?art_id=11939"&gt;Mother Theresa's doubts&lt;/a&gt; -- her "dark night of the soul".&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;blockquote&gt;                                                                                   &lt;div id="more" class="entry-more"&gt;                               &lt;p&gt;(excerpt) Mother Teresa’s agonies of doubt are surely not all that unusual. [...] I get mail all the time from religious leaders who admit to me in private that they do not believe in God but think that the best way to continue their lives is to swallow hard and get on with their ministries, concentrating on bringing more good than evil into the lives of their parishioners and those for whom their churches provide care. [...] How many millions of priests, pastors, rabbis, imams, nuns and monks around the world are living lives of similar duplicity? Wouldn’t it be wonderful if the outing of Mother Teresa inspired a few thousand of them to come out of the closet and acknowledge their atheism! Then it might start being obvious not only that faith in God is not a requirement for morality, but that the loss of faith in God often goads people into living more strenuously helpful lives, as seems to be the case with Mother Teresa. Of course, such honesty carries a price: you have to change your mission in a way Mother Teresa never did. She could have devoted herself more single-mindedly to helping the poor instead of trying to convert them. Perhaps it was her guilt at being unable to convert herself that drove her to work so hard to convert others to take her place among the believers.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;That reminds me of &lt;a href="http://fivepoundsflax.blogspot.com/2005/11/there-is-no-god.html"&gt;Penn Gillette's "This I Believe" segment on NPR&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;This "This I Believe" thing seems to demand something more personal, some leap of faith that helps one see life's big picture, some rules to live by. So, I'm saying, "This I believe: I believe there is no God." Having taken that step, it informs every moment of my life.&lt;br /&gt;&lt;br /&gt;Believing there's no God means I can't really be forgiven except by kindness and faulty memories. That's good; it makes me want to be more thoughtful. I have to try to treat people right the first time around.&lt;/blockquote&gt;&lt;br /&gt;&lt;div id="more" class="entry-more"&gt;&lt;p&gt;&lt;/p&gt;                            &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-2257076753400911268?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2257076753400911268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2257076753400911268'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/daniel-dennett-wrote-down-his-thoughts.html' title='Theresa&apos;s &quot;dark night of the soul&quot;'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-8042114445759703923</id><published>2007-09-02T18:41:00.000-04:00</published><updated>2007-09-03T17:10:39.777-04:00</updated><title type='text'>"Goodbye, cruel Word" -- Amen!</title><content type='html'>Steven Poole says, "&lt;a href="http://stevenpoole.net/blog/goodbye-cruel-word/"&gt;Goodbye, cruel Word&lt;/a&gt;". Creating text on a computer doesn't have to be an exercise in frustration. I agree with his assessment that Word 5.1 for the Mac was the last good version of Word. Since then, it's become more and more unusable, and less and less fun to use.  I should be able to use tools to do work, without having to be too aware of the tools themselves. Word seems to need attention, and believe me, I'd love to roll up a newspaper and give Word a few whacks every time I use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-8042114445759703923?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8042114445759703923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8042114445759703923'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/09/amen.html' title='&quot;Goodbye, cruel Word&quot; -- Amen!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6928046317451795617</id><published>2007-08-31T19:29:00.000-04:00</published><updated>2007-09-01T14:11:42.563-04:00</updated><title type='text'>IMAP-IDLE 1.07-PRE-4</title><content type='html'>&lt;a href="http://www.rothwell.us/imapidle/index.html"&gt;Release 1.07-PRE-4 of IMAP-IDLE&lt;/a&gt;, a plugin that provides "push-mail" support for Apple's email client,  is available for download.&lt;br /&gt;&lt;br /&gt;This version asks Mail to sync, rather than simply check for new mail, and listens to additional types of notifications from the IMAP server. The result is that your IMAP mailbox stays in sync with the server better. This version also determines IDLE capability by trying to use it, rather than by depending on the server reporting IDLE support in its CAPABILITY response (as it turns out, some servers don't have accurate CAPABILITY responses). It supports SSL and clear-text connections (for security reasons, please avoid non-encrypted IMAP sessions).&lt;br /&gt;&lt;br /&gt;It does not support TLS, Kerberos or NTLM. Be aware that Pair.com's IMAP servers advertise IDLE support and even accept IDLE mode requests, but never actually send notifications, making IMAP-IDLE useless.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE&lt;/span&gt;&lt;br /&gt;I uploaded a new build, which reports itself as "IMAP-IDLE Version 1.07-PRE-4b (2007-09-01)" in the console log. If you downloaded your version before 2:10pm Eastern time on Sept 1, 2007 -- download it again. You can also quit and re-launch Mail, and look for "IMAP-IDLE Version 1.07-PRE-4b (2007-09-01)" in the console log, to be sure you've got the right version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6928046317451795617?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6928046317451795617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6928046317451795617'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/08/imap-idle-107-pre-4.html' title='IMAP-IDLE 1.07-PRE-4'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-5953624629691394995</id><published>2007-08-18T22:25:00.000-04:00</published><updated>2007-08-18T22:33:55.803-04:00</updated><title type='text'>IMAP-IDLE plugin and Pair.com mail servers</title><content type='html'>I think that Pair's servers advertise and accept IDLE mode, but don't actually send any notifications. I added extra debug output (see below), and it's obvious that pair's mail server is accepting IDLE mode. You can see "+ Waiting for DONE", which is the IMAP server sending me a continuation after I requested IDLE mode. You can then see periodic "heartbeat" messages from the server ("* OK Timeout in X minutes"), indicating that the server is still connected and in IDLE mode.&lt;br /&gt;&lt;br /&gt;However, no messages are ever received from the server regarding availability of new messages. As a control, I also tried using Thunderbird with the Pair account, as it supports IDLE natively, rather than via a plugin. It also does not see new messages -- no IDLE-mode notifications are received.&lt;br /&gt;&lt;br /&gt;It looks like pair's IMAP Servers are just dysfunctional, as far as IDLE mode is concerned.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:78%;"  &gt;2007-08-18 22:02:44.663 Mail[2165] [* OK [CAPABILITY IMAP4REV1 LITERAL+ SASL-IR LOGIN-REFERRALS AUTH=PLAIN AUTH=LOGIN] XXXX.pair.com IMAP4rev1 2004.357-p2k server ready at Sat, 18 Aug 2007 22:02:48 -0400 (EDT)]&lt;br /&gt;2007-08-18 22:02:45.016 Mail[2165] [1692ea42 OK [READ-ONLY] EXAMINE completed]&lt;br /&gt;2007-08-18 22:02:45.086 Mail[2165] [+ Waiting for DONE]&lt;br /&gt;2007-08-18 22:02:45.086 Mail[2165] Account 'PAIR' has accepted IDLE mode&lt;br /&gt;2007-08-18 22:03:45.086 Mail[2165] [* OK Timeout in 30 minutes]&lt;br /&gt;2007-08-18 22:05:45.112 Mail[2165] [* OK Timeout in 28 minutes]&lt;br /&gt;2007-08-18 22:07:45.111 Mail[2165] [* OK Timeout in 26 minutes]&lt;br /&gt;2007-08-18 22:09:45.111 Mail[2165] [* OK Timeout in 24 minutes]&lt;br /&gt;2007-08-18 22:11:45.274 Mail[2165] [* OK Timeout in 22 minutes]&lt;br /&gt;2007-08-18 22:13:45.274 Mail[2165] [* OK Timeout in 20 minutes]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-5953624629691394995?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5953624629691394995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5953624629691394995'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/08/imap-idle-plugin-and-paircom-mail.html' title='IMAP-IDLE plugin and Pair.com mail servers'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4998766094413282485</id><published>2007-07-04T13:43:00.001-04:00</published><updated>2008-12-10T23:36:48.312-05:00</updated><title type='text'>I just patched my AppleTV via USB boot</title><content type='html'>I  just booted my AppleTV from a USB flash drive and altered its configuration. I followed the instructions on the &lt;a href="http://wiki.awkwardtv.org/"&gt;AwkwardTV wiki.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/RovetALitiI/AAAAAAAAADs/bMxCausUH5E/s1600-h/IMG_2107_3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/RovetALitiI/AAAAAAAAADs/bMxCausUH5E/s200/IMG_2107_3.jpg" alt="" id="BLOGGER_PHOTO_ID_5083401469141628450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Under the AwkwardTV menu item, there's several options, including "install plugins" and "enable SSH server". I did both.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RoveYwLithI/AAAAAAAAADk/rTpeh-mLNhA/s1600-h/IMG_2108_2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RoveYwLithI/AAAAAAAAADk/rTpeh-mLNhA/s200/IMG_2108_2.jpg" alt="" id="BLOGGER_PHOTO_ID_5083401121249277458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;One of the plugins allows the "Backrow" media player to read files from the filesystem, rather than the iTunes database. That and Perian combined are very useful.&lt;br /&gt;&lt;br /&gt;To ensure the NFS mount worked on boot, I &lt;span style="font-family:courier new;"&gt;ssh&lt;/span&gt;ed in, copied &lt;span style="font-family:courier new;"&gt;mount_nfs&lt;/span&gt; from my Macbook Pro into &lt;span style="font-family:courier new;"&gt;/sbin&lt;/span&gt; on the AppleTV, and created an &lt;span style="font-family:courier new;"&gt;/etc/rc.local&lt;/span&gt; (as follows)&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;#!/bin/sh&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;/sbin/mount_nfs -a 8 -obg,rsize=8192,ro SERVER_IP:/export/movies /Users/frontrow/Movies/NAS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://wiki.awkwardtv.org/wiki/NitoTV"&gt;NitoTV plugin &lt;/a&gt;advertises that it can play VIDEO_TS folders (DVDs), complete with menus. However, it doesn't work very well. I got it to play &lt;span style="font-style: italic;"&gt;Lilo and Stitch&lt;/span&gt; from the NFS server, but the menu didn't play right; it started in the wrong place, and the overlay graphics were not drawn correctly. NitoTV wouldn't play anything but the sound on subsequent attempts. I would be nice to be able to play VIDEO_TS folders directly, without transcoding to MP4, as it would save time and ensure the highest possible quality (although at the cost of disk space).&lt;br /&gt;&lt;br /&gt;I intend to keep transcoding things to MP4 with handbrake, tagging them with Atomic Parsley, and using iTunes to serve them. The advantages of this approach are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Chapter markers are usable from the AppleTV&lt;/li&gt;&lt;li&gt;Metadata in the MP4s is viewable in the AppleTV interface (box art, plot, actors, etc).&lt;/li&gt;&lt;/ul&gt;Still, the AwkwardTV plugins provide a way to deal with "legacy media" -- AVIs of TV shows, for example -- so they are  useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4998766094413282485?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4998766094413282485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4998766094413282485'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/07/i-just-patched-my-appletv-via-usb-boot.html' title='I just patched my AppleTV via USB boot'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/RovetALitiI/AAAAAAAAADs/bMxCausUH5E/s72-c/IMG_2107_3.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-9073973565781998958</id><published>2007-06-24T18:06:00.000-04:00</published><updated>2008-12-10T23:36:48.800-05:00</updated><title type='text'>TeeVee: Goodbye Stargate, Hello HEX</title><content type='html'>&lt;a href="http://stargate.mgm.com/"&gt;Stargate SG-1&lt;/a&gt; aired its final episode this past Friday. I'll miss it -- it was a fun show. It peaked a few seasons ago (wormhole extreme! -- I liked how the show never  took itself too seriously), but was still enjoyable.  The Stargate concept -- past civilizations, the gate network, aliens playing the roles of gods (they cleverly managed to defeat the Goa'uld without ever meeting Yahweh, part of the reason they lasted 10 seasons, I suppose) -- gave the writers a very interesting way to fictionalize myths and history into entertaining science fiction. And the thrum that the Daedalus made in the vacuum of space always provided a good a chuckle.  Jack O'Neill and Daniel Jackson were the core of the show's personality.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7s98P8_UI/AAAAAAAAADM/e1P2z3CPHdo/s1600-h/oneill.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7s98P8_UI/AAAAAAAAADM/e1P2z3CPHdo/s200/oneill.jpg" alt="" id="BLOGGER_PHOTO_ID_5079757978609712450" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;blockquote&gt;&lt;strong&gt;General Hammond&lt;/strong&gt;: You ever think of writing a book about your military exploits?&lt;br /&gt; &lt;strong&gt;Jack O'Neill&lt;/strong&gt;: I've thought about it. But then I'd have to shoot anybody that actually read it. &lt;em&gt;&lt;/em&gt; That's a joke,            sir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Martin &lt;/strong&gt;: A top-secret government program involving instantaneous travel to other solar systems by means of a            device known as a stargate.&lt;br /&gt; &lt;strong&gt;O'Neill&lt;/strong&gt;: Sounds like a good idea for a TV show. If you're into that sort of thing.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Jackson&lt;/strong&gt;: This tastes like chicken.&lt;br /&gt;     &lt;strong&gt;Carter&lt;/strong&gt;: So what's wrong with it?&lt;br /&gt;     &lt;strong&gt;Jackson&lt;/strong&gt;: It's macaroni and cheese.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Kershaw&lt;/strong&gt;: I feel better just knowing there's an archaeologist watching our backs.&lt;br /&gt;    &lt;strong&gt;Jackson&lt;/strong&gt;: Yeah, which end do the bullets go in again?&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Hopefully the Stargate movies will be good.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lately, I've been watching &lt;a href="http://www.bbcamerica.com/content/120/index.jsp"&gt;Hex&lt;/a&gt; on BBC. It's like a British version of Buffy the Vampire Slayer, but instead of vampires on the loose, it's &lt;a href="http://en.wikipedia.org/wiki/Nephilim"&gt;fallen angels&lt;/a&gt;, and swap Ella for Buffy.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7tm8P8_VI/AAAAAAAAADU/VvOuvjuNhGg/s1600-h/Ella.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7tm8P8_VI/AAAAAAAAADU/VvOuvjuNhGg/s200/Ella.jpg" alt="" id="BLOGGER_PHOTO_ID_5079758682984349010" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.sho.com/site/weeds/home.do"&gt;Weeds&lt;/a&gt; is a great show, but I canceled Showtime a while back. Ah, well. I watched through Season 2, and I'm not sure there will be a Season 3, anyway.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Rn7vLcP8_WI/AAAAAAAAADc/_RExTS2jBWA/s1600-h/weedsposter.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Rn7vLcP8_WI/AAAAAAAAADc/_RExTS2jBWA/s200/weedsposter.jpg" alt="" id="BLOGGER_PHOTO_ID_5079760409561202018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I wish they'd bring back &lt;a href="http://www.deadlikeme.tv/"&gt;Dead Like Me &lt;/a&gt;and &lt;a href="http://www.scifi.com/firefly/"&gt;Firefly&lt;/a&gt;. In the meantime, there's &lt;a href="http://dsc.discovery.com/fansites/dirtyjobs/dirtyjobs.html"&gt;Dirty Jobs&lt;/a&gt;, &lt;a href="http://www.cbs.com/primetime/criminal_minds/"&gt;Criminal Minds&lt;/a&gt;, and &lt;a href="http://www.tnt.tv/series/closer/"&gt;The Closer&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-9073973565781998958?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9073973565781998958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9073973565781998958'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/06/teevee-goodbye-stargate-hello-hex.html' title='TeeVee: Goodbye Stargate, Hello HEX'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7s98P8_UI/AAAAAAAAADM/e1P2z3CPHdo/s72-c/oneill.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-613322619567923138</id><published>2007-06-24T18:01:00.001-04:00</published><updated>2008-12-10T23:36:49.094-05:00</updated><title type='text'>Harry Connick, Jr!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7p4sP8_SI/AAAAAAAAAC8/oxd-DUgYiOU/s1600-h/06222007.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7p4sP8_SI/AAAAAAAAAC8/oxd-DUgYiOU/s320/06222007.jpg" alt="" id="BLOGGER_PHOTO_ID_5079754589880515874" border="0" /&gt;&lt;/a&gt;I got to go see Harry Connick, Jr at the &lt;a href="http://www.boothamphitheatre.com/06222007.html"&gt;Koka Booth Amphitheater&lt;/a&gt; in Cary on the 22nd, thanks to Tim (thanks, Tim)! It was a great show!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Rn7qNMP8_TI/AAAAAAAAADE/0KvZ8qi44iE/s1600-h/img020.jpg"&gt;&lt;img style="border: 1px solid grey; margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Rn7qNMP8_TI/AAAAAAAAADE/0KvZ8qi44iE/s320/img020.jpg" alt="" id="BLOGGER_PHOTO_ID_5079754942067834162" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-613322619567923138?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/613322619567923138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/613322619567923138'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/06/harry-connick-jr.html' title='Harry Connick, Jr!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7p4sP8_SI/AAAAAAAAAC8/oxd-DUgYiOU/s72-c/06222007.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6363924333510204776</id><published>2007-06-24T17:51:00.000-04:00</published><updated>2007-06-24T17:57:08.053-04:00</updated><title type='text'>Flash Lite, Moto Q</title><content type='html'>I installed Adobe's &lt;a href="http://www.adobe.com/devnet/devices/index.html?tab:downloads=1"&gt;Flash Lite player &lt;/a&gt;on my Moto Q this morning. I was hoping that &lt;a href="http://www.albinoblacksheep.com/games/bloxorz"&gt;Bloxorz&lt;/a&gt; would run on it, but it wouldn't. Bloxorz, like many flash games found on the web, requires Flash 8, while Flash Lite is based on Flash 7. However, I did get a few games written for the &lt;a href="http://www.smashingcontent.com/iriver/u10/"&gt;iRiver iClix&lt;/a&gt; or Nokia to run on it just fine -- Sudoku, Freecell, a Frogger clone. It's a nice addition to the phone. Kids love it while we're in the car.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6363924333510204776?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6363924333510204776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6363924333510204776'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/06/flash-lite-moto-q.html' title='Flash Lite, Moto Q'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3583701819610138888</id><published>2007-06-24T17:48:00.001-04:00</published><updated>2008-12-10T23:36:49.315-05:00</updated><title type='text'>It's all in the timing</title><content type='html'>I happened to load the digg home page at just the right time. A story about &lt;a href="http://www.digg.com/health/American_medical_system_is_the_leading_cause_of_death_in_the_US"&gt;the health care system killing people&lt;/a&gt;, with 666 digs. Perfect.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7m4sP8_RI/AAAAAAAAAC0/RyGrWwyT_No/s1600-h/health-666.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7m4sP8_RI/AAAAAAAAAC0/RyGrWwyT_No/s320/health-666.png" alt="" id="BLOGGER_PHOTO_ID_5079751291345632530" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3583701819610138888?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3583701819610138888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3583701819610138888'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/06/its-all-in-timing.html' title='It&apos;s all in the timing'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rn7m4sP8_RI/AAAAAAAAAC0/RyGrWwyT_No/s72-c/health-666.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-5764730671474800148</id><published>2007-06-24T17:20:00.001-04:00</published><updated>2008-12-10T23:36:49.500-05:00</updated><title type='text'>IMAP-IDLE News</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7gX8P8_PI/AAAAAAAAACk/nhOlIassx3Y/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7gX8P8_PI/AAAAAAAAACk/nhOlIassx3Y/s200/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5079744131635150066" align="right" border="0" /&gt;&lt;/a&gt;Leopard's mail will support IDLE... yay!&lt;br /&gt;&lt;br /&gt;Version &lt;a href="http://www.rothwell.us/imap-idle/"&gt;1.07-pre-3 of my IMAP-IDLE plugin for Tiger's Mail.app&lt;/a&gt; is the most recent version. It was released on May 15, 2007.&lt;br /&gt;&lt;br /&gt;I'll see if I can get another release out soon. Maybe even 1.07-final. The big issue with the 1.07 series is that I switched from using threading to using an event-driven state machine that utilizes Mail.app's runloop to process networking events. While it's lighter-weight, more deterministic and easier to control (and debug), it appears that there's still some bugs (see the comments &lt;a href="http://fivepoundsflax.blogspot.com/2007/02/imap-idle-107-pre-2.html"&gt;here&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-5764730671474800148?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5764730671474800148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/5764730671474800148'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/06/imap-idle-news.html' title='IMAP-IDLE News'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rn7gX8P8_PI/AAAAAAAAACk/nhOlIassx3Y/s72-c/Picture+3.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4363944823724635023</id><published>2007-05-11T19:27:00.000-04:00</published><updated>2007-05-11T23:20:13.696-04:00</updated><title type='text'>Erlang, me and the Web</title><content type='html'>I want to learn a &lt;a href="http://en.wikipedia.org/wiki/Category:Declarative_programming_languages"&gt;functional programming language &lt;/a&gt;this year. I was looking at Haskell and Erlang primarily. I chose &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt;.  Technically, I already know a few functional languages:  &lt;a href="http://en.wikipedia.org/wiki/XSLT"&gt;XSLT&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/SQL"&gt;SQL&lt;/a&gt;. Since some also consider &lt;a href="http://www.b-list.org/weblog/2006/10/11/functional-language-s-right-under-your-nose"&gt;Javascript to be a functional language&lt;/a&gt;, then perhaps I know three.  So I want to learn a &lt;span style="font-style: italic;"&gt;new&lt;/span&gt; functional language this year.&lt;br /&gt;&lt;br /&gt;I'm making my way through the Pragmatic Programmers' book "&lt;a href="http://www.pragmaticprogrammer.com/titles/jaerlang/index.html"&gt;Programming Erlang&lt;/a&gt;" (currently in beta). I was drawn to Erlang by the ability to hot-patch Erlang apps (no downtime!) and the massive-concurrency model of Erlang applications. The fact that it is demonstrably useful in the real world -- Ericcson uses the language in its phone switches -- was also a plus. Here is an excerpt from the Wikipedia entry on Erlang:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;b&gt;Erlang&lt;/b&gt; is a general-purpose &lt;a href="http://en.wikipedia.org/wiki/Concurrent_computing" title="Concurrent computing"&gt;concurrent&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Programming_language" title="Programming language"&gt;programming language&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Runtime" title="Runtime"&gt;runtime&lt;/a&gt; system. The sequential subset of Erlang is a &lt;a href="http://en.wikipedia.org/wiki/Functional_language" title="Functional language"&gt;functional language&lt;/a&gt;, with &lt;a href="http://en.wikipedia.org/wiki/Strict_evaluation" title="Strict evaluation"&gt;strict evaluation&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Single_assignment" title="Single assignment"&gt;single assignment&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Type_system" title="Type system"&gt;dynamic typing&lt;/a&gt;. For concurrency it follows the &lt;a href="http://en.wikipedia.org/wiki/Actor_model" title="Actor model"&gt;Actor model&lt;/a&gt;. It was designed by &lt;a href="http://en.wikipedia.org/wiki/Ericsson" title="Ericsson"&gt;Ericsson&lt;/a&gt; to support distributed, fault-tolerant, soft-&lt;a href="http://en.wikipedia.org/wiki/Real-time" title="Real-time"&gt;real-time&lt;/a&gt;, non-stop applications. It supports &lt;a href="http://en.wikipedia.org/wiki/Hot_swapping" title="Hot swapping"&gt;hot swapping&lt;/a&gt; so code can be changed without stopping a system. Erlang was originally a proprietary language within Ericsson, but was released as &lt;a href="http://en.wikipedia.org/wiki/Open_source" title="Open source"&gt;open source&lt;/a&gt; in 1998. &lt;/blockquote&gt;&lt;br /&gt;You should watch the &lt;a href="http://video.google.com/videoplay?docid=-5830318882717959520"&gt;Erlang Movie&lt;/a&gt; when you get a chance. It's very entertaining -- imagine Monty Python making an instructional video.&lt;br /&gt;&lt;br /&gt;I recently made a joke to a friend about writing a web app with "Erlang on Rails"... but &lt;a href="http://slideaware.typepad.com/slideaware/2007/05/there_is_a_worl.html"&gt;these guys really did it&lt;/a&gt; (see also: "&lt;a href="http://slideaware.typepad.com/slideaware/2007/04/from_python_to_.html"&gt;From Python to Ruby on Rails to Erlang&lt;/a&gt;").&lt;br /&gt;&lt;br /&gt;Here's some other Erlang + Web references:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://yarivsblog.com/articles/2006/07/11/erlang-yaws-vs-ruby-on-rails"&gt;Erlang + YAWS vs Ruby on Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pixzone.com/blog/217/erlang-helps-rails-to-scale/"&gt;Twitter apparently uses ejabberd&lt;/a&gt;, a Jabber server written in Erlang&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4363944823724635023?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4363944823724635023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4363944823724635023'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/05/erlang-me-and-web.html' title='Erlang, me and the Web'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-8376906363690841642</id><published>2007-05-03T19:05:00.000-04:00</published><updated>2007-06-24T18:05:49.769-04:00</updated><title type='text'>Hi, Alan (Allen? Allan?)</title><content type='html'>I don't know how to spell your name, but you know who you are. :)&lt;br /&gt;&lt;br /&gt;Update: "Alan".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-8376906363690841642?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8376906363690841642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8376906363690841642'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/05/hi-alan-allen-allan.html' title='Hi, Alan (Allen? Allan?)'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6901652813272128031</id><published>2007-04-23T17:29:00.000-04:00</published><updated>2008-12-10T23:36:49.659-05:00</updated><title type='text'>What the...?</title><content type='html'>A kernel thread crashing, perhaps?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Ri0lajKA8jI/AAAAAAAAACc/z2LhFLyn0qY/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_k2iQ-GC3DD0/Ri0lajKA8jI/AAAAAAAAACc/z2LhFLyn0qY/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5056739094651007538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Date/Time:      2007-04-23 17:27:05.258 -0400&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;OS Version:     10.4.9 (Build 8P2137)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Report Version: 4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Command: ???&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Path:    ???&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Parent:  ??? [0]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Version: ??? (???)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;PID:    -1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Thread: Unknown&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Exception:  EXC_BAD_ACCESS (0x0001)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Codes:      KERN_INVALID_ADDRESS (0x0001) at 0x21000080&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;(null)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Unknown thread crashed with i386 Thread State:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;eax: 0x00000000  ebx: 0xb80f678c  ecx:0xb831c7c0  edx: 0x21000080&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;edi: 0x82008064  esi: 0x3fffeb47  ebp:0xb0099c08  esp: 0xb0099bc0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; ss: 0x0000001f  efl: 0x00010246  eip:0xb80f6874   cs: 0x00000017&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; ds: 0x0000001f   es: 0x0000001f   fs:0x00000000   gs: 0x00000037&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6901652813272128031?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6901652813272128031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6901652813272128031'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/04/what.html' title='What the...?'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_k2iQ-GC3DD0/Ri0lajKA8jI/AAAAAAAAACc/z2LhFLyn0qY/s72-c/Picture+1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4403754288066247216</id><published>2007-04-04T00:15:00.000-04:00</published><updated>2007-04-04T00:29:47.935-04:00</updated><title type='text'>I *heart* Unix</title><content type='html'>Doing a remote backup of a server across the internet over an encrypted channel is one of many things that are easy on Linux and the Mac with built-in tools, but either impossible or non-obvious on Windows with built-in tools. It's one line of shell code on Unix. I don't know how I'd do it on a standard Windows installation (any flavor), or if it's even possible.&lt;br /&gt;&lt;br /&gt;It's accomplished using "tar over ssh" to dump a compressed backup of specified files and directories to a remote server:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;tar jcvf - /target/directory | ssh user@remotehost "cat &gt;backup.tar.bz2"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It says to tar: create a bzip2-compressed archive file of the specified items on standard output. That data is piped into an ssh command's standard input, which logs into a remote server (set up host keys to avoid the password prompt) and pipes the data into a remote command -- in this case, "cat", which redirects its output into a file named "backup.tar.bz2". Nice!&lt;br /&gt;&lt;br /&gt;You can run it out of cron each day, even, and have nice named backup files by doing something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;tar jcvf - /target/directory | ssh user@remotehost "cat &gt;backup-`date +%F`.bkp.tar.bz2"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That will produce files named "backup-2007-04-04.tar.bz2" and "backup-2007-04-05.tar.bz2", etc.&lt;br /&gt;&lt;br /&gt;The reverse -- restoring a file from a remote backup -- is just as easy.&lt;br /&gt;&lt;br /&gt;I &lt;3 Unix!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4403754288066247216?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4403754288066247216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4403754288066247216'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/04/i-heart-unix.html' title='I *heart* Unix'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4201131585068927459</id><published>2007-04-03T22:38:00.000-04:00</published><updated>2008-12-10T23:36:49.850-05:00</updated><title type='text'>Applications should never, *ever*, steal focus.</title><content type='html'>No software is ever more important than the user. It should not ever, for any reason, steal focus from the user. It's especially stupid and counter-productive to steal focus while the user is typing to put up a dialog box with buttons that can be activated by keys the user is pressing. Windows is especially bad about this. I've seen many flashes of dialog boxes, with no idea what they said because I happened to hit Enter or the Space Bar or whatever when the dialog box flashed up.&lt;br /&gt;&lt;br /&gt;Apple Mail is occasionally misbehaved in this way. Sometimes it has trouble writing a message to the "drafts" folder on my IMAP server (*shakes fist at dovecot*), so it helpfully interrupts my typing (sometimes once every minute or so) to tell me this. You know what? I don't care! Not right now, anyway. I was typing a message! Please be quiet and let me do the thing I'm trying to do. Let me know about the error in some more unobtrusive way and I'll deal with it later.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RhMP85QCvnI/AAAAAAAAACU/7ZTdshWeGcM/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RhMP85QCvnI/AAAAAAAAACU/7ZTdshWeGcM/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5049397146047135346" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4201131585068927459?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4201131585068927459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4201131585068927459'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/04/applications-should-never-ever-steal.html' title='Applications should never, *ever*, steal focus.'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/RhMP85QCvnI/AAAAAAAAACU/7ZTdshWeGcM/s72-c/Picture+3.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4778258314750590618</id><published>2007-03-28T22:15:00.000-04:00</published><updated>2007-03-28T22:24:07.716-04:00</updated><title type='text'>Using cookies in Ruby on Rails</title><content type='html'>The &lt;span style="font-family:courier new;"&gt;cookies&lt;/span&gt; object looks like a hash, but it isn't really.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# this sets a cookie&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cookies[:key]="value"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# this does not retrieve a cookie&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;value = cookies[:key]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;# but this does&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;value = cookies["key"]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4778258314750590618?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4778258314750590618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4778258314750590618'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/03/using-cookies-in-ruby-on-rails.html' title='Using cookies in Ruby on Rails'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3488884238945135114</id><published>2007-03-17T18:01:00.000-04:00</published><updated>2007-03-17T21:44:31.021-04:00</updated><title type='text'>MySQL 5 Replication and Rails: schweet!</title><content type='html'>I just got master-master replication working between my Mac (OS 10.4.8, MySQL 5.0.19) and one of my Linux servers (Fedora Core 4, MySQL 5.0.37).&lt;br /&gt;&lt;br /&gt;I created a database on the Mac for rails development, and it was automatically created on the Linux server as well. I did 'rake db:migrate' on the Mac, and the schema was created on the linux side as well. Then I used the Rails console (script/console) to create a record and save it. I started up the console on the Linux server and listed all of the records, and the new one was there. I created a record on the Linux server and looked on the Mac -- both had the same two records.&lt;br /&gt;&lt;br /&gt;Sweet!&lt;br /&gt;&lt;br /&gt;An important thing in master-master replication is to take measures to prevent key collision. Rails apps depend on each table having an auto-increment field named "id". If you don't change your MySQL servers' auto-increment behavior, you'll get collisions: one server will allocate id #1, then the second server will try to allocate id #1, then -- boom.&lt;br /&gt;&lt;br /&gt;Here's a two-node circular replication setup. NodeA is nodeB's slave, and vice-versa.&lt;br /&gt;&lt;br /&gt;Node A:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server-id  = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;10&lt;/span&gt; #this should be unique across servers&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;auto_increment_increment  = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;10&lt;/span&gt; #an increment value &gt;1 is needed. set this according to # of servers&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;auto_increment_offset = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;1&lt;/span&gt; # where to start autoincrement IDs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-host = 10.2.3.&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;3&lt;/span&gt; #other machine's address&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-user = repluser #pre-configured 'replication' user on other server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-password = replpass # pre-configured 'replication' user's password on other server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;log-slave-updates #you need this&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;replicate-same-server-id        = 0 # prevent looping&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;report-host                     = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;nodeA&lt;/span&gt; # this should be unique across servers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;log-bin                         = mysql-bin #you need this&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Node B:&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;server-id  = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;20&lt;/span&gt; #this should be unique across servers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;auto_increment_increment  = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;10&lt;/span&gt; #an increment value &gt;1 is needed. set this according to # of servers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;auto_increment_offset = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;2&lt;/span&gt; # where to start autoincrement IDs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-host = 10.2.3.&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;4&lt;/span&gt; #other machine's address&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-user = repluser #pre-configured 'replication' user on other server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;master-password = replpass # pre-configured 'replication' user's password on other server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;log-slave-updates #you need this&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;replicate-same-server-id        = 0 # prevent looping&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;report-host                     = &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;nodeB&lt;/span&gt; # this should be unique across servers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;log-bin                         = mysql-bin #you need this&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I've highlighted the differences between the two configurations in blue, bold text. With this setup, nodeA will create auto-increment IDs of the form: 1, 11, 21, etc., while nodeB will create auto-increment IDs of the form: 2, 12, 22, etc. This prevents key collision. Notice further that I will be limited in the number of master nodes I can add to this setup before I begin to suffer from key collisions. Additionally, increasing the increment reduces the number of records you can store in the table. With a signed INT type for the auto-increment columns, you can store &lt;code class="literal"&gt;2147483647/&lt;/code&gt;&lt;code class="literal"&gt;auto_increment_increment &lt;/code&gt;records.&lt;code class="literal"&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Replication copies *everything* between the servers (all databases, etc), so it is easier to start with two empty  mysql configurations. You can also zero out both servers if they have been used before: delete master.info, the bin and log files, etc. The file "master.info" keeps track of where the replication has progressed, so it's important to delete it to reset replication. Keep in mind that you'll lose *all* of your data when you do this kind of "reset"!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3488884238945135114?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3488884238945135114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3488884238945135114'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/03/mysql-5-replication-and-rails-schweet.html' title='MySQL 5 Replication and Rails: schweet!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3972993429677725779</id><published>2007-03-08T14:48:00.000-05:00</published><updated>2007-03-08T14:51:03.950-05:00</updated><title type='text'>Check your Linux machines for correct DST info</title><content type='html'>&lt;span style=";font-family:Arial,Helvetica;font-size:100%;"  &gt;Use the &lt;a href="http://www.linuxcommand.org/man_pages/zdump8.html" target="new"&gt;&lt;u&gt;zdump&lt;/u&gt;&lt;/a&gt; command, like so:&lt;ul&gt;&lt;code&gt;/usr/sbin/zdump -v /etc/localtime | grep 2007&lt;/code&gt;&lt;br /&gt;&lt;/ul&gt;You should see lines containing "Sun Mar 11".  Here's what I get on one of my FC4 servers:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family: courier new;"&gt;/etc/localtime  Sun Mar 11 06:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 EST isdst=0 gmtoff=-18000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/etc/localtime  Sun Mar 11 07:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 EDT isdst=1 gmtoff=-14400&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/etc/localtime  Sun Nov  4 05:59:59 2007 UTC = Sun Nov  4 01:59:59 2007 EDT isdst=1 gmtoff=-14400&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/etc/localtime  Sun Nov  4 06:00:00 2007 UTC = Sun Nov  4 01:00:00 2007 EST isdst=0 gmtoff=-18000&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you see something other than Mar 11, then you still need to fix your timezone info.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3972993429677725779?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3972993429677725779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3972993429677725779'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/03/check-your-linux-machines-for-correct.html' title='Check your Linux machines for correct DST info'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-6839313210083530681</id><published>2007-03-03T14:53:00.000-05:00</published><updated>2008-12-10T23:36:50.095-05:00</updated><title type='text'>One day I should finish this...</title><content type='html'>I never finished version 2 of my &lt;a href="http://www.bentpixel.com/fbm/"&gt;ReplayTV client for the Mac&lt;/a&gt;. It was coming together nicely, until my ReplayTV died and the company that makes it went bankrupt. A friend of mine has a ReplayTV. I fired up the last build of mReplay2 and pointed it as his machine, and it worked.&lt;br /&gt;&lt;br /&gt;Does anyone still have a ReplayTV and a Mac?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/RenSTvRnsrI/AAAAAAAAACE/FfHZWmJWIIo/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/RenSTvRnsrI/AAAAAAAAACE/FfHZWmJWIIo/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5037788894740329138" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-6839313210083530681?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6839313210083530681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/6839313210083530681'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/03/one-day-i-should-finish-this.html' title='One day I should finish this...'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/RenSTvRnsrI/AAAAAAAAACE/FfHZWmJWIIo/s72-c/Picture+1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3858092040693230870</id><published>2007-02-24T22:03:00.000-05:00</published><updated>2007-02-24T22:04:48.222-05:00</updated><title type='text'>Rails 1.22, RubyGems 0.9.1 fix</title><content type='html'>The problem: RubyGems seems to be broken after updating to 0.9.1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ sudo gem update&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Updating installed gems...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR:  While executing gem ... (NoMethodError)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    undefined method `refresh' for #&lt;hash:0x10b307c&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The fix: Remove the source cache.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ sudo rm /usr/local/lib/ruby/gems/1.8/source_cache&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3858092040693230870?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3858092040693230870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3858092040693230870'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/rails-122-rubygems-091-fix.html' title='Rails 1.22, RubyGems 0.9.1 fix'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3010938340234157434</id><published>2007-02-22T19:44:00.000-05:00</published><updated>2008-12-10T23:36:50.428-05:00</updated><title type='text'>Cory Doctorow at UNC, Duke this evening</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rd45CxG3ybI/AAAAAAAAAB4/ocJ2mVEEMp8/s1600-h/Photo_022207_001.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rd45CxG3ybI/AAAAAAAAAB4/ocJ2mVEEMp8/s320/Photo_022207_001.jpg" alt="" id="BLOGGER_PHOTO_ID_5034524153151474098" border="0" /&gt;&lt;/a&gt;Today, I went to UNC to see Cory Doctorow speak on copyrights and DRM at 2pm, and then to Duke to see him speak on privacy. He gives a nice lecture. He also has a cookie-monster laptop sleeve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3010938340234157434?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3010938340234157434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3010938340234157434'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/cory-doctorow-at-unc-duke-this-evening.html' title='Cory Doctorow at UNC, Duke this evening'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/Rd45CxG3ybI/AAAAAAAAAB4/ocJ2mVEEMp8/s72-c/Photo_022207_001.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-7952197805085074991</id><published>2007-02-19T18:45:00.000-05:00</published><updated>2008-12-10T23:36:50.745-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IMAP IDLE'/><title type='text'>IMAP-IDLE 1.07 pre 2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Rdo2tRG3yaI/AAAAAAAAABs/KVezyuGZff4/s1600-h/slice-of-bread.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Rdo2tRG3yaI/AAAAAAAAABs/KVezyuGZff4/s320/slice-of-bread.png" alt="" id="BLOGGER_PHOTO_ID_5033395684854188450" border="0" /&gt;&lt;/a&gt;IMAP-IDLE 1.07 pre 2 is available &lt;a href="http://www.rothwell.us/imap-idle"&gt;here&lt;/a&gt;. This version builds on 1.07 pre 1, providing:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;bug fixes (more stability)&lt;/li&gt;&lt;li&gt;better recovery from loss of network&lt;/li&gt;&lt;li&gt;better wake-from-sleep behavior&lt;/li&gt;&lt;/ul&gt;It also has a currently-useless preference for "periodic mailbox sync". The idea is to make mail do a sync of each account's mailboxes on a custom schedule determined by you, the user. At the moment, poking mail to sync causes it to beachball, so I''ve not yet figured out how to properly use that part of the API. Thus, you can set the "sync" preference all you want, but it doesn't do anything.&lt;br /&gt;&lt;br /&gt;I've been running this version on two Intel macs for a couple of days without incident.&lt;br /&gt;&lt;br /&gt;Post issues in the comments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-7952197805085074991?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/7952197805085074991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/7952197805085074991'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/imap-idle-107-pre-2.html' title='IMAP-IDLE 1.07 pre 2'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/Rdo2tRG3yaI/AAAAAAAAABs/KVezyuGZff4/s72-c/slice-of-bread.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-969298871832398084</id><published>2007-02-16T10:18:00.000-05:00</published><updated>2008-12-10T23:36:51.025-05:00</updated><title type='text'>Hex Fiend: Yay!</title><content type='html'>&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/RdXL4Tcsu8I/AAAAAAAAABc/b1Re6dn6Sug/s320/hex_icon.png" alt="" id="BLOGGER_PHOTO_ID_5032152326810155970" border="0" height="75" width="66" /&gt;I have been using &lt;a href="http://hexedit.sourceforge.net/"&gt;HexEdit&lt;/a&gt; for years. Until today, when I discovered &lt;a href="http://ridiculousfish.com/hexfiend/"&gt;Hex Fiend&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;blockquote&gt;&lt;strong&gt;Work with huge files.&lt;/strong&gt;  Hex Fiend can handle as big a file as you're able to create. It's been tested on files as large as 118 GB.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-969298871832398084?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/969298871832398084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/969298871832398084'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/hex-fiend-yay.html' title='Hex Fiend: Yay!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/RdXL4Tcsu8I/AAAAAAAAABc/b1Re6dn6Sug/s72-c/hex_icon.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-9099619038422899518</id><published>2007-02-13T06:45:00.000-05:00</published><updated>2007-02-13T01:08:49.182-05:00</updated><title type='text'>Back to the future!</title><content type='html'>&lt;a href="http://www.emeraldion.it/"&gt;Claudio Procida&lt;/a&gt; emailed me about &lt;a href="http://www.emeraldion.it/software/macosx/minibatterylogger/MiniBatteryLogger-1.6.3.dmg"&gt;version 1.6.3 of MiniBatteryLogger&lt;/a&gt;, which fixes the "5 million years ago" bug. Go get it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-9099619038422899518?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9099619038422899518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9099619038422899518'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/back-to-future.html' title='Back to the future!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-640693253864277308</id><published>2007-02-12T16:30:00.000-05:00</published><updated>2008-12-10T23:36:51.212-05:00</updated><title type='text'>IMAP-IDLE 1.07-pre-1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RdDcgDcsu6I/AAAAAAAAABI/AlSye-4u55s/s1600-h/slice-of-bread.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RdDcgDcsu6I/AAAAAAAAABI/AlSye-4u55s/s320/slice-of-bread.png" alt="" id="BLOGGER_PHOTO_ID_5030763227012447138" border="0" /&gt;&lt;/a&gt;I've uploaded version 1.07-pre-1. It is, as its name might imply, a pre-release version of what will be 1.07. It has a more-functional preference pane, and hopefully will work better for folks having a problem with 1.06.&lt;br /&gt;&lt;br /&gt;Between 1.05 and 1.06, I completely rewrote the IMAP protocol and connection handler code. Obviously, there were some bugs in it that I didn't find while testing on my home Macs.&lt;br /&gt;&lt;br /&gt;Give 1.07-pre-1 a shot (available &lt;a href="http://www.rothwell.us/imap-idle"&gt;here&lt;/a&gt;), and either comment on this thread about issues you're having with it, or email me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-640693253864277308?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/640693253864277308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/640693253864277308'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/imap-idle-107-pre-1.html' title='IMAP-IDLE 1.07-pre-1'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/RdDcgDcsu6I/AAAAAAAAABI/AlSye-4u55s/s72-c/slice-of-bread.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4401621887367660599</id><published>2007-02-11T20:23:00.000-05:00</published><updated>2008-12-10T23:36:51.701-05:00</updated><title type='text'>My battery died 5.8 million years ago...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rc_Brjcsu5I/AAAAAAAAAA8/b2-z-JWe2Ig/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rc_Brjcsu5I/AAAAAAAAAA8/b2-z-JWe2Ig/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5030452262790282130" border="0" /&gt;&lt;/a&gt;I am using the utility (&lt;a href="http://www.emeraldion.it/software/macosx/minibatterylogger/"&gt;Mini Battery Logger&lt;/a&gt;) mentioned in the Macinhack article "&lt;a href="http://www.macinhack.com/arch/feb/getting_the_most_out_of_your_laptop_battery.php"&gt;Getting the most out of your battery&lt;/a&gt;". My battery has been through only 37 cycles, but my MBP seems to have a lower on-battery lifetime than I would expect -- only a little over an hour.&lt;br /&gt;&lt;br /&gt;According to Mini Battery Logger, I have a capacity of 24% of new, and the estimated date of death is  (was?)June 23 5,877,610 years ago, but the overall rating is "good". *cough*&lt;br /&gt;&lt;br /&gt;I ordered one of the FastMac  "High Capacity" batteries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4401621887367660599?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4401621887367660599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4401621887367660599'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/my-battery-died-58-million-years-ago.html' title='My battery died 5.8 million years ago...'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/Rc_Brjcsu5I/AAAAAAAAAA8/b2-z-JWe2Ig/s72-c/Picture+3.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-8692914056613325238</id><published>2007-02-08T22:20:00.000-05:00</published><updated>2008-12-10T23:36:52.013-05:00</updated><title type='text'>IMAP-IDLE 1.06</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RcvopTcsu4I/AAAAAAAAAAw/TEmzkCitSbE/s1600-h/slice-of-bread.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_k2iQ-GC3DD0/RcvopTcsu4I/AAAAAAAAAAw/TEmzkCitSbE/s320/slice-of-bread.png" alt="" id="BLOGGER_PHOTO_ID_5029369205182217090" border="0" /&gt;&lt;/a&gt;I've released IMAP-IDLE 1.06. It's really an interim to the next version, to get bugfixes out to people using it. It has a Preference pane, but it doesn't do anything yet.&lt;br /&gt;&lt;br /&gt;You can get it here:&lt;br /&gt;&lt;a href="http://www.rothwell.us/imap-idle"&gt;http://www.rothwell.us/imap-idle&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Bugfixes!&lt;/li&gt;&lt;li&gt;New icon!&lt;/li&gt;&lt;li&gt;Nascent preference pane!&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-8692914056613325238?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8692914056613325238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/8692914056613325238'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/02/imap-idle-106.html' title='IMAP-IDLE 1.06'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_k2iQ-GC3DD0/RcvopTcsu4I/AAAAAAAAAAw/TEmzkCitSbE/s72-c/slice-of-bread.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-3818252231632244995</id><published>2007-01-31T18:50:00.000-05:00</published><updated>2007-01-31T19:27:33.335-05:00</updated><title type='text'>Welcome to the So-So</title><content type='html'>Ballmer in an iPod video... sorta&lt;br /&gt;&lt;br /&gt;&lt;embed flashvars="altServerURL=http://www.metacafe.com&amp;amp;playerVars=videoTitle=Welcome To The So-So|showStats=yes|autoPlay=no|blogName=Five Pounds of Flax|blogURL=http://fivepoundsflax.blogspot.com/" src="http://www.metacafe.com/fplayer/403519/welcome_to_the_so_so.swf" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" height="345" width="400"/&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.metacafe.com/watch/403519/welcome_to_the_so_so/"&gt;Welcome To The So-So - video powered by Metacafe&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-3818252231632244995?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3818252231632244995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/3818252231632244995'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/01/welcome-to-so-so.html' title='Welcome to the So-So'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-9177852513745369187</id><published>2007-01-16T15:42:00.000-05:00</published><updated>2008-12-10T23:36:52.212-05:00</updated><title type='text'>Catalog Card Generator</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Ra04vR4UW0I/AAAAAAAAAAk/6e-Mkvc4OA4/s1600-h/imap-idle.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Ra04vR4UW0I/AAAAAAAAAAk/6e-Mkvc4OA4/s320/imap-idle.png" alt="" id="BLOGGER_PHOTO_ID_5020731544492596034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fun! Make your own here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blyberg.net/card-generator/"&gt;http://www.blyberg.net/card-generator/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-9177852513745369187?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9177852513745369187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/9177852513745369187'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/01/catalog-card-generator.html' title='Catalog Card Generator'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/Ra04vR4UW0I/AAAAAAAAAAk/6e-Mkvc4OA4/s72-c/imap-idle.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-4619136877727893995</id><published>2007-01-15T21:44:00.000-05:00</published><updated>2008-12-10T23:36:52.305-05:00</updated><title type='text'>IMAP-IDLE begins to get a UI</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Raw8Uh4UWzI/AAAAAAAAAAY/N2w-GTFVkCs/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_k2iQ-GC3DD0/Raw8Uh4UWzI/AAAAAAAAAAY/N2w-GTFVkCs/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5020454008000895794" border="0" /&gt;&lt;/a&gt;I'm adding a preference pane to the IMAP-IDLE plugin. To the right is a screenshot of it in its currently "woohoo it's loading my nib but it doesn't really do anything yet" state. And yes, that's a piece of toast with a postmark on it. IMAP-IDLE: your Mail Toaster™ -- or something like that (apparently I'm feeling a little silly at the moment). The URL in the screenshot doesn't work yet. But ask, and ye shall receive -- that will be the "permanent URL" for information about IMAP-IDLE for Mail.app.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-4619136877727893995?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4619136877727893995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/4619136877727893995'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2007/01/imap-idle-begins-to-get-ui.html' title='IMAP-IDLE begins to get a UI'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_k2iQ-GC3DD0/Raw8Uh4UWzI/AAAAAAAAAAY/N2w-GTFVkCs/s72-c/Picture+1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-713247622889996576</id><published>2006-12-19T20:58:00.000-05:00</published><updated>2008-12-10T23:36:52.453-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IMAP IDLE'/><title type='text'>IMAP-IDLE: development status</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_k2iQ-GC3DD0/RYiY4zOaNdI/AAAAAAAAAAM/KrhQlcewkrU/s1600-h/mail.2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_k2iQ-GC3DD0/RYiY4zOaNdI/AAAAAAAAAAM/KrhQlcewkrU/s320/mail.2.png" alt="" id="BLOGGER_PHOTO_ID_5010422687040419282" border="0" /&gt;&lt;/a&gt;&lt;img src="file:///Users/rothwell/Desktop/mail.2.png" alt="" /&gt;My last release was version 1.05, in November. I'm still working on the next version. I've gotten a number of helpful bug reports from people, some feature requests, and a suggestion that I make a fixed web page for IMAP-IDLE, rather than doing releases on my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-713247622889996576?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/713247622889996576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/713247622889996576'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/12/imap-idle-development-status.html' title='IMAP-IDLE: development status'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_k2iQ-GC3DD0/RYiY4zOaNdI/AAAAAAAAAAM/KrhQlcewkrU/s72-c/mail.2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-2136632319009588970</id><published>2006-12-19T20:43:00.000-05:00</published><updated>2006-12-19T20:47:30.974-05:00</updated><title type='text'>Lockups with "kernel: shared_region: lsf_map: unable to allocate mapping"</title><content type='html'>My Macbook Pro locked up twice today. Lines like the following appeared repeatedly in the system log.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Dec 19 16:10:35 Foamy kernel[0]: shared_region: 0x50b6894: lsf_map: unable to allocate mapping &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I had installed ShapeShifter (MacHeist bundle!) recently. I disabled it in the APE preference pane. Hopefully the lockups stop.&lt;br /&gt;&lt;br /&gt;I could ping the machine. I could even partially ssh in:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;kernel[0]: shared_region: 0x707ecec: lsf_map: unable to allocate mapping&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 102); font-weight: bold;"&gt;Foamy sshd[4215]: fatal: Timeout before authentication for 172.17.23.7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;kernel[0]: shared_region: 0x56659a4: lsf_map: unable to allocate mapping&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;But it was effectively dead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-2136632319009588970?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2136632319009588970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/2136632319009588970'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/12/lockups-with-kernel-sharedregion-lsfmap.html' title='Lockups with &quot;kernel: shared_region: lsf_map: unable to allocate mapping&quot;'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-116463157714096665</id><published>2006-11-27T07:28:00.000-05:00</published><updated>2006-11-27T07:48:05.150-05:00</updated><title type='text'>Is your lookupd crashing? It's years-old bug #3632865</title><content type='html'>If your Mac beachballs when, for example, you're trying to unlock the screensaver, and comes back after a few minutes, "lookupd" could be the culprit. Look in your console log (/Applications/Utilities/Console) for lines like the following.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:courier new;"&gt;lookupd[283]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lookupd[283]: ni_statistics: Communication failure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lookupd[283]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lookupd[283]: ni_statistics: Communication failure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lookupd[283]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DirectoryService[82]: NetInfo connection failed for server 127.0.0.1/local&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This is not a new problem. In fact, it's been around for years. John Bafford released &lt;a href="http://www.dshadow.com/software/unlockupd/"&gt;unlockupd&lt;/a&gt;, in &lt;span style="font-style: italic;"&gt;2004&lt;/span&gt;, to work around the bug in lookupd that causes this problem. Here is his explanation of the issue:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;p&gt;Lookupd is the lookup and caching daemon responsible for handling NetInfo, DNS, and other such requests. Applications typically do not  access lookupd directly, but rather, use standardized library functions  (such as gethostbyname for DNS) which access lookupd on the application's  behalf.&lt;/p&gt;  &lt;p&gt;Lookupd has a bug (rdar://3632865) in its cache cleanup code that  causes it to randomly crash. CrashReporter, the system crash log agent,  does not properly handle lookupd crashes, and as a result, when lookupd  crashes, the process is not terminated. Since lookupd has not terminated,  mach_init does not respawn lookupd. From this point, any application that  attempts to access lookupd, either directly or indirectly, will hang.&lt;/p&gt;  &lt;p&gt;Once lookupd stops responding, it becomes difficult, but not impossible, to recover the system to a usable state. One technique which works, but is not recommended (for obvious reasons), is to leave a root shell running and `&lt;code&gt;killall -9 lookupd&lt;/code&gt;` when it becomes obvious that lookupd has died (&lt;code&gt;sudo&lt;/code&gt; does not work, since it requires lookupd's services, as does opening a new terminal window).&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;The bug number is apparently 3632865 in Apple's bug-tracking system, "radar". The &lt;a href="http://rentzsch.com/notes/rdarUrls"&gt;rdar url&lt;/a&gt; above is usable by Apple folks, only. There's no way for the public to see the details of that bug number. &lt;a href="http://www.joelonsoftware.com/items/2006/09/21.html"&gt;Joel&lt;/a&gt; wrote a little article about this problem as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-116463157714096665?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116463157714096665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116463157714096665'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/11/is-your-lookupd-crashing-its-years-old.html' title='Is your lookupd crashing? It&apos;s years-old bug #3632865'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-116430647062122749</id><published>2006-11-23T13:14:00.000-05:00</published><updated>2006-12-19T20:57:12.554-05:00</updated><title type='text'>TFMonitor: graph your Mac's fan speeds and temperatures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/4106/1631/1600/92443/Picture%201.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/4106/1631/200/197355/Picture%201.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ciderhouse.ivory.ne.jp/mac/tfm/tfmonitor.html"&gt;TFmonitor&lt;/a&gt; is a piece of software written by K. Seki that monitors your Intel Mac's fan speeds and temperature sensors. To the right is a screenshot of it in action on my MBP (core duo).&lt;br /&gt;&lt;br /&gt;I like to bump the minimum fan speed on my Mac up to 2500 RPM to keep it cooler. Currently I'm just using the "smc" command-line program, although I've tried the various GUIs available now. I use the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/bin/smc -k F0Mn -w 2710&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/usr/bin/smc -k F1Mn -w 2710&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that 2710 is the hexadecimal representation of 10000, which is 2500*4 (or 2500 left-shifted by 2). The primary problem with this method is that it doesn't stick past reboots or sleep/wake cycles, and has to be run again.&lt;br /&gt;&lt;br /&gt;So I'm writing a little program to run idle in the background, wait for "I woke up" events, and re-set the minimum fan speed. Then I just need a prefpane to set the minimum speed and I'll be good to go.&lt;br /&gt;&lt;br /&gt;&lt;div   style="padding: 0.5em 1em; overflow: auto; text-align: left; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);font-family:monospace;font-size:small;"&gt;        [[[&lt;span style="color: rgb(64, 0, 128);"&gt;NSWorkspace&lt;/span&gt; &lt;span style="color: rgb(108, 5, 64);"&gt;sharedWorkspace&lt;/span&gt;] &lt;span style="color: rgb(108, 5, 64);"&gt;notificationCenter&lt;/span&gt;]&lt;br /&gt;          addObserver:&lt;span style="color: rgb(136, 19, 80);"&gt;self&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(108, 5, 64);"&gt;selector:&lt;/span&gt;&lt;span style="color: rgb(136, 19, 80);"&gt;@selector&lt;/span&gt;(workspaceDidWake:)&lt;br /&gt;                 &lt;span style="color: rgb(108, 5, 64);"&gt;name:&lt;/span&gt;&lt;span style="color: rgb(64, 0, 128);"&gt;NSWorkspaceDidWakeNotification&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(108, 5, 64);"&gt;object:&lt;/span&gt;&lt;span style="color: rgb(136, 19, 80);"&gt;nil&lt;/span&gt;];&lt;/div&gt;&lt;br /&gt;I know that &lt;a href="http://www.lobotomo.com/products/FanControl/index.html"&gt;FanControl&lt;/a&gt; does this already, but it seems to have the side effect of making my cpus run at full speed (2.17GHz) all of the time. If I just set the minimum fan speed using "smc" as needed, the CPU speed can still vary. For example, while typing this, I'm running at 1.67GHz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ sysctl kern.cpu_currentfreq&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;kern.cpu_currentfreq: 1667&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plus, it's a fun little project.&lt;br /&gt;&lt;br /&gt;UPDATE: a fun little *abandoned* project. FanControl 1.1 doesn't peg my CPUs at full speed. CoreDuoTemp does mis-read the CPU speed, though. I'm happily using FanControl and running at 118ºF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-116430647062122749?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116430647062122749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116430647062122749'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/11/tfmonitor-graph-your-macs-fan-speeds.html' title='TFMonitor: graph your Mac&apos;s fan speeds and temperatures'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-116307487352969019</id><published>2006-11-09T07:18:00.000-05:00</published><updated>2006-11-09T07:24:57.780-05:00</updated><title type='text'>IMAP-IDLE Plugin for Mail.app, version 1.05</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/mail.2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/mail.2.png" alt="" border="0" /&gt;&lt;/a&gt;Version 1.05 of my plugin for Apple's mail client is available &lt;a href="http://www.rothwell.us/IMAP-IDLE-1.05.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Does not prompt mail check when it's told "&lt;span style="font-family:courier new;"&gt;0 recent&lt;/span&gt;" by the mail server (more reliably handles IDLE status messages)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Handles erroneous CAPABILITY responses better (more reliably detects IDLE support)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-116307487352969019?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116307487352969019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116307487352969019'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/11/imap-idle-plugin-for-mailapp-version.html' title='IMAP-IDLE Plugin for Mail.app, version 1.05'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-116054618659774066</id><published>2006-10-11T01:52:00.000-04:00</published><updated>2007-03-03T10:34:53.276-05:00</updated><title type='text'>IMAP IDLE Plugin version 1.04</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/mail.1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/mail.1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: &lt;/span&gt;For he latest version. always go &lt;a href="http://www.rothwell.us/imap-idle"&gt;here&lt;/a&gt;.&lt;br /&gt;--&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Version 1.04 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;Changes this release:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Improved Exchange compatibility&lt;/li&gt;&lt;li&gt;Less chatty in the console log&lt;/li&gt;&lt;li&gt;Improved handling of mail checks when you set mail to check "Manually".&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;To-do list:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Make a proper installer that doesn't require a user to type commands in Terminal.&lt;/li&gt;&lt;li&gt;Add a preference pane in Mail to enable or disable the plugin globally.&lt;/li&gt;&lt;li&gt;Add a preference pane in Mail to enable or disable the plugin by account.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-116054618659774066?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116054618659774066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/116054618659774066'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/10/imap-idle-plugin-version-104.html' title='IMAP IDLE Plugin version 1.04'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115963693598185323</id><published>2006-09-30T13:20:00.000-04:00</published><updated>2006-10-11T02:06:22.966-04:00</updated><title type='text'>IMAP-IDLE 1.03 for Apple's Mail.app</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/mail.0.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/mail.0.png" alt="" border="0" /&gt;&lt;/a&gt;Version 1.03 of the IDLE-support plugin for Apple's Mail program is available here (link disabled; see version 1.04 link, below) To whoever listed version 1.02 on MacUpdate, could you please update the entry? :)&lt;br /&gt;&lt;br /&gt;The changes in this release:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Reliance on Applescript for certain functions has been completely removed. The plugin now uses the Mail API exclusively.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Handling of online/offline, active/inactive much improved&lt;/li&gt;&lt;li&gt;Threading bug fixed (caused crash in certain situations).&lt;/li&gt;&lt;li&gt;It is much slimmer: the ZIP file for this version is only 40k rather than the megabyte or so of previous versions.&lt;/li&gt;&lt;/ol&gt;Apple's mail client (Mail.app) supports IMAP accounts, but does not support the IDLE extension (&lt;a href="http://www.faqs.org/rfcs/rfc2177.html"&gt;RFC 2177&lt;/a&gt;). IDLE is good, because it lets the server notify clients when new mail arrives, meaning that clients don't have to poll. Or at least, will get new mail more often than $POLL_INTERVAL.&lt;br /&gt;&lt;br /&gt;This plugin adds IDLE support. It works by opening a connection for each IMAP account, selecting the INBOX, entering IDLE mode, and waiting for messages. When it gets a message from the server indicating that new mail has arrived, it causes Mail.app to check for new mail in the appropriate account.&lt;br /&gt;&lt;br /&gt;Check your console.log (/Applications/Utilities/Console) if you want to see what it's doing. The messages it logs include information on whether your IMAP server supports the IDLE extension. Here's a page describing &lt;a href="http://popfile.sourceforge.net/cgi-bin/wiki.pl?ImapServers"&gt;how to tell if your server supports IDLE&lt;/a&gt;. Long story short: iPlanet and DotMac do not! Exchange does, as does cyrus and dovecot. This plugin is untested with Exchange. I'll verify it functions with Exchange in a future release.&lt;br /&gt;&lt;br /&gt;** UPDATE 2006-10-11&lt;br /&gt;&lt;a href="http://fivepoundsflax.blogspot.com/2006/10/imap-idle-plugin-version-104.html"&gt;Version 1.04&lt;/a&gt; has been released.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115963693598185323?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115963693598185323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115963693598185323'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/imap-idle-103-for-apples-mailapp.html' title='IMAP-IDLE 1.03 for Apple&apos;s Mail.app'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115910888515341193</id><published>2006-09-24T10:40:00.000-04:00</published><updated>2006-09-24T10:43:25.840-04:00</updated><title type='text'>In France, what revolves around the Earth?</title><content type='html'>From YouTube.&lt;br /&gt;&lt;br /&gt; &lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DQRVFILbEi4"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/DQRVFILbEi4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115910888515341193?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115910888515341193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115910888515341193'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/in-france-what-revolves-around-earth.html' title='In France, what revolves around the Earth?'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115904638717935195</id><published>2006-09-23T17:16:00.000-04:00</published><updated>2006-09-24T11:38:55.850-04:00</updated><title type='text'>HR 5295 ("warrantless searches of students") passes, goes to the Senate</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/060404_video_living_ps.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/060404_video_living_ps.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.govtrack.us/congress/bill.xpd?bill=h109-5295"&gt;HR 5295&lt;/a&gt; is several things.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;An election-year tough-on-crime stunt.&lt;/li&gt;&lt;li&gt;One more step down the road of turning our schools into prisons.&lt;/li&gt;&lt;li&gt;Obedience training for future citizens. Getting kids used to random, warrantless searches will make them more compliant to government authority in the future. Plus, when whackos complain about violations of the 4th Amendment and government abuse of power, these folks will think and say, "but I've been searched all my life; it's no big deal".&lt;/li&gt;&lt;li&gt;Asymmetric. Are the teachers, administrators and other staff also subject to random warrantless searches? How about the politicians? What do they have to hide?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;It must be stopped. Anyone performing such a search on my kids is going to receive an unpleasant visit.&lt;br /&gt;&lt;br /&gt;Call, write and/or visit your congresscritter. It was a voice vote, so assume they are all guilty (voted for the bill) until proven innocent (can prove they didn't, or that they opposed it). Call your representative's office and request to know how they voted. Make your opposition known. Do the same for your sentator.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE&lt;/span&gt;&lt;br /&gt;This bill doesn't appear to do much on top of &lt;a href="http://www.law.umkc.edu/faculty/projects/ftrials/conlaw/tlo.html"&gt;NEW JERSEY v. T. L. O.&lt;/a&gt;, the 1985 case that established limits to 4th Amendment protections for minors on school grounds. HR 5295 cites that case, and adds the requirement that schools must have a policy that reflects more or less what New Jersey vs TLO says is acceptable anyway. The point appears to be to make it clearer to everyone that certain kinds of searches at schools are acceptable, and have been since 1985. I am uncertain whether this policy has been law before now, or just a court ruling. After the Senate passes this will, it will be law, of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115904638717935195?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115904638717935195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115904638717935195'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/hr-5295-warrantless-searches-of.html' title='HR 5295 (&quot;warrantless searches of students&quot;) passes, goes to the Senate'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115887776737505693</id><published>2006-09-21T18:28:00.000-04:00</published><updated>2006-09-21T18:29:27.386-04:00</updated><title type='text'>H.R. 5295: Student and Teacher Safety Act of 2006</title><content type='html'>Representative &lt;a href="http://price.house.gov/"&gt;Price&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;I'll get straight to the point. I'm the father of two children currently in elementary school. I find &lt;a href="http://www.govtrack.us/congress/bill.xpd?bill=h109-5295"&gt;H.R. 5295&lt;/a&gt; ("Student and Teacher Safety Act of 2006") to be reprehensible. It seems to be little more than obedience training for the citizens of tomorrow. Teaching them that random searches are normal is not a good way to educate citizens about living in a free country. &lt;br /&gt;&lt;br /&gt;-Michael Rothwell&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115887776737505693?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115887776737505693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115887776737505693'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/hr-5295-student-and-teacher-safety-act.html' title='H.R. 5295: Student and Teacher Safety Act of 2006'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115863638651865924</id><published>2006-09-18T23:18:00.000-04:00</published><updated>2006-09-30T13:37:47.776-04:00</updated><title type='text'>IDLE support for IMAP accounts in Apple's Mail.app</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/mail.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/mail.png" alt="" border="0" /&gt;&lt;/a&gt;Apple's mail client (Mail.app) supports IMAP accounts, but does not support the IDLE extension (&lt;a href="http://www.faqs.org/rfcs/rfc2177.html"&gt;RFC 2177&lt;/a&gt;). IDLE is good, because it lets the server notify clients when new mail arrives, meaning that clients don't have to poll. Or at least, will get new mail more often than $POLL_INTERVAL.&lt;br /&gt;&lt;br /&gt;I'm writing a plugin (a "mailbundle") for Mail.app that implements support for IDLE. It opens a  connection for each IMAP account, selects the INBOX,  enters IDLE mode, and waits for messages. When it gets a message from the server indicating that new mail has arrived, it causes Mail.app to check for new mail in that account.&lt;br /&gt;&lt;br /&gt;The first working version is running in debug mode on my Mac right now, monitoring mail over an SSL connection to my IMAP server. It won't reconnect if disconnected, currently, and ignores network state. Those are to-do items.&lt;br /&gt;&lt;br /&gt;I'll release it on VersionTracker when it's ready for public consumption.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE&lt;/span&gt;&lt;br /&gt;The first release version can be downloaded here (link disabled). It's a Universal Binary, reconnects when disconnected, and is working well on my MBP and my wife's Powerbook. You must be running Tiger (10.4.x) to use this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE&lt;/span&gt;&lt;br /&gt;Not all IMAP servers support IDLE. As a future update to the IDLE plugin, I'll have it report back about your server's capabilities. Until then, here's a page describing &lt;a href="http://popfile.sourceforge.net/cgi-bin/wiki.pl?ImapServers"&gt;how to tell if your server supports IDLE&lt;/a&gt;. Long story short: iPlanet and DotMac do not! Exchange does, as does cyrus and dovecot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE&lt;/span&gt;&lt;br /&gt;Version 1.01 is available here: IMAP-IDLE-1.01.zip (link disabled). It is a minor update to fix problems some folks were having with particular IMAP servers; the plugin was failing to recognize that the server was in IDLE mode due to the server giving a response unexpected by my code. If version 1.0 is working for you, there's no reason to update to 1.01.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE&lt;/span&gt;&lt;br /&gt;I've gotten a number of great bug and usage reports. Thanks, everyone! I'm working on the following issues:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Observing the "enabled/disabled" status of individual mail accounts&lt;/li&gt;&lt;li&gt;Observing the "online/offline" status of Mail.&lt;/li&gt;&lt;/ol&gt;I'll have an update out in the next day or two, probably!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE 2006-09-26&lt;/span&gt;&lt;br /&gt;Version 1.02 (link disabled) is available. It respects the "enabled" setting for individual accounts, and handles accounts being taken "offline". It also checks for your server's capability to support the IDLE extension and reports yea or nay back in the console log (see /Applications/Utilities/Console.app). This version is working for my very small group of testers (me, my wife). Give it a shot!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** UPDATE 2006-09-30&lt;/span&gt;&lt;br /&gt;Version 1.03 is available &lt;a href="http://fivepoundsflax.blogspot.com/2006/09/imap-idle-103-for-apples-mailapp.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115863638651865924?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115863638651865924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115863638651865924'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/idle-support-for-imap-accounts-in.html' title='IDLE support for IMAP accounts in Apple&apos;s Mail.app'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115834833062938597</id><published>2006-09-15T15:19:00.000-04:00</published><updated>2006-09-24T11:39:23.580-04:00</updated><title type='text'>Microsoft's Remote Desktop Client on an Intel Mac</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/rdc.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/rdc.png" alt="" border="0" /&gt;&lt;/a&gt;Microsoft's &lt;a href="http://www.microsoft.com/mac/otherproducts/otherproducts.aspx?pid=remotedesktopclient"&gt;Remote Desktop Client for the Mac&lt;/a&gt;, which is PPC-only (not a universal binary), occasionally fails to launch on an Intel machine. The dock icon bounces forever, and CPU usage is high. To get it launching again, delete the folder ~/Library/Preferences/M&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/gl.link.gif" alt="Link" border="0" /&gt;&lt;/span&gt;icrosoft/RDC Client -- apparently its preferences or default settings get corrupted over time.&lt;br /&gt;&lt;br /&gt;I use &lt;a href="http://www.rdesktop.org/"&gt;rdesktop&lt;/a&gt; (compiled myself) under Apple's X11 more often, as it's much faster, and more configurable. For example, I have the display resolution with rdesktop set to 1600x1100 (command-line options in use: &lt;span style="font-family:courier new;"&gt;rdesktop -g 1600x1100 -z -xm -a16&lt;/span&gt;), so that it's max size on my 1600x1200 display, but does not overlay my dock.&lt;br /&gt;&lt;br /&gt;Some kind soul packaged TSClient as in intel-mac .app. It's an X11 app, and probably rdesktop under the covers, but has a GUI.&lt;br /&gt;&lt;br /&gt;** UPDATE: New/better link for TSClientX is &lt;a href="http://desktopecho.com/tsclientx/"&gt;http://desktopecho.com/tsclientx/&lt;br /&gt;&lt;/a&gt;. And yes, it's redesktop and some other stuff (listed on that site) under the covers. It works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115834833062938597?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115834833062938597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115834833062938597'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/microsofts-remote-desktop-client-on.html' title='Microsoft&apos;s Remote Desktop Client on an Intel Mac'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115821090666750356</id><published>2006-09-14T01:06:00.000-04:00</published><updated>2006-09-14T01:16:34.733-04:00</updated><title type='text'>Rails + Laszlo? Flex?</title><content type='html'>The Laszlo folks have a new thing called "&lt;a href="http://www.openlaszlo.org/legals"&gt;Legals&lt;/a&gt;" (&lt;a href="http://weblog.openlaszlo.org/archives/2006/06/introducing-legals/"&gt;announcement&lt;/a&gt;). Laszlo/OpenLaszlo is a "Rich Internet Application" thing that generates Flash (SWF) files as the UI for web applications. "Legals" targets more than just Flash, though, and can render a "Laszlo" UI as DHTML, which is pretty neat. Apparently the Legals team intends to support "other targets" in the future, presumably SVG and WPF/E. I hope they support &lt;a href="http://www.rubyonrails.org/"&gt;Rails&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The older &lt;a href="http://laszlo-plugin.rubyforge.org/"&gt;OpenLaszlo has support available for Rails&lt;/a&gt;. The &lt;a href="http://weblog.openlaszlo.org/archives/2006/01/announcing-the-openlaszlo-rails-plugin/"&gt;OpenLaszlo Project Blog&lt;/a&gt; talks about it. A guy named &lt;a href="http://pinupgeek.com/articles/2006/01/30/openlaszlo-rails-on-macosx"&gt;Rodney got it working&lt;/a&gt; on the Mac, and through the magic of google, I became aware of this feat.&lt;br /&gt;&lt;br /&gt;Adobe has released a &lt;a href="http://weblog.rubyonrails.com/2006/9/7/adobe-announces-rails-sdk-for-flex"&gt;Rails SDK for Flex&lt;/a&gt;, which is their RIA-generates-SWF solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115821090666750356?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115821090666750356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115821090666750356'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/rails-laszlo-flex.html' title='Rails + Laszlo? Flex?'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115821021348490973</id><published>2006-09-14T00:55:00.000-04:00</published><updated>2006-09-14T01:03:33.496-04:00</updated><title type='text'>Treo 650 and the dreaded "AirSAMStateMachine" error</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/41831_error.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/41831_error.gif" alt="" border="0" /&gt;&lt;/a&gt;My Treo 650 quit syncing calendar events a while back. It would reliably generate an "AirSAMStateMachine.c" error.&lt;br /&gt;&lt;br /&gt;I found the &lt;a href="http://kb.palmone.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj%2841831%29"&gt;secret decoder ring&lt;/a&gt; for these messages. "1509" means "Sync interface: Sync protocol has encountered an error. It is usually followed by status code to indicate its particular definition." Sure enough, it's followed by "Status: 5", which means, simply, "Server error.".&lt;br /&gt;&lt;br /&gt;The Exchange server wass not logging an error, though. Nothing in the event log. Nothing in the IIS log. I applied the standard exchange ritual voodoo: checked information store for errors using eseutil, etc; ensured IIS was bound to all IP addresses (the server is multihomed), verified Exchange 2003 SP2 was installed, ensured "basic" and "integrated" auth were enabled and that SSL was not required. Nothing helped.&lt;br /&gt;&lt;br /&gt;But I did, in the end, get my Palm syncing again. I simply deleted the mail account on the Treo and re-created it. Apparently the "server error" was really an internal Versamail error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115821021348490973?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115821021348490973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115821021348490973'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/treo-650-and-dreaded.html' title='Treo 650 and the dreaded &quot;AirSAMStateMachine&quot; error'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115807545092042328</id><published>2006-09-12T11:35:00.000-04:00</published><updated>2006-09-12T11:37:30.936-04:00</updated><title type='text'>Endian Firewall!</title><content type='html'>Well, I dumped FC4 on my home firewall. The problems I was having with IPSec were due to kame/racoon/ipsec-tools.&lt;br /&gt;&lt;br /&gt;IKE is the devil.&lt;br /&gt;&lt;br /&gt;I'm now running &lt;a href="http://www.endian.it/"&gt;Endian Firewall&lt;/a&gt;, which uses OpenSwan (Pluto, et al). Literally minutes of work to get three VPN tunnels up and working!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115807545092042328?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115807545092042328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115807545092042328'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/endian-firewall.html' title='Endian Firewall!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115723659391595394</id><published>2006-09-02T18:34:00.000-04:00</published><updated>2006-09-02T18:36:33.930-04:00</updated><title type='text'>IPSec between FC4 and IOS</title><content type='html'>Does anyone know what this means?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR: &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold; font-family: courier new;"&gt;proto_id mismathed: my:2 peer:3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR: proposal mismathed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR: failed to pre-process packet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR: phase2 negotiation failed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What's "2"? What's "3"?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115723659391595394?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115723659391595394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115723659391595394'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/ipsec-between-fc4-and-ios.html' title='IPSec between FC4 and IOS'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115720469227813576</id><published>2006-09-02T09:39:00.000-04:00</published><updated>2006-09-02T09:44:52.296-04:00</updated><title type='text'>Run vmware server console on a Mac</title><content type='html'>Ok, it's not really running *on* the Mac, but keep reading. I tried running the Windows version using &lt;a href="http://www.codeweavers.com/beta/cxmac/download/"&gt;Crossover Office&lt;/a&gt; (e.g., Wine for Mac), and although it installed, it would never run. So I tried running the Linux version, from a Linux machine, using Apple's X11. It worked! &lt;a href="http://the.taoofmac.com/space/HOWTO/Run%20vmware-console%20Remotely%20With%20Apple%20X11"&gt;TAO of Mac&lt;/a&gt; has some instructions.&lt;br /&gt;&lt;br /&gt;Long story short:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;ssh -Y&lt;/span&gt; to a linux machine with vmware-server-console installed.&lt;/li&gt;&lt;li&gt;edit &lt;span style="font-family:courier new;"&gt;~/.vmware/preferences&lt;/span&gt; to add a line like &lt;span style="font-family:courier new;"&gt;xkeymap.language="pt104"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;run &lt;span style="font-family:courier new;"&gt;vmware-server-console&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Ta-da, you're managing virtual machines from your Mac.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%202.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%202.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115720469227813576?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115720469227813576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115720469227813576'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/09/run-vmware-server-console-on-mac.html' title='Run vmware server console on a Mac'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115697936248723845</id><published>2006-08-30T19:08:00.000-04:00</published><updated>2006-08-30T19:09:22.500-04:00</updated><title type='text'>Steady as she goes</title><content type='html'>The Macbook Pro has been working Just Fine™ for the last month. Yay.&lt;br /&gt;&lt;br /&gt;I've gotten a few emails about my Rails replacement for the eyehome software. It's not releasable, yet, folks! Sorry!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115697936248723845?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115697936248723845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115697936248723845'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/08/steady-as-she-goes.html' title='Steady as she goes'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115411331751378946</id><published>2006-07-28T14:17:00.000-04:00</published><updated>2006-09-02T09:48:24.046-04:00</updated><title type='text'>Applecare phone support is useless</title><content type='html'>The know-nothing "product specialists" at Applecare are useless. My Macbook Pro continues to "beachball" after coming out of a lower-power condition: not sleep, but display off and (presumably) the hard drive spun down. It happened twice this morning.&lt;br /&gt;&lt;br /&gt;The first time, everything froze shortly after I 'woke up' the machine by touching the trackpad. Application windows could be selected, but they all beachballed. The seconds in the menu bar clock stopped advancing for thirty seconds. Then everything came back. It was as if (and this is speculation on my part) the hard drive was taking a long time to spin up.&lt;br /&gt;&lt;br /&gt;The second time, I let it sit in the beachballed state for several minutes, before closing the lid and stuffing into my travel bag. It went to sleep -- I could tell because of the "breathing" white LED on the latch release button. I opened the lid back up on the commute in, and hte machine wole up unfrozen.&lt;br /&gt;&lt;br /&gt;The local apple store replaced the hard drive on July 11 because the machine was logging a lot of hardware disk errors. Since then, it has not logged any errors.&lt;br /&gt;&lt;br /&gt;I just spoke with an "advanced product specialist" who advised me to try using the machine without running any applications or periherals, and perhaps setting up a different user account to switch to when I want to let the machine sleep (the machine isn't sleeping; sleep is turned off in the energy settings, as I told him, but whatever). He suggested that when the Finder hangs, I would not be able to use any of the applications. We had a little argument about this, with me saying that I can kill the finder completely and all the other applications till work (pathfinder users do this all the time); so it can't be the &lt;span style="font-style: italic;"&gt;finder&lt;/span&gt; beachballing everything. He said that perhaps it's one application hanging waiting for the disk when it sleeps, which causes the whole OS to hang. I reminded him that I'm not running OS9, and would Mail hanging really cause the menu bar clock to stop? He said "we'll need to reproduce the problem". This is the same problem I've been reporting for a couple of months now, by the way. And it happened twice today ebfore I called. I ask, "so how many timed do I need to reproduce it? It's done it twice in the exact same conditions today."&lt;br /&gt;&lt;br /&gt;So I have to go through the stupid little dance. Yes, Mr. Tech Support Sir, I was running: Finder, Mail, Adium, Firefox, Terminal, Subethaedit and Textmate. No, there were not any peripherals attached. Yes, it hung up.&lt;br /&gt;&lt;br /&gt;Guh.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: The guys at the Genius Bar in Raleigh are great.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115411331751378946?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115411331751378946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115411331751378946'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/07/applecare-phone-support-is-useless.html' title='Applecare phone support is useless'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115257311238348598</id><published>2006-07-10T19:09:00.000-04:00</published><updated>2006-07-10T19:12:19.003-04:00</updated><title type='text'>Macbook Pro disk problems</title><content type='html'>My Macbook Pro was recently in for repair. They replaced the motherboard, memory and battery. Prior to the service, the MBP was locking up and had no battery life -- it would go dead in minutes.&lt;br /&gt;&lt;br /&gt;I'm still getting occasional "pauses" (beachballing) and Azeureus is logging disk errors. The MBP's system.log contains entries like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 07:29:35 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 07:29:50 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 18:04:02 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 18:04:17 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 18:44:05 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:78%;"&gt;Jul 10 18:50:13 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:78%;"&gt;Jul 10 19:01:12 Foamy kernel[0]: disk0s2: 0xe0030005 (UNDEFINED).&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Argh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115257311238348598?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115257311238348598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115257311238348598'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/07/macbook-pro-disk-problems.html' title='Macbook Pro disk problems'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115248380906286602</id><published>2006-07-09T18:20:00.000-04:00</published><updated>2006-07-09T18:24:38.163-04:00</updated><title type='text'>North Carolina and Tobacco</title><content type='html'>In this picture (click to enlarge), you can see a new school being built in the town where I live. It borders a large, very healthy-looking tobacco field (see inset). My wife and I both thought that people from "up north" would find this rather peculiar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/school-tobacco.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/school-tobacco.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115248380906286602?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115248380906286602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115248380906286602'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/07/north-carolina-and-tobacco.html' title='North Carolina and Tobacco'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115137110749134976</id><published>2006-06-26T21:17:00.000-04:00</published><updated>2006-06-26T21:18:27.493-04:00</updated><title type='text'>Dogs love trucks</title><content type='html'>Here's a picture of my dog, as seen in the rear view mirror.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Photo_060306_001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/400/Photo_060306_001.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115137110749134976?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115137110749134976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115137110749134976'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/06/dogs-love-trucks.html' title='Dogs love trucks'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-115137056637390906</id><published>2006-06-26T20:34:00.000-04:00</published><updated>2006-06-26T21:37:08.566-04:00</updated><title type='text'>Replacement Eyehome software using Ruby on Rails</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%202.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%202.png" alt="" border="0" /&gt;&lt;/a&gt;I am writing replacement server software for my &lt;a href="http://www.elgato.com/index.php?file=products_eyehome"&gt;Eyehome&lt;/a&gt; &lt;a href="http://fivepoundsflax.blogspot.com/2006/01/diy-video-on-demand-part-1.html"&gt;video-on-demand system&lt;/a&gt;. The included Java software didn't do a number of things that I wanted it to do. So, I whipped out Ethereal and began sniffing the eyehome&lt;-&gt;server communications. It's HTTP/1.1 with a special USER-AGENT string and what we'll call an "Extended subset" of HTML.&lt;br /&gt;&lt;br /&gt;Hmmm. HTTP. HTML. Sounds like a job for... Ruby on Rails!&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/rails.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/rails.png" alt="" border="0" /&gt;&lt;/a&gt;  I developed on my Macbook Pro, and deployed to the Fedora Core 4 system that is my &lt;a href="http://fivepoundsflax.blogspot.com/2006/01/diy-video-on-demand-part-1.html"&gt;terabyte fileserver&lt;/a&gt;. As it turns out, Apache on FC4 cannot serve "large files" (more than 2GB or so), so I'm running my Eyehome server (cleverly named "MyHome") under &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt;, which &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; serve large files. Since the AVI files for long movies done at high quality can exceed Apache's file-size limitations, lighty is the best choice for now. Plus, Rails runs great under lighty.&lt;br /&gt;&lt;br /&gt;This is how an earlier version of the MyHome looks on my TV downstairs (you can see that this picture was taken around Mothers Day):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Photo_060406_001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Photo_060406_001.jpg" alt="" border="0" /&gt;&lt;/a&gt;I'll sum up a few of the new features that are visible in this next screenshot (which is of the current, uh, "release"). Note that the text doesn't fill the screen on this Firefox-prodced screen shot, but it does on the actual Eyehome.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%203.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%203.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There's a "breadcrumb" UI element in the left pane, where it says "Location". This allows jumping back up the directory tree quickly from the remote.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There's a "Categories" section on the left hand side as well. This is a listing of all the genres of all the movies in the current folder. Selecting a genre will display only the movies tagged with that genre. So if I want to watch a "Western", I'll get a shorter list with Tombstone and Blazing Saddles in it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The current folder is displayed as "Movies for Adults" in this screenshot, but the actual folder name on disk is "Parents" (vs the "Kids") folder. This is accomplished via metadata sotred with each folder (in a &lt;a href="http://www.yaml.org/"&gt;YAML&lt;/a&gt; file; Ruby likes yaml), as is the next feature: access control.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The lock in the upper-right indicates that an access code has been entered, as the "Parents" folder is restricted.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Note that "The Aviator" is appearing with movies whose titles begin with "A". The MyHome software generates a "sortable title" for each item that does things such as move "The" to the end.&lt;/li&gt;&lt;li&gt;The item names are not just the filenames minus the ".avi" -- although it falls back to that in the absence of available metadata. It's the full title of the movie plus the year it was released (or the date in the case of TV series, plus season and episode).&lt;/li&gt;&lt;/ul&gt;Here's a similar display in a folder full of Stargate SG-1 episodes (go go &lt;a href="http://fbm.bentpixel.com/"&gt;ReplayTV&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%204.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%204.0.png" alt="" border="0" /&gt;&lt;/a&gt;The items are sorted by season and episode, rather than title or filename. The title also includes an abbreviated display of season and episode.&lt;br /&gt;&lt;br /&gt;Choosing an item displays details for the item. As seen in the next screenshot, it displays a boxshot/cover art, the title, a plot synopsis, IMDB rating, genres, MPAA rating and other details.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%206.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%206.png" alt="" border="0" /&gt;&lt;/a&gt;When viewing the details page with a browser that's &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; the Eyehome, "edit" and "listing" links appear. Clicking edit allows me to enter the metadata for an item using a browser. The metadata is saved as a YAML file with the same name as the movie file.&lt;br /&gt;&lt;br /&gt;To help me obtain the metadata, I have also written a Cocoa (Mac OS X) application that does the following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;accepts a drag-and-drop of a video file&lt;/li&gt;&lt;li&gt;looks it up by title in IMDB&lt;/li&gt;&lt;li&gt;renames the file with the "canonical IMDB name" (title plus year)&lt;/li&gt;&lt;li&gt;saves a plist containing the IMDB info.&lt;/li&gt;&lt;/ul&gt;I then convert the plist file to a YAML file using a Ruby script. An earlier version of my software used plist files. I'll be updating the Mac app to read and write YAML instead.&lt;br /&gt;&lt;br /&gt;By storing the metadata in text files alongside the real movie files, I can realize a few advantages.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I can edit the metadata using a text editor if I want to. This isn't a big advantage, but it's a small one. For most things, the editing built into the rails app keeps me from having to.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I don't depend on any special access to manage the movie files. I can zip into the fileserver via nfs, smb or afp and rearrange, copy or delete stuff as I see fit. I can also ssh into the fileserver and use cli tools.&lt;/li&gt;&lt;li&gt;The deployment footprint of the rails app is small. It doesn't require a database.&lt;/li&gt;&lt;/ul&gt;When I have the software fixed up so that I'm ready to let the world use it, I'll make a release on this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-115137056637390906?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115137056637390906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/115137056637390906'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/06/replacement-eyehome-software-using.html' title='Replacement Eyehome software using Ruby on Rails'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114808362095651154</id><published>2006-05-19T20:05:00.000-04:00</published><updated>2006-05-19T20:07:36.233-04:00</updated><title type='text'>CoreDuoTemp</title><content type='html'>You can use an application called &lt;a href="http://macupdate.com/info.php/id/21674"&gt;CoreDuoTemp&lt;/a&gt; to monitor your Intel-Mac's processor speed and temperature. My Macbook Pro measures up thusly:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%201.1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%201.1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114808362095651154?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114808362095651154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114808362095651154'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/05/coreduotemp.html' title='CoreDuoTemp'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114693946940343565</id><published>2006-05-06T14:14:00.000-04:00</published><updated>2006-05-06T14:19:21.540-04:00</updated><title type='text'>17" Powerbook is Rehabilitated</title><content type='html'>I took my 17" powerbook to the local Apple Store, where they let me test a new battery before buying it. I wanted to see if the battery (replaceable) was dead, or if the charging circuitry (not replaceable) was dead; thankfully, it turns out it was the battery. I bought the tester battery (new, but returned because it was the "wrong size" -- it pays to read the labelling, people!) at a $50 discount. Not bad -- free help at the Genius Bar plus a discount on a new battery. My wife has the laptop now, and just loves it. It's an upgrade from her G3 iBook. It is, in her words, "lighter, faster, bigger!"&lt;br /&gt;&lt;br /&gt;The "d" key still double-types sometimes, but she's not complained about it. I don't have a solution, yet, but I'm still looking for one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114693946940343565?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114693946940343565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114693946940343565'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/05/17-powerbook-is-rehabilitated.html' title='17&quot; Powerbook is Rehabilitated'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114693855323787954</id><published>2006-05-06T13:53:00.000-04:00</published><updated>2006-05-06T14:07:45.900-04:00</updated><title type='text'>Macbook Pro 2.16GHz CPU temps</title><content type='html'>I've been following the &lt;a href="http://forums.somethingawful.com/showthread.php?s=&amp;threadid=1864582&amp;amp;pagenumber=5"&gt;Something Awful thread&lt;/a&gt; on thermal grease and the Macbook Pro CPU temperatures. I installed the &lt;a href="http://speedit.increw.org/"&gt;speedit kernel extension&lt;/a&gt; and &lt;a href="http://www.versiontracker.com/dyn/moreinfo/macosx/19994"&gt;Temperature Monitor&lt;/a&gt;, which reads the data from the kext and graphs it.&lt;br /&gt;&lt;br /&gt;My CPU seems to be floating around 63° C (145° F) when the machine is mostly idle. When running Handbrake, which does a pretty good job of banging both CPUs at 100%, the temperature rises as high as 78° C (172° F). The graph here shows the CPU temp during the handbrake run, and after.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%201.0.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%201.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I seem to be doing better than the guy who's getting 97° C at load! The Macbook doesn't seem any hotter than my 17" 1GHz G4 Powerbook was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114693855323787954?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114693855323787954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114693855323787954'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/05/macbook-pro-216ghz-cpu-temps.html' title='Macbook Pro 2.16GHz CPU temps'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114661514450481857</id><published>2006-05-02T19:58:00.000-04:00</published><updated>2006-05-02T20:12:24.516-04:00</updated><title type='text'>DIY Canon Powershot SD550 LCD Repair</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/canon-sd550-beige-400.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/200/canon-sd550-beige-400.jpg" alt="" border="0" /&gt;&lt;/a&gt;I have a Canon "digital elph" model SD550 digital camera. I had it in my pocket when I rode the &lt;a href="http://www.buschgardens.com/buschgardens/fla/sheikra_take_flight.aspx"&gt;SheiKra&lt;/a&gt; roller-coaster at Busch Gardens in Tampa. The ride cracked the LCD display on the back of the camera, making it more or less impossible to change any of the settings, review pictures, etc. Luckily, I hadn't put it in any wierd sepia/black and white type of mode, and could continue taking pictures using the optical viewfinder.&lt;br /&gt;&lt;br /&gt;Canon wnted $150 to repair the camera. Cracked LCDs are not covered under regular warranty work. That seemed a little steep to me. I called the Canon parts department (open M-F 8-5; 732-521-7230) and ordered the replacement part for $50. I bought a set of Kronus screwdrivers drivers at Radio Shack to work with the small philips screws on the camera.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Repair instructions, as I did it (warning: no warranty, try this at your own risk ,etc). &lt;/span&gt;&lt;br /&gt;Remove the battery. Remove all of the external screws and put them someplace safe. Keep track of which screw goes in which hole. Carefully separate the two halves of the camera shell. Remove the metal bar (held in with one screw on the left and a nub at the right) along the top of the LCD. Release the LCD's four small metal/plastic tabs and lift it away. The backlight is underneath. The cable from the LCD runs beneath it, so it must be carefully lifted away as well. The cable for the LCD is taped to the back of the backlight. Carefully remove the cable and cover up the sticky spot with a slip of paper. Remove the two screws holding in the metal harness for the control buttons. Lift it away to reveal the socket into which the LCD cable goes. Lift the black hinged tab, carefully, and slide out the ribbon cable. Put the broken LCD away. Insert the ribbon cable for the new LCD in the same orientation, and push down the hinged tab. Replace the buttons and screws. Replace the backlight. Mount the LCD back into its tabs. Replace the metal bar. Reassemble the case, and screw everything back together.&lt;br /&gt;&lt;br /&gt;It's not hard, Just be careful and work in a place with a lot of light and no breeze.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114661514450481857?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114661514450481857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114661514450481857'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/05/diy-canon-powershot-sd550-lcd-repair.html' title='DIY Canon Powershot SD550 LCD Repair'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114619184992493027</id><published>2006-04-27T22:33:00.000-04:00</published><updated>2006-04-27T22:37:29.936-04:00</updated><title type='text'>Fedora Core 4, Apache2, Ruby on Rails and FastCGI</title><content type='html'>FastCGI (or in my case, mod_fcgid plus the FastCGI dev kit) runs the script public/dispatch.fcgi in your Rails application. If you're having problems getting it to run right, try this.&lt;br /&gt;&lt;br /&gt;The dispatch.fcgi script normally looks like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;#!/usr/bin/ruby&lt;br /&gt;require File.dirname(__FILE__) + "/../config/environment"&lt;br /&gt;require 'fcgi_handler'&lt;br /&gt;&lt;br /&gt;RailsFCGIHandler.process!&lt;/span&gt;&lt;/blockquote&gt;Edit it so that it looks like this:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;#!/usr/bin/ruby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; require File.dirname(__FILE__) + "/../config/environment"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 153); font-weight: bold;"&gt; FCGI_PURE_RUBY = true&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; require 'fcgi_handler'&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;br /&gt;RailsFCGIHandler.process!&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;That one change might make it work right for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114619184992493027?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114619184992493027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114619184992493027'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/fedora-core-4-apache2-ruby-on-rails.html' title='Fedora Core 4, Apache2, Ruby on Rails and FastCGI'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114579772549966914</id><published>2006-04-23T09:05:00.000-04:00</published><updated>2006-05-06T14:14:03.480-04:00</updated><title type='text'>Macbook Pro heat</title><content type='html'>Dad and I both have the 2.16GHz version of the Macbook Pro. It gets really hot, both on the bottom  and on the top above the function keys. The fans never seem to kick on noticeably, but I've heard of a "jet engine mode" that they can go into occasionally. It would be nice to knock the fan speed up just a little to cool off the Macbook, so it'll be comfortable while on a lap. Alternatively, perhaps there's some sort of add-on I could use, like adhering a custom-fit rubber mat to the bottom side to shield flesh from the heat dissipated by the aluminum case. If you have any ideas, let me know.&lt;br /&gt;&lt;br /&gt;UPDATE: &lt;a href="http://fivepoundsflax.blogspot.com/2006/05/macbook-pro-216ghz-cpu-temps.html"&gt;follow-up post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114579772549966914?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114579772549966914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114579772549966914'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/macbook-pro-heat.html' title='Macbook Pro heat'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114575130068022583</id><published>2006-04-22T20:10:00.000-04:00</published><updated>2006-04-22T20:15:00.680-04:00</updated><title type='text'>Ringtones</title><content type='html'>I am using two custom ringtones on my Treo:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;This &lt;a href="http://www.illwillpress.com/cell.html"&gt;Foamy ringtone&lt;/a&gt; ("follow the sound of my voice and kill whoever's holding the phone", wav and mp3) plays when Sal calls me.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.rothwell.us/misc/CoreMeltdown.wav"&gt;This ringtone&lt;/a&gt; ("core meltdown in 10 seconds", wav file) plays when someone calls me from work.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114575130068022583?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575130068022583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575130068022583'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/ringtones.html' title='Ringtones'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114575084754043043</id><published>2006-04-22T20:02:00.000-04:00</published><updated>2006-04-22T20:07:27.543-04:00</updated><title type='text'>www.rothwell.us is moving</title><content type='html'>The existing rothwell.us hosting situation is getting to be slower and slower:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new;"&gt;$ ping www.rothwell.us&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;PING www.rothwell.us (72.236.213.43): 56 data bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 72.236.213.43: icmp_seq=0 ttl=42 time=1515.968 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 72.236.213.43: icmp_seq=1 ttl=42 time=1455.347 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 72.236.213.43: icmp_seq=2 ttl=42 time=1207.031 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 72.236.213.43: icmp_seq=3 ttl=42 time=1288.661 ms&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;I just signed up for a new dedicated server at &lt;a href="http://www.serverpronto.com/"&gt;ServerPronto&lt;/a&gt;, which is also the new home of zappe.us. In fact, it was Zappe who referred me there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: courier new;"&gt;$ ping www.zappe.us&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;PING www.zappe.us (64.251.25.46): 56 data bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 64.251.25.46: icmp_seq=0 ttl=42 time=65.153 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 64.251.25.46: icmp_seq=1 ttl=42 time=64.955 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 64.251.25.46: icmp_seq=2 ttl=42 time=47.836 ms&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;64 bytes from 64.251.25.46: icmp_seq=3 ttl=42 time=52.610 ms&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;... performance is a little better at ServerPronto, it seems. They indicate that each server is connected via 100MBit ethernet to their redundant peered internet connections. That's certainly a step up from a 10mbit hub and two pigeons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114575084754043043?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575084754043043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575084754043043'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/wwwrothwellus-is-moving.html' title='www.rothwell.us is moving'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114575052280114493</id><published>2006-04-22T20:00:00.000-04:00</published><updated>2006-04-22T20:02:02.816-04:00</updated><title type='text'>Photobooth is fun</title><content type='html'>My enormous cranium and I showing off the new Macbook at work:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Photo%209.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/200/Photo%209.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114575052280114493?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575052280114493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114575052280114493'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/photobooth-is-fun.html' title='Photobooth is fun'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114550101926756289</id><published>2006-04-19T22:40:00.000-04:00</published><updated>2006-04-19T22:46:46.520-04:00</updated><title type='text'>AppWatch vs the Apple Menu</title><content type='html'>&lt;a href="http://fivepoundsflax.blogspot.com/2006/04/appwatch-101.html"&gt;Appwatch&lt;/a&gt; offers  a menu of "recent applications".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Appwatch.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Appwatch.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As it turns out, so does the Apple Menu:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Recent.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Recent.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;At the moment, I cannot explain the differences in the two lists of "recent applications".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114550101926756289?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114550101926756289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114550101926756289'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/appwatch-vs-apple-menu.html' title='AppWatch vs the Apple Menu'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114550048878322850</id><published>2006-04-19T22:23:00.000-04:00</published><updated>2006-04-19T22:45:19.223-04:00</updated><title type='text'>Update on "optimum settings" for Eyehome use</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/794.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/794.jpg" alt="" border="0" /&gt;&lt;/a&gt;As an interim follow-up to &lt;a href="http://fivepoundsflax.blogspot.com/2006/01/diy-video-on-demand-part-1.html"&gt;Part 1&lt;/a&gt;, here is some information about producing good-quality, Eyehome-compatible video files.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Actual Size" is the best "video scaling" option on the Eyehome. It avoids unnecessary scaling and distortion of the video. For video that's not a "perfect" aspect ratio, the Eyehome will produce fat or thin people in the "fit" and "16x9" settings.&lt;/li&gt;&lt;li&gt;AVI (MPEG4/DivX video + MP3 audio) is the best format for the Eyehome. It will play MPEG4 (MPEG4 video + AAC audio) files, but the sound will eventually get out of sync and attempting to fast forward will often crash the eyehome box.&lt;/li&gt;&lt;li&gt;Handbrake does a great job encoding video. I like that it gives me control over cropping, scaling and de-interlacing. The settings I am currently using are:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Average bitrate option set at 2048&lt;/li&gt;&lt;li&gt;ffmpeg encoder&lt;/li&gt;&lt;li&gt;AVI (MPEG4/DivX video + MP3 audio)&lt;/li&gt;&lt;li&gt;2-pass&lt;/li&gt;&lt;li&gt;cropping and scaling "to taste". I like to end up with a frame size in the neighborhood of 704x400, 720x400, or 688x384. "Anamorphic" and 4:3 (NTSC) sources don't always fit in that mold. Encode, and test on the Eyehome to ensure that you get no funny scaling. You may need to leave on some "black bars" (e.g., ease up on the cropping some) to get a desired playback result with some source material.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It is generally best to crop off all black borders, including "half-black" border regions. This produces a lower final file size and fewer artifacts. See previous bullet.&lt;/li&gt;&lt;li&gt;De-interlacing as needed.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;If you have audio equipment with optical in, pass through the original AC3 audio if possible: you'll end up with better audio and retain the surround channels. I do not have any optical-capable audio equipment, so I re-encode all of the audio as MP3 or AAC. Unfortunately, the Eyehome cannot (or will not) decode AC3, but it will pass it out the optical port.&lt;/li&gt;&lt;/ul&gt;For  a good discussion of how to create high-quality MPEG4 video files (and what all the knobs and dials are), &lt;a href="http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-dvd-mpeg4.html"&gt;read this article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114550048878322850?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114550048878322850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114550048878322850'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/update-on-optimum-settings-for-eyehome.html' title='Update on &quot;optimum settings&quot; for Eyehome use'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114540695391249900</id><published>2006-04-18T20:30:00.000-04:00</published><updated>2006-04-18T22:24:10.886-04:00</updated><title type='text'>17" powerbook issues - timing is everything</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/wile-doh150.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/wile-doh150.jpg" alt="" border="0" /&gt;&lt;/a&gt;I have a 1st generation 17" G4 Powerbook that has developed two issues.&lt;br /&gt;&lt;br /&gt;Problem one:&lt;br /&gt;There seems to be a loose connection somewhere that prevents proper charging of the battery. It's currently reporting that a full charge will be achieved in  1014 hours, which seems a little long. Moving the powerbook around results  in the green/orange ring around the power connector plug flickering between orange and green, as if the connection is being made and then broken. Pressing the button on the battery causes the lowest LED indicator to flicker. Sometimes, I can get a full charge and use the powerbook away from the AC, but not always -- not even more than half the time.&lt;br /&gt;&lt;br /&gt;Problem two:&lt;br /&gt;The "d" key occasionally "sticks", although not physically, and produces multiple "d"s when typing. The apple support guy on the phone tonight suggested this might be "a software problem". He said the battery funkiness might be as well.&lt;br /&gt;&lt;br /&gt;According to Apple, my Applecare support expired a month ago. Doh! I thought waiting until the 11th months would result in an extended warranty, but I was wrong. I probably just didn't read something carefully enough.&lt;br /&gt;&lt;br /&gt;If you have any suggestions about how to fix these issues, email me or post in the comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114540695391249900?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114540695391249900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114540695391249900'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/17-powerbook-issues-timing-is.html' title='17&quot; powerbook issues - timing is everything'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114521582045269514</id><published>2006-04-16T15:29:00.000-04:00</published><updated>2006-04-16T18:03:42.886-04:00</updated><title type='text'>This blog needs a new design</title><content type='html'>The title says it all. I've been meaning to do it, just as I've been meaning to blog more. Well, no more excuses. I'm going to put my new MacBook Pro to work today.&lt;br /&gt;&lt;br /&gt;Ugly old design:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%201.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/200/Picture%201.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"Algae". Ick.&lt;br /&gt;&lt;br /&gt;UPDATE: Part-way there. It's blue, and flax-based. The layout works ok in Firefox and Safari. Internet Explorer is, as usual, causing problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114521582045269514?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114521582045269514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114521582045269514'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/this-blog-needs-new-design.html' title='This blog needs a new design'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114452992119595956</id><published>2006-04-08T16:53:00.000-04:00</published><updated>2006-04-08T17:00:38.196-04:00</updated><title type='text'>AppWatch 1.01</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/universal_smbadge.0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/200/universal_smbadge.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;AppWatch 1.01 is a Universal Binary.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For a description, see the &lt;a href="http://fivepoundsflax.blogspot.com/2005/11/appwatch-simple-mac-os-x-application.html"&gt;previous post&lt;/a&gt;; there are no new features other than the hotkey, which is now &lt;span style="font-style: italic;"&gt;shift-command-escape&lt;/span&gt;, because Front Row uses command-escape.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fbm.bentpixel.com/AppWatch-1.01.zip"&gt;Download version 1.01&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114452992119595956?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114452992119595956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114452992119595956'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/04/appwatch-101.html' title='AppWatch 1.01'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114385981028094184</id><published>2006-03-31T21:41:00.000-05:00</published><updated>2006-04-18T20:30:23.433-04:00</updated><title type='text'>Fixing "tearing" and slow or jerky video on Mac OS X</title><content type='html'>I have a 17" Powerbook and a 24" Dell flat-panel display. Tiger (10.4) includes a feature called "beam sync" which tries to defer screen updates so that they are synchronized with the monitor refresh rate. Essentially, beam sync limits the "frames per second" of the display to whatever your monitor can really support. This feature seems to make more sense for CRTs than for all-digital displays like LCDs.&lt;br /&gt;&lt;br /&gt;When I used only the Powerbook's internal display, and then connected the Dell external display via DVI, the video on the Dell exhibited jerky and slow(er) updates (especially with Expose) and some "tearing", by which I mean that moving a window around the screen seemed to cause the window to "drift" in the direction of the movement, with the top leading the bottom. It's like the window was skewed while it was in motion. This behavior, I'm guessing, is caused by the difference in "refresh rates" between the internal display and the Dell; the Mac was attempting to use the rate for the internal display with the Dell, and not having a lot of success. Rebooting always fixed the problem, presumably because the Mac re-probed the display and thereafter used the correct refresh rate.&lt;br /&gt;&lt;br /&gt;I discovered another way to fix the problem, however, that doesn't require a reboot: using Quartz Debug to disable beam sync. Unfortunately, quitting Quartz Debug re-enables beam sync and the problem immediately re-surfaces. There's no switch to flip in any preference pane to disable beam sync for good, but there is a command that can be run from Terminal that makes the setting sticky. Type it all on one line, or copy/paste it from here into Terminal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo defaults write /Library/Preferences/com.apple.windowserver Compositor -dict deferredUpdates 0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Running that command fixed the video problem permanently. I should write a mini prefpane to do that...&lt;br /&gt;&lt;br /&gt;UPDATE: My new Macbook Pro doesn't seem to have this issue. I also do not have DisplayConfigX installed on it, which may or may not be a contributing factor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114385981028094184?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114385981028094184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114385981028094184'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/03/fixing-tearing-and-slow-or-jerky-video.html' title='Fixing &quot;tearing&quot; and slow or jerky video on Mac OS X'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-114038244380339894</id><published>2006-02-19T15:46:00.000-05:00</published><updated>2006-02-19T15:54:03.816-05:00</updated><title type='text'>DumbDialog 1.0: a simple "progress bar" dialog box for applescripters</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%203.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%203.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flyingbuttmonkeys.com/DumbDialog1.0.zip"&gt;DumbDialog 1.0&lt;/a&gt; (20kb) is a small, faceless Cocoa application that does nothing but display a panel containing a progress bar and a text field. It does not have a menu bar or dock icon. It is intended for use by AppleScript programs that need to display an Aqua-looking progress bar. It was developed and tested on Tiger (10.4). It may work on older versions of OSX, but I don't know. Email me if you have any success on 10.3.&lt;br /&gt;&lt;br /&gt;DumbDialog has three properties of interest:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;paneltitle (text)&lt;/li&gt;&lt;li&gt;displaytext (text)&lt;/li&gt;&lt;li&gt;panelvisible (boolean)&lt;/li&gt;&lt;/ul&gt;You probably want to "activate" it early and leave it running, sending it different text to display  and showing/hiding it as needed. This will make it pop open faster than restarting it and quitting it every time you want to show it.&lt;br /&gt;&lt;br /&gt;Example usage:&lt;br /&gt;&lt;pre   style="border: 1px solid black; padding: 0.5em 1em; overflow: auto; text-align: left; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);font-family:monospace;font-size:small;"&gt;&lt;span style="color: rgb(11, 11, 255);"&gt;tell&lt;/span&gt; &lt;span style="color: rgb(11, 11, 255);"&gt;application&lt;/span&gt; "DumbDialog"&lt;br /&gt;  activate&lt;br /&gt;  &lt;span style="color: rgb(11, 11, 255);"&gt;set&lt;/span&gt; paneltitle &lt;span style="color: rgb(11, 11, 255);"&gt;to&lt;/span&gt; "This is the progress panel title"&lt;br /&gt;  &lt;span style="color: rgb(11, 11, 255);"&gt;set&lt;/span&gt; displaytext &lt;span style="color: rgb(11, 11, 255);"&gt;to&lt;/span&gt; "Hello, world!"&lt;br /&gt;  &lt;span style="color: rgb(11, 11, 255);"&gt;set&lt;/span&gt; panelvisible &lt;span style="color: rgb(11, 11, 255);"&gt;to&lt;/span&gt; &lt;span style="color: rgb(11, 11, 255);"&gt;true&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(141, 141, 141);"&gt;--set panelvisible to false&lt;br /&gt;&lt;/span&gt;   &lt;span style="color: rgb(141, 141, 141);"&gt;--quit&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(11, 11, 255);"&gt;end&lt;/span&gt; &lt;span style="color: rgb(11, 11, 255);"&gt;tell&lt;/span&gt;&lt;/pre&gt;You can put the panel through as many "panelvisible=true","panelvisible="false" cycles as needed before finally quitting it altogether.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-114038244380339894?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114038244380339894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/114038244380339894'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/02/dumbdialog-10-simple-progress-bar.html' title='DumbDialog 1.0: a simple &quot;progress bar&quot; dialog box for applescripters'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113971458837406835</id><published>2006-02-11T22:21:00.000-05:00</published><updated>2006-04-18T20:26:22.893-04:00</updated><title type='text'>Farewell party</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Toreros.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Toreros.jpg" alt="" border="0" /&gt;&lt;/a&gt;Some of us at work had a little "goodbye" party for Melissa last night.&lt;br /&gt;&lt;br /&gt;I didn't drink all of that. I had help.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113971458837406835?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113971458837406835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113971458837406835'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/02/farewell-party.html' title='Farewell party'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113893899615502949</id><published>2006-02-02T22:53:00.000-05:00</published><updated>2006-02-02T22:56:36.193-05:00</updated><title type='text'>My super-fast network</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Picture%201.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Picture%201.png" alt="" border="0" /&gt;&lt;/a&gt;I decided to upgrade to exabit ethernet. It's pretty sweet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113893899615502949?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113893899615502949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113893899615502949'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/02/my-super-fast-network.html' title='My super-fast network'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113847980824437401</id><published>2006-01-28T14:53:00.000-05:00</published><updated>2006-01-29T09:30:19.786-05:00</updated><title type='text'>DIY Video On Demand - Part 1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/VOD.1.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/VOD.2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have recently set up a Video On Demand (VOD) system in my house.&lt;br /&gt;&lt;br /&gt;The core is a terabyte-capacity fileserver based on &lt;a href="http://fedora.redhat.com/"&gt;Fedora Core 4&lt;/a&gt;. It has five 320GB USB2 drives configured as a RAID5 volume. An LVM2 volume is built on top of that, allowing future expansion of the volume. The filesystem is Ext3 with an external ordered-data journal and ACLs enabled. Files are served using Samba and the Eyehome software (which is just &lt;a href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt;, really; it turns out the &lt;a href="http://www.elgato.com/index.php?file=products_eyehome"&gt;Eyehome&lt;/a&gt; is mostly a web browser). USB raid array?!? Yeah. It works! I get about 15-20 MB/sec to the array over the network, and up to 24 MB/sec off the array, also over the network. All the Fast Ethernet network can handle is around 9-10MB/sec before it saturates. That's still more than plenty to play any video file on the array. Even straight DVD video fits down that pipe.&lt;br /&gt;&lt;br /&gt;The fileserver and my Powerbook (which transcodes all of the video) are connected via Gigabit ethernet. I want the better transfer rates when transcoding and copying multi-gigabyte files.&lt;br /&gt;&lt;br /&gt;Until recently I had a ReplayTV in the mix, recording shows from DirecTV and/or cable. The MPEGs were transferred to the storage array using &lt;a href="http://www.bentpixel.com/fbm/"&gt;mReplay&lt;/a&gt; and &lt;a href="http://www.dvarchive.org/"&gt;DVArchive&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Eyehome uses 10/100 ethernet, S-Video and  Component video outputand RCA and optical audio outputs. I have it connected to my Samsung DLP HDTV via component video, operating at 480p. The Eyehome supports higher resolution output, but its native resolution is 480p. Rather than have it scale video down to 480p and then back up to 720p, I just stick with 480p and let the HDTV monitor do the scaling. If your video file has AC3 audio, it can be played back using only the optical output, as the Eyehome does not have any AC3 decoder capability, and just passes it through. Since none of my equipment has optical in, I transcode the audio to MP3 or AAC for this reason. Silent movies were great in ther day and all... but I want noise. The Eyehome decodes DivX, MPEG4, MPEG2, MP3, AAC and MP2.&lt;br /&gt;&lt;br /&gt;For the archiving and transcoding, I use four programs.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.maconlysource.com/wp-content/MacTheRipper.png" alt="mtr" align="left" border="0" hspace="2" vspace="2" /&gt;&lt;a href="http://www.versiontracker.com/dyn/moreinfo/macosx/22715"&gt;Mac the Ripper&lt;/a&gt; (MtR) to backup DVDs to the array. The transcode step works faster from a VIDEO_TS folder than it does from the disc itself. Also, I like to leave my DVDs in the cases when possible, to avoid scratching and other damage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://merle.chris.free.fr/Logo/YadeX.jpg" alt="YadeX" align="left" border="0" /&gt;&lt;a href="http://www.macetvideo.com/yadex/yadex.html"&gt;Yade X&lt;/a&gt; is a nice utility for dumping portions of a DVD to a single VOB file. I can then post-process the VOB file with other tools, such as mencoder, ffmpeg or DVD42.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://download.m0k.org/handbrake/images/HandBrakeIcon48.gif" alt="HB" align="left" border="0" /&gt;&lt;a href="http://handbrake.m0k.org/"&gt;Handbrake&lt;/a&gt; is a good DVD-to-MPEG4 transcoder. It use it to make MPEG4 video with H.264 video and AAC audio. Its queueing system is primitive, but functional.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.kaisakura.com/fortytwovx/icon32.png" alt="vx" align="left" border="0" hspace="8" vspace="8" /&gt;&lt;a href="http://www.kaisakura.com/fortytwovx.php"&gt;Forty-TwoDVD-VXPlus&lt;/a&gt; is a wrapper for mencoder, mplayer and some other GPL-type tools. It's pretty basic, and the end result is that it just invokes the command-line mencoder with certain options. The new version (3.0) says it's a universal binary, but all the tools that do the work are PPC only. Expect it to not be that great on an Intel mac. For some reason, the authors are using old builds of mencoder, still. The setting I use is "QDVD" (DivX with Mp3 audio in a quicktime-compatible wrapper), with a custom bitrate of 2400 and the volume adjusted manually (Stargate tends to have low-level audio). Its queue system is its killer feature.&lt;br /&gt;&lt;br /&gt;These tools produce AVI files (DVD42) or MP4 files (Handbrake). I think that the MP4 files are the best, in terms of video quality and file size. However, Handbrake has a problem with audio sync on some DVDs (such as Stargate discs). I use Handbrake or DVD42 as appropriate. Handbrake will de-interlace the video and does H.264 encoding, so I prefer to use it, barring any sync problems.&lt;br /&gt;&lt;br /&gt;The end result is that we can sit on the couch and select movies and TV shows to watch using a regular remote control.&lt;br /&gt;&lt;br /&gt;There needs to be a better toolchain for doing this work, and Sal and Keith and I have started working on one. It, too, will be mencoder-based. But we'll use recent source, build it ourselves, and add the features that we want to use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stay tuned!&lt;/span&gt;&lt;br /&gt;In Part 2, I will detail the specifics of the setup. Drive enclosures, kernel parameters, samba config, the eyehome software, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113847980824437401?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113847980824437401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113847980824437401'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/01/diy-video-on-demand-part-1.html' title='DIY Video On Demand - Part 1'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113847630395798831</id><published>2006-01-28T14:20:00.000-05:00</published><updated>2006-01-28T14:25:04.030-05:00</updated><title type='text'>RHCE, Baby!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Michael_Rothwell-RHCE-2006.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Michael_Rothwell-RHCE-2006.jpg" alt="" border="0" /&gt;&lt;/a&gt;I just received my &lt;a href="https://www.redhat.com/training/certification/verify/?rhce_cert_display:certno=804006291718698&amp;amp;rhce_cert_display:verify_cb=Verify"&gt;RHCE certification&lt;/a&gt;. Sal and I were at RedHat all last week. Our instructor was &lt;a href="http://en.wikipedia.org/wiki/Chuck_Mead"&gt;Check Mead&lt;/a&gt;. Nice guy. Plays WoW.&lt;br /&gt;&lt;br /&gt;Now I have one day of "business-skills" Professional Development left in my budget. I wonder if paintball counts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113847630395798831?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113847630395798831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113847630395798831'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2006/01/rhce-baby.html' title='RHCE, Baby!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113289871291501383</id><published>2005-11-25T00:58:00.000-05:00</published><updated>2005-11-25T01:05:12.916-05:00</updated><title type='text'>"There Is No God"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/jillette200_na.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/jillette200_na.jpg" alt="" border="0" /&gt;&lt;/a&gt;NPR has a "Morning Edition" segment called "&lt;a href="http://www.npr.org/templates/story/story.php?storyId=4538138"&gt;This I Believe&lt;/a&gt;". Penn &lt;span class="byline"&gt;Jillette&lt;/span&gt;  (pictured to the right) was the featured guest on November 21 in a segment titled "&lt;a href="http://www.npr.org/templates/story/story.php?storyId=5015557"&gt;There Is No God&lt;/a&gt;". An excerpt:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;This "This I Believe" thing seems to demand something more personal, some leap of faith that helps one see life's big picture, some rules to live by. So, I'm saying, "This I believe: I believe there is no God." Having taken that step, it informs every moment of my life.&lt;br /&gt; &lt;br /&gt;Believing there's no God means I can't really be forgiven except by kindness and faulty memories. That's good; it makes me want to be more thoughtful. I have to try to treat people right the first time around.&lt;/blockquote&gt;I heard it as I was getting dressed to go to work, and enjoyed it quite a bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113289871291501383?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113289871291501383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113289871291501383'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/11/there-is-no-god.html' title='&quot;There Is No God&quot;'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113289760612647773</id><published>2005-11-25T00:37:00.000-05:00</published><updated>2006-04-16T19:33:30.210-04:00</updated><title type='text'>AppWatch: a simple Mac OS X application launcher</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Appwatch-1.0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Appwatch-1.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/geyes.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/geyes.png" alt="" border="0" /&gt;&lt;/a&gt;Appwatch is a simple application launcher for Mac OS X. It observes the applications that you launch and quit, and builds a menu of "Recent", "Frequent" and "Long-Running" applications. The only UI is the Menu Bar Icon, and the menu itself (and some preferences dialogs).&lt;br /&gt;&lt;br /&gt;You can use the mouse, or press ⌘-esc (apple-escape) to activate the menu.&lt;br /&gt;&lt;br /&gt;It's Tiger (10.4)-only and won't work on older versions of OSX. It stores all of its collected information in a SQLite (the engine used by Core Data) database file located at ~/Library/Preferences/AppWatch.db&lt;br /&gt;&lt;br /&gt;You can download version 1.0 at &lt;a href="http://fbm.bentpixel.com/AppWatch-1.0.zip"&gt;http://fbm.bentpixel.com/AppWatch-1.0.zip&lt;/a&gt; (68k).&lt;br /&gt;&lt;br /&gt;&lt;form id="buyAW1" name="buyAW1" action="https://www.paypal.com/cgi-bin/webscr" method="post"&gt;** UPDATE: New version (1.01, universal binary) is &lt;a href="http://fivepoundsflax.blogspot.com/2006/04/appwatch-101.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;AppWatch is completely free, but if you use it, please consider &lt;a href="javascript:document.buyAW1.submit%28%29;" onclick="document.buyAW1.submit();"&gt;donating $5.00&lt;/a&gt;.&lt;br /&gt;&lt;input name="cmd" value="_s-xclick" type="hidden"&gt;&lt;br /&gt;&lt;input name="encrypted" value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBuweMNRRFqrhceSVPW8Gtx/lIGKo0uVImVnnQA+GfcppwrKoBp+kWOOlI0lo8/tb50KNXRBbAnpBo/u3ubXPLzO/T5JXFawRylLXgMCnyLcs0sIaU2J9B0SH/du+tFh3iM0SX6x6DRzLmhP4sEKM3h5GOSocaqK1y3MhqveFDncDELMAkGBSsOAwIaBQAwgcQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIEv5ndYXSK9CAgaDeIy8cdDRlv7XRVpPju9x/ZTiPQ6D4cyuyjxOitvInU8WNWRkrm6dXWrvBYvqzTfDuPwTw/40t5qjTB3NegWVkEojfHGmNR7WUFfvr4hgKgivFlxrIShJ0jIYZDeh/sdbxTXszNajowjt/ZJ2iru7Sc4za1Ur17TMUvutOwl1vti6Kt6iBTh09BSEV3ghYTLgeXSYe/NqDIH2YWDmhoMxhoIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6CieLuLsPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDUxMTI1MDY1NDAyWjAjBgkqhkiG9w0BCQQxFgQUCeIpvzXtrrCbNxxk/dUGyaF6TDQwDQYJKoZIhvcNAQEBBQAEgYCA54Es2lHci/9XYnpYJn8f81ytZ++qJBRtVFeZCmuRbtSDSIks9Nb4vI+/ChezD2fh/ZbIOlDTmPwVManEl0LsqGWEnI1zadN7qo3HhFpUSzbqrP+mHHDFDHofRLs/S1GIwqVhAP5jYzWrV3G36kff4Wtnz9A4rpk83c9lxUXmXA==-----END PKCS7----- " type="hidden"&gt;&lt;br /&gt;&lt;/form&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113289760612647773?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113289760612647773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113289760612647773'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/11/appwatch-simple-mac-os-x-application.html' title='AppWatch: a simple Mac OS X application launcher'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113288392672812664</id><published>2005-11-24T20:56:00.000-05:00</published><updated>2005-11-24T20:58:46.743-05:00</updated><title type='text'>Merry X-Mas!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/155_santa-2004_400.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/155_santa-2004_400.jpg" alt="" border="0" /&gt;&lt;/a&gt;Now that the Thanksgiving turkey has been put back into the refrigerator, it's time turn our attention to the next holiday.&lt;br /&gt;&lt;br /&gt;Remember to stock up on ammo and keep the blast doors closed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113288392672812664?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113288392672812664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113288392672812664'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/11/merry-x-mas.html' title='Merry X-Mas!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113241946609498171</id><published>2005-11-19T11:53:00.000-05:00</published><updated>2005-11-25T00:56:04.886-05:00</updated><title type='text'>What did I do this week?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/Michael_Rothwell-RHCT-2005.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/Michael_Rothwell-RHCT-2005.jpg" alt="" border="0" /&gt;&lt;/a&gt;Well, I was enjoying myself!&lt;br /&gt;&lt;br /&gt;I was at Redhat, getting my RHCT certificate! Scored 100% on the exam. Of course, I've been using Linux since before Redhat existed, so...&lt;br /&gt;&lt;br /&gt;As soon as that professional development budget comes in, I'll go back for the RHCE. Maybe I can talk $15k or so out of my day job to get all the way to "Architect" level.&lt;br /&gt;&lt;br /&gt;*rubs hands together*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113241946609498171?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113241946609498171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113241946609498171'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/11/what-did-i-do-this-week.html' title='What did I do this week?'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-113183349087571483</id><published>2005-11-12T17:09:00.000-05:00</published><updated>2005-11-25T00:57:03.560-05:00</updated><title type='text'>How work feels many days</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4106/1631/1600/work-pa.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/4106/1631/320/work-pa.jpg" alt="" border="0" /&gt;&lt;/a&gt;I'm probably not unusual in feeling this way. I imagine other people feel this way about their weekdays as well. It seems a shame. But, perhaps it's normal.&lt;br /&gt;&lt;br /&gt;Maybe it's just because I work in what seems to be an adult daycare center.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-113183349087571483?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113183349087571483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/113183349087571483'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/11/how-work-feels-many-days.html' title='How work feels many days'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743033076602948</id><published>2005-07-27T22:44:00.000-04:00</published><updated>2005-09-22T20:05:00.903-04:00</updated><title type='text'>OsiriX - free DICOM (xray) image viewer for Mac OS X</title><content type='html'>&lt;a href="http://homepage.mac.com/rossetantoine/osirix/Index2.html"&gt;OsiriX &lt;/a&gt;is a free and open source DICOM Viewer for MacOS X.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.flyingbuttmonkeys.com/images/finger1.jpg" align="right" height="280" width="255" /&gt;My local urgent care gave me a DICOM CD of my shattered right ring finger. It came with a passable Windows viewer. OsiriX immediately recognized the disc and displayed the images. It exports to JPEG, movies, etc. In fact, the image below was exported from OsiriX. It will also creates DICOM-compatible CDs and DVDs, exports/imports to a variety of sources (including, interestingly, "iPod"). I've only just scratched the surface of this program, mainly because it quickly did exactly what I wanted -- exported the xrays of my hand to JPEG images.&lt;br /&gt;&lt;br /&gt;Did I mention it's free and open source? It blows the proprietary Windows program out of the water!&lt;br /&gt;&lt;br /&gt;If you work with DICOM images, and have a Mac, give OsiriX a spin. And recommend it to your patients.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743033076602948?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743033076602948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743033076602948'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/07/osirix-free-dicom-xray-image-viewer.html' title='OsiriX - free DICOM (xray) image viewer for Mac OS X'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743053005636215</id><published>2005-07-25T21:32:00.000-04:00</published><updated>2005-09-22T19:26:06.603-04:00</updated><title type='text'>Disable the dashboard on Mac OS X 10.4</title><content type='html'>I disabled it. Yeah, I wrote SlashBot, a Dashboard widget. But you know what? I never used it.&lt;br /&gt;&lt;br /&gt;Disable the Dashboard:&lt;br /&gt;&lt;tt&gt;&lt;blockquote&gt;defaults write com.apple.dashboard mcx-disabled -boolean YES&lt;br /&gt;killall Dock&lt;/blockquote&gt;&lt;/tt&gt;&lt;br /&gt;Re-enable the Dashboard:&lt;br /&gt;&lt;blockquote&gt;&lt;tt&gt;defaults write com.apple.dashboard mcx-disabled -boolean NO&lt;br /&gt;killall Dock&lt;/tt&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743053005636215?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743053005636215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743053005636215'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/07/disable-dashboard-on-mac-os-x-104.html' title='Disable the dashboard on Mac OS X 10.4'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743125551633373</id><published>2005-07-24T19:20:00.000-04:00</published><updated>2005-09-22T19:20:55.516-04:00</updated><title type='text'>Media Center Edition 2005 Theme for XP</title><content type='html'>The Media Center "Royale" theme is an improvement over the stock Luna theme.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bentoll.com/%7Erjdohnert/"&gt;http://www.bentoll.com/%7Erjdohnert/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Updated the Royale theme so that it now installs directly into proper location, all users have to do now is just access it through the control panel Display applet, just choose appearance and choose the media Center theme.  I also uploaded the default wallpaper for this theme.  The install package is &lt;a href="http://www.bentoll.com/%7Erjdohnert/royaletheme.exe"&gt;here&lt;/a&gt; the wallpaper is &lt;a href="http://www.bentoll.com/%7Erjdohnert/energybliss.jpg"&gt; here&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743125551633373?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743125551633373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743125551633373'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/07/media-center-edition-2005-theme-for-xp.html' title='Media Center Edition 2005 Theme for XP'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743119017544885</id><published>2005-07-24T19:18:00.000-04:00</published><updated>2005-09-22T19:26:47.076-04:00</updated><title type='text'>Firefox speedups</title><content type='html'>This site has some good tips for speeding up firefox:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.911networks.com/book/print/8"&gt;http://www.911networks.com/book/print/8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The quick and simple stuff is as follows:&lt;br /&gt;&lt;br /&gt;    Open firefox and in the address type type:&lt;br /&gt;&lt;br /&gt;    &lt;tt&gt;about:config&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;    This will display the preference name, the status, the type and the value.&lt;br /&gt;&lt;br /&gt;    If the configuration setting already exist: double click on it and then change the value.&lt;br /&gt;&lt;br /&gt;If the configuration setting does NOT exist: right click on the web page, New, the depensing on the preference it's either a string, an integer [number] or a boolean [true/false]&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;      network.http.pipelining   true&lt;br /&gt;    network.http.pipelining.firstrequest true&lt;br /&gt;    network.http.pipelining.maxrequests 8&lt;br /&gt;    nglayout.initialpaint.delay  0&lt;/tt&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743119017544885?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743119017544885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743119017544885'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/07/firefox-speedups.html' title='Firefox speedups'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743062141102491</id><published>2005-07-24T19:08:00.000-04:00</published><updated>2005-09-22T19:10:21.413-04:00</updated><title type='text'>Logitech MX900 Bluetooth mouse and Mac OS X 10.4 - jumpy!</title><content type='html'>The Logitech MX900 optical bluetooth mouse is nice, but is unsupported on Mac OS X. It still works as a basic mouse, but the system prefs don't let you see the battery level, assign keys or anything like that. It seems to also have a rather jumpy cursor behavior. I plugged in a USB old-fashioned-rubber-ball mouse for comparison to the MX900. The USB mouse would track movement very accurately, keeping the pointer in a tight circle as I moved the mouse. When testing the MX900, however, the pointer would suddenly jump to another part of the screen, even though I was simply moving it in small circles as I was the USB mouse. This was driving me insane. I upgraded the bluetooth drivers in my powerbook. No fix. I threw the mouse across the room into the trashcan. Oddly, that didn't help either. I fished it out. I plugged its base into the Mac and paird the mouse with the base (still bluetooth, but not to the Mac). The Mac saw it as a USB mouse, then, and the jumpiness was quelled. So there must be an issue with the bluetooth in the Powerbook. Occasionally, I get odd key repeats and lag with my Apple bluetooth keyboard, as well. That's really annoying as well -- totally throws off my typing rhythm. I hope Apple fixes it soon.&lt;br /&gt;&lt;br /&gt;** update: the MX900 is no more. I just couldn't take it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743062141102491?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743062141102491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743062141102491'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/07/logitech-mx900-bluetooth-mouse-and-mac.html' title='Logitech MX900 Bluetooth mouse and Mac OS X 10.4 - jumpy!'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-17022101.post-112743483228038603</id><published>2005-05-19T20:19:00.000-04:00</published><updated>2005-09-22T20:20:32.283-04:00</updated><title type='text'>Mac OS X "Tiger" and Samba</title><content type='html'>If you've upgraded your Mac to 10.4 and can no longer access a samba server, it's probably because of one or two configuration options on the samba server. 10.4 assumes passwords are encrypted. This is a good thing. It also seems to not work with SHARE level security. Switch Samba to USER or DOMAIN. Look in your smb.conf file for options like these:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;&lt;blockquote&gt;encrypt passwords = yes&lt;br /&gt;security = USER&lt;/blockquote&gt;&lt;/tt&gt;&lt;br /&gt;Set them as above, create the smbpasswd file and set a password for your account, bounce samba, and try accessing it from the Mac again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17022101-112743483228038603?l=fivepoundsflax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743483228038603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17022101/posts/default/112743483228038603'/><link rel='alternate' type='text/html' href='http://fivepoundsflax.blogspot.com/2005/05/mac-os-x-tiger-and-samba.html' title='Mac OS X &quot;Tiger&quot; and Samba'/><author><name>Michael Rothwell</name><uri>http://www.blogger.com/profile/14827144579170937385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
