<?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-7705809821343306404</id><updated>2011-11-27T15:26:13.501-08:00</updated><category term='linux'/><category term='woot'/><category term='real audio'/><category term='bash'/><category term='google'/><title type='text'>Digital logic Vapor</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dlv.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Samson Yeung</name><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>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7705809821343306404.post-1110802386204977232</id><published>2011-11-24T06:06:00.000-08:00</published><updated>2011-11-24T06:06:53.756-08:00</updated><title type='text'>fixed bug in buildbot 0.8.5</title><content type='html'>So I setup a &lt;a href="http://pypi.python.org/pypi/buildbot"&gt;buildbot&lt;/a&gt; system at work, and I was upgrading it today. I'm also using git (like all the cool kids)(and a version &gt; 1.7.7) for source control. I ran into &lt;a href="http://trac.buildbot.net/ticket/2127"&gt;this bug&lt;/a&gt; today with a new buildslave I was setting up.&lt;br /&gt;&lt;br /&gt;Now, looking over the change history:&lt;br /&gt;&lt;pre&gt;Changed 7 weeks ago by dustin&lt;br /&gt;&lt;br /&gt;    Status changed from new to closed&lt;br /&gt;    Resolution set to fixed&lt;br /&gt;&lt;br /&gt;Fix is merged - thanks for spotting that!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Oh good, they merged a fix, which means I can fix it on my system!&lt;br /&gt;&lt;br /&gt;...except any of those details were not logged or are obscured.&lt;br /&gt;&lt;br /&gt;bleh.&lt;br /&gt;&lt;br /&gt;Anyway, after some digging I found &lt;a href="https://github.com/buildbot/buildbot/commit/38525c1a412e7e3c6ce1932d250e682bc56cdcf4"&gt; the patch that fixes it&lt;/a&gt; in case anyone else needs a fix before the next version of buildbot is released.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-1110802386204977232?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/1110802386204977232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/1110802386204977232'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2011/11/fixed-bug-in-buildbot-085.html' title='fixed bug in buildbot 0.8.5'/><author><name>Samson Yeung</name><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-7705809821343306404.post-2205734344691967635</id><published>2011-07-14T14:16:00.000-07:00</published><updated>2011-07-14T14:16:45.986-07:00</updated><title type='text'>ps3 mkv to mp4</title><content type='html'>Stick this in ~/.mplayer/mencoder.conf&lt;br /&gt;&lt;br /&gt;[PS3_MKV]&lt;br /&gt;oac=lavc=yes&lt;br /&gt;lavcopts=vglobal=1:acodec=aac&lt;br /&gt;af=volume=10&lt;br /&gt;ovc=copy=yes&lt;br /&gt;of=lavf=yes&lt;br /&gt;lavfopts=format=mp4&lt;br /&gt;forcedsubsonly=yes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then do:&lt;br /&gt;  mencoder -profile PS3_MKV input.mkv -o output.mp4&lt;br /&gt;&lt;br /&gt;Transcodes the audio, but that's very quick. Could not find a way to copy audio that worked. Tried the fafmttag values in my copy of codecs.conf:&lt;br /&gt;  format 0xff&lt;br /&gt;  format 0x706D&lt;br /&gt;  format 0x4143 ; aac in asf&lt;br /&gt;  format 0xA106 ; aac in avi&lt;br /&gt;  format 0xAAC0&lt;br /&gt;&lt;br /&gt;-s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-2205734344691967635?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2205734344691967635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2205734344691967635'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2011/07/ps3-mkv-to-mp4.html' title='ps3 mkv to mp4'/><author><name>Samson Yeung</name><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-7705809821343306404.post-3887404220602999612</id><published>2011-06-13T09:12:00.001-07:00</published><updated>2011-06-13T09:12:42.853-07:00</updated><title type='text'>xmodmap stopped working</title><content type='html'>in autorun.sh, do:&lt;br /&gt;   set xkbmap -option ctrl:nocaps&lt;br /&gt;&lt;br /&gt;to make capslock into a ctrl key&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-3887404220602999612?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3887404220602999612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3887404220602999612'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2011/06/xmodmap-stopped-working.html' title='xmodmap stopped working'/><author><name>Samson Yeung</name><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-7705809821343306404.post-4853559727125654509</id><published>2010-10-11T13:03:00.000-07:00</published><updated>2010-10-11T13:03:46.292-07:00</updated><title type='text'>Samsung Transform</title><content type='html'>I have joined the future with a Samsung Transform.&lt;br /&gt;&lt;br /&gt;Detail of note: the rageagainstthecage root exploit works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4853559727125654509?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4853559727125654509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4853559727125654509'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/10/samsung-transform.html' title='Samsung Transform'/><author><name>Samson Yeung</name><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-7705809821343306404.post-9039575167174181667</id><published>2010-09-19T10:19:00.000-07:00</published><updated>2010-09-19T10:22:11.519-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='real audio'/><title type='text'>Downloading Real Audio</title><content type='html'>I recently needed to download a Real Media podcast. Here's what was needed:&lt;br /&gt;&lt;blockquote&gt;wget the ram file&lt;/blockquote&gt;Inside the ram is an rtsp URL&lt;br /&gt;Using openRTSP from the debian package livemedia-utils:&lt;br /&gt;&lt;blockquote&gt;openRTSP -S 0 rtsp://...&lt;/blockquote&gt;Somewhere in the output file from that, is an audio tag, referring to another rtsp file.&lt;br /&gt;Run mplayer against that...&lt;br /&gt;&lt;blockquote&gt;mplayer -dumpstream rtsp://....&lt;/blockquote&gt;&lt;br /&gt;and you have an actual real media file that vlc will play. Unfortunately, mplayer doesn't (seem) to want to run faster than realtime against an rtsp url.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-9039575167174181667?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/9039575167174181667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/9039575167174181667'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/09/downloading-real-audio.html' title='Downloading Real Audio'/><author><name>Samson Yeung</name><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-7705809821343306404.post-5951163381384685639</id><published>2010-06-16T14:53:00.000-07:00</published><updated>2010-06-16T14:53:02.946-07:00</updated><title type='text'>mozless and ff 3.6</title><content type='html'>I finally got tired of mozless not working on my Ubuntu 10.04 system.&lt;br /&gt;&lt;br /&gt;Brief instructions and how I fixed it:&lt;br /&gt;&lt;br /&gt;Download the xpi, unzip and create a file called chrome.manifest in the root of the extension. Fill it with the following:&lt;br /&gt;&lt;br /&gt;content   mozless                 chrome/content/&lt;br /&gt;skin      mozless   classic/1.0   chrome/skin/&lt;br /&gt;locale    mozless   en-US         chrome/locale/en-US/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;overlay   chrome://browser/content/browser.xul chrome://mozless/content/mozless.xul&lt;br /&gt;overlay   chrome://browser/content/navigator.xul chrome://mozless/content/mozless-mozilla.xul&lt;br /&gt;&lt;br /&gt;overlay   chrome://mozless/content/mozless.js&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;Then in the chrome directory, unzip the mozless.jar file and delete the file itself. &lt;br /&gt;&lt;br /&gt;zip up the directory and install your 'new' extension, and delight at 'j' and 'k'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-5951163381384685639?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5951163381384685639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5951163381384685639'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/06/mozless-and-ff-36.html' title='mozless and ff 3.6'/><author><name>Samson Yeung</name><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-7705809821343306404.post-4458625574568901282</id><published>2010-04-18T16:18:00.000-07:00</published><updated>2010-04-21T11:11:55.648-07:00</updated><title type='text'>udev -&gt; xorg.conf.d snippet</title><content type='html'>More changes.&lt;br /&gt;To support the Trackpoint keyboard with the newer xorg (1:7.5+5) in Debian, the solution is to create a file named /etc/X11/xorg.conf.d/20-thinkpad.conf with the follwing contents:&lt;br /&gt;&lt;br /&gt;Section "InputClass"&lt;br /&gt;Identifier "Trackpoint Wheel Emulation"&lt;br /&gt;MatchProduct "TrackPoint"&lt;br /&gt;MatchDevicePath "/dev/input/event*"&lt;br /&gt;Driver  "evdev"&lt;br /&gt;Option  "EmulateWheel"  "true"&lt;br /&gt;Option  "EmulateWheelButton" "2"&lt;br /&gt;Option  "Emulate3Buttons" "false"&lt;br /&gt;Option  "XAxisMapping"  "6 7"&lt;br /&gt;#Option  "YAxisMapping"  "4 5"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;For Ubuntu, try putting the file into /usr/lib/X11/xorg.conf.d/ instead if the putting it into the /etc/X11/Xorg.conf.d/ directory does not work.&lt;br /&gt;&lt;br /&gt;If having that file causes other input devices to die, also add /etc/X11/xorg.conf.d/99-allinput.conf with the following:&lt;br /&gt;Section "InputClass"&lt;br /&gt;Identifier "allinput"&lt;br /&gt;Driver "evdev"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;(A 3rd conf file for synaptics configuration is left as an exercise for the reader.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4458625574568901282?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4458625574568901282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4458625574568901282'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/04/udev-xorgconfd-snippet.html' title='udev -&gt; xorg.conf.d snippet'/><author><name>Samson Yeung</name><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-7705809821343306404.post-8051468208969922543</id><published>2010-02-08T15:59:00.000-08:00</published><updated>2010-02-08T15:59:42.142-08:00</updated><title type='text'>Fixing the Patent System</title><content type='html'>In US copyright system there is the notion of mechanical royalties where I can use any songwriter's work without a negotiated license. I record my usage, and there is a rate (cents/minute). Now, I am free to negotiate a different rate with the songwriter if so desired, but there is a compulsory aspect where permission from the original author is not required.&lt;br /&gt;&lt;br /&gt;How about applying this to the patent system? Like in the copyright system, a collection of patent judges could determine the relative worth of a patent, examining not just the patent itself, but various aspects surrounding it, such as barrier to entry for the market, (non) obviousness, complexity, and usage. A patent on a large-scale industrial manufacturing process would cost much more than a simplistic patent on a method of how to use child's swing. The patent can then be licensed by anybody on a per-unit basis for this rate, but alternate rates can be negotiated, possibly in a lump-sum instead of a per-unit basis.&lt;br /&gt;&lt;br /&gt;The largest effect this would have is turn patents from a (per-claim) all-or-nothing game, into a game of degree. It is already up to patent examiners to look at the sheer validity of patents, giving them an additional level of control does not sound infeasible to me. This also wouldn't be cost-prohibitive like requiring a function prototype.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-8051468208969922543?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8051468208969922543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8051468208969922543'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/02/fixing-patent-system.html' title='Fixing the Patent System'/><author><name>Samson Yeung</name><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-7705809821343306404.post-6554967026315956957</id><published>2010-02-04T02:54:00.001-08:00</published><updated>2010-02-04T02:56:37.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>hal -&gt; udev upgrade</title><content type='html'>I'm running Debian, which recently deprecated HAL for input stuff, so my old fdi file to enable middle button drag scrolling on my lenovo trackpoint usb keyboard was not working.&lt;br /&gt;&lt;br /&gt;The fix is to create a file in /etc/udev/rules.d/99-trackpoint that has:&lt;br /&gt;&lt;br /&gt;ACTION=="add", \&lt;br /&gt;ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6009", \&lt;br /&gt;ENV{x11_options.EmulateWheel}="1", \&lt;br /&gt;ENV{x11_options.EmulateWheelButton}="2", \&lt;br /&gt;ENV{x11_options.XAxisMapping}="6 7", \&lt;br /&gt;ENV{x11_options.Emulate3Buttons}="0"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-6554967026315956957?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/6554967026315956957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/6554967026315956957'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2010/02/hal-udev-upgrade.html' title='hal -&gt; udev upgrade'/><author><name>Samson Yeung</name><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-7705809821343306404.post-4523790886075211145</id><published>2009-12-11T11:41:00.001-08:00</published><updated>2009-12-11T11:51:49.634-08:00</updated><title type='text'>MIMO UM-710</title><content type='html'>Notes on this usb bus-powered 7-in LCD.&lt;br /&gt;&lt;br /&gt;Ubuntu 9.10 has built in drivers for it (udlfb.ko) and creates a /dev/fb0 device node.&lt;br /&gt;(Drive is in drivers/staging/udlfb/&lt;br /&gt;&lt;br /&gt;To draw to the screen:&lt;br /&gt;  sudo apt-get install libdirectfb-bin # needed for mkdfiff utility&lt;br /&gt;&lt;br /&gt;  mkdfiff -f RGB16 &lt;(convert -resize 800x480! novembersnow1920.jpg png:fd:1 ) |  dd of=/dev/fb0 bs=1 skip=24&lt;br /&gt;&lt;br /&gt;There is a flickering issue under linux that supposedly doesn't happen under windows that I have not investigated.&lt;br /&gt;&lt;br /&gt;(There's an X driver for it for usage as an actual monitor but raw framebuffer access is easier at this point.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4523790886075211145?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4523790886075211145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4523790886075211145'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2009/12/mimo-um-710.html' title='MIMO UM-710'/><author><name>Samson Yeung</name><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-7705809821343306404.post-3405435929271508995</id><published>2008-08-28T09:51:00.000-07:00</published><updated>2008-08-28T10:12:53.137-07:00</updated><title type='text'>Why has opinion turned on Apple?</title><content type='html'>(in response to &lt;a href="http://yro.slashdot.org/comments.pl?sid=901379&amp;cid=24762761"&gt;/. comment.&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;In the past long while, Apple has becoming a media darling, while simultaneously an counter-culture of dislike has sprung up. If I were to wax philosophical about the topic, I guess it has to do with some pseudo-shared Utopian ideals of society that Apple fought for in 1984. Apple since then has become another bit player on the corporate stage. They sell DRM'd music, as if bits weren't copyable; 'rentable' video, as if bits rot, and they skip merrily along as if this were just fine. Sure, their DRM isn't onerous, but the fact that it exists is an affront to this mythical Utopian future. As a pragmatist, I accept that the providers of media need reassurance that their world hasn't fallen into P2P digital anarchy, even though is already has. &lt;br /&gt;&lt;br /&gt;High minded ideals die hard. They may have a bigger walled garden, but they've walled it off all the same, and for our own protection, of course. Bluetooth profiles on the iPhone are limited to the headset, and GPS is inaccessible on a basic level within the sponsored SDK sandbox. Jailbreakers have no such limits. They trot out boogiemen like viruses and battery life and say you can only sell through their store, after they take their cut, or course. Better end user experience be damned, why do I have to sell my AwesomeWidget through your store? And only after I get 'approval' from brother Jobs to do so?&lt;br /&gt;&lt;br /&gt;Apple made a promise that things were 3-step easy, with 'thats it, there is no step three' as the third step. Everybody knows somebody who's been tried to sync their iPod with a new computer and despite warnings that it would, had iTunes delete all their songs with varying reactions. &lt;br /&gt;&lt;br /&gt;They broke that promise if you want do anything 'unsupported'. I want to share my wired desktop's internet with my laptop via 802.11 but I want something something stronger than WEP. Thats... not gonna to work. HostAP from *nix land may be able to do it, but I'm sure that's not 3-step easy. Problems with their cifs client aside, I'm not bitter. &lt;br /&gt;&lt;br /&gt;Sensible? Maybe not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-3405435929271508995?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3405435929271508995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3405435929271508995'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/08/why-has-opinion-turned-on-apple.html' title='Why has opinion turned on Apple?'/><author><name>Samson Yeung</name><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-7705809821343306404.post-8709344876484042512</id><published>2008-08-14T13:41:00.001-07:00</published><updated>2008-08-14T13:46:55.653-07:00</updated><title type='text'>gen_bridge_metadata</title><content type='html'>On OS-X to get ruby/python bindings for frameworks, there is a program called 'gen_bridge_metadata' that ships with Leopard. Unfortunately, it is broken. It complains of an undefined local variable or method:&lt;br /&gt;&lt;br /&gt;Exception `NameError' at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb:187 - undefined local variable or method  `trans' for &lt;UNDEFINED&gt; ... &lt;/&gt;:REXML::Document&lt;br /&gt;&lt;br /&gt;The fix is to edit the document.rb, located at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rexml/document.rb, directly. Here's a patch that should should be applicable for anyone that comes across it. &lt;br /&gt;&lt;br /&gt;--- a/document.rb 2008-08-14 16:45:08.000000000 -0400&lt;br /&gt;+++ b/document.rb 2008-08-14 16:45:11.000000000 -0400&lt;br /&gt;@@ -184,7 +184,7 @@&lt;br /&gt;         output = Output.new( output, xml_decl.encoding )&lt;br /&gt;       end&lt;br /&gt;       formatter = if indent &gt; -1&lt;br /&gt;-          if trans&lt;br /&gt;+          if transitive&lt;br /&gt;             REXML::Formatters::Transitive.new( indent, ie_hack )&lt;br /&gt;           else&lt;br /&gt;             REXML::Formatters::Pretty.new( indent, ie_hack )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-8709344876484042512?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8709344876484042512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8709344876484042512'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/08/genbridgemetadata.html' title='gen_bridge_metadata'/><author><name>Samson Yeung</name><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-7705809821343306404.post-2858850750356672458</id><published>2008-02-26T14:35:00.000-08:00</published><updated>2008-04-08T09:03:29.688-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>froogle</title><content type='html'>Who uses froogle?&lt;br /&gt;&lt;br /&gt;Yes, it's a convenient interface to stores that use google checkout, but that is about it. By the time I hit Froogle, I'm probably pretty sure what I am looking for. An Nokia N95, an 8G iPhone, a V3 RAZR; a specific thing. And there's a reason for that. If search for cell phone on froogle, and what do I get? Cellphones, to be sure, but the 3rd hit is a listing priced at $8,000, for 50 cell phones.&lt;br /&gt;&lt;br /&gt;Wheres my ease-of-use, my "I'm feeling lucky" option? Sure, "I'm feeling lucky" isn't as useful now, but where's the daring value-add to online search-and-buy, that hubris to say "Buy the first result". I don't know what it's doing, and that's certainly not what I am asking for. The smallest concession to that is "Sort by: Relevance", and thats only because sort by cheapest invariably gives you all the cheapest accessories. 20 pages into a froogle search for "printer", sorted by cheapest, and it is still at $1.18 for printer paper and dividers. An arguably better search for "hp 2605dn" (a specific printer) when sorted by cheapest, still gives me pages of $1.50 cables and etc. &lt;br /&gt;&lt;br /&gt;Wheres the magic product finder that helps me figure it out? Froogle seems like a normal google search, with a picture of the item, and a smaller database of things to return. I want to compare all the possible hits, build a grid listing features, and then be able to sort. I want to search for "laptop" and then be given a list of possible options. I want to be asked what monitor size, operating system, ram, etc. For the hardware hacking version, try taking a look at Digikey's search. They have a fixed dataset to work with, so their search is just implementation. Search for 'post', they then offer a variety of ways to further filter your search if you got too many results. &lt;br /&gt;&lt;br /&gt;Why can't Google do that for /everything/? Yes, it isn't an easy problem, but that's what Google's first product was. Smarter search. &lt;br /&gt;&lt;br /&gt;I'm absolutely not saying Google should start doing user product reviews. That is certainly not a direction everyone could agree on, but Froogle could certainly find out features listed for anything sold on Froogle. There are some devilish details to be worked out; how to sort out "PC Webcam" as being different products; how to differentiate 4G iPod and 4G iPod as being fourth generation or four gigabyte capacity. But I bet it could be done. Because even though I've stopped using C|Net, laptops.cnet.com is still a very nice place to find out what ultraportable laptops with 11" screens and 4 gigs of RAM are out there. What are my choices if those are the important qualities? Are there even any out there?&lt;br /&gt;&lt;br /&gt;I can't be the only person out there who wants that kind of searchability on my next shoe purchase, or my next TV purchase. And Google, and more pointedly, Google checkout should be there to help me make my purchasing decision. If I'm already there, and now I've decided to buy it, I'm going to want a way to actually buy it. And that's Google's two-percent and twenty-cents.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-2858850750356672458?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2858850750356672458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2858850750356672458'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/02/froogle.html' title='froogle'/><author><name>Samson Yeung</name><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-7705809821343306404.post-3764610480217637388</id><published>2008-02-03T11:43:00.000-08:00</published><updated>2008-02-03T11:50:03.692-08:00</updated><title type='text'>Recompile ubuntu vmhgfs for -generic instead of -virtual</title><content type='html'>Ubuntu jeos has not enough kernel, and for some reason, the version of the module struct between 2.6.24-5-generic and 2.6.24-5-virtual disagrees. First solution I managed to do was:&lt;br /&gt;&lt;br /&gt;mkdir generic; cd !$&lt;br /&gt;apt-get source linux-image-2.6.24-5-generic&lt;br /&gt;&lt;br /&gt;cd -; mkdir virtual; cd !$&lt;br /&gt;apt-get source linux-ubuntu-modules-2.6.24-5-virtual&lt;br /&gt;&lt;br /&gt;cd virtual/linux-ubuntu-modules-2.6.24-2.6.24/ubuntu/vmhgfs&lt;br /&gt;&lt;br /&gt;make TOPDIR=../../../../generic/linux-2.6.24/ SRCROOT=.                                                           &lt;br /&gt;&lt;br /&gt;This should produce ../vmhgfs.o , which loads just fine into booted 2.6.24-5-generic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-3764610480217637388?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3764610480217637388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3764610480217637388'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/02/recompile-ubuntu-vmhgfs-for-generic.html' title='Recompile ubuntu vmhgfs for -generic instead of -virtual'/><author><name>Samson Yeung</name><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-7705809821343306404.post-5611906414930662277</id><published>2008-01-30T11:01:00.000-08:00</published><updated>2008-01-30T17:17:43.168-08:00</updated><title type='text'>linux-2.6 typo commit</title><content type='html'>I came across this while poking around changesets:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;commit 3f6dee9b2a22cc66050682287a77d5fccadb9733&lt;br /&gt;&lt;br /&gt;    Fix some typos in Documentation/: 'A'&lt;br /&gt;    &lt;br /&gt;    This patch fixes typos in various Documentation txts.&lt;br /&gt;    This patch addresses some words starting with the letter 'A'.&lt;br /&gt;&lt;br /&gt;&lt;b:if cond='data:blog.pageType != "item"'&gt;&lt;br /&gt;&lt;br /&gt;   &lt;a expr:href='data:post.url'&gt;Trimmed changeset inside.&lt;/a&gt;&lt;br /&gt;&lt;/b:if&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;-parameter. The default adrress range will not be used when a smb_addr&lt;br /&gt;+parameter. The default address range will not be used when a smb_addr&lt;br /&gt;-  A useful ammount of documentation can be found in the hardware&lt;br /&gt;+  A useful amount of documentation can be found in the hardware&lt;br /&gt;-  The archicture has been designed to support as many machines as can&lt;br /&gt;+  The architecture has been designed to support as many machines as can&lt;br /&gt;-It does not cover the support needed from aplications to enable the BIOS to&lt;br /&gt;+It does not cover the support needed from applications to enable the BIOS to&lt;br /&gt;-    implements bus probing (detecting EISA cards avaible on the bus),&lt;br /&gt;+    implements bus probing (detecting EISA cards available on the bus),&lt;br /&gt;- - try to implement accel on voodoo2 , this board can actualy do a &lt;br /&gt;+ - try to implement accel on voodoo2, this board can actually do a &lt;br /&gt;-the subsystem to provide feedback as to whether the attibutes are&lt;br /&gt;+the subsystem to provide feedback as to whether the attributes are&lt;br /&gt;-              highmem can be used for, but it is also availble for the&lt;br /&gt;+              highmem can be used for, but it is also available for the&lt;br /&gt;-is exited.  This is acomplished with the help of the lower-privilege&lt;br /&gt;+is exited.  This is accomplished with the help of the lower-privilege&lt;br /&gt;-ariety of new computer products. Product variations in a number of&lt;br /&gt;+variety of new computer products. Product variations in a number of&lt;br /&gt;-   Forces specified clocksource (if avaliable) to be used&lt;br /&gt;+   Forces specified clocksource (if available) to be used&lt;br /&gt;-   clocksource is not avalible, it defaults to PIT.&lt;br /&gt;+   clocksource is not available, it defaults to PIT.&lt;br /&gt;-     The assumed authorititive key is inherited across fork and exec.&lt;br /&gt;+     The assumed authoritative key is inherited across fork and exec.&lt;br /&gt;-with approriate commit interval options. When this option is set to 0, this&lt;br /&gt;+with appropriate commit interval options. When this option is set to 0, this&lt;br /&gt;-6) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Aapter/A and&lt;br /&gt;+6) Future Domain MCS-600/700, OEM'd IBM Fast SCSI Adapter/A and&lt;br /&gt;-     The size should be atleast PAGE_SIZE (4k) and should be a power&lt;br /&gt;+     The size should be at least PAGE_SIZE (4k) and should be a power&lt;br /&gt;-cachelets for normal memory accesss.  The semantics of the Alpha removes the&lt;br /&gt;+cachelets for normal memory accesses.  The semantics of the Alpha removes the&lt;br /&gt;-     keyboard activitiy. &lt;br /&gt;+     keyboard activity. &lt;br /&gt;-  You may also provide a timer latency value while disabling adpative-rx:&lt;br /&gt;+  You may also provide a timer latency value while disabling adaptive-rx:&lt;br /&gt;-You can install this driver without any addtional parameter. However, if you&lt;br /&gt;+You can install this driver without any additional parameter. However, if you&lt;br /&gt;-       Your IP Adress&lt;br /&gt;+       Your IP Address&lt;br /&gt;-   - Gap, chosen so that packet data (Start+tp_net) alignes to &lt;br /&gt;+   - Gap, chosen so that packet data (Start+tp_net) aligns to &lt;br /&gt;-pktgen creates a thread on each CPU where each thread has affinty it's CPU.&lt;br /&gt;+pktgen creates a thread on each CPU where each thread has affinity to its CPU.&lt;br /&gt;-Most important the devices assigend to thread. Note! A device can only belong &lt;br /&gt;+Most important the devices assigned to thread. Note! A device can only belong &lt;br /&gt;-( there is a gap on z/Architecure too currently between 0xc00 &amp; 1000 which linux uses ).&lt;br /&gt;+( there is a gap on z/Architecture too currently between 0xc00 &amp; 1000 which linux uses ).&lt;br /&gt;-9) type it in again or alernatively cut &amp; paste it on the console adding the -g option.&lt;br /&gt;+9) type it in again or alternatively cut &amp; paste it on the console adding the -g option.&lt;br /&gt;-accumalate the status in a struct irb and then call the device interrupt handler.&lt;br /&gt;+accumulate the status in a struct irb and then call the device interrupt handler.&lt;br /&gt;-bus/iucv/drivers/netiucv. Piping to this attibute creates a new netiucv&lt;br /&gt;+bus/iucv/drivers/netiucv. Piping to this attribute creates a new netiucv&lt;br /&gt;-distribution. The following URL provides informations on latest avalaible &lt;br /&gt;+distribution. The following URL provides information on latest available &lt;br /&gt;-Driver achive for old drivers:&lt;br /&gt;+Driver archive for old drivers:&lt;br /&gt;-as the ncr53c8xx is perfectly supporting these adpaters since some time.&lt;br /&gt;+as the ncr53c8xx is perfectly supporting these adapters since some time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-5611906414930662277?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5611906414930662277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5611906414930662277'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/01/linux-26-typo-commit.html' title='linux-2.6 typo commit'/><author><name>Samson Yeung</name><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-7705809821343306404.post-644369351152537762</id><published>2008-01-22T14:38:00.000-08:00</published><updated>2008-01-22T14:49:45.283-08:00</updated><title type='text'>tinyurl</title><content type='html'>Whats the limit on those things? Can I UUEncode data as a rediculously long url, and use tinyurl or a similar service to shorten it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-644369351152537762?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/644369351152537762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/644369351152537762'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2008/01/tinyurl.html' title='tinyurl'/><author><name>Samson Yeung</name><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-7705809821343306404.post-4939954011766069777</id><published>2007-11-01T15:41:00.000-07:00</published><updated>2007-11-01T15:47:45.197-07:00</updated><title type='text'>Open social</title><content type='html'>The Intertubes is abuzz with news of Google's impending announcement of their opensocial api to link (most) social networking schemes together. So that you can write applications like for facebook, but for all of them. Screw applications, This is the single sign-on ID that everyone's been clamoring for.  Of course the devils' in the details, so I'll have to see what those APIs can actually do, but at some level, they must need to authenticate a user, most likely with that user's own password. &lt;br /&gt;&lt;br /&gt;Some glue code, and we've got single sign on for the internet. And it's linked to (supposedly) real people, (ignoring MySpace) so blog spam should now be (more) fight-able. Only registered users can comment, but the rub is registered w/ one of the supported services. Which between Myspace, linkedin and the other big names, most people should have an account.&lt;br /&gt;&lt;br /&gt;http://code.google.com/apis/opensocial&lt;br /&gt;&lt;br /&gt;(Off to look at the facebook api)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4939954011766069777?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4939954011766069777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4939954011766069777'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/11/open-social.html' title='Open social'/><author><name>Samson Yeung</name><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-7705809821343306404.post-2786989609619451792</id><published>2007-10-05T15:41:00.001-07:00</published><updated>2007-10-05T15:53:15.944-07:00</updated><title type='text'>Serving static pages.</title><content type='html'>So anywhere's frontpage that has a user login, take your pick. &lt;br /&gt;&lt;br /&gt;Wouldn't it be easier to serve that very first page that gets the most hits as static, with javascripts/css magic to hide the 'Login' link?&lt;br /&gt;&lt;br /&gt;I'm sure there is a reason why not, but I don't know it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-2786989609619451792?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2786989609619451792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/2786989609619451792'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/10/serving-static-pages.html' title='Serving static pages.'/><author><name>Samson Yeung</name><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-7705809821343306404.post-19908507939731472</id><published>2007-09-11T09:42:00.000-07:00</published><updated>2007-09-11T09:42:50.558-07:00</updated><title type='text'>In the beginning</title><content type='html'>There was nothing...&lt;br /&gt; &lt;br /&gt;Then there was the epoch&lt;br /&gt;&lt;br /&gt;and Unix started.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-19908507939731472?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/19908507939731472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/19908507939731472'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/09/in-beginning.html' title='In the beginning'/><author><name>Samson Yeung</name><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-7705809821343306404.post-4915478167729520608</id><published>2007-09-05T12:24:00.000-07:00</published><updated>2007-09-05T13:19:54.200-07:00</updated><title type='text'>Apple and Starbucks join up for iTunes WiFi purchases</title><content type='html'>Apple announced their iPod touch, now with wifi. But less space than a Nomad. Lame ;). Or thats what they tell me. Wireless iTunes Music store, combined with their Starbucks integration is huge! &lt;br /&gt;&lt;br /&gt;Why? Extend this to anywhere you hear music. Starbucks is the least of it. Concerts will be huge. Instead of pushing and shoving the crowded table selling tshirts and cds, pull your iPod out and see what was playing, then buy the album on the iTunes music store right there. I mean, its going to endup on your iPod anyway. Hell with Apple and the venue's support, you could buy a t-shirt bundle on the store and pick up the shirt at the crowded table.&lt;br /&gt;&lt;br /&gt;Damnit, I got stuck inside the RDF again. But damnit, that would be cool. And these are the first steps towards this. Japan's had wireless payments since forever ago. This isn't that. Its a sidestep that may help eventually bring such a system to the US. &lt;br /&gt;&lt;br /&gt;They had to start with Starbucks, I believe, because the individual stores don't actually have control over whats playing. Theres a magic black box hooked up to speakers and internet in the back. To add the now-playing wifi integration is just another magic black box that is easy to hand down from corp HQ. &lt;br /&gt;&lt;br /&gt;Cracking the iPhone now became lucrative (when they release wireless iTMS for it). A virus that goes in and buys an album that I'm selling via CDBaby? Sure, one or two people would only get me a few bucks, but multiply by 1000 and you could manage a tidy sum. &lt;br /&gt; &lt;br /&gt;There seems a need for a system to id someone in a crowd a-la "I'll be wearing a red-rose at the Starbucks in Central Square. Depending on the quality of the screen, you buy the item wirelessly, and you get a barcode. When you get to the front of the line, you show the barcode on the screen, and the cashier scans it and hands you the merchandise.&lt;br /&gt;&lt;br /&gt;I wonder how the Starbucks integration is done. Specifically, I wonder if the starbucks icon shown in the screenshots is handed out over wifi, or if it's a reference to a picture already on the iPod. Apple has plenty of experience via Bonjour/Zeroconf/Avahi for magic autoconfiguration, so the first hack will be to inject a coffeeshop-of-doom icon into the iPod touch UI.&lt;br /&gt;&lt;br /&gt;(And for cred, hack the iPhone to have 16G of ram. But thats a game too rich fo my blood)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4915478167729520608?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4915478167729520608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4915478167729520608'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/09/apple-and-starbucks-join-up-for-itunes.html' title='Apple and Starbucks join up for iTunes WiFi purchases'/><author><name>Samson Yeung</name><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-7705809821343306404.post-3305846413665656393</id><published>2007-08-30T12:06:00.000-07:00</published><updated>2007-08-31T10:31:57.634-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='woot'/><title type='text'>Targus ACP50US</title><content type='html'>I got this off woot and it arrived to today. And it works under linux, with a bit of work.&lt;br /&gt;&lt;br /&gt;Update Kernel module&lt;br /&gt;&lt;br /&gt;The dock uses the sis usb vga chipset, but sisusb.c does not include the USB vendor/product ID combination, so add that to linux-source-2.6.20/drivers/usb/misc/sisusbvga/sisusb.c&lt;br /&gt;  { USB_DEVICE(0x0711, 0x0550) },&lt;br /&gt;with the other lines that say USB_DEVICE (somewhere around 3435 in my version).&lt;br /&gt;&lt;br /&gt;While a monitor is connected, insmod sisusbvga should activate the monitor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New xorg.conf&lt;br /&gt;&lt;br /&gt;In xorg.conf, the driver you want to use is 'sisusb'.&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;   Identifier     "gfx"&lt;br /&gt;   Driver         "sisusb"&lt;br /&gt;   VendorName     "Videocard vendor"&lt;br /&gt;   BoardName      "usb video"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;To test:&lt;br /&gt;&lt;br /&gt;Xorg :1 -config /etc/X11/xorg.conf.usbvga  -sharevts&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(see also &lt;a href="http://lists.debian.org/debian-user/2007/01/msg02069.html"&gt;xorg.conf&lt;/a&gt; &lt;a href="http://blog.chris.tylers.info/index.php?/archives/14-Multiseat-X-Under-X11R6.97.0.html"&gt;multiseat X&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-3305846413665656393?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3305846413665656393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/3305846413665656393'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/targus-acp50us.html' title='Targus ACP50US'/><author><name>Samson Yeung</name><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-7705809821343306404.post-8814103069484985704</id><published>2007-08-27T13:01:00.000-07:00</published><updated>2007-08-27T13:20:15.019-07:00</updated><title type='text'>pano extension</title><content type='html'>http://www.engadget.com/2007/08/27/pano-logics-pano-virtual-xp-or-vista-in-a-box/&lt;br /&gt;&lt;br /&gt;There would be money in selling a cheap hardware kvm-&gt;vnc solution. &lt;br /&gt;&lt;br /&gt;do ps2(no usb) support for v1 as thats pretty easy; &lt;br /&gt;needed is to go from vga (ignore dvi) -&gt; bitmap -&gt; vnc bitmap out data -&gt; vnc server program&lt;br /&gt;&lt;br /&gt;do the usual scroll lock override to access a control, with scroll-lock 2x sending scroll lock down the wire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-8814103069484985704?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8814103069484985704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8814103069484985704'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/pano-extension.html' title='pano extension'/><author><name>Samson Yeung</name><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-7705809821343306404.post-7704164596856348113</id><published>2007-08-25T23:43:00.000-07:00</published><updated>2007-08-26T00:01:01.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='woot'/><title type='text'>Targus Notebook dock w/ video</title><content type='html'>Just pulled the trigger on tonight's woot even though I couldn't find lsusb output of the device. It seems usb-audio and usb-ethernet work and drivers load for the serial port which is one of the things I'm looking for.&lt;br /&gt;&lt;br /&gt;(&lt;a href="http://www.qbik.ch/usb/devices/showdev.php?id=3862"&gt;linux-usb&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;I wonder what their usb-video device is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-7704164596856348113?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/7704164596856348113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/7704164596856348113'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/targus-notebook-dock-w-video.html' title='Targus Notebook dock w/ video'/><author><name>Samson Yeung</name><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-7705809821343306404.post-483410189335817937</id><published>2007-08-25T16:18:00.000-07:00</published><updated>2007-08-25T16:36:56.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>advanced bash</title><content type='html'>&lt;a href="http://www.deadman.org/bash.html"&gt;(from deadman, found on Reddit)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;^error^correction    : fix and run the previous command&lt;br /&gt;&lt;br /&gt;!$   : last word of previous command; /tmp of ls /tmp&lt;br /&gt;note that you can feed this -N values, so !-2$ is the last word of two commands ago.&lt;br /&gt;&lt;br /&gt;!*   : all args of previous command; cd /tmp of vi cd /tmp&lt;br /&gt;&lt;br /&gt;modifiers:&lt;br /&gt;:h    dirname&lt;br /&gt;:t  basename&lt;br /&gt;:r  remove extension&lt;br /&gt;:e extension only&lt;br /&gt;:s   substitute&lt;br /&gt;:gs global substitute&lt;br /&gt;&lt;br /&gt;ls /tmp/foo/bar.tgz&lt;br /&gt;ls !$:h will then run ls /tmp/foo&lt;br /&gt;ls !-2$:t will run ls bar.tgz&lt;br /&gt;ls !-3$:r runs ls /tmp/foo/bar&lt;br /&gt;ls !-4$:r:t does ls bar&lt;br /&gt;ls !-5$:s/foo/frob/ does ls /tmp/frobb/bar.tgz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-483410189335817937?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/483410189335817937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/483410189335817937'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/advanced-bash.html' title='advanced bash'/><author><name>Samson Yeung</name><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-7705809821343306404.post-5663769667122770278</id><published>2007-08-25T16:16:00.000-07:00</published><updated>2007-08-25T16:18:55.598-07:00</updated><title type='text'>Here to there.</title><content type='html'>&lt;a href="http://www.google.com/maps?q=from:+here+to:+there"&gt;From here to there,&lt;/a&gt; by Google maps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-5663769667122770278?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5663769667122770278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5663769667122770278'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/here-to-there.html' title='Here to there.'/><author><name>Samson Yeung</name><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-7705809821343306404.post-6925488617020373348</id><published>2007-08-21T12:28:00.000-07:00</published><updated>2007-08-21T12:48:02.770-07:00</updated><title type='text'>Remote tire pressure monitoring system</title><content type='html'>http://www.satetpms.com/productsPer.asp?id=16&amp;amp;className=TPMS%20for%20Car&lt;br /&gt;&lt;br /&gt;The system monitors tire pressure wirelessly, and a unit attaches to the tire-stem. The unit needs to be recharged manually. The solution it would seem they want, is to use the rotational energy from the car moving to recharge the unit.&lt;br /&gt;Even better than that, the electronics on the tire-stem would be passive, and are powered via a transmitter in the wheel well.&lt;br /&gt;&lt;br /&gt;I'll bet, however, that its a cost thing, as this unit only costs $129, which seems relatively reasonable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-6925488617020373348?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/6925488617020373348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/6925488617020373348'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/remote-tire-pressure-monitoring-system.html' title='Remote tire pressure monitoring system'/><author><name>Samson Yeung</name><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-7705809821343306404.post-5197000183689360917</id><published>2007-08-21T12:25:00.000-07:00</published><updated>2007-08-21T12:27:38.534-07:00</updated><title type='text'></title><content type='html'>Those were all the three letter subdomains avaliable on blogspot.com. All of the two letter ones are taken, although many haven't been updated for &lt;span style="font-style: italic;"&gt;years&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-5197000183689360917?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5197000183689360917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/5197000183689360917'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/those-were-all-three-letter-subdomains.html' title=''/><author><name>Samson Yeung</name><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-7705809821343306404.post-4741061305794998024</id><published>2007-08-21T12:17:00.000-07:00</published><updated>2007-08-21T12:18:18.637-07:00</updated><title type='text'>Output</title><content type='html'>http://aqg.blogspot.com/:&lt;br /&gt;http://auq.blogspot.com/:&lt;br /&gt;http://azg.blogspot.com/:&lt;br /&gt;http://bfq.blogspot.com/:&lt;br /&gt;http://bqj.blogspot.com/:&lt;br /&gt;http://bqo.blogspot.com/:&lt;br /&gt;http://bqi.blogspot.com/:&lt;br /&gt;http://buw.blogspot.com/:&lt;br /&gt;http://bwq.blogspot.com/:&lt;br /&gt;http://dlv.blogspot.com/:&lt;br /&gt;http://dqa.blogspot.com/:&lt;br /&gt;http://eqb.blogspot.com/:&lt;br /&gt;http://eqd.blogspot.com/:&lt;br /&gt;http://eqk.blogspot.com/:&lt;br /&gt;http://eqy.blogspot.com/:&lt;br /&gt;http://euq.blogspot.com/:&lt;br /&gt;http://evf.blogspot.com/:&lt;br /&gt;http://fbz.blogspot.com/:&lt;br /&gt;http://fhz.blogspot.com/:&lt;br /&gt;http://fkq.blogspot.com/:&lt;br /&gt;http://fln.blogspot.com/:&lt;br /&gt;http://fnn.blogspot.com/:&lt;br /&gt;http://fnz.blogspot.com/:&lt;br /&gt;http://fpq.blogspot.com/:&lt;br /&gt;http://fqe.blogspot.com/:&lt;br /&gt;http://fqg.blogspot.com/:&lt;br /&gt;http://fqk.blogspot.com/:&lt;br /&gt;http://fqo.blogspot.com/:&lt;br /&gt;http://fwv.blogspot.com/:&lt;br /&gt;http://fxo.blogspot.com/:&lt;br /&gt;http://gdq.blogspot.com/:&lt;br /&gt;http://gtu.blogspot.com/:&lt;br /&gt;http://gvq.blogspot.com/:&lt;br /&gt;http://gxi.blogspot.com/:&lt;br /&gt;http://hbo.blogspot.com/:&lt;br /&gt;http://hqa.blogspot.com/:&lt;br /&gt;http://hxv.blogspot.com/:&lt;br /&gt;http://hzu.blogspot.com/:&lt;br /&gt;http://hzv.blogspot.com/:&lt;br /&gt;http://ihj.blogspot.com/:&lt;br /&gt;http://ihx.blogspot.com/:&lt;br /&gt;http://ijv.blogspot.com/:&lt;br /&gt;http://ikq.blogspot.com/:&lt;br /&gt;http://iqv.blogspot.com/:&lt;br /&gt;http://iuj.blogspot.com/:&lt;br /&gt;http://ivq.blogspot.com/:&lt;br /&gt;http://iwq.blogspot.com/:&lt;br /&gt;http://ixj.blogspot.com/:&lt;br /&gt;http://iyv.blogspot.com/:&lt;br /&gt;http://iyx.blogspot.com/:&lt;br /&gt;http://izg.blogspot.com/:&lt;br /&gt;http://jkq.blogspot.com/:&lt;br /&gt;http://jqu.blogspot.com/:&lt;br /&gt;http://jvq.blogspot.com/:&lt;br /&gt;http://jwv.blogspot.com/:&lt;br /&gt;http://jxw.blogspot.com/:&lt;br /&gt;http://khx.blogspot.com/:&lt;br /&gt;http://knf.blogspot.com/:&lt;br /&gt;http://kqf.blogspot.com/:&lt;br /&gt;http://kqg.blogspot.com/:&lt;br /&gt;http://kqi.blogspot.com/:&lt;br /&gt;http://kqm.blogspot.com/:&lt;br /&gt;http://kqv.blogspot.com/:&lt;br /&gt;http://kvd.blogspot.com/:&lt;br /&gt;http://kxv.blogspot.com/:&lt;br /&gt;http://lqe.blogspot.com/:&lt;br /&gt;http://lqo.blogspot.com/:&lt;br /&gt;http://lrw.blogspot.com/:&lt;br /&gt;http://lxv.blogspot.com/:&lt;br /&gt;http://lze.blogspot.com/:&lt;br /&gt;http://lzv.blogspot.com/:&lt;br /&gt;http://mhx.blogspot.com/:&lt;br /&gt;http://mqu.blogspot.com/:&lt;br /&gt;http://nji.blogspot.com/:&lt;br /&gt;http://nkq.blogspot.com/:&lt;br /&gt;http://nqq.blogspot.com/:&lt;br /&gt;http://nqj.blogspot.com/:&lt;br /&gt;http://nwq.blogspot.com/:&lt;br /&gt;http://nwv.blogspot.com/:&lt;br /&gt;http://nxe.blogspot.com/:&lt;br /&gt;http://nyj.blogspot.com/:&lt;br /&gt;http://ogq.blogspot.com/:&lt;br /&gt;http://ohq.blogspot.com/:&lt;br /&gt;http://oiw.blogspot.com/:&lt;br /&gt;http://ojx.blogspot.com/:&lt;br /&gt;http://okq.blogspot.com/:&lt;br /&gt;http://onv.blogspot.com/:&lt;br /&gt;http://otq.blogspot.com/:&lt;br /&gt;http://ouq.blogspot.com/:&lt;br /&gt;http://ovu.blogspot.com/:&lt;br /&gt;http://oxh.blogspot.com/:&lt;br /&gt;http://oxz.blogspot.com/:&lt;br /&gt;http://ozv.blogspot.com/:&lt;br /&gt;http://ozx.blogspot.com/:&lt;br /&gt;http://pqo.blogspot.com/:&lt;br /&gt;http://pvy.blogspot.com/:&lt;br /&gt;http://pxv.blogspot.com/:&lt;br /&gt;http://pzo.blogspot.com/:&lt;br /&gt;http://qav.blogspot.com/:&lt;br /&gt;http://qbv.blogspot.com/:&lt;br /&gt;http://qbw.blogspot.com/:&lt;br /&gt;http://qbg.blogspot.com/:&lt;br /&gt;http://qcz.blogspot.com/:&lt;br /&gt;http://qej.blogspot.com/:&lt;br /&gt;http://qfj.blogspot.com/:&lt;br /&gt;http://qfk.blogspot.com/:&lt;br /&gt;http://qfo.blogspot.com/:&lt;br /&gt;http://qfz.blogspot.com/:&lt;br /&gt;http://qgd.blogspot.com/:&lt;br /&gt;http://qgf.blogspot.com/:&lt;br /&gt;http://qgn.blogspot.com/:&lt;br /&gt;http://qgv.blogspot.com/:&lt;br /&gt;http://qgw.blogspot.com/:&lt;br /&gt;http://qgz.blogspot.com/:&lt;br /&gt;http://qhg.blogspot.com/:&lt;br /&gt;http://qhk.blogspot.com/:&lt;br /&gt;http://qht.blogspot.com/:&lt;br /&gt;http://qhv.blogspot.com/:&lt;br /&gt;http://qhx.blogspot.com/:&lt;br /&gt;http://qhz.blogspot.com/:&lt;br /&gt;http://qij.blogspot.com/:&lt;br /&gt;http://qji.blogspot.com/:&lt;br /&gt;http://qjv.blogspot.com/:&lt;br /&gt;http://qjz.blogspot.com/:&lt;br /&gt;http://qkg.blogspot.com/:&lt;br /&gt;http://qkj.blogspot.com/:&lt;br /&gt;http://qkn.blogspot.com/:&lt;br /&gt;http://qkv.blogspot.com/:&lt;br /&gt;http://qkw.blogspot.com/:&lt;br /&gt;http://qkx.blogspot.com/:&lt;br /&gt;http://qkz.blogspot.com/:&lt;br /&gt;http://qlg.blogspot.com/:&lt;br /&gt;http://qlv.blogspot.com/:&lt;br /&gt;http://qmz.blogspot.com/:&lt;br /&gt;http://qnm.blogspot.com/:&lt;br /&gt;http://qnu.blogspot.com/:&lt;br /&gt;http://qnv.blogspot.com/:&lt;br /&gt;http://qnw.blogspot.com/:&lt;br /&gt;http://qpb.blogspot.com/:&lt;br /&gt;http://qpj.blogspot.com/:&lt;br /&gt;http://qqh.blogspot.com/:&lt;br /&gt;http://qql.blogspot.com/:&lt;br /&gt;http://qqu.blogspot.com/:&lt;br /&gt;http://qrb.blogspot.com/:&lt;br /&gt;http://qrs.blogspot.com/:&lt;br /&gt;http://qrw.blogspot.com/:&lt;br /&gt;http://qug.blogspot.com/:&lt;br /&gt;http://quh.blogspot.com/:&lt;br /&gt;http://qvf.blogspot.com/:&lt;br /&gt;http://qvh.blogspot.com/:&lt;br /&gt;http://qvj.blogspot.com/:&lt;br /&gt;http://qvn.blogspot.com/:&lt;br /&gt;http://qvu.blogspot.com/:&lt;br /&gt;http://qvw.blogspot.com/:&lt;br /&gt;http://qvy.blogspot.com/:&lt;br /&gt;http://qvz.blogspot.com/:&lt;br /&gt;http://qwj.blogspot.com/:&lt;br /&gt;http://qwv.blogspot.com/:&lt;br /&gt;http://qye.blogspot.com/:&lt;br /&gt;http://qze.blogspot.com/:&lt;br /&gt;http://qzk.blogspot.com/:&lt;br /&gt;http://qzm.blogspot.com/:&lt;br /&gt;http://qzu.blogspot.com/:&lt;br /&gt;http://qzv.blogspot.com/:&lt;br /&gt;http://rqa.blogspot.com/:&lt;br /&gt;http://rqd.blogspot.com/:&lt;br /&gt;http://rqf.blogspot.com/:&lt;br /&gt;http://rqg.blogspot.com/:&lt;br /&gt;http://rqn.blogspot.com/:&lt;br /&gt;http://rqq.blogspot.com/:&lt;br /&gt;http://rqu.blogspot.com/:&lt;br /&gt;http://rqw.blogspot.com/:&lt;br /&gt;http://rqx.blogspot.com/:&lt;br /&gt;http://rqy.blogspot.com/:&lt;br /&gt;http://rqj.blogspot.com/:&lt;br /&gt;http://rrz.blogspot.com/:&lt;br /&gt;http://rvq.blogspot.com/:&lt;br /&gt;http://rxa.blogspot.com/:&lt;br /&gt;http://rxx.blogspot.com/:&lt;br /&gt;http://skq.blogspot.com/:&lt;br /&gt;http://svq.blogspot.com/:&lt;br /&gt;http://tqz.blogspot.com/:&lt;br /&gt;http://uej.blogspot.com/:&lt;br /&gt;http://ueu.blogspot.com/:&lt;br /&gt;http://uez.blogspot.com/:&lt;br /&gt;http://ufd.blogspot.com/:&lt;br /&gt;http://ufq.blogspot.com/:&lt;br /&gt;http://ufx.blogspot.com/:&lt;br /&gt;http://ufz.blogspot.com/:&lt;br /&gt;http://ugq.blogspot.com/:&lt;br /&gt;http://uhq.blogspot.com/:&lt;br /&gt;http://uhx.blogspot.com/:&lt;br /&gt;http://uij.blogspot.com/:&lt;br /&gt;http://ujf.blogspot.com/:&lt;br /&gt;http://ujq.blogspot.com/:&lt;br /&gt;http://ujt.blogspot.com/:&lt;br /&gt;http://ujy.blogspot.com/:&lt;br /&gt;http://ukv.blogspot.com/:&lt;br /&gt;http://ulq.blogspot.com/:&lt;br /&gt;http://umq.blogspot.com/:&lt;br /&gt;http://uoq.blogspot.com/:&lt;br /&gt;http://uov.blogspot.com/:&lt;br /&gt;http://uox.blogspot.com/:&lt;br /&gt;http://uqb.blogspot.com/:&lt;br /&gt;http://uqf.blogspot.com/:&lt;br /&gt;http://uqg.blogspot.com/:&lt;br /&gt;http://uqh.blogspot.com/:&lt;br /&gt;http://uqj.blogspot.com/:&lt;br /&gt;http://uql.blogspot.com/:&lt;br /&gt;http://uqm.blogspot.com/:&lt;br /&gt;http://uqk.blogspot.com/:&lt;br /&gt;http://uqn.blogspot.com/:&lt;br /&gt;http://uqo.blogspot.com/:&lt;br /&gt;http://uqp.blogspot.com/:&lt;br /&gt;http://uqr.blogspot.com/:&lt;br /&gt;http://uqv.blogspot.com/:&lt;br /&gt;http://uqw.blogspot.com/:&lt;br /&gt;http://uqx.blogspot.com/:&lt;br /&gt;http://uqz.blogspot.com/:&lt;br /&gt;http://utx.blogspot.com/:&lt;br /&gt;http://uuw.blogspot.com/:&lt;br /&gt;http://uvq.blogspot.com/:&lt;br /&gt;http://uvx.blogspot.com/:&lt;br /&gt;http://uvz.blogspot.com/:&lt;br /&gt;http://uwg.blogspot.com/:&lt;br /&gt;http://uwk.blogspot.com/:&lt;br /&gt;http://uwq.blogspot.com/:&lt;br /&gt;http://uwy.blogspot.com/:&lt;br /&gt;http://uxh.blogspot.com/:&lt;br /&gt;http://uxk.blogspot.com/:&lt;br /&gt;http://uxq.blogspot.com/:&lt;br /&gt;http://uxr.blogspot.com/:&lt;br /&gt;http://uxy.blogspot.com/:&lt;br /&gt;http://uxz.blogspot.com/:&lt;br /&gt;http://uyd.blogspot.com/:&lt;br /&gt;http://uyj.blogspot.com/:&lt;br /&gt;http://uyq.blogspot.com/:&lt;br /&gt;http://uyv.blogspot.com/:&lt;br /&gt;http://uyx.blogspot.com/:&lt;br /&gt;http://uyz.blogspot.com/:&lt;br /&gt;http://uyw.blogspot.com/:&lt;br /&gt;http://uzj.blogspot.com/:&lt;br /&gt;http://uzk.blogspot.com/:&lt;br /&gt;http://uzl.blogspot.com/:&lt;br /&gt;http://uzq.blogspot.com/:&lt;br /&gt;http://uzr.blogspot.com/:&lt;br /&gt;http://uzp.blogspot.com/:&lt;br /&gt;http://uzt.blogspot.com/:&lt;br /&gt;http://uzv.blogspot.com/:&lt;br /&gt;http://uzw.blogspot.com/:&lt;br /&gt;http://uzx.blogspot.com/:&lt;br /&gt;http://vba.blogspot.com/:&lt;br /&gt;http://vdy.blogspot.com/:&lt;br /&gt;http://vfq.blogspot.com/:&lt;br /&gt;http://vfz.blogspot.com/:&lt;br /&gt;http://vgq.blogspot.com/:&lt;br /&gt;http://vgx.blogspot.com/:&lt;br /&gt;http://vmw.blogspot.com/:&lt;br /&gt;http://vqb.blogspot.com/:&lt;br /&gt;http://vqd.blogspot.com/:&lt;br /&gt;http://vqe.blogspot.com/:&lt;br /&gt;http://vqf.blogspot.com/:&lt;br /&gt;http://vqk.blogspot.com/:&lt;br /&gt;http://vqj.blogspot.com/:&lt;br /&gt;http://vqo.blogspot.com/:&lt;br /&gt;http://vqx.blogspot.com/:&lt;br /&gt;http://vqy.blogspot.com/:&lt;br /&gt;http://vrq.blogspot.com/:&lt;br /&gt;http://vub.blogspot.com/:&lt;br /&gt;http://vuq.blogspot.com/:&lt;br /&gt;http://vuy.blogspot.com/:&lt;br /&gt;http://vux.blogspot.com/:&lt;br /&gt;http://vvq.blogspot.com/:&lt;br /&gt;http://vwq.blogspot.com/:&lt;br /&gt;http://vwy.blogspot.com/:&lt;br /&gt;http://vxb.blogspot.com/:&lt;br /&gt;http://vxh.blogspot.com/:&lt;br /&gt;http://vxj.blogspot.com/:&lt;br /&gt;http://vxq.blogspot.com/:&lt;br /&gt;http://vxt.blogspot.com/:&lt;br /&gt;http://vyq.blogspot.com/:&lt;br /&gt;http://vzb.blogspot.com/:&lt;br /&gt;http://vyy.blogspot.com/:&lt;br /&gt;http://vzc.blogspot.com/:&lt;br /&gt;http://vzd.blogspot.com/:&lt;br /&gt;http://vzi.blogspot.com/:&lt;br /&gt;http://vzj.blogspot.com/:&lt;br /&gt;http://vzp.blogspot.com/:&lt;br /&gt;http://vzs.blogspot.com/:&lt;br /&gt;http://vzw.blogspot.com/:&lt;br /&gt;http://wkv.blogspot.com/:&lt;br /&gt;http://wpq.blogspot.com/:&lt;br /&gt;http://wqg.blogspot.com/:&lt;br /&gt;http://wqo.blogspot.com/:&lt;br /&gt;http://wqu.blogspot.com/:&lt;br /&gt;http://wqv.blogspot.com/:&lt;br /&gt;http://wvj.blogspot.com/:&lt;br /&gt;http://wvq.blogspot.com/:&lt;br /&gt;http://wvy.blogspot.com/:&lt;br /&gt;http://wxn.blogspot.com/:&lt;br /&gt;http://wxo.blogspot.com/:&lt;br /&gt;http://xbh.blogspot.com/:&lt;br /&gt;http://xbv.blogspot.com/:&lt;br /&gt;http://xcu.blogspot.com/:&lt;br /&gt;http://xfh.blogspot.com/:&lt;br /&gt;http://xfk.blogspot.com/:&lt;br /&gt;http://xfp.blogspot.com/:&lt;br /&gt;http://xfv.blogspot.com/:&lt;br /&gt;http://xgk.blogspot.com/:&lt;br /&gt;http://xgp.blogspot.com/:&lt;br /&gt;http://xgq.blogspot.com/:&lt;br /&gt;http://xja.blogspot.com/:&lt;br /&gt;http://xkg.blogspot.com/:&lt;br /&gt;http://xkv.blogspot.com/:&lt;br /&gt;http://xnh.blogspot.com/:&lt;br /&gt;http://xnp.blogspot.com/:&lt;br /&gt;http://xqb.blogspot.com/:&lt;br /&gt;http://xqo.blogspot.com/:&lt;br /&gt;http://xrn.blogspot.com/:&lt;br /&gt;http://xro.blogspot.com/:&lt;br /&gt;http://xrq.blogspot.com/:&lt;br /&gt;http://xsn.blogspot.com/:&lt;br /&gt;http://xuw.blogspot.com/:&lt;br /&gt;http://xvf.blogspot.com/:&lt;br /&gt;http://xvh.blogspot.com/:&lt;br /&gt;http://xvk.blogspot.com/:&lt;br /&gt;http://xvj.blogspot.com/:&lt;br /&gt;http://xvq.blogspot.com/:&lt;br /&gt;http://xvt.blogspot.com/:&lt;br /&gt;http://xvu.blogspot.com/:&lt;br /&gt;http://xwo.blogspot.com/:&lt;br /&gt;http://xyo.blogspot.com/:&lt;br /&gt;http://ybj.blogspot.com/:&lt;br /&gt;http://ydz.blogspot.com/:&lt;br /&gt;http://ygv.blogspot.com/:&lt;br /&gt;http://yjv.blogspot.com/:&lt;br /&gt;http://ylv.blogspot.com/:&lt;br /&gt;http://ypv.blogspot.com/:&lt;br /&gt;http://yqa.blogspot.com/:&lt;br /&gt;http://ypz.blogspot.com/:&lt;br /&gt;http://yqi.blogspot.com/:&lt;br /&gt;http://yqo.blogspot.com/:&lt;br /&gt;http://yqn.blogspot.com/:&lt;br /&gt;http://yqr.blogspot.com/:&lt;br /&gt;http://yqv.blogspot.com/:&lt;br /&gt;http://yrw.blogspot.com/:&lt;br /&gt;http://yvd.blogspot.com/:&lt;br /&gt;http://yvf.blogspot.com/:&lt;br /&gt;http://yvj.blogspot.com/:&lt;br /&gt;http://yvq.blogspot.com/:&lt;br /&gt;http://yvu.blogspot.com/:&lt;br /&gt;http://yvx.blogspot.com/:&lt;br /&gt;http://yxv.blogspot.com/:&lt;br /&gt;http://yzo.blogspot.com/:&lt;br /&gt;http://yzv.blogspot.com/:&lt;br /&gt;http://zbm.blogspot.com/:&lt;br /&gt;http://zfu.blogspot.com/:&lt;br /&gt;http://zgv.blogspot.com/:&lt;br /&gt;http://zji.blogspot.com/:&lt;br /&gt;http://zjv.blogspot.com/:&lt;br /&gt;http://zku.blogspot.com/:&lt;br /&gt;http://zpv.blogspot.com/:&lt;br /&gt;http://zqi.blogspot.com/:&lt;br /&gt;http://zqu.blogspot.com/:&lt;br /&gt;http://zqv.blogspot.com/:&lt;br /&gt;http://zra.blogspot.com/:&lt;br /&gt;http://zrw.blogspot.com/:&lt;br /&gt;http://zuw.blogspot.com/:&lt;br /&gt;http://zvf.blogspot.com/:&lt;br /&gt;http://zvj.blogspot.com/:&lt;br /&gt;http://zvk.blogspot.com/:&lt;br /&gt;http://zvw.blogspot.com/:&lt;br /&gt;http://zwv.blogspot.com/:&lt;br /&gt;http://zvq.blogspot.com/:&lt;br /&gt;http://yzo.blogspot.com/:&lt;br /&gt;http://yzv.blogspot.com/:&lt;br /&gt;http://zbm.blogspot.com/:&lt;br /&gt;http://zfu.blogspot.com/:&lt;br /&gt;http://zgv.blogspot.com/:&lt;br /&gt;http://zji.blogspot.com/:&lt;br /&gt;http://zjv.blogspot.com/:&lt;br /&gt;http://zku.blogspot.com/:&lt;br /&gt;http://zpv.blogspot.com/:&lt;br /&gt;http://zqi.blogspot.com/:&lt;br /&gt;http://zqu.blogspot.com/:&lt;br /&gt;http://zqv.blogspot.com/:&lt;br /&gt;http://zra.blogspot.com/:&lt;br /&gt;http://zrw.blogspot.com/:&lt;br /&gt;http://zuw.blogspot.com/:&lt;br /&gt;http://zvf.blogspot.com/:&lt;br /&gt;http://zvj.blogspot.com/:&lt;br /&gt;http://zvk.blogspot.com/:&lt;br /&gt;http://zvw.blogspot.com/:&lt;br /&gt;http://zwv.blogspot.com/:&lt;br /&gt;http://zvq.blogspot.com/:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-4741061305794998024?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4741061305794998024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/4741061305794998024'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/output.html' title='Output'/><author><name>Samson Yeung</name><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-7705809821343306404.post-8108326643647629608</id><published>2007-08-21T11:51:00.000-07:00</published><updated>2007-08-21T11:53:04.529-07:00</updated><title type='text'>DLV</title><content type='html'>--gen.c--&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main(char *argc, int argv){&lt;br /&gt;    char i, j, k;&lt;br /&gt;    for (i='a';i&lt;='z';i++)&lt;br /&gt;        for (j='a';j&lt;='z';j++)&lt;br /&gt;            for (k='a';k&lt;='z';k++)&lt;br /&gt;                printf("%c%c%c\n", i, j, k);&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;--open.sh--&lt;br /&gt; #!/bin/bash&lt;br /&gt;for x in `./foo`; do&lt;br /&gt;    wget -nv -O /dev/null $x.blogspot.com 2&gt;&amp;1 | grep -B1 404| g    rep -v 404 &amp;&lt;br /&gt;    sleep .1&lt;br /&gt;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7705809821343306404-8108326643647629608?l=dlv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8108326643647629608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7705809821343306404/posts/default/8108326643647629608'/><link rel='alternate' type='text/html' href='http://dlv.blogspot.com/2007/08/dlv.html' title='DLV'/><author><name>Samson Yeung</name><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>
