<?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-7090003</id><updated>2012-02-01T17:39:45.776-05:00</updated><category term='jon stewart'/><category term='product placement'/><category term='pirate bay'/><category term='dual display'/><category term='dd'/><category term='vulnerability'/><category term='privacy'/><category term='wow'/><category term='adobe'/><category term='register_globals'/><category term='profilecms'/><category term='rockbox'/><category term='mouse'/><category term='gta'/><category term='supreme court'/><category term='guantanamo bay'/><category term='jeff atwood'/><category term='viacom'/><category term='spam'/><category term='rails'/><category term='rss'/><category term='gas'/><category term='c++0x'/><category term='portal'/><category term='sequoia'/><category term='lies'/><category term='xss'/><category term='c++'/><category term='Saitek'/><category term='saved passwords'/><category term='voting'/><category term='weather'/><category term='scripting'/><category term='jesus'/><category term='security through obscurity'/><category term='title'/><category term='hate'/><category term='jack bauer'/><category term='jack thompson'/><category term='networking'/><category term='letter'/><category term='waxman'/><category term='c'/><category term='patents'/><category term='creative'/><category term='obama'/><category term='dns'/><category term='april fools'/><category term='mac'/><category term='shutdown'/><category term='marketing'/><category term='psych'/><category term='net neutrality'/><category term='ginsberg'/><category term='blogging'/><category term='president'/><category term='zelnick'/><category term='absentee'/><category term='google'/><category term='geneva conventions'/><category term='trillian'/><category term='cryptography'/><category term='daleks'/><category term='kaminsky'/><category term='perl'/><category term='quote'/><category term='kennedy'/><category term='pidgin'/><category term='advertising'/><category term='infix'/><category term='wine'/><category term='preferences'/><category term='Lisp'/><category term='linux journal'/><category term='openoffice'/><category term='band'/><category term='kernel.org'/><category term='are you my mummy?'/><category term='gore'/><category term='water'/><category term='mccain'/><category term='e-book reader'/><category term='plugin'/><category term='court'/><category term='daily wtf'/><category term='elisp'/><category term='credit card'/><category term='afs'/><category term='macgyver'/><category term='comments'/><category term='snl'/><category term='zenity'/><category term='minority report'/><category term='election'/><category term='air'/><category term='login'/><category term='perry'/><category term='ytmnd'/><category term='luhn'/><category term='photoshop'/><category term='Powermate'/><category term='magic mouse'/><category term='woot'/><category term='stealing'/><category term='thanks'/><category term='finale'/><category term='notation'/><category term='coding horror'/><category term='meeting'/><category term='tkinter'/><category term='swapon'/><category term='openssh'/><category term='lying'/><category term='swap'/><category term='virus'/><category term='kongregate'/><category term='art lebedev'/><category term='walmart'/><category term='hotkeys'/><category term='mpaa'/><category term='dialog'/><category term='clement'/><category term='SQL'/><category term='funny'/><category term='web'/><category term='blog list'/><category term='cybermen'/><category term='allie'/><category term='cups'/><category term='open source'/><category term='dbus'/><category term='black hat'/><category term='firefox'/><category term='doomsday'/><category term='iphone'/><category term='polls'/><category term='web 2.0'/><category term='jeopardy'/><category term='family'/><category term='iraq'/><category term='keyboard'/><category term='launch'/><category term='georgia'/><category term='surface'/><category term='xbox'/><category term='star trek'/><category term='rose'/><category term='injection'/><category term='rick roll'/><category term='broken'/><category term='counterfeit'/><category term='livejournal'/><category term='sound card'/><category term='blog title'/><category term='crossfire'/><category term='ripple'/><category term='thumbnail'/><category term='gaming'/><category term='random number'/><category term='segfault'/><category term='firefox 3'/><category term='x10'/><category term='digg'/><category term='marijuana'/><category term='Gizmod'/><category term='speech'/><category term='S-expression'/><category term='screenshot'/><category term='w3c'/><category term='exploit'/><category term='vista'/><category term='fingerworks'/><category term='radio shack'/><category term='javascript'/><category term='mkswap'/><category term='bush'/><category term='gpcode'/><category term='doctor who'/><category term='apple'/><category term='mass effect'/><category term='prefix'/><category term='rng'/><category term='peeps'/><category term='piracy'/><category term='postfix'/><category term='youtube'/><category term='renice'/><category term='hardy'/><category term='gnome'/><category term='csrt'/><category term='flip'/><category term='python'/><category term='class'/><category term='debian'/><category term='notify'/><category term='windows'/><category term='compiz'/><category term='linux'/><category term='blogger draft'/><category term='emacs'/><category term='law'/><category term='php'/><category term='primaries'/><category term='internet explorer'/><category term='ajax'/><category term='scalia'/><category term='politics'/><category term='programming'/><category term='commentary'/><category term='terrorism'/><category term='blog'/><category term='reddit'/><category term='take-two'/><category term='pylons'/><category term='captcha'/><category term='correction'/><category term='wxwidgets'/><category term='hard drive'/><category term='military commissions act'/><category term='god'/><category term='religion'/><category term='house'/><category term='microsoft'/><category term='funpidgin'/><category term='start button'/><category term='mozilla'/><category term='schoolwork'/><category term='drugs'/><category term='multitouch'/><category term='password'/><title type='text'>Things that amuse or depress me</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7090003.post-6792171668620114497</id><published>2009-10-21T04:44:00.008-04:00</published><updated>2009-10-21T06:31:19.424-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='magic mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='fingerworks'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Magic indeed</title><content type='html'>I just noticed Apple came out with the "&lt;a href="http://store.apple.com/us/product/MB829?mco=MTA4MTQxMjg"&gt;Magic Mouse&lt;/a&gt;" yesterday. &lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;The same Multi-Touch technology first introduced on the revolutionary iPhone comes to the mouse. It’s called Magic Mouse, and it’s the world’s first Multi-Touch mouse. Click anywhere, scroll in any direction, and swipe through images on its smooth, seamless top shell.&lt;br /&gt;&lt;br /&gt;The new Magic Mouse redefines what a mouse should do. In addition to its smooth, seamless top-shell design that acts as one button or two, Magic Mouse features a Multi-Touch surface with gesture support. Scroll vertically, horizontally, and diagonally — a full 360 degrees — simply by touching anywhere on the top surface. With a greater surface area for scrolling, you can get around a long timeline in iMovie, through a lengthy web page in Safari, or around a set of images in iPhoto more efficiently. You can also swipe through pages in Safari or photos in iPhoto with two fingers. It’s the most advanced Apple mouse ever made.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;...&lt;b&gt;NO&lt;/b&gt;. I really wish Apple would knock this off, it drives me insane. Multitouch was not introduced on the revolutionary iPhone, and this isn't the world's first Multitouch mouse. They should know, since they &lt;a href="http://sysop073.blogspot.com/2008/02/i-multitouched-your-mom.html"&gt;destroyed the company that made them&lt;/a&gt;. They've owned Fingerworks' technology for almost five years now. They own it. They don't need to copy it or reproduce it, they've literally got the guys that invented it working for them right now, and after five years they created a legendary magical mouse that lets you:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Click anywhere&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Scroll in any direction&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Swipe through photos&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I realize Apple users are new to the concept of a functional mouse and might be a little behind on all the advances, but last time I checked mice already let you click anywhere. They also let you scroll in any direction, scroll wheels were added to mice 15 years ago, and rocker wheels weren't long after that. Finally, side function buttons for swiping through photos or whatever else you want are maybe a decade old. Calling scrolling in any direction "gesture support" is absurd, &lt;a href="http://www.fingerworks.com/userguides.html"&gt;this was gesture support&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Apple bought out the best multitouch company there was and took five years to incorporate their technology into a mouse that's only ten years behind the rest of the world. Not that I can really argue with their selling point, it is "the most advanced Apple mouse ever made."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6792171668620114497?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6792171668620114497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6792171668620114497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6792171668620114497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6792171668620114497'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2009/10/magic-indeed.html' title='Magic indeed'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-859829744163996787</id><published>2009-10-08T01:38:00.009-04:00</published><updated>2009-10-09T11:23:47.718-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elisp'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Emacs -&gt; Sprunge</title><content type='html'>Woo code! I got bored and wrote a function for Emacs that posts the current buffer to &lt;a href="http://sprunge.us/"&gt;sprunge&lt;/a&gt;. Since I'm usually pasting IRC snippets, I also threw together a major mode with 4 regexps to syntax highlight IRC. Behold:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8ZQnluQOl7o/Ss19SF5x-GI/AAAAAAAAALs/CIR810IXE08/s1600-h/sprunge.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 268px;" src="http://1.bp.blogspot.com/_8ZQnluQOl7o/Ss19SF5x-GI/AAAAAAAAALs/CIR810IXE08/s400/sprunge.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5390102078807996514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's the elisp source. The hash table maps major mode names to the corresponding &lt;a href="http://pygments.org/docs/lexers/"&gt;pygments lexer name&lt;/a&gt;, which sprunge uses for syntax highlighting; if the mode of the buffer you post is in the map, the sprunge link will include the correct argument to syntax highlight it the same way&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;(setq sprunge-suffixes (make-hash-table :test 'equal))&lt;br /&gt;(puthash "Python" "py" sprunge-suffixes)&lt;br /&gt;(puthash "Shell-script" "sh" sprunge-suffixes)&lt;br /&gt;(puthash "IRC" "irc" sprunge-suffixes)&lt;br /&gt;&lt;br /&gt;(defun sprunge ()&lt;br /&gt;  "Posts the current buffer to sprunge, and shows the resulting URL in a new buffer"&lt;br /&gt;  (interactive)&lt;br /&gt;  (if (buffer-file-name) (save-buffer) (write-file "/tmp/sprunge-post"))&lt;br /&gt;  (delete-other-windows)&lt;br /&gt;  (let ((sprunge-buffer (get-buffer-create "*sprunge*"))&lt;br /&gt;        (sprunge-window (split-window-vertically (- (window-height) 5)))&lt;br /&gt;        (filename buffer-file-name)&lt;br /&gt;        (suffix (if (gethash mode-name sprunge-suffixes) (concat "?" (gethash mode-name sprunge-suffixes)) "")))&lt;br /&gt;    (select-window sprunge-window)&lt;br /&gt;    (set-window-buffer sprunge-window sprunge-buffer)&lt;br /&gt;    (erase-buffer)&lt;br /&gt;    (insert (shell-command-to-string (concat "curl -F 'sprunge=&lt;" filename "' http://sprunge.us")))&lt;br /&gt;    (delete-char -1) ; Newline after URL&lt;br /&gt;    (insert suffix "\n")))&lt;br /&gt;&lt;br /&gt;(define-derived-mode irc-mode&lt;br /&gt;  text-mode "IRC" "Major mode for IRC logs"&lt;br /&gt;  (setq font-lock-defaults&lt;br /&gt;        '((("\\[[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\\]" . font-lock-constant-face)&lt;br /&gt;          ("&lt;.*&gt;" . font-lock-keyword-face)&lt;br /&gt;          ("[a-zA-Z0-9`^_-]+:" . font-lock-type-face)&lt;br /&gt;          ("&gt;&gt;&gt; .*" . font-lock-builtin-face)&lt;br /&gt;          ))))&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-859829744163996787?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/859829744163996787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=859829744163996787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/859829744163996787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/859829744163996787'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2009/10/emacs-sprunge.html' title='Emacs -&gt; Sprunge'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/Ss19SF5x-GI/AAAAAAAAALs/CIR810IXE08/s72-c/sprunge.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6091344789298877631</id><published>2009-08-26T00:53:00.005-04:00</published><updated>2009-08-26T02:46:52.560-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reddit'/><category scheme='http://www.blogger.com/atom/ns#' term='jeff atwood'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='coding horror'/><title type='text'>Genius bloggers post on occasion</title><content type='html'>My disagreements/line ratio with the &lt;a href="http://www.codinghorror.com/blog/archives/001298.html"&gt;latest Coding Horror&lt;/a&gt; is unusually high, and there doesn't seem to be a Proggit post for it yet (and it'll be a cold day in hell before I start submitting Coding Horror posts), so I figured I'd blog instead.&lt;br /&gt;&lt;br /&gt;Atwood is a big fan of synecdoche: he has an annoying and incessant habit of using "we" when he really means "I". If he does something, it's not "Jeff Atwood does this", it's "software developers do this". Often it's "professional software developers do this", so we don't get confused and think he's a noob. Virtually every Coding Horror post at some point indirectly contains the assertion that Jeff Atwood is a genius developer, by demonstrating how Atwood does X and then slipping in "on a totally unrelated note, genius developers are known to do X". The most common mechanism is the transparently fake self-demeaning sound bite "all code sucks, especially mine". He says it so often he's starting to become famous for it, and I might respect it if he didn't feel the need to add in, every single time, "and uber-programmers realize this", like it's an afterthought. "Oh gosh, I guess I am a badass after all -- I didn't even realize! That was a close one, readers." I swear he's trying to inculcate his readers to subconsciously associate "Jeff Atwood" with "badass programmer"; I see no other reason for his ostentatious repetition of a fairly commonplace expression. &lt;a href="http://www.reddit.com/r/programming/comments/94qf9/i_am_one_of_the_top_developers_in_the_world/c0bf8lz"&gt;I would honestly prefer&lt;/a&gt; if he just flat out said "I'm fucking awesome; deal with it" so I wouldn't need to wade through his obfuscated self-aggrandizement.&lt;br /&gt;&lt;br /&gt;The latest post was no exception, of course; despite being less than a page even with graphics, he managed to slip in "the tipping point between amateurs and professionals in our industry: the professionals realize everything they write sucks."&lt;sup&gt;TM&lt;/sup&gt; But before he got to that, he explained why &lt;s&gt;he&lt;/s&gt; we blog:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;We may kid ourselves into thinking we're writing out of some sense of public good, or to create connections, or contribute some small bit of knowledge to the world. But let's face it. Most of us blog because &lt;b&gt;we're raving egomaniacs&lt;/b&gt;. We not only love to hear ourselves talk, we're incredibly eager to hear other people talk about &lt;i&gt;us&lt;/i&gt;, and the more the better&lt;/div&gt;&lt;br /&gt;Emphasis &lt;i&gt;not&lt;/i&gt; mine, but I think it's probably beneath even me to comment much on that part anyway, especially considering what I've already covered. The main assertion that people blog for recognition seems unlikely, however, if only because 99% of blogs are read by pretty much nobody, and I like to think we're all aware of that. I have like three readers; I get way more exposure commenting on Reddit than I do blogging about something. I blog because I enjoy writing about things. And because if I kept my hatred of things bottled up I probably would've attacked someone by now, but that's a secondary benefit. I may not be particularly good at blogging&lt;sup&gt;&amp;dagger;&lt;/sup&gt;, or particularly knowledgeable about the things I do blog about, but neither of those things matters in the slightest. This blog could just be saved in a file on my computer and I would get the same enjoyment out of writing in it; the only reasons it's online are because I occasionally link to it if a discussion about something I've covered comes up, and because setting up a blog is trivial so I see no reason not to. I occasionally try to "contribute some small bit of knowledge to the world", but most of the time my blog posts are just about things I felt like writing about at that moment. I don't post my blogs to Digg or Reddit (I hate when people do that, actually), or really make any effort to try and garner readers. Maybe that's unusual, but I think most bloggers blog because they enjoy writing about their interests; they're not under the delusion that the rest of the Internet is interested in reading about it&lt;br /&gt;&lt;br /&gt;On the other hand, I might just be secretly hoping that Atwood reads my blog, as he has "an automatic Google ego search set up for my name". I really didn't think people googled themselves anymore, and certainly not continuously via a script, but again, maybe that's just me&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;sup&gt;&amp;dagger;&lt;/sup&gt; And really good bloggers say that. Draw your own conclusions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6091344789298877631?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6091344789298877631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6091344789298877631' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6091344789298877631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6091344789298877631'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2009/08/genius-bloggers-post-on-occasion.html' title='Genius bloggers post on occasion'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-826723077856835791</id><published>2009-07-05T17:44:00.003-04:00</published><updated>2009-07-06T02:57:35.229-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hard drive'/><category scheme='http://www.blogger.com/atom/ns#' term='radio shack'/><category scheme='http://www.blogger.com/atom/ns#' term='x10'/><category scheme='http://www.blogger.com/atom/ns#' term='walmart'/><title type='text'>Quests for Power</title><content type='html'>I figure I should post before a full year since my last post elapses. I'd like to share the fun story of trying to find a replacement power cable for my SATA dock.&lt;br /&gt;&lt;br /&gt;I have a &lt;a href="http://www.amazon.com/XION-XON-SAHDCB-USB-SATA-HDD-USB/dp/B001AXIX32"&gt;hard drive dock&lt;/a&gt;. Sadly, I appear to have misplaced the power cable. No problem! I'm sure power cables are easy to replace. First I went to Radio Shack. I told him I needed a 12V/2A cable with an H-connector, and he proceeded to tell me they didn't carry them. That sounded fairly wrong, so I led him over to the wall where they indeed have power cables with a neat little adaptor that lets you put any connector on the end. However, it turns out the main cable plus the H-connector somehow costs $35, which is considerably more than just buying a whole new dock. Since Radio Shack was probably my best hope of finding a cable, I decide to try and find another dock or enclosure instead, but they don't carry them.&lt;br /&gt;&lt;br /&gt;Next I tried to go to Best Buy, but couldn't find it. Probably a good thing, as I imagine the docks there cost more than multi-terabyte hard drives at other stores. In desperation, I went to Walmart. I don't think I've ever bought anything computer-related at Walmart, but I tried anyway. I poked around in their external hard drive section for a minute until one of their very helpful staff came over. This is verbatim, even the last line:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Me&lt;/b&gt;: Do you guys have any hard drive enclosures?&lt;br /&gt;&lt;b&gt;Helpful Walmart Employee&lt;/b&gt;: ...what?&lt;br /&gt;&lt;b&gt;Me&lt;/b&gt;: Any hard drive enclosures? Or docks, maybe?&lt;br /&gt;&lt;b&gt;HWE&lt;/b&gt;: Uh...no, we just have...the RAM&lt;br /&gt;&lt;b&gt;Me&lt;/b&gt;: ...OK, thanks&lt;br /&gt;&lt;br /&gt;In conclusion, I was disappointed in Radio Shack, but completely unsurprised by Walmart.&lt;br /&gt;&lt;br /&gt;On a totally unrelated note, I now have the power (I originally typed "ability", but couldn't resist the pun. I'm weak) to control my hall light from my computer, which I'm fairly pleased about. I planned to describe the complicated procedure involved in settings this up, but unfortunately it's pretty much:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Take off a light switch and wire the &lt;a href="http://www.smarthome.com/2031W/X10-In-Wall-Light-Switch-White-WS467-W-PLW01-W-/p.aspx"&gt;WS467&lt;/a&gt; in&lt;br /&gt;&lt;li&gt;Plug in a &lt;a href="http://www.smarthome.com/1140/X10-Activehome-CM11A-Computer-Interface-CM11A/p.aspx"&gt;CM11a&lt;/a&gt; and connect it to a computer&lt;br /&gt;&lt;li&gt;Install &lt;a href="http://heyu.tanj.com/"&gt;heyu&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;I'm still awesome though. I need more of these modules. Lots more&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-826723077856835791?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/826723077856835791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=826723077856835791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/826723077856835791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/826723077856835791'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2009/07/quest-for-power.html' title='Quests for Power'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2227989818238972677</id><published>2008-08-21T10:25:00.003-04:00</published><updated>2008-12-30T02:12:04.085-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++0x'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='reddit'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>C++0x</title><content type='html'>There is massive confusion about C++0x. I've heard the name made fun of no less than five times in the last couple days, most recently in a &lt;a href="http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/"&gt;blog post&lt;/a&gt; that spends a good half page mocking the possible pronunciations. On a side note, I recommend not reading that blog post, it's rather impressively packed full of ignorance. I made a joke about the name on Reddit and realized from the subsequent comments that people seriously think the standards' name is going to be C++0x. "0x" is supposed to be the ratification year -- "x" is not going to stay there. If it gets ratified in 2009 like they expect, the standard will be called C++09. This is not in any way new. C had C89 and C99, released in 1989 and 1999, and they're working on C1x (OMG AN X; how will we pronounce it?). C++ had C++98 and C++03, released in 1998 and 2003, and they're working on C++0x. Just like how we don't clarify C89 or C99 unless it's necessary (we just say "C"), we're not going to be saying "C++09"; we'll be saying "C++". C++0x is not a "new language", it's a new standard for the existing C++ language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2227989818238972677?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2227989818238972677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2227989818238972677' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2227989818238972677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2227989818238972677'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/c0x.html' title='C++0x'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-5549003433660334858</id><published>2008-08-16T03:09:00.005-04:00</published><updated>2008-08-16T03:18:52.021-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Linux isn't for everyone</title><content type='html'>I've wanted to write this entry for ages, but I keep forgetting. Fortunately, there's plenty of people on the Internet that helpfully remind me. There's a massive misconception about why people should adopt Linux, and I see it over and over again (because I still read Digg comments; the drama is just too enticing). Quotes like &lt;a href="http://digg.com/linux_unix/Linux_Users_Why_So_Serious_2?t=17703766#c17703766"&gt;this&lt;/a&gt; pretty much sum up the problem:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;people want an OS that works OUT OF THE BOX - they don't want to tweak with the kernel ... and no flavor of Linux is getting that done properly.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;NO&lt;/b&gt;. "they don't want to tweak with the kernel" is 100% wrong, and that is the issue. The inevitable banal response to this is somebody saying "Ubuntu means you don't have to mess with the kernel", which is completely the wrong tack to take. The right answer is "If you want things to work out of the box and you don't like fiddling, &lt;b&gt;Linux is not for you&lt;/b&gt;". "I just want it to work" is not the attitude of somebody that should be using Linux, that's not what it's for. Yes, it is entirely possible for things to work out of the box on Linux, and Ubuntu is very good at that, but what's the point? You might as well use Windows, you're not getting the main benefit of Linux: infinite flexibility. You can make arguments for security and reliability, but obviously Windows users (or at least the 87 that dugg up that comment anyway) don't particularly care, or have no issue with Windows in those areas.&lt;br /&gt;&lt;br /&gt;I understand the Linux community's desire to convert people to Linux: the more people that use Linux, the more supported it has to be by hardware and software companies. But harrassing every Windows user you find and telling them they should be using Linux if they know what's good for them is nonsense. Linux is not for everyone; it really isn't for most people, since most people are fine with the default configuration of everything and don't particularly need it to change. Leave those people alone and stop getting in arguments with them; if at any point in a Windows/Linux argument the Windows person says "I just want it to work", just let it go -- they'll be happier with Windows&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-5549003433660334858?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/5549003433660334858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=5549003433660334858' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5549003433660334858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5549003433660334858'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/linux-isnt-for-everyone.html' title='Linux isn&apos;t for everyone'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4596242233848834122</id><published>2008-08-11T11:27:00.006-04:00</published><updated>2008-08-13T07:23:44.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='correction'/><category scheme='http://www.blogger.com/atom/ns#' term='reddit'/><category scheme='http://www.blogger.com/atom/ns#' term='pidgin'/><title type='text'>Reddit power</title><content type='html'>&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/SKBbqi0fGDI/AAAAAAAAAFM/wmJK1il_YC0/s1600/my+blog+-+on+reddit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5233283553464096818" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apparently I should get &lt;a href="http://www.reddit.com/r/programming/comments/6vqyk/things_that_amuse_or_depress_me_arguing_with/"&gt;reddited&lt;/a&gt; more:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/SKBadPF8vYI/AAAAAAAAAE8/2J_ibfVSf_U/s400/my+blog+-+reddit+graph.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5233282225318706562" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/SKBaxzWmHQI/AAAAAAAAAFE/rKpXIlToe5w/s400/my+blog+-+traffic+sources.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5233282578649586946" /&gt;&lt;br /&gt;&lt;br /&gt;Sadly, that now makes the handful of visits I had before look like 0 on the graph, but oh well. I actually posted &lt;a href="http://sysop073.blogspot.com/2008/06/arguing-with-users-over-what-they-want.html"&gt;that entry&lt;/a&gt; on a &lt;a href="http://www.reddit.com/comments/6vogr/pidgin_developer_the_holy_war_of_tool_choice/c04zqay"&gt;comment&lt;/a&gt; to another post, but apparently somebody reposted it as a story. A surprising number of people agreed with me considering I think it's a minority opinion, but there were plenty that disagreed too. And my anti-Windows thing at the end got interpreted backwards, which lead to confusion: I was saying that Pidgin, as an open source project, should be avoiding the very things that tend to drive people away from Windows. The main reason I love Linux is I can customize whatever I want, effortlessly; Windows is far less flexible. Trillian is an example of an unusually flexible Windows program, which is the very reason I used it, but with Linux it's no longer the exception to find a program that lets me configure it the way I want&lt;br /&gt;&lt;br /&gt;EDIT: Apparently I should've waited before taking that screenshot:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://1.bp.blogspot.com/_8ZQnluQOl7o/SKLEHMKsjMI/AAAAAAAAAFU/xurBdRRq944/s400/my+blog+-+on+reddit2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5233961344762154178" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4596242233848834122?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4596242233848834122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4596242233848834122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4596242233848834122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4596242233848834122'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/reddit-power.html' title='Reddit power'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SKBbqi0fGDI/AAAAAAAAAFM/wmJK1il_YC0/s72-c/my+blog+-+on+reddit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8322213439853619223</id><published>2008-08-09T13:12:00.005-04:00</published><updated>2008-08-09T13:38:26.623-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dns'/><category scheme='http://www.blogger.com/atom/ns#' term='kaminsky'/><category scheme='http://www.blogger.com/atom/ns#' term='vulnerability'/><category scheme='http://www.blogger.com/atom/ns#' term='exploit'/><category scheme='http://www.blogger.com/atom/ns#' term='black hat'/><title type='text'>DNS flaw released without warning</title><content type='html'>I think the Kaminsky DNS vulnerability news was big enough that non-tech people heard about it, so hopefully everyone here knows what I'm talking about; if not, it doesn't really matter. There was a serious DNS vulnerability that Dan Kaminsky discovered this year. Ignoring the temptation to hack the entire Internet, he worked with DNS vendors to patch their nameservers; there's a fairly cool video that shows a map of the world over time colored to show if servers are patched or not:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ff5WBDOwueI&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Ff5WBDOwueI&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The details of how the exploit worked weren't actually supposed to come out until his &lt;a href="http://www.doxpara.com/DMK_BO2K8.ppt"&gt;black hat presentation&lt;/a&gt; a few days ago, but they leaked a week or so early. Nonetheless, watch the clip above and look at how many servers were patched by the time the details came out in late July&lt;br /&gt;&lt;br /&gt;Then some Russian guy discovered that the fix &lt;a href="http://tservice.net.ru/~s0mbre/blog/devel/networking/dns/2008_08_08.html"&gt;isn't completely effective&lt;/a&gt;, although it does make poisoning take way longer. Did he quietly share the news with DNS vendors and try to work out a fix? Hell no, not only did he post the story on his blog, he helpfully included &lt;a href="http://tservice.net.ru/~s0mbre/archive/dns/"&gt;exploit code&lt;/a&gt; with it, because having to write your own might slow down attackers for a few hours&lt;br /&gt;&lt;br /&gt;I understand the desire to release the news as soon as possible; Kaminsky is pretty much the most famous security researcher in the world at the moment, but what the hell? Now the New York Times has &lt;a href="http://www.nytimes.com/2008/08/09/technology/09flaw.html"&gt;picked it up&lt;/a&gt;, so anybody with a couple good computers and a few hours on their hands can try poisoning a nameserver just for fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8322213439853619223?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8322213439853619223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8322213439853619223' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8322213439853619223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8322213439853619223'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/dns-flaw-released-without-warning.html' title='DNS flaw released without warning'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6555058126629624470</id><published>2008-08-05T18:03:00.009-04:00</published><updated>2008-08-05T19:14:32.742-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='surface'/><category scheme='http://www.blogger.com/atom/ns#' term='multitouch'/><category scheme='http://www.blogger.com/atom/ns#' term='minority report'/><title type='text'>Now I Can Manipulate Pictures in 3D</title><content type='html'>So I'm told there's this new interface that resembles the thing from Minority Report. For those too terribly sheltered to have seen Minority Report:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/P51w0UI-xkY&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/P51w0UI-xkY&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;That part isn't particularly good, but I can't find the clip I like. You get the idea anyway. I don't expect the example for the real interface to be Tom Cruise solving future crimes, but I really hoped it would be something, anything, besides this:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/egAl6sNMaqE&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/egAl6sNMaqE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Why?! Why is it always the freaking picture twiddling? It was the same thing with the damn &lt;a href="http://sysop073.blogspot.com/2008/03/its-just-like-real-table.html"&gt;giant table&lt;/a&gt;, is that all multitouch interfaces are good for?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6555058126629624470?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6555058126629624470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6555058126629624470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6555058126629624470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6555058126629624470'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/now-i-can-manipulate-pictures-in-3d.html' title='Now I Can Manipulate Pictures in 3D'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1282217137801376616</id><published>2008-08-05T09:13:00.004-04:00</published><updated>2008-08-05T09:22:22.689-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='saved passwords'/><category scheme='http://www.blogger.com/atom/ns#' term='broken'/><title type='text'>Firefox Password Fail</title><content type='html'>What happened with Firefox remembering passwords? Around the middle of July I suddenly noticed Firefox wasn't remembering passwords anymore. It still had them all in the saved passwords list (I think -- it doesn't anymore), and I still had it set to remember them, but it wouldn't auto-fill forms anymore and it didn't offer to remember new passwords. Oddly, this happened to both my home and work machines. My work machine runs Windows XP and Firefox 3, while my home machine runs Gentoo and Firefox 2, so it's fairly odd that both broke at the same time. I finally got around to searching for a fix today, and found a bunch of posts with the same problem:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://forums.mozillazine.org/viewtopic.php?f=38&amp;t=762045"&gt;http://forums.mozillazine.org/viewtopic.php?f=38&amp;t=762045&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://support.mozilla.com/tiki-view_forum_thread.php?locale=nl&amp;forumId=1&amp;comments_parentId=108743"&gt;http://support.mozilla.com/tiki-view_forum_thread.php?locale=nl&amp;forumId=1&amp;comments_parentId=108743&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://wccftech.com/forum/my-firefox-doesnt-remember-passwords-anymore-19358.html"&gt;http://wccftech.com/forum/my-firefox-doesnt-remember-passwords-anymore-19358.html&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://answers.yahoo.com/question/index?qid=20080524124947AADpbyu"&gt;http://answers.yahoo.com/question/index?qid=20080524124947AADpbyu&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;All these people posted right around the same time, the middle of July. It seems Firefox simultaneously broke for a whole bunch of different people, and as far as I can tell nobody knows why; I'm not even sure if people have noticed the connection or not. The fix seems to be deleting the password cache so it can start over, but I haven't heard any explanation for what actually happened&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1282217137801376616?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1282217137801376616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1282217137801376616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1282217137801376616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1282217137801376616'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/firefox-password-fail.html' title='Firefox Password Fail'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6682015930445486624</id><published>2008-08-04T12:43:00.003-04:00</published><updated>2008-08-04T13:13:44.036-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mccain'/><category scheme='http://www.blogger.com/atom/ns#' term='lies'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>McCain lies? No!</title><content type='html'>So this might seem to be somewhat at odds with my &lt;a href="http://sysop073.blogspot.com/2008/07/politicians-lie-no.html"&gt;last post&lt;/a&gt;, but I just couldn't resist posting it. I'm not actually surprised by any of this, but maybe Republicans will be, since every time Obama varies his position in the slightest they go nuts. This guy took the time to make a massive list of &lt;a href="http://www.dailykos.com/storyonly/2008/7/3/0717/55880/710/545421"&gt;all the lies McCain has told&lt;/a&gt;. And not small stuff like Obama's generally are, these are complete reversals on virtually every position he's ever had, including the same things Republicans attack Obama about. Technically these aren't "lies", they're more like flip-flops, but I'm more than willing to adopt Republican rhetoric in this case. Next time a Republican whines that Obama changed his position on something, direct them to this list&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6682015930445486624?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6682015930445486624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6682015930445486624' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6682015930445486624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6682015930445486624'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/08/mccain-lies-no.html' title='McCain lies? No!'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6776735413678131588</id><published>2008-07-27T19:47:00.015-04:00</published><updated>2008-07-27T20:54:01.951-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lying'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Politicians lie? No!</title><content type='html'>I've been bleeding my RSS feeds dry recently, which means I'm forced to read the bottom of the barrel:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://bp3.blogger.com/_8ZQnluQOl7o/SI0JGWI3t9I/AAAAAAAAAE0/xpFNleoD75w/s400/rss_only_digg.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5227844747073664978" /&gt;&lt;br /&gt;&lt;br /&gt;80% of Digg articles are about the same thing: some politician said something that makes people sad. Usually, said politician is on record saying the opposite thing sometime in the past. Diggers are shocked, hurt, betrayed, etc. Diggers will never vote for said politician ever. Unfortunately, every politician is in the category of politicians that can never be voted for, which puts us in a predicament (if we listen to Diggers, anyway).&lt;br /&gt;&lt;br /&gt;This just in: &lt;b&gt;All politicians lie an alarming percentage of the time&lt;/b&gt;. They have to, or they'd never get elected to anything. Too many voters have positions that are deal-breakers, so if a politician has solid positions on everything a majority of people will disagree with one of them, and they're screwed. Not to say politicians don't have standings on these issues; of course they do. They just have to make sure you don't know about them. This either means they have to dance around things they know will alienate voters (that is, everything), or they need to change their position depending on who they're talking to. Unfortunately, with the Internet this no longer works, because now we know that the things they told people on the other end of the country aren't the same things they're telling us, but that doesn't stop them from doing it over and over again.&lt;br /&gt;&lt;br /&gt;Yes, it would be awesome if we could elect politicians who didn't lie to us on a regular basis, but there are so many issues that America is divided on that it can't happen anymore. Stop being surprised when it turns out a politician lied about something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6776735413678131588?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6776735413678131588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6776735413678131588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6776735413678131588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6776735413678131588'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/politicians-lie-no.html' title='Politicians lie? No!'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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://bp3.blogger.com/_8ZQnluQOl7o/SI0JGWI3t9I/AAAAAAAAAE0/xpFNleoD75w/s72-c/rss_only_digg.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-998762145797355296</id><published>2008-07-06T17:15:00.013-04:00</published><updated>2008-07-11T15:50:47.833-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sound card'/><category scheme='http://www.blogger.com/atom/ns#' term='creative'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><title type='text'>Companies really suck at marketing</title><content type='html'>Apparently &lt;a href="http://www.adobe.com/"&gt;Adobe&lt;/a&gt; sent a letter to &lt;a href="http://www.freshairapps.com/"&gt;freshAIRapps&lt;/a&gt;, a website showing off cool AIR applications, claiming that using AIR in their URL/name is an &lt;a href="http://www.readwriteweb.com/archives/adobe_gets_sensitive_about_air_trademark.php"&gt;infringement on their trademark&lt;/a&gt;. It technically is, but what are they thinking? It's infringing in a way that convinces more people to use Adobe AIR. Trademarks are to prevent people stealing your customers, not to prevent people getting you more customers.&lt;br /&gt;&lt;br /&gt;This is the same Adobe that used to get mad at people that used 'photoshop' as a verb, because &lt;a href="http://www.adobe.com/misc/trade.html"&gt;trademarks are not verbs&lt;/a&gt;. This was &lt;a href="http://digg.com/tech_news/Adobe_uses_photoshop_as_a_verb_ON_THEIR_OWN_SITE"&gt;mocked&lt;/a&gt; and generally ignored, of course, but this was even more insane. What company gets mad that their product is so ubiquitous people are using its name as a synonym for the function it provides? &lt;s&gt;Google certainly doesn't mind that people say "Google it" instead of "Search for it".&lt;/s&gt; (EDIT: As a commenter &lt;a href="http://sysop073.blogspot.com/2008/07/companies-really-suck-at-marketing.html?showComment=1215660360000#c4005747707750452273"&gt;pointed out&lt;/a&gt;, apparently &lt;a href="http://www.independent.co.uk/news/business/news/to-google-or-not-to-google-its-a-legal-question-411600.html"&gt;Google does mind&lt;/a&gt;, so now I'm totally confused.) It's the goal of every marketing department to achieve exactly this, you can't buy that level of market presence, and instead of being thrilled Adobe tried to shut it down, and now they're attacking people that use their trademark to try and get them more customers.&lt;br /&gt;&lt;br /&gt;Companies have a bad habit of attacking the people that get them the most customers, until finally those people get pissed off and stop getting them customers. Adobe isn't the only company at fault, of course. A hacker named Daniel_K used to make Linux drivers for &lt;a href="http://www.creative.com/"&gt;Creative&lt;/a&gt; sound cards, because Creative was at first too lazy and then too inept to do it themselves. When they finally did get Linux drivers out, the drivers were horribly broken and absolutely nobody used them. Daniel_K's drivers, on the other hand, were excellent. So Creative had two choices:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Realize that there's a guy out on the Internet that, absolutely for free, is doing what Creative is unable to and writing high quality Linux drivers. Reason that they should either hire this guy, or at the very least ignore him and let him carry on. Further reason that since there is no money in drivers, as they're offered for free, the only thing this guy is doing is giving Linux users a chance to buy Creative's highly expensive sound cards. Conclude that as tech people are the people most likely to buy high quality computer add-ons, alienating this group is a pretty poor decision.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Furiously demand that Daniel_K stop distributing his drivers. Hope that users instead switch to downloading the official free drivers, which don't work and nobody will ever use. Hope that somehow this leads to an increase in profits, as opposed to a bunch of pissed off users returning cards if they can and at the very least vowing to never use Creative products again, not least of which because (as Linux users) they no longer can&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;This may seem like a simple decision for some people, who assume that companies like making money, but as any seasoned marketing agent from Adobe or Creative will tell you, &lt;a href="http://forums.creative.com/creativelabs/board/message?board.id=soundblaster&amp;thread.id=116332&amp;view=by_date_ascending&amp;page=1"&gt;#2 is the way to go&lt;/a&gt;. Are these companies just completely unhinged?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-998762145797355296?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/998762145797355296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=998762145797355296' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/998762145797355296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/998762145797355296'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/companies-really-suck-at-marketing.html' title='Companies really suck at marketing'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-819032887886001209</id><published>2008-07-04T17:33:00.003-04:00</published><updated>2008-07-04T17:39:29.979-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Saitek'/><category scheme='http://www.blogger.com/atom/ns#' term='finale'/><category scheme='http://www.blogger.com/atom/ns#' term='doctor who'/><title type='text'>Harriet Jones uses Saitek</title><content type='html'>In the first part of the Doctor Who finale (which, for the record, was excellent), Harriet Jones is controlling the subwave network from her house:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://bp2.blogger.com/_8ZQnluQOl7o/SG6XVXRxlVI/AAAAAAAAAEs/zAXStKvO8-M/s400/doctor_who_saitek.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219275411450598738" /&gt;&lt;br /&gt;&lt;br /&gt;I do believe that's a &lt;a href="http://www.amazon.com/Saitek-PZ30AU-Eclipse-Keyboard/dp/B0007TJ7TE/ref=sr_1_2?ie=UTF8&amp;s=electronics&amp;qid=1215207119&amp;sr=1-2"&gt;Saitek Eclipse&lt;/a&gt; she's typing on. Nice choice, if I do say so myself, and high five for good product placement. And since the subwave network got the Doctor to Earth, Saitek pretty much saved the world&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-819032887886001209?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/819032887886001209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=819032887886001209' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/819032887886001209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/819032887886001209'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/harriet-jones-uses-saitek.html' title='Harriet Jones uses Saitek'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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://bp2.blogger.com/_8ZQnluQOl7o/SG6XVXRxlVI/AAAAAAAAAEs/zAXStKvO8-M/s72-c/doctor_who_saitek.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3539066858784737022</id><published>2008-07-04T16:16:00.001-04:00</published><updated>2008-07-04T16:17:51.732-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='blog title'/><title type='text'>I am uncreative</title><content type='html'>I was halfway through a &lt;a href="http://augustss.blogspot.com/"&gt;blog post&lt;/a&gt; about Haskell when I suddenly realized the blog's name is "Things that amuse me". So apparently my blog title is thoroughly uncreative; if I recall correctly, my title was originally going to be exactly that, but I added the "or depress" when I realized many of my posts would probably be things that are bad. Maybe I'll rename my blog, if I can think of anything else&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3539066858784737022?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3539066858784737022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3539066858784737022' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3539066858784737022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3539066858784737022'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/i-am-uncreative.html' title='I am uncreative'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4166131896092454187</id><published>2008-07-03T09:21:00.044-04:00</published><updated>2008-07-08T03:17:00.942-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='viacom'/><category scheme='http://www.blogger.com/atom/ns#' term='court'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>Viacom vs Google</title><content type='html'>There's a fairly &lt;s&gt;unbelievable&lt;/s&gt; &lt;s&gt;ridiculous&lt;/s&gt; &lt;s&gt;stunning&lt;/s&gt; typical case going through the courts right now. I saw it mentioned on &lt;a href="http://blog.wired.com/27bstroke6/2008/07/judge-orders-yo.html"&gt;other sites&lt;/a&gt;, but they focused on the vast privacy violations and generally sidelined the other impressively absurd parts of the lawsuit. Somehow Viacom has gotten it into its head that people occasionally post copyrighted videos on Youtube (&lt;a href="http://www.youtube.com/results?search_type=search_videos&amp;search_sort=relevance&amp;search_query=daily+show&amp;search=Search"&gt;Lies!&lt;/a&gt;). I read through the &lt;a href="http://docs.justia.com/cases/federal/district-courts/new-york/nysdce/1:2007cv02103/302164/1/0.pdf&lt;br /&gt;"&gt;filing&lt;/a&gt;, it's impressive. For example in (4):&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;YouTube itself publicly performs the infringing videos on the YouTube site . . . It is YouTube that knowingly reproduces and publicly performs the copyrighted works&lt;/div&gt;&lt;br /&gt;This is somewhat clever, and practically ubiquitous in these cases: abusing pre-Internet laws. When they say YouTube "performs the copyrighted works", we all know perfectly well what they mean: YouTube sits there while people stream off them. It's like saying my SMTP server performs recitations of my e-mails as I send them. Obviously that law was meant to forbid me setting up a projector and selling people tickets to watch videos I've bought, that's what "performing" a copyrighted work is. In case there's any doubt, they just come out and say it in (31):&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;YouTube then publicly performs the chosen video by sending streaming video content from YouTube's servers to the user's computer&lt;/div&gt;&lt;br /&gt;Then Viacom complains because they're lazy (6):&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;it has decided to shift the burden entirely onto copyright owners to monitor the YouTube site on a daily or hourly basis to detect infringing videos and send notices to YouTube demanding that it "take down" the infringing works&lt;/div&gt;&lt;br /&gt;Unbelievable, Google. What makes you think you can possibly shift the burden entirely onto copyright owners? Actually, they probably think that because of the &lt;a href="http://thomas.loc.gov/cgi-bin/query/C?c105:./temp/~c105Ml6Bq3"&gt;DMCA&lt;/a&gt;. Yes, I was shocked too, but the DMCA actually does have a section buried in the middle entitled "Limitations on liability relating to material online". And in &lt;a href="http://thomas.loc.gov/cgi-bin/query/F?c105:6:./temp/~c105p8tJqo:e57590:"&gt;section 512&lt;/a&gt;, subsection d, bullet 3 (actually, pretty much every subsection of 512 is identical, this thing is absurdly redundant) it states that YouTube needs to, "upon notification of claimed infringement as described in subsection (c)(3), respond[] expeditiously to remove, or disable access to, the material that is claimed to be infringing". DMCA: fighting for the people.&lt;br /&gt;&lt;br /&gt;The next couple pages is the always impressively boring plaintiff exposition, but in skimming it I noticed something that made me smile: they list some of the videos they disseminate online themselves, including:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;"SpongeBob SquarePants," and "Dora the Explorer," among others, from Nickelodeon; and "Beavis and Butthead," "Laguna Beach," and "Jackass", among others, from MTV&lt;/div&gt;&lt;br /&gt;I would love nothing more than to hear a $500/hour lawyer expounding about how Viacom has willingly given Dora the Explorer and Laguna Beach to the masses&lt;br /&gt;&lt;br /&gt;And while Viacom demands catholicons for their problems (can you have more than one? oh well), I can understand their annoyance. But then I found the &lt;a href="http://www.docstoc.com/docs/886975/Viacom-vs-YouTube-107-cv-02103-LLS"&gt;latest filing&lt;/a&gt; from yesterday, which actually manages to top the aforementioned bitching (legal term). This is the one where the judge responds to Viacom's demands, so it's a nice concise summary of what Viacom wants. For example, the logs of everything everyone has done on YouTube ever ("all data from the Logging database concerning each time a YouTube video has been viewed"). This is obviously crazy, except as the wired article points out, it was granted. Viacom and Google probably stared at the ruling with identical slack-jawed amazement. Viacom claims that this isn't a privacy violation, because (quoting a Google blog post) "an IP address without additional information cannot [identify you]". Technically true, although the "additional information" required is really just the date/time you were using it; that's sufficient for an ISP to pinpoint who was using it. And since the data Viacom is demanding includes "the time when the user started to watch the video", this claim is specious. But other site have already talked about that, this is the epic one:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;The computer source code which controls both the YouTube.com search function and Google's internet search tool "Google.com"&lt;/div&gt;&lt;br /&gt;...right. Viacom knows perfectly well it'll be a cold day in hell before Google gives them the source code to their search engine, so I'm not sure what their angle is here; maybe it's the patent insanity that's lead other sites to ignore this. I purport that Microsoft has intentionally rigged Windows to blue-screen periodically; can I have the source code now? But wait, they're not done yet:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Defendants have purposefully designed or modified the tool to facilitate the location of infringing content&lt;/div&gt;&lt;br /&gt;They're not kidding, they claim Google has modified their search engine to intentionally favor copyrighted data. They've apparently forgotten about their earlier filing, when they accosted Google for doing the opposite:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;YouTube has also implemented features that prevent copyright owners from finding infringing videos by searching the Youtube site. YouTube thereby hinders Plaintiffs' attempts to locate infringing videos to protect their rights&lt;/div&gt;&lt;br /&gt;So either Google is intentionally helping people find copyrighted videos, or they're intentionally thwarting it -- either way, Viacom is pissed off. It's a bold move claiming that Google is making it harder for them to find copyrighted data by taking it down. Not that this thwarting has actually slowed Viacom down (3):&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Plaintiffs have identified more than 150,000 unauthorized clips of their copyrighted programming on YouTube&lt;/div&gt;&lt;br /&gt;Way to get around that Google blocking, Viacom. You showed 'em. Here's the judge's actual signature on the order to "compel production of all data from the Logging database", just so you can see it :):&lt;br /&gt;&lt;br /&gt;&lt;img src="http://bp3.blogger.com/_8ZQnluQOl7o/SGzlOtTTFyI/AAAAAAAAAEk/xAWw3PK08ko/s400/judge_signature.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5218798109057029922" /&gt;&lt;br /&gt;&lt;br /&gt;BLAME! E-mail that guy and tell him he should learn how computers work before he makes rulings&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EDIT&lt;/b&gt;: Wow. Speaking of abusing pre-Internet laws, it's like the government saw this post and wanted to show just how far it can go: a woman was &lt;a href="http://www.secureworks.com/research/falsepositive.php"&gt;charged&lt;/a&gt; with violating the Computer Fraud and Abuse act because she signed up for MySpace with a fake name. Viacom sounds downright competent now&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4166131896092454187?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4166131896092454187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4166131896092454187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4166131896092454187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4166131896092454187'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/viacom-vs-google.html' title='Viacom vs Google'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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://bp3.blogger.com/_8ZQnluQOl7o/SGzlOtTTFyI/AAAAAAAAAEk/xAWw3PK08ko/s72-c/judge_signature.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2521508094829396456</id><published>2008-07-01T23:30:00.008-04:00</published><updated>2008-07-02T00:28:24.034-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='digg'/><title type='text'>Heck yes it's Web 2.0</title><content type='html'>Awhile ago, &lt;a href="http://www.digg.com/"&gt;Digg&lt;/a&gt; decided to Web 2.0-ify their site. Which I'm cool with, yay for the future and all. So now when you look at a story, the comments aren't included in the initial request, they're loaded via AJAX right after. Annoying but theoretically faster if there are enough comments on the story. What's actually cool is subthreads aren't loaded, just the initial comment tree; comments on comments are loaded as requested. Even digging and commenting is AJAXified...as long as you're logged in. If you're not, you get this:&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_8ZQnluQOl7o/SGr3v53UYdI/AAAAAAAAAEc/Wv3imrlMVIs/s400/digg_login.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5218255520620896722" /&gt;&lt;br /&gt;&lt;br /&gt;Is this AJAX? Hell no it's not, to login you have to go to another page, which means all the progress you've made on your current page (which can be considerable since the rest of it is AJAX) is now lost; you have to start over. And it doesn't check to see if you're logged in at click-time like a real AJAX application, it's hard-coded into the link at load-time, so if you open a bunch of different Digg stories and then try to login, you need to reload all of them. Nicely done Digg. At least I've stopped getting a dialog saying I can't digg stories I've left open for too long, it only took them like a year to fix that one&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2521508094829396456?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2521508094829396456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2521508094829396456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2521508094829396456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2521508094829396456'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/07/heck-yes-its-web-20.html' title='Heck yes it&apos;s Web 2.0'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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://bp3.blogger.com/_8ZQnluQOl7o/SGr3v53UYdI/AAAAAAAAAEc/Wv3imrlMVIs/s72-c/digg_login.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-9157964763685273463</id><published>2008-06-25T18:32:00.006-04:00</published><updated>2008-06-25T22:31:57.175-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dual display'/><category scheme='http://www.blogger.com/atom/ns#' term='thumbnail'/><category scheme='http://www.blogger.com/atom/ns#' term='e-book reader'/><category scheme='http://www.blogger.com/atom/ns#' term='flip'/><title type='text'>Flippable e-books</title><content type='html'>I found a video about a &lt;a href="http://www.newscientist.com/blog/technology/2008/06/dual-display-e-book-reader-lets-you.html"&gt;dual-display e-book reader&lt;/a&gt;, which sounded like an interesting idea. And then I watched it:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Mbh4Fdnv-s0&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Mbh4Fdnv-s0&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;...huh? They apparently seriously believe that pressing buttons to switch pages is a lot of work for users, and it's much easier to either manually simulate a page flip, or to actually flip the entire device over. I think they must be joking or intentionally lying, because anybody that actually used that device for more than 5 minutes would be so tired of either one of those actions they'd be begging for navigation buttons.&lt;br /&gt;&lt;br /&gt;Worse is the "thumbnail" technology used for searching the entire text. The thing I hate most about physical books is it's hard to find a phrase I remember reading if I don't remember where it was. Never in my life have I needed to search through an e-book and thought "well, I can just use the find feature, but I sure miss being able to  riffle through the pages hoping to stumble across what I want instead". The thumbnails are so absurdly small as to be useless, especially in a document with no pictures. Next they'll be telling us we should &lt;a href="http://sysop073.blogspot.com/2008/03/its-just-like-real-table.html"&gt;organize our photos on a giant digital table&lt;/a&gt;. I don't know how the trend of making digital devices that simulate analog devices and their flaws got started, but it should probably stop soon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-9157964763685273463?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/9157964763685273463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=9157964763685273463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/9157964763685273463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/9157964763685273463'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/flippable-e-books.html' title='Flippable e-books'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4078062769094022425</id><published>2008-06-21T14:16:00.005-04:00</published><updated>2008-06-22T03:35:38.545-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='psych'/><category scheme='http://www.blogger.com/atom/ns#' term='product placement'/><category scheme='http://www.blogger.com/atom/ns#' term='jack bauer'/><title type='text'>Product placement</title><content type='html'>I never really understood why companies spend so much money on product placement. I've never stood in a store thinking "Well, I need X. What kind of X does Jack Bauer use?" (obviously if I were to think this, Jack Bauer would be the role model). I figured maybe it was just a subconscious thing, where people choose things they've seen on TV because they vaguely remember hearing of them, but then I found &lt;a href="http://answers.yahoo.com/question/index?qid=20080609094058AA9ZiCK"&gt;this&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;hey i was watching Psych and they mentioned something called Kangaroo Paste. What is it? &amp; Where could I buy it?&lt;/div&gt;&lt;br /&gt;Bravo, Psych. By having Shawn mention for 10 seconds that he wants a fictional item, you've convinced somebody they want it, without knowing anything about it since it isn't real. I'm much more impressed with marketing people right now&lt;br /&gt;&lt;br /&gt;EDIT: Also the &lt;a href="http://wiki.answers.com/Q/Does_the_Verticoli_hair_brush_really_exist"&gt;verticoli hair brush&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4078062769094022425?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4078062769094022425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4078062769094022425' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4078062769094022425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4078062769094022425'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/product-placement.html' title='Product placement'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8236042939013716537</id><published>2008-06-20T06:37:00.003-04:00</published><updated>2008-06-20T06:40:50.009-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='segfault'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox 3'/><title type='text'>Now I've got you</title><content type='html'>I'm having an interesting problem with Firefox 3: I'm unable to close my blog. Once I go to my main blog page, I can't close the tab or navigate away from the page, or Firefox segfaults. I like to hope all my readers have this problem, because then it's like a feature of my blog, but I expect not. I tried disabling Flash and all my extensions to no avail; I suspect the problem is one of the other media plugins, like Totem for playing audio clips. On the rare chance that somebody else is having this problem, let me know&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8236042939013716537?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8236042939013716537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8236042939013716537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8236042939013716537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8236042939013716537'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/now-ive-got-you.html' title='Now I&apos;ve got you'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-31082773552763093</id><published>2008-06-18T19:58:00.003-04:00</published><updated>2008-06-18T20:12:58.990-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='reddit'/><category scheme='http://www.blogger.com/atom/ns#' term='comments'/><category scheme='http://www.blogger.com/atom/ns#' term='pylons'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Open Reddit</title><content type='html'>I'm a big fan of &lt;a href="http://www.reddit.com"&gt;Reddit&lt;/a&gt;, particularly the &lt;a href="http://programming.reddit.com"&gt;programming subreddit&lt;/a&gt;, so I was excited to see that yesterday &lt;a href="http://code.reddit.com/"&gt;reddit went open source&lt;/a&gt;. I got a copy of the code and started poking around; I never realized that Reddit is written in Python, which automatically makes it good. I also hate the Reddit developers less now; they've had a problem &lt;a href="http://www.reddit.com/info/6evh9/comments/"&gt;for&lt;/a&gt; &lt;a href="http://www.reddit.com/info/6ld4v/comments/"&gt;months&lt;/a&gt; &lt;a href="http://www.reddit.com/info/6ljaa/comments/"&gt;now&lt;/a&gt; with their RSS feeds showing duplicate entries, and have thus far claimed they have no idea what's wrong. I don't know &lt;a href="http://pylonshq.com/"&gt;Pylons&lt;/a&gt; (the framework Reddit uses), but after my initial poking around I too have no idea what's wrong, so for the moment they're not idiots anymore, although I plan to look into it further. A comment calling something a hack appears 8 times in their code, which is fairly respectable; I particularly enjoyed this comment I noticed in /r2/r2/config/middleware.py:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;#god this shit is disorganized and confusing&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-31082773552763093?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/31082773552763093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=31082773552763093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/31082773552763093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/31082773552763093'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/open-reddit.html' title='Open Reddit'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2125304337484906746</id><published>2008-06-17T22:16:00.009-04:00</published><updated>2009-01-23T13:55:18.662-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captcha'/><category scheme='http://www.blogger.com/atom/ns#' term='linux journal'/><title type='text'>Linux Journal's Captcha</title><content type='html'>I forgot to post about this in my &lt;a href="http://sysop073.blogspot.com/2008/06/rockbox-linux-journal.html"&gt;last article&lt;/a&gt;, I was too focused on my rockbox love. Linux Journal has a very unique captcha. Admittedly, the standard find-the-characters-in-the-distorted-image one can be &lt;a href="http://www.hemmy.net/2007/07/29/most-craziest-captchas-on-the-web/"&gt;difficult&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/SFhyPnHu8iI/AAAAAAAAAEE/fhEdJCrSo2k/s400/captcha.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5213042181206372898" /&gt;&lt;br /&gt;&lt;br /&gt;However, Linux Journal's solution is probably not the best. It's a particular annoyance because they require you to preview your comment before posting, which loads a new page, and they don't auto-fill/skip the captcha, so even if you fill out all the fields right you have to do at least two captchas. But that's not the problem, I can live with that, the problem is the captcha is a math question. And because (see &lt;a href="http://www.myspace.com"&gt;myspace.com&lt;/a&gt; for corroboration) most people on the internet are stupid, they ask you a low number addition problem. Now, computers may suck at complicated OCR, but one thing they've pretty much got down is addition of single digit numbers. &lt;br /&gt;&lt;br /&gt;For an amusing proof of concept, here's a greasemonkey script that will automatically fill in the captcha on any Linux Journal comment page:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;br /&gt;// LJ-Captcha&lt;br /&gt;//&lt;br /&gt;// ==UserScript==&lt;br /&gt;// @name LJ-Captcha&lt;br /&gt;// @description Auto-fills the Linux Journal captcha&lt;br /&gt;// @include http://www.linuxjournal.com/comment/reply/*&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;nodes = document.getElementsByTagName('span');&lt;br /&gt;for(i in nodes) {&lt;br /&gt;  if(nodes[i].className == 'field-prefix') {&lt;br /&gt;    mathExpr = nodes[i].innerHTML;&lt;br /&gt;    mathRe = /([0-9]+) \+ ([0-9]+) \= /;&lt;br /&gt;&lt;br /&gt;    first = parseInt(mathExpr.replace(mathRe, "$1"), 10);&lt;br /&gt;    second = parseInt(mathExpr.replace(mathRe, "$2"), 10);&lt;br /&gt;&lt;br /&gt;    document.getElementById('edit-captcha-response').value=(first+second);&lt;br /&gt;  }&lt;br /&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/7090003-2125304337484906746?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2125304337484906746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2125304337484906746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2125304337484906746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2125304337484906746'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/linux-journals-captcha.html' title='Linux Journal&apos;s Captcha'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SFhyPnHu8iI/AAAAAAAAAEE/fhEdJCrSo2k/s72-c/captcha.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3405261508828354995</id><published>2008-06-17T18:54:00.012-04:00</published><updated>2008-10-03T12:08:45.781-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rockbox'/><category scheme='http://www.blogger.com/atom/ns#' term='linux journal'/><title type='text'>Rockbox &gt; Linux Journal</title><content type='html'>I'm starting to wonder if &lt;a href="http://www.linuxjournal.com/"&gt;Linux Journal&lt;/a&gt; is like &lt;a href="http://www.theonion.com/"&gt;The Onion&lt;/a&gt; for Linux. Every article I have ever read on that site (so like 3) has at some point made me stop and wonder if it's just a big joke. But they went too far when they did a &lt;a href="http://www.linuxjournal.com/video/review-rockbox"&gt;video about Rockbox&lt;/a&gt;. Now &lt;a href="http://www.rockbox.org/"&gt;Rockbox&lt;/a&gt; is pretty much amazing. It's an alternate firmware for MP3 players, and I've used it on mine since about 20 seconds after I got it. It has a million features and is in general better than whatever firmware you're using, in every possible way. Here is what the 6 minute video Linux Journal did on it consists of:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;First two minutes&lt;/b&gt; -- Talking about how he attempted to install Rockbox on an iPod Nano v3, iPod Nano v2, and Toshiba Gigabeat u, the last of which he actually went to the store to buy just for this video. As he discovered through totally unnecessary trial and error, Rockbox does not support any of these; ironically, it does support these devices, just not these particular versions. You can feel free to go through the same trial and error with your device, or you could just check the &lt;a href="http://www.rockbox.org/manual.shtml"&gt;compatibility list&lt;/a&gt; helpfully offered on rockbox.org&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Next two minutes&lt;/b&gt; -- Playing DOOM&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Next minute&lt;/b&gt; -- Showing "demos" like plasma and fire. At one point he mentions for a few seconds that you can play music&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Last minute&lt;/b&gt; -- Advertisement for GoGrid. Seriously&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;At the very end he mentions that it can play music, but doesn't actually show it. I'm starting to suspect that maybe this was meant to dissuade people from using rockbox by covertly making it look terrible. He demos it on an ancient, monochrome iPod that he has to have plugged in because it has no battery strength anymore; he mentions several times what a terrible player it is. Super choice there. And then he spends half the time rambling about the players it doesn't support, the problems his ignorance has caused, and how neat GoGrid is.&lt;br /&gt;&lt;br /&gt;I posted this as a comment on the video, but apparently they didn't feel it warranted approval: Despite what the video portrays, Rockbox is fantastic. It's not nearly as ugly as it looks in the video; that player blows and he's using an ancient rockbox version, there's a whole bunch of &lt;a href="http://www.rockbox-themes.org/"&gt;different themes&lt;/a&gt;, like:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/SFhUjEn7M2I/AAAAAAAAAD0/J6MiPVm15bs/s400/rockbox_theme_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5213009530194703202" style="padding-right: 10px"/&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/SFhUjfyIgLI/AAAAAAAAAD8/GXlUCPbszz8/s400/rockbox_theme_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5213009537485275314" /&gt;&lt;/div&gt;&lt;br /&gt;Everybody who has a supported player go try Rockbox, you'll love it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3405261508828354995?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3405261508828354995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3405261508828354995' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3405261508828354995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3405261508828354995'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/rockbox-linux-journal.html' title='Rockbox &gt; Linux Journal'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SFhUjEn7M2I/AAAAAAAAAD0/J6MiPVm15bs/s72-c/rockbox_theme_1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8705376717559216924</id><published>2008-06-17T14:52:00.004-04:00</published><updated>2008-06-17T15:05:47.347-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='gpcode'/><category scheme='http://www.blogger.com/atom/ns#' term='cryptography'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='openoffice'/><title type='text'>Crypto-virus, oh noes!</title><content type='html'>I keep seeing articles on this, and I've even commented on a couple, but I haven't actually mentioned it on here: I don't get the &lt;a href="http://www.f-secure.com/v-descs/gpcode.shtml"&gt;gpcode&lt;/a&gt; thing. I'm not exactly old; I'm certainly younger than the people writing these articles about the &lt;a href="http://blogs.computerworld.com/ransomware_malware_armageddon_approaches"&gt;coming malware armageddon&lt;/a&gt;, but this is not exactly unprecedented. There was a virus in the 80s (I can't find the name anywhere now) that copied your FAT to RAM and wiped the main copy, then made you play a slot machine type game to try and win your files back. Sure, not extorting money out of you, but that's only because they lacked the highly networked computers of today necessary. This was 20 years ago, so I don't know why everyone is so shocked by this revolutionary virus. Forget the slot machine virus, I remember before malware was the cool thing to write when viruses &lt;b&gt;actually deleted stuff&lt;/b&gt;. None of this encryption, "pay us and you can get everything back" nonsense, and certainly no attempts to be stealthy so they can live on your machine for years sending spam e-mails -- they deleted everything they could find as fast as possible and then laughed at you about it. Why is a virus that encrypts some of your files worse than a virus that deletes all of them?&lt;br /&gt;&lt;br /&gt;On an amusing side-note, if you use openoffice instead of office, tar/gzip instead of winzip/winrar, and png files instead of jpgs (none of which are at all unreasonable, my Vista machine does all three), you're practically immune to this virus, it doesn't check for any of those extensions at all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8705376717559216924?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8705376717559216924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8705376717559216924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8705376717559216924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8705376717559216924'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/crypto-virus-oh-noes.html' title='Crypto-virus, oh noes!'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2024944315807641564</id><published>2008-06-17T13:04:00.009-04:00</published><updated>2008-06-17T15:37:58.117-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='launch'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox 3'/><title type='text'>Firefox 3</title><content type='html'>&lt;a href="http://www.pcmag.com/article2/0,2817,2320332,00.asp"&gt;I'm told&lt;/a&gt; Firefox 3 just launched a few minutes ago. I'm not really sure if it did or not since its Mozilla's whole website is &lt;a href="http://www.mozilla.com/firefox/"&gt;down hardcore&lt;/a&gt;, but I guess that's probably a good sign. &lt;a href="http://blog.mozilla.com/blog/2008/05/28/set-a-firefox-world-record/"&gt;World record&lt;/a&gt; FTW&lt;br /&gt;&lt;br /&gt;EDIT: Hey, it works. Most of Mozilla.org is still down, but they must have done some sort of load balancing on just the Firefox download part, so that's working perfectly. I thought I'd post how to patch extensions to work with Firefox 3, as most of mine are apparently written by authors too lazy to do so themselves. Most places will tell you to use the &lt;a href="http://www.oxymoronical.com/web/firefox/nightly"&gt;nightly tester tools&lt;/a&gt;; this works too, I've used it before, but sadly Firefox's add-ons page is down so I can't download it at the moment. I've also seen instructions on how to patch the XPIs, but there's no need to do that if you already have them installed; this is how you manually patch add-ons that you already had on Firefox 2. Obviously these add-ons haven't been tested under Firefox 3 or their authors probably would've updated them, so there's a chance things will break when you do this:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Open your extensions folder. On Linux it's at ~/.mozilla/firefox/(your profile)/extensions; on Windows, C:\Documents and Settings\(your username)\Application Data\Mozilla\Firefox\Profiles\(your profile)\extensions&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Each plugin is in it's own folder, named with a hexadecimal UUID. Open the first one and open it's resource descriptor, &lt;b&gt;install.rdf&lt;/b&gt;. It's plain text, so any editor will do (read: &lt;a href="http://www.gnu.or/software/emacs/"&gt;use emacs&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Somewhere under em:targetApplication you'll find &lt;b&gt;em:maxVersion&lt;/b&gt;. If it's 2. something, change it to &lt;b&gt;3.0.*&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Repeat this procedure for every extension folder&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Move all the folders you changed (or all of them, it doesn't matter) to some temporary location&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Restart Firefox; your add-on list should be empty now&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Move all the folders back to your extensions folder&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Restart Firefox again; the add-on window should automatically open to alert you it has detected new extensions. All your extensions should be listed as before, but enabled now&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Screenshot from an XP machine:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/SFgSPSOwMAI/AAAAAAAAADs/awFLTs9NOs8/s400/firefox3_addons.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5212936622482403330" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2024944315807641564?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2024944315807641564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2024944315807641564' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2024944315807641564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2024944315807641564'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/firefox-3.html' title='Firefox 3'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SFgSPSOwMAI/AAAAAAAAADs/awFLTs9NOs8/s72-c/firefox3_addons.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8636873732237790912</id><published>2008-06-14T22:55:00.012-04:00</published><updated>2008-06-27T00:56:14.491-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scalia'/><category scheme='http://www.blogger.com/atom/ns#' term='supreme court'/><category scheme='http://www.blogger.com/atom/ns#' term='law'/><category scheme='http://www.blogger.com/atom/ns#' term='kennedy'/><category scheme='http://www.blogger.com/atom/ns#' term='ginsberg'/><category scheme='http://www.blogger.com/atom/ns#' term='geneva conventions'/><category scheme='http://www.blogger.com/atom/ns#' term='waxman'/><category scheme='http://www.blogger.com/atom/ns#' term='military commissions act'/><category scheme='http://www.blogger.com/atom/ns#' term='csrt'/><category scheme='http://www.blogger.com/atom/ns#' term='guantanamo bay'/><category scheme='http://www.blogger.com/atom/ns#' term='clement'/><title type='text'>Holy crap, people do have rights</title><content type='html'>Somehow I missed hearing about this for two days, but apparently the Supreme Court essentially &lt;a href="http://www.nytimes.com/2008/06/13/washington/12cnd-gitmo.html?pagewanted=2&amp;_r=1&amp;hp"&gt;overturned the Military Commissions Act&lt;/a&gt;. I practically fell out of my chair when I saw, I was under the impression we stopped caring about rights approximately the moment we elected a Republican President. The &lt;a href="http://www.supremecourtus.gov/oral_arguments/argument_transcripts/06-1195.pdf"&gt;oral arguments&lt;/a&gt; are actually pretty interesting.&lt;br /&gt;&lt;br /&gt;On page 31, Ginsberg says "in every practical respect, Guantanamo Bay is U.S. territory", which is one of those things the government tries to skirt. It's thoroughly enjoyable because unlike the typical forums you see these people at (press conferences, etc.) where they can just ignore questions they don't like, the justices don't let them dodge stuff; Souter in particular doesn't put up with their shit. Clement spends a good deal of time dancing around whether or not Guantanamo prisoners are "prisoners of war" or not; they obviously are, but the government has declared pretty emphatically that they're not so we can avoid the Geneva Conventions. Scalia -- and my approval of this one phrase shouldn't be taken to mean I in any way like any decision he's ever made -- says on page 49 "if we had to either charge or release these people, what would they be charged with? Waging war against the United States? Is there a statute that prevents non-citizens from waging war against the United States and provides criminal penalties?", to which Clement brilliantly responded "Not as such". I thought this was excellent, since he's essentially saying these people have broken no laws, and yet they're somehow still not prisoners of war; they're in that fun gray area where we can do whatever we want.&lt;br /&gt;&lt;br /&gt;Ultimately this whole argument hinged around the idea of CSRTs. Before this decision, inmates got to go before a "Combatant Status Review Tribunal", which was a sort of laughable affair where officers decided if an inmate was an enemy combatant or not. While they're doing that, the inmate doesn't get a lawyer, doesn't get to see the evidence against him and really doesn't get to do much of anything. Most of the time if the inmate manages to win (i.e. are declared to be a non-combatant), another CSRT is convened so the officers get to decide again. Waxman's explanation of why this whole concept blows is good, starting on page 72. Breyer says it pretty succinctly on page 61: "it has been six years, and habeas is supposed to be speedy."                                                                       &lt;br /&gt;&lt;br /&gt;Kennedy, who wrote the majority opinion, had one of the better quotes I've seen come out of this court: "To hold that the political branches may switch the Constitution on or off at will would lead to a regime in which they, not this court, say ‘what the law is,’"                                                           &lt;br /&gt;&lt;br /&gt;Too true. And what did McCain have to &lt;a href="http://redwoodage.com/content/view/139590/43/"&gt;say&lt;/a&gt;? "I think it's one of the worst decisions in history"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8636873732237790912?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8636873732237790912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8636873732237790912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8636873732237790912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8636873732237790912'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/holy-crap-people-do-have-rights.html' title='Holy crap, people do have rights'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8054720864032662324</id><published>2008-06-14T18:09:00.006-04:00</published><updated>2008-06-15T15:58:39.374-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='god'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Please, sir, can I have another?</title><content type='html'>I hate religion, but I make an effort to avoid all-out religion-bashing on my blog since I know religious people (although there are &lt;a href="http://sysop073.blogspot.com/2008/04/if-god-is-real-he-probably-doesnt-read.html"&gt;exceptions&lt;/a&gt; to this rule). However, this drives me crazy. I've seen it a thousand times, and it seems like the most obvious self-deluding nonsense, but again and again I see it. This woman was falsely accused of stealing some cop's gun, and spent 10 months in jail. She sued the city when she got out and won $7.7 million dollars. &lt;a href="http://www.chicagotribune.com/news/local/chi-federal_jury_verdictjun13,0,4630555.story"&gt;Her reaction&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;"I'm going to go home and lie down for a little bit," an ecstatic Jackson, 41, said after the verdict. "I feel relieved. I'm happy, and I'm thanking God."&lt;/div&gt;&lt;br /&gt;Why? Why are you thanking God? Why aren't you pissed off that God made you spend 10 months in jail, that part isn't God's fault? But it's God's doing that you got $7.7 million. God has a pretty good deal going here; he controls everything, gets to take credit for all the good stuff, but doesn't get blamed for bad things. The ultimate religious explanation for why bad stuff happens to religious people is that God gives the greatest tests to those he loves the most. Really? That sounds like a damn fine reason to not be on God's good side, maybe then I won't get thrown in jail for 10 months as part of some sadistic test. God reminds me eerily of a mafia don, and religious people are mafiosi trying to stay on his good side. When bad things happen, the don tends to punish those closest to him, so it's a lot more risky being there than being some random guy he's never heard of. But they stay there anyway, because either they hope they're going to get rewarded someday, they don't realize there's no reason to put up with it, or they're too scared to death to leave. &lt;a href="http://en.wikipedia.org/wiki/The_Boondock_Saints"&gt;God is Yakavetta, and theists are Rocco&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And now it's all too clear why the concept of hell exists in religion, because without hell there would be no reason to put up with God's shit&lt;br /&gt;&lt;br /&gt;EDIT: My girlfriend just sent me &lt;a href="http://www.needgod.com/" rel="nofollow"&gt;NeedGod.com&lt;/a&gt;; I recommend everyone check it out. It tells you, surprisingly, why you need God. At one point it asked me, "Does the fact that you're headed for Hell concern you?", and when I responded that it did not it exclaimed "It &lt;i&gt;should&lt;/i&gt; concern you". Why?&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Perhaps you feel safe because you don't believe in Hell. This can be likened to standing in the middle of a busy highway and shouting "I don't believe in trucks!" . . .  God has given us HIS WORD on the existence and purpose of Hell...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;OH. My bad. I didn't realize God has given us HIS WORD on the subject, what was I thinking. And not to nitpick or anything, but in the highway example, &lt;b&gt;you can see the trucks&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8054720864032662324?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8054720864032662324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8054720864032662324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8054720864032662324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8054720864032662324'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/please-sir-can-i-have-another.html' title='Please, sir, can I have another?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2488387643788786441</id><published>2008-06-08T21:16:00.004-04:00</published><updated>2008-06-08T22:13:39.566-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trillian'/><category scheme='http://www.blogger.com/atom/ns#' term='pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='funpidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='preferences'/><title type='text'>Arguing with users over what they want</title><content type='html'>I wrote a whole bunch of this a long time ago when I stumbled across the debate that resulted in the &lt;a href="http://funpidgin.sourceforge.net/"&gt;FunPidgin&lt;/a&gt; (apparently now Carrier) fork of Pidgin. As their website puts it, "Unlike the Pidgin developers, we believe the user should have the final say in what goes into the program."&lt;br /&gt;&lt;br /&gt;If you've missed this whole debate (likely even if you use Pidgin), it started with &lt;a href="http://developer.pidgin.im/ticket/4986"&gt;this bug report&lt;/a&gt; for Pidgin. The problem was stunningly simple: in the new version of Pidgin, the input text area automatically resizes itself. This is fancy and neat, but it also can't be sized larger than about 4 lines of text, which makes a lot of people sad, and some people find the auto-resizing jarring and unpleasant. This massive support ticket is basically a huge argument between the users and the developers about whether users want this feature or not. Seriously, a whole group of users telling the developers they want something, and the developers telling them they're in some way addled and don't really want it at all.&lt;br /&gt;&lt;br /&gt;If your users want a feature, unless it's too difficult or time-consuming to write, you should add it. Your users shouldn't have to defend or justify why they need something, that's ridiculous; if they say they need it, they need it, and developers saying "no, you really don't want that" is absurd. Users have better things to do than sit on your bug tracker begging for you to implement something &lt;b&gt;you've already written&lt;/b&gt;; obviously they want this feature.&lt;br /&gt;&lt;br /&gt;I've always been of the opinion that if users want two competing ways of doing something it should be an option, which I know isn't a universally accepted view -- I might go so far as to say it's the minority view. I like the ability to customize how my programs work, since usually I don't like the defaults. &lt;a href="http://trillian.cc/"&gt;Trillian&lt;/a&gt; was spectacular at this, and it's still my favorite IM client of all the ones I've tried; every single time I disliked something there was a preference to change exactly that. The pidgin developers do not believe this; they state repeatedly that they want a "better" (they frequently put the quotes around it too, like they're mocking themselves) solution than adding a preference. That's great and all, but either &lt;b&gt;find one&lt;/b&gt; or give us the choice back. There might be a better solution than adding a preference, but adding a preference is still a better solution than telling a section of your userbase to go fuck themselves. The developers even mock the users in some of the posts, asking why they're not clever enough to write a plugin to do this. Is this supposed to be some sort of battle between developers and users, where developers change something and then taunt the users to try and change it back? I know lots of users don't like preferences; personally, I don't know why they can't just ignore them them, but apparently the mere fact that options exist &lt;a href="http://en.wikipedia.org/wiki/Aboulia"&gt;bothers them in some way&lt;/a&gt;. Nonetheless, the users saying that they want an option and the developers telling the users that the users don't want an option is so obviously ridiculous that I can't believe this is still going on.&lt;br /&gt;&lt;br /&gt;This quote was particularly amusing; it makes me think maybe the developers are missing the point completely: "it proved to be impossible to get both manual sizing and automatic resizing to work at the same time". Really? That's like saying "well, we tried to let the user set the size manually, but that damn automatic sizing kept automatically sizing". Obviously they can't work together, it has to be one or the other. Almost like it should be the user's choice. Like some sort of "preference" or something. They should have a dialog for those. I loved this solution: "What if manual sizing is disabled when automatic sizing is enabled?" Maybe it's just that this seems way more obvious to me than it apparently is to other people if this was actually considered ground-breaking enough to post, so I'll lay out my fairly brilliant solution to this problem in hopes of merging: Have an "automatic input resizing" checkbox. When it's checked, the input box auto-resizes. Manual resizing does not work. When it's unchecked, the box can be manually resized. Auto-resizing does not work. If anyone needs further clarification, I will send them a truth table&lt;br /&gt;&lt;br /&gt;I dislike the notion that developers need to protect the silly users from themselves and not give them an option that deep down the developers are confident users really don't want. This is very much a Windows point of view.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2488387643788786441?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2488387643788786441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2488387643788786441' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2488387643788786441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2488387643788786441'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/06/arguing-with-users-over-what-they-want.html' title='Arguing with users over what they want'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1796095915183610095</id><published>2008-05-29T23:56:00.002-04:00</published><updated>2008-05-30T00:00:33.319-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mass effect'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Mass Effect</title><content type='html'>So there I was, reading the wikipedia article on &lt;a href="http://en.wikipedia.org/wiki/Mass_Effect"&gt;Mass Effect&lt;/a&gt; -- because I'm sad and lonely -- when I notice the PC release date is May 28th, 2008. I then notice that today is May 29th, 2008. After several moments of pondering, I conclude that Mass Effect has been released for the PC. And yet I do not have it. Because I am poor.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SPLT-8wfl2o&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/SPLT-8wfl2o&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;....somebody buy me Mass Effect please.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1796095915183610095?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1796095915183610095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1796095915183610095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1796095915183610095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1796095915183610095'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/05/mass-effect.html' title='Mass Effect'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3534671173776614433</id><published>2008-05-22T16:12:00.005-04:00</published><updated>2008-05-22T16:29:25.652-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Portal on Wine</title><content type='html'>I figured I'd post about a problem I had running &lt;a href="http://orange.half-life2.com/portal.html"&gt;Portal&lt;/a&gt; under &lt;a href="http://www.winehq.org/"&gt;WINE&lt;/a&gt;, since I couldn't find it posted anywhere. I dare you to try and solve this just from the symptoms:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Quicksave works fine, but quickload goes to a black screen and sits there&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When a new level loads, you start outside the level and immediately begin falling to your death&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Video settings are saved when the game is restarted, but key bindings are lost&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Give up? I had no idea what the problem was, since by all accounts &lt;a href="http://appdb.winehq.org/objectManager.php?sClass=version&amp;iId=9432&amp;iTestingId=21704"&gt;Portal works great under WINE&lt;/a&gt;, including on a friend's machine. I was fully prepared to blame &lt;a href="http://www.steampowered.com/v/index.php"&gt;Steam&lt;/a&gt;, which thoroughly hates me, but then I discovered the problem by accident when I had the developer's console open: there were a series of error messages about quicksave failing everytime I tried it. It turns out permissions had changed when I remounted a partition: I was running Portal without permission to write to its folder. This means quicksave can't work, and for some unknown reason quicksave fails silently (excluding the developer console output; the screen itself reports "Saved" whether it worked or not). You get the same black screen if you try to quickload without having any quicksave; apparently it doesn't check to make sure you have a save before trying to load it. The permission problem also means keybindings can't be saved in the configuration file; video settings are stored to the WINE registry, so they were fine. I have no explanation for the problem with starting outside the level, but changing the ownership on the portal directory fixed all the problems listed above, including this one. I suspect you would have the same problems under Windows if you ran as a limited user, but I'm not sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3534671173776614433?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3534671173776614433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3534671173776614433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3534671173776614433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3534671173776614433'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/05/portal-on-wine.html' title='Portal on Wine'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-7702461439406799847</id><published>2008-05-20T17:04:00.012-04:00</published><updated>2008-06-01T02:49:02.787-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openssh'/><category scheme='http://www.blogger.com/atom/ns#' term='random number'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='rng'/><title type='text'>Random Fail</title><content type='html'>I just found a fairly amusing/depressing (depending on what OS you're using) &lt;a href="http://www.boallen.com/random-numbers.html"&gt;article&lt;/a&gt; about how Windows sucks at generating random numbers. First, we might as well all take a moment to &lt;a href="http://www.us-cert.gov/cas/techalerts/TA08-137A.html"&gt;laugh at Debian&lt;/a&gt;, as has become the custom every time random number generation is mentioned:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dieweltistgarnichtso.net/uploads/Zeichnung9.serendipityThumb.png"&gt;&lt;img src="http://dieweltistgarnichtso.net/uploads/Zeichnung9.serendipityThumb.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now that that's out of the way. It appears Windows too fails at randomness, and the test of it is actually really simple. The author of the source article wrote a short PHP script that sets each pixel of a generated image based on the results from the &lt;a href="http://us3.php.net/rand"&gt;rand()&lt;/a&gt; function. Since PHP uses the system libraries for this, it's equivalent to testing the OS. I ran his script on two of my machines, one running LAMP and one WAMP. Guess which is which:&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_8ZQnluQOl7o/SDNMxJV8Z4I/AAAAAAAAADc/s4yFYX5Qy90/s400/rand-linux.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5202586401748313986" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_8ZQnluQOl7o/SDNOk5V8Z5I/AAAAAAAAADk/n_jTyI7p_h0/s400/rand-windows.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5202588390318172050" /&gt;&lt;br /&gt;&lt;br /&gt;The worst part, and I'm not really clear if this is a PHP problem or Windows, is the image &lt;b&gt;doesn't change under Windows&lt;/b&gt;. PHP is supposed to auto-seed the RNG (somehow), but on Windows the image doesn't change unless I add an explicit call to &lt;a href="http://us3.php.net/srand"&gt;srand()&lt;/a&gt;. This doesn't fix the problem, but at least then I get different non-random images. I considered writing "Random Fail" over the one image, but I like the glaring wrongness by itself.&lt;br /&gt;&lt;br /&gt;And this is one of the big differences between Windows and Linux. When the OpenSSH vulnerability came out -- and it really depresses me that it took 2 years for somebody to notice, especially with sites like &lt;a href="http://www.github.com"&gt;GitHub&lt;/a&gt; noticing &lt;a href="http://github.com/blog/63-ssh-keys-generated-on-debian-ubuntu-compromised"&gt;multiple users with the same SSH key&lt;/a&gt;. But anyway, when the OpenSSH vulnerability came out, I got about 6 updates over the next 24 hours, presumably 1 to fix the problem and 5 more to convince me they were sorry. I'm fairly sure this problem will never be fixed (I ran the WAMP test on Vista).&lt;br /&gt;&lt;br /&gt;EDIT: There's a nice &lt;a href="http://cod.ifies.com/2008/05/php-rand01-on-windows-openssl-rand-on.html"&gt;in-depth exploration&lt;/a&gt; of this on Codifies that looked through PHP's source code and determined this is actually PHP's fault, not Windows'. Nonetheless, I maintain that the above paragraph would be true if this were Windows' fault.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-7702461439406799847?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/7702461439406799847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=7702461439406799847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7702461439406799847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7702461439406799847'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/05/random-fail.html' title='Random Fail'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SDNMxJV8Z4I/AAAAAAAAADc/s4yFYX5Qy90/s72-c/rand-linux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-5197887108486734790</id><published>2008-05-11T13:42:00.010-04:00</published><updated>2008-05-11T14:02:45.955-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='letter'/><category scheme='http://www.blogger.com/atom/ns#' term='gta'/><category scheme='http://www.blogger.com/atom/ns#' term='take-two'/><category scheme='http://www.blogger.com/atom/ns#' term='jack thompson'/><category scheme='http://www.blogger.com/atom/ns#' term='zelnick'/><title type='text'>Jack Thompson makes me smile</title><content type='html'>I love Jack Thompson. Well, no, I detest Jack Thompson, but he does amuse me in ways few people can.  A few weeks ago he apparently &lt;a href="http://blog.wired.com/games/2008/04/jack-thompson-p.html"&gt;sent a letter to Strauss Zelnick's mother&lt;/a&gt;. Zelnick is the chairman of Take-Two, who make games like GTA that taught me killing cops and hookers is cool. In the letter he quotes miscellaneous biblical passages (&lt;a href="http://sysop073.blogspot.com/2008/04/if-god-is-real-he-probably-doesnt-read.html"&gt;of course&lt;/a&gt;), saying that Zelnick's mother didn't raise him well and should've beat him more. He encourages her to have a gamer play through GTA for her, assuming she can find one not on death row (I wish there was a way to find out how many lawyers are on death row; I'm sure there's a website for this somewhere). The next time some teenager kills someone they need to say "Well, I used to take out my frustrations on video games, but then Jack Thompson took them all away, so I was forced to kill real people instead".&lt;br /&gt;&lt;br /&gt;I really don't understand why Thompson bothers anymore; everytime he opens his mouth (so, every second of every day) I'm reminded of the quote, "Say anything you want about me as long as you spell my name right". Jack Thompson does more for GTA marketing-wise than Take-Two could ever hope to do. I haven't played any of the new GTAs. The last one I played was GTA2, when you actually stole cars, instead of the craziness it's morphed into today; I think Take-Two has actually forgotten what the acronym stands for. Despite how stupid I think the new games are, I'm actually tempted to try them solely because of all of Thompson's bitching. I want to see what all the fuss is about; I want to find out if I do feel the desperate urge to murder people after playing this game. And if I do play, I am absolutely going to e-mail him and let him know he's the only reason I bought the game. And he'll probably reply that I'm harassing him and threaten to throw me in jail, which will be pretty entertaining.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-5197887108486734790?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/5197887108486734790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=5197887108486734790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5197887108486734790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5197887108486734790'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/05/jack-thompson-makes-me-smile.html' title='Jack Thompson makes me smile'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2142997714370702717</id><published>2008-05-05T11:07:00.003-04:00</published><updated>2008-05-05T11:22:44.889-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='doctor who'/><category scheme='http://www.blogger.com/atom/ns#' term='are you my mummy?'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Are you my mummy?</title><content type='html'>The new Doctor Who had an amazing reference to a previous episode. If you haven't seen it, &lt;a href="http://en.wikipedia.org/wiki/The_Empty_Child"&gt;The Empty Child&lt;/a&gt; is an earlier episode from the Ninth Doctor, and in it the empty child wears a gas mask (I suppose "wears" isn't exact the right word, but oh well) and constantly repeats the phrase "Are you my mummy?"&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iNQy9Y4-IwY&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/iNQy9Y4-IwY&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the clip from the most recent Doctor Who episode, Poison Sky:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IgQazeH-Q5E"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IgQazeH-Q5E" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On an unrelated note, I upgraded to Hardy a little over a week ago, so at some point I'll post about the epic pain that was.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2142997714370702717?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2142997714370702717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2142997714370702717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2142997714370702717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2142997714370702717'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/05/are-you-my-mummy.html' title='Are you my mummy?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6386740427559569484</id><published>2008-04-22T13:15:00.015-04:00</published><updated>2008-04-29T17:12:30.623-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='class'/><category scheme='http://www.blogger.com/atom/ns#' term='rose'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>My classes and how they don't exist</title><content type='html'>EDIT: I realized I forgot another 9 days, so I added them to the list and recalculated. It now comes to a nice even 100 days&lt;br /&gt;&lt;br /&gt;I have 4 classes, that all meet 4 times per week, for 10 weeks. So in theory, I should have 160 days of lecture.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Two of my classes don't meet on Friday even though they're supposed to. Minus 20 days&lt;/li&gt;&lt;br /&gt;&lt;li&gt;One of my classes has &lt;b&gt;14&lt;/b&gt; guest lectures. Minus 14 days (trust me, we don't learn anything in them. At all)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Another of my classes, apparently feeling left out of the guest lecture thing, did 4 in one week. Minus 4 days&lt;/li&gt;&lt;br /&gt;&lt;li&gt;One of my classes has 4 days of student lectures, where we read the textbook and teach each other. Seriously. Minus 4 days, and a piece of my soul&lt;/li&gt;&lt;br /&gt;&lt;li&gt;One of my classes has 9 days of student presentations on the projects and research we've done over the quarter. Minus 9 days&lt;/li&gt;&lt;br /&gt;&lt;li&gt;One of my classes has dedicated 5 days in a row for "lab time", and then another 4 for presentations of the work done during said lab time. Minus 9 days&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;So instead of 160 days, we have 100 days where professors trained to teach us are actually teaching us, or about 62% (this ignores the fact that one of my professors isn't actually a teacher). Therefore, I should probably only need to pay 62% of my tuition for this quarter. I should go talk to financial aid about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6386740427559569484?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6386740427559569484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6386740427559569484' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6386740427559569484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6386740427559569484'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/my-classes-and-how-they-dont-exist.html' title='My classes and how they don&apos;t exist'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1594327946242946586</id><published>2008-04-20T03:43:00.003-04:00</published><updated>2008-04-20T03:46:25.598-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='schoolwork'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='digg'/><title type='text'>Schoolwork</title><content type='html'>My schoolwork needs to stop existing, it's making me neglect my poor RSS feeds:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/SAr0IUrmdeI/AAAAAAAAADU/TekbQZ3K1mM/s400/feed_unread.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5191229944325633506" /&gt;&lt;br /&gt;&lt;br /&gt;Look at that. Who knows what critical things I could be missing. 1000+ stories on &lt;a href="http://www.digg.com"&gt;Digg&lt;/a&gt;, and I bet 5 or 10 are actually interesting, and I'm not reading them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1594327946242946586?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1594327946242946586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1594327946242946586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1594327946242946586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1594327946242946586'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/schoolwork.html' title='Schoolwork'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/SAr0IUrmdeI/AAAAAAAAADU/TekbQZ3K1mM/s72-c/feed_unread.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2300894987277079040</id><published>2008-04-16T13:26:00.006-04:00</published><updated>2008-06-27T00:46:11.926-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='luhn'/><category scheme='http://www.blogger.com/atom/ns#' term='credit card'/><title type='text'>Credit Card Validation with Luhn</title><content type='html'>I found an &lt;a href="http://www.brainjar.com/js/validation/default2.asp"&gt;interesting article&lt;/a&gt; on using the &lt;a href="http://en.wikipedia.org/wiki/Luhn_algorithm"&gt;Luhn algorithm&lt;/a&gt; to validate credit cards. I'd heard of the algorithm before but didn't know how it worked; it's actually much simpler than I imagined. The idea of the article (validating credit card numbers client-side with Javascript) is a good one, but I thought the actual javascript implementation was fairly poor, so I rewrote it. So if anyone wants to validate credit card numbers for typos and that sort of thing, go crazy:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;function luhn(cardNumber) {&lt;br /&gt; sum=0;&lt;br /&gt; for(i=cardNumber.length-1;i&gt;=0;i--) {&lt;br /&gt;  sum+=parseInt(cardNumber[i],10);&lt;br /&gt;  doubled=parseInt(cardNumber[--i],10)&lt;&lt;1;&lt;br /&gt;  sum+=doubled&gt;9 ? doubled-9 : doubled;&lt;br /&gt; }&lt;br /&gt; return sum!=0 &amp;&amp; sum%10==0;&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The function assumes you pass in just a string of digits, no hyphens or any of that. In case the one line is confusing, most compilers will optimize an instruction like x*2 to do x&lt;&lt;1 instead, but I'm assuming javascript probably doesn't do that so I did it manually; it just doubles the number. You could get really crazy with the optimization, like changing parseInt(cardNumber[i],10) to cardNumber[i]-'0', but that's probably excessive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2300894987277079040?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2300894987277079040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2300894987277079040' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2300894987277079040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2300894987277079040'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/credit-card-validation-with-luhn.html' title='Credit Card Validation with Luhn'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8966759983161832946</id><published>2008-04-14T14:27:00.013-04:00</published><updated>2008-04-14T18:23:36.129-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='macgyver'/><category scheme='http://www.blogger.com/atom/ns#' term='daleks'/><category scheme='http://www.blogger.com/atom/ns#' term='cybermen'/><category scheme='http://www.blogger.com/atom/ns#' term='doctor who'/><category scheme='http://www.blogger.com/atom/ns#' term='doomsday'/><category scheme='http://www.blogger.com/atom/ns#' term='star trek'/><title type='text'>You are better at dying!</title><content type='html'>I have yet to mention &lt;a href="http://en.wikipedia.org/wiki/Doctor_Who"&gt;Doctor Who&lt;/a&gt; in this thing. If you haven't seen Doctor Who, you should probably go die. Although then you will have died without seeing Doctor Who, which is problematic. It's the longest running science fiction show ever, which means it has a disgusting 740 episodes. Sadly, most Americans haven't heard of it, because it's a British show, but you can think of it as the British version of Star Trek, only way better. Fortunately, you don't need to watch all 740 episodes to catch up, because they stopped the show for a while and just started making episodes again in 2005, so they started out assuming people hadn't seen the previous episodes. So if you start with the "new" season 1 in 2005, you're only 3 seasons behind (we're just starting the 4th season now). So spring into &lt;a href="http://www.amazon.com/exec/obidos/search-handle-url/ref=pd_kk_sr_1/002-3099881-7244046?index=blended&amp;field-keywords=doctor%20who"&gt;Amazon action&lt;/a&gt;. It's probably my favorite show ever, it even gives &lt;a href="http://en.wikipedia.org/wiki/MacGyver"&gt;MacGyver&lt;/a&gt; a run for its money.&lt;br /&gt;&lt;br /&gt;This is my favorite clip of all the new episodes. It's when the Daleks and Cybermen (the two biggest bad guys in the series) first meet up, so you get to see both races, how they're really similar, but constantly insult each other; also, how the Daleks are way better, how badass the Daleks are in general, and how they're still scared of &lt;a href="http://en.wikipedia.org/wiki/Doctor_%28Doctor_Who%29#Alias_the_Doctor"&gt;The Oncoming Storm&lt;/a&gt;. This also has probably my favorite line of all time in it (bolded in the transcript, or look at the post title):&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/aOdPABdkcbY"&gt; &lt;/param&gt; &lt;embed src="http://www.youtube.com/v/aOdPABdkcbY" type="application/x-shockwave-flash" width="425" height="350"&gt; &lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;div onClick="this.style.display='none';document.getElementById('8966759983161832946_transcript').style.display='block';" style="display:inline;color:#336699;cursor:pointer"&gt;(show transcript)&lt;/div&gt;&lt;br /&gt;(seriously though, the clip is so much better, go watch that)&lt;br /&gt;&lt;br /&gt;&lt;div id="8966759983161832946_transcript" class="quote" style="display:none"&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Dalek Thay, investigate outside"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "I obey"&lt;br /&gt;&lt;b&gt;Cyberleader&lt;/b&gt;: "Units: Open visual link. Visual contact established"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Establish visual contact. Lower communications barrier"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Identify yourselves!"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "You will identify first"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "State your identity!"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "You will identify first"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Identify!"&lt;br /&gt;&lt;b&gt;Mickey&lt;/b&gt;: "It's like Stephen Hawking meets the speaking clock"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: ". . . and illogical, you will modify"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Daleks do not take orders!"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "You have identified as Daleks"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Outline resembles the inferior species known as Cybermen"&lt;br /&gt;&lt;b&gt;Jackie&lt;/b&gt;: "Rose said about the Daleks . . . she was terrified of them. What've they done to her, Doctor, is she dead?"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: "Phone"&lt;br /&gt;&lt;b&gt;Jackie&lt;/b&gt;: "What?"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: "Phone!"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: &lt;i&gt;Dialing&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Long-range scans confirm presence of crude cybernetic constructs on world-wide scale"&lt;br /&gt;&lt;b&gt;Rose&lt;/b&gt;: &lt;i&gt;Phone ringing. Answers&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: "She's answered, she's alive. Why haven't they killed her?"&lt;br /&gt;&lt;b&gt;Jackie&lt;/b&gt;: "Well don't complain!"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: "They must need her for something."&lt;br /&gt;&lt;b&gt;Dalek Jast&lt;/b&gt; (&lt;i&gt;background&lt;/i&gt;): "We must protect the Genesis Ark!"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: "The Genesis Ark?"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "Our species are similar, though your design is inelegant"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Daleks have no concept of elegance"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "This is obvious. But consider: our technologies are compatible. Cybermen plus Daleks. Together, we could upgrade the universe"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "You propose an alliance"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "This is correct"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Request denied!"&lt;br /&gt;&lt;b&gt;Cyberman&lt;/b&gt;: "Hostile elements will be deleted"&lt;br /&gt;&lt;b&gt;Cybermen&lt;/b&gt;: &lt;i&gt;Fire on Dalek Thay&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: "Exterminate!"&lt;br /&gt;&lt;b&gt;Dalek Thay&lt;/b&gt;: &lt;i&gt;Fires on the Cybermen&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Cyberleader&lt;/b&gt;: "Open visual link. Daleks, be warned. You have declared war upon the Cybermen"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "This is not war; this is pest control!"&lt;br /&gt;&lt;b&gt;Cyberleader&lt;/b&gt;: "We have five million Cybermen. How many are you?"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Four"&lt;br /&gt;&lt;b&gt;Cyberleader&lt;/b&gt;: "You would destroy the Cybermen with four Daleks?"&lt;br /&gt;&lt;b&gt;Dalek Sec: "We would destroy the Cybermen with one Dalek. You are superior in only one respect"&lt;br /&gt;Cyberleader: "What is that?"&lt;br /&gt;Dalek Sec: "You are better at dying."&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Raise communications barrier!"&lt;br /&gt;&lt;i&gt;Screen shuts off&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Wait!"&lt;br /&gt;&lt;b&gt;Doctor&lt;/b&gt;: (&lt;i&gt;hangs up phone&lt;/i&gt;) "Lost her"&lt;br /&gt;&lt;b&gt;Dalek Jast&lt;/b&gt;: "Rewind image by 9 rels! Identify grid seven gamma flame! This male registers as enemy!"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "The females heartbeat has increased!"&lt;br /&gt;&lt;b&gt;Mickey&lt;/b&gt;: "Yeah, tell me about it"&lt;br /&gt;&lt;b&gt;Dalek Sec&lt;/b&gt;: "Identify him!"&lt;br /&gt;&lt;b&gt;Rose&lt;/b&gt;: "Alright then. If you really want to know. That's the Doctor"&lt;br /&gt;&lt;i&gt;Daleks back away&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Rose&lt;/b&gt;: "Five million Cybermen, easy. One Doctor? Now you're scared"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Random side note: Blogger, wtf? I'm used to you sucking at general uptime (I had the usual "Unable to communicate with Blogger" every other auto-save), but you also fail at video uploads. I ended up canceling the "processing" screen after 4 hours and just uploading it to Youtube.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8966759983161832946?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8966759983161832946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8966759983161832946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8966759983161832946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8966759983161832946'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/you-are-better-at-dying.html' title='You are better at dying!'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8031737587499752574</id><published>2008-04-13T23:48:00.002-04:00</published><updated>2008-04-13T23:55:38.629-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger draft'/><category scheme='http://www.blogger.com/atom/ns#' term='blog list'/><title type='text'>Now we can read my RSS feeds as a group</title><content type='html'>&lt;a href="http://draft.blogger.com/home"&gt;Blogger in draft&lt;/a&gt; (beta Blogger) has a new thing they're testing called &lt;a href="http://bloggerindraft.blogspot.com/2008/02/new-feature-blog-list.html"&gt;Blog List&lt;/a&gt;. And I live on the edge, so I added it. It's over there -----&gt;. Approximately. What's handy is instead of manually entering them all, you can import from &lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt;, which is another service I highly recommend, it's the first RSS reader I've ever liked. Anyway, with a laziness-enabling option like that, you know I used it. So I just imported all 29 feeds I have in Google Reader, they show up in the list in order of who's updated most recently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8031737587499752574?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8031737587499752574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8031737587499752574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8031737587499752574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8031737587499752574'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/now-we-can-read-my-rss-feeds-as-group.html' title='Now we can read my RSS feeds as a group'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-7009295176432297777</id><published>2008-04-13T22:57:00.007-04:00</published><updated>2008-06-21T14:43:17.584-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perry'/><category scheme='http://www.blogger.com/atom/ns#' term='band'/><category scheme='http://www.blogger.com/atom/ns#' term='commentary'/><title type='text'>Perry Band &gt; (!Perry) Band</title><content type='html'>This isn't related to anything at all, I just happened to stumble across this on my hard drive. It's an audio clip of some halftime commentators at one of the football games my high school band played at, talking about how we're awesome. Because we are. Well, were. I'm not in it anymore, so we suck now :).&lt;br /&gt;&lt;br /&gt;EDIT: There used to be embedded audio here, but it was &lt;a href="http://sysop073.blogspot.com/2008/06/now-ive-got-you.html"&gt;crashing Firefox&lt;/a&gt; :'(. Feel free to go &lt;a href="http://www.rose-hulman.edu/~mrozekma/perry_band.wav"&gt;here&lt;/a&gt; though&lt;br /&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;embed src="http://www.rose-hulman.edu/~mrozekma/perry_band.wav" autoplay=false&gt;&lt;/embed&gt;&lt;br /&gt;--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-7009295176432297777?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/7009295176432297777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=7009295176432297777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7009295176432297777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7009295176432297777'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/perry-band-perry-band.html' title='Perry Band &gt; (!Perry) Band'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4177003358575885903</id><published>2008-04-07T22:15:00.012-04:00</published><updated>2008-04-07T23:01:27.686-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='profilecms'/><category scheme='http://www.blogger.com/atom/ns#' term='register_globals'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP doesn't kill people, shitty programmers kill people</title><content type='html'>I'm reading a thing about security, and I found the canonical PHP example of why &lt;a href="http://us2.php.net/register_globals"&gt;register globals&lt;/a&gt; is the worst thing ever:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;?php&lt;br /&gt;if (authenticated_user())&lt;br /&gt;{&lt;br /&gt;$authorized = true;&lt;br /&gt;}&lt;br /&gt;if ($authorized)&lt;br /&gt;{&lt;br /&gt;include '/highly/sensitive/data.php';&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I've seen that so many times I have it memorized. Now, I don't program with register globals on, and there's really no reason to have it on, but seriously, show of hands. Who would &lt;b&gt;ever&lt;/b&gt; write the above code? It's so obviously specious and yet nobody seems to notice. Assuming authenticated_user returns a boolean, everyone would write this:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;$authorized = authenticated_user();&lt;/div&gt;&lt;br /&gt;And magically, the problem is gone. Why would you ever have two branches that come back together with different variables released into the global namespace, that's just awful. Almost as bad as storing the user's username in a cookie and trusting it blindly, but obviously &lt;a href="http://acidstudioz.com/atlantaazfinest/profilecms/"&gt;nobody would ever do that&lt;/a&gt;. I'm very worried about this field.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4177003358575885903?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4177003358575885903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4177003358575885903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4177003358575885903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4177003358575885903'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/php-doesnt-kill-people-shitty.html' title='PHP doesn&apos;t kill people, shitty programmers kill people'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-5048579658349888584</id><published>2008-04-06T12:44:00.012-04:00</published><updated>2008-04-06T13:45:32.946-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='advertising'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>Targeted ads</title><content type='html'>This is short, but I keep finding stories about companies and their increasing invasions of our privacy in the name of profit. A lot of the stories tend to be about targeted advertising. Why doesn't everyone want targeted advertising? It seems like a win for everyone involved. Advertisers only pay to advertise to people that actually care about their product, the people that show the ads get paid more, and the people that see ads might actually be interested in the products they're seeing for once. Why don't we want that? Instead, we've got advertisers and ISPs &lt;a href="http://www.nytimes.com/2008/04/05/opinion/05sat4.html?ex=1365048000&amp;en=0122e0fabe9432a1&amp;ei=5124&amp;partner=permalink&amp;exprod=permalink"&gt;spying on us&lt;/a&gt; while we complain about our right to privacy and they laugh and ignore us. Why should they have to spy on us? You'd think we'd be volunteering this information, if it means we get ads for stuff we actually vaguely care about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-5048579658349888584?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/5048579658349888584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=5048579658349888584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5048579658349888584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/5048579658349888584'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/targeted-ads.html' title='Targeted ads'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-644422071906045164</id><published>2008-04-03T20:11:00.010-04:00</published><updated>2008-06-21T14:41:27.809-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jeopardy'/><category scheme='http://www.blogger.com/atom/ns#' term='house'/><title type='text'>House pwns Jeopardy</title><content type='html'>One of my professors, &lt;a href="http://www.rose-hulman.edu/~house/"&gt;Dr. Richard House&lt;/a&gt;, was on Jeopardy tonight. And he won, because he's better than the other contestants. Plus all your professors. Combined. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R_V1u6qgfBI/AAAAAAAAADM/GYn4FTZC6HY/s400/house_jeopardy.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5185179994868972562" /&gt;&lt;br /&gt;&lt;br /&gt;EDIT: There used to be an embedded video here, but it was &lt;a href="http://sysop073.blogspot.com/2008/06/now-ive-got-you.html"&gt;crashing Firefox&lt;/a&gt; :'(&lt;br /&gt;&lt;!--&lt;br /&gt;&lt;object id="MediaPlayer" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application\/x-oleobject" width="384" height="260"&gt;&lt;param name="FileName" value="http://www.jeopardy.com/howdies/s24_5431/5431_house.asx"&gt;&lt;param name="AnimationatStart" value="true"&gt;&lt;param name="TransparentatStart" value="true"&gt;&lt;param name="AutoStart" value="false"&gt;&lt;param name="ShowControls" value="1"&gt;&lt;param name="ShowStatusBar" value="1"&gt;&lt;param name="ShowStatusBar" value="1"&gt;&lt;embed type="application\/x-mplayer2" pluginspage="http://www.microsoft.com/isapi/redir.dll?prd=windows&amp;sbp=mediaplayer&amp;ar=Media&amp;sba=Plugin&amp;" src="http://www.jeopardy.com/howdies/s24_5431/5431_house.asx" showcontrols=1 width="384" height="260" animationatstart="true" transparentatstart="true" autostart="false" ShowStatusBar="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt;So he'll be on again tomorrow. Go watch&lt;br /&gt;&lt;br /&gt;EDIT: He won again, so go watch Monday. Thursday he won by $2, Friday he won by $3, which is an impressive increase percentage-wise.&lt;br /&gt;&lt;br /&gt;EDIT: He owned the whole time on Monday until he lost in final Jeopardy. He's still better than all of you though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-644422071906045164?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/644422071906045164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=644422071906045164' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/644422071906045164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/644422071906045164'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/house-pwns-jeopardy.html' title='House pwns Jeopardy'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R_V1u6qgfBI/AAAAAAAAADM/GYn4FTZC6HY/s72-c/house_jeopardy.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-824816530604770775</id><published>2008-04-03T17:38:00.005-04:00</published><updated>2008-04-03T20:49:33.453-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='god'/><category scheme='http://www.blogger.com/atom/ns#' term='jesus'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><title type='text'>If God is real he probably doesn't read my blog anyway</title><content type='html'>I've never read the Bible, or really paid much attention to any religions, I've found them patently stupid for as long as I can remember now, but this is basically my impression of how Christianity works:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;b&gt;God&lt;/b&gt;: "Jesus. JESUS! Get over here, I need you to do something"&lt;br /&gt;&lt;b&gt;Jesus&lt;/b&gt;: "Damn it Dad, what now?"&lt;br /&gt;&lt;b&gt;God&lt;/b&gt;: "HEY! I don't like that talk. Come over here, I'm not going to yell over the whole plane"&lt;br /&gt;&lt;b&gt;Jesus&lt;/b&gt;: "Fine. What?"&lt;br /&gt;&lt;b&gt;God&lt;/b&gt;: "Look, you know those humans I made? I messed up....er, I mean. I designed them to suck. Yeah, that's it. I designed them to sin. But sinning is against the rules I'm making them follow. But you see, I still want them to get into heaven. And I'm all powerful, I am. But I still can't let them in because they're sinners. Well, I could if I wanted to. But I can't. You following this?"&lt;br /&gt;&lt;b&gt;Jesus&lt;/b&gt;: "Uh . . . no. Why would you design them to sin if . . ."&lt;br /&gt;&lt;b&gt;God&lt;/b&gt;: "DID I TELL YOU YOU COULD TALK? It doesn't matter, just trust me, I know what I'm talking about, it's a whole "free will" thing. So I need a favor. I need you to go down to Earth"&lt;br /&gt;&lt;b&gt;Jesus&lt;/b&gt;: "Aww, no!"&lt;br /&gt;&lt;b&gt;God&lt;/b&gt;: "Shut it! You're going down to Earth, and you're going to let my crazy creations nail you to a cross, so then I can say we're even for all the sinning they do"&lt;br /&gt;&lt;b&gt;Jesus&lt;/b&gt;: ". . . That could not make less sense if you tried"&lt;br /&gt;&lt;b&gt;God&lt;/b&gt;: "Who's the omniscient one here? It makes sense, go do it. You'll just end up right back here anyway. Well, until the whole rising from the dead thing. But we'll cross that bridge when we come to it, for now just go convince them I'm God. I'm going to stay here. Don't worry, I've got this all timed to match up with their existing holidays, so when we convert them all to the true religion they won't have to change much. And make sure it's a cross, I've got stock in the people that make crosses, the industry is going to explode after this"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So yeah. I'm not a huge fan of religion either, if you couldn't tell by my rampant blasphemy. It's actually on the top of the hate list, even above Macs, which is an impressive accomplishment really, but Mac users don't make a habit of killing people that use other operating systems. Although I think they probably will one day, but even when they do, religion has a pretty big head start on them. I used to believe in the whole "let everyone believe what they will and respect each others beliefs" thing, but I got over that a while ago, now I just think they're all deluded. &lt;br /&gt;&lt;br /&gt;I was searching for a couple of my favorite atheist quotes using the parts of them I could remember, and amazingly found pretty much all of them on &lt;a href="http://www.disobey.com/node/1736"&gt;the same page&lt;/a&gt;, which is handy. The last one is my all-time favorite and the inspiration for that thing above. It comes down to the rather succinct &lt;a href="http://www.myconfinedspace.com/2006/08/10/god-made-me-an-atheist/"&gt;bumper-sticker&lt;/a&gt; friendly "God made me an atheist. Who are you to question his wisdom?"&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;"I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." &lt;br /&gt;--Stephen Roberts&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"When I was a kid I used to pray every night for a new bicycle. Then I realised that the Lord doesn't work that way so I stole one and asked Him to forgive me."&lt;br /&gt;--Emo Philips&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"Is God willing to prevent evil, but not able? Then he is not omnipotent. Is he able, but not willing? Then he is malevolent. Is he both able and willing? Then whence cometh evil? Is he neither able nor willing? Then why call him God?"&lt;br /&gt;--Epicurus&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"We must respect the other fellow's religion, but only in the sense and to the extent that we respect his theory that his wife is beautiful and his children smart."&lt;br /&gt;--H. L. Mencken&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"Jesus' last words on the cross, "My God, my God, why hast thou forsaken me?" hardly seem like the words of a man who planned it that way. It doesn't take Sherlock Holmes to figure there is something wrong here."&lt;br /&gt;--Donald Morgan&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Eskimo: "If I did not know about God and sin, would I go to hell?"&lt;br /&gt;Priest: "No, not if you did not know."&lt;br /&gt;Eskimo: "Then why did you tell me?"&lt;br /&gt;--Annie Dillard, 'Pilgrim at Tinker Creek'&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"We must question the story logic of having an all-knowing all-powerful God, who creates faulty Humans, and then blames them for his own mistakes."&lt;br /&gt;--Gene Roddenberry&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;I also find this picture rather amusing:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hypnosis.home.netcom.com/images/iq_vs_religion.png"&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/R_VOrqqgfAI/AAAAAAAAADE/HFQjFkVZkf8/s400/iq_vs_religion.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5185137058080914434" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-824816530604770775?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/824816530604770775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=824816530604770775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/824816530604770775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/824816530604770775'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/if-god-is-real-he-probably-doesnt-read.html' title='If God is real he probably doesn&apos;t read my blog anyway'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R_VOrqqgfAI/AAAAAAAAADE/HFQjFkVZkf8/s72-c/iq_vs_religion.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1764175894726759491</id><published>2008-04-03T00:13:00.004-04:00</published><updated>2008-04-03T21:57:26.426-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='law'/><category scheme='http://www.blogger.com/atom/ns#' term='georgia'/><category scheme='http://www.blogger.com/atom/ns#' term='drugs'/><category scheme='http://www.blogger.com/atom/ns#' term='marijuana'/><title type='text'>Do you know what flavor your kid's lollipops are?</title><content type='html'>As far as I can tell, this story is in fact not an April Fools joke. Georgia has &lt;a href="http://www.ajc.com/services/content/metro/stories/2008/04/01/potcandy_0402.html?cxtype=rss&amp;cxsvc=7&amp;cxcat=13"&gt;banned the sale of marijuana-flavored candy to minors&lt;/a&gt;. Not candy with marijuana in it, which is what I thought it was originally talking about. Candy that tastes like marijuana, with absolutely no actual drug content.&lt;br /&gt;&lt;br /&gt;This entry is going to ignore the many, many arguments about the safety of marijuana compared to legal things like alcohol or nicotine, or how it's considered &lt;a href="http://www.procon.org/AddictChart.htm"&gt;less addictive than caffeine&lt;/a&gt;. That doesn't even matter at the moment, we'll pretend marijuana is more deadly than decapitation. I'm also going to ignore the war on drugs altogether, which I think is the stupidest waste of money since . . . well, actually there are lots of stupid wastes of money in this country, I think there are whole websites dedicated to enumerating them. But I'm going to pretend that it is indeed the government's job to tell us what drugs we can and can't do like we're all 5 years old.&lt;br /&gt;&lt;br /&gt;There's still two things so very wrong with this. First, why would you want marijuana-flavored candy? What's the point of it if you don't get high, it's like something that's cough syrup flavored but doesn't actually fix coughing (apologies to people that enjoy the taste of cough syrup, that analogy probably made no sense to you). Second, how is marijuana-flavored candy possibly leading to marijuana use? Apparently the theory is if kids eat the candy and don't die, they rationalize that marijuana must be equally safe. Personally, I'm a fan of letting all the kids that find no problem with this line of reasoning go for it, it's probably better for the planet as a whole anyway. I'm going to go get a water pistol and shoot myself in the head, and when nothing bad happens conclude that shooting myself in the head with a real gun must also be safe. They're calling it, and this is the part where I thought for sure I'd been had by an April Fools day prank, a "gateway candy". And the bill, and again  I stopped to verify this isn't a joke and ended up looking up the &lt;a href="http://www.legis.ga.gov/legis/2007_08/sum/hb280.htm"&gt;actual bill&lt;/a&gt; to be absolutely sure, was introduced by a guy named Doug Stoner. I am not making this stuff up.&lt;br /&gt;&lt;br /&gt;This is the biggest problem I have with Democrats and why I would be tempted to be a Republican if they weren't all so completely out of their minds that they've forgotten what being a Republican even means. Democrats love laws, we just cannot get enough of them. I don't believe the government should have laws telling us we can't smoke marijuana, but I can't see how &lt;b&gt;anyone&lt;/b&gt; would believe the government should have laws telling us we &lt;b&gt;can't eat candy&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1764175894726759491?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1764175894726759491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1764175894726759491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1764175894726759491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1764175894726759491'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/do-you-know-what-flavor-your-kids.html' title='Do you know what flavor your kid&apos;s lollipops are?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3064430671025338703</id><published>2008-04-01T13:57:00.007-04:00</published><updated>2008-04-01T19:27:57.557-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='daily wtf'/><category scheme='http://www.blogger.com/atom/ns#' term='ytmnd'/><category scheme='http://www.blogger.com/atom/ns#' term='wow'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel.org'/><category scheme='http://www.blogger.com/atom/ns#' term='kongregate'/><category scheme='http://www.blogger.com/atom/ns#' term='woot'/><category scheme='http://www.blogger.com/atom/ns#' term='xbox'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><category scheme='http://www.blogger.com/atom/ns#' term='april fools'/><category scheme='http://www.blogger.com/atom/ns#' term='pirate bay'/><category scheme='http://www.blogger.com/atom/ns#' term='art lebedev'/><category scheme='http://www.blogger.com/atom/ns#' term='livejournal'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='rick roll'/><title type='text'>April Fools Day</title><content type='html'>I considered a post about how Apple had finally won me over with their sexy interfaces and easy-to-access menu location, but I couldn't really make myself write a whole entry about it, even this sentence makes me feel a little ill. People have sent me lots of amusing April Fools Day things though. There's a ridiculously large list on &lt;a href="http://en.wikipedia.org/wiki/April_1%2C_2008"&gt;Wikipedia&lt;/a&gt; if you want to look at more of them, these are just some I've seen.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Google's &lt;a href="http://www.google.com/virgle/plan_1.html"&gt;Virgle&lt;/a&gt;, the first permanent colony on Mars&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Youtube's &lt;a href="http://www.youtube.com/"&gt;featured videos&lt;/a&gt; (they all go &lt;a href="http://www.youtube.com/watch?v=Yu_moia-oVI"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Kernel.org's &lt;a href="http://lkml.org/lkml/2008/3/31/367"&gt;switch to FreeBSD&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;XBox's &lt;a href="http://www.xbox.com/en-US/community/promotions/2008/spring/"&gt;new gear&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;WoW's &lt;a href="http://www.worldofwarcraft.com/wrath/features/bard/bardclass.xml"&gt;Bard class&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;LiveJournal's &lt;a href="http://news.livejournal.com/107460.html"&gt;new advisory board member&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Kongregate's &lt;a href="http://www.kongregate.com/games/BenV/kongaiLaunch"&gt;Kongai Launch&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pirate Bay's &lt;a href="http://thepiratebay.org/blog/102"&gt;move to the desert&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The Daily WTF's &lt;a href="http://thedailywtf.com/"&gt;logo&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Woot's &lt;a href="http://www.woot.com/"&gt;woot-off&lt;/a&gt;, which is the same item over and over&lt;/li&gt;&lt;br /&gt;&lt;li&gt;YTMND's &lt;a href="http://www.ytmnd.com/"&gt;shutdown&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Art Lebedev's &lt;a href="http://www.artlebedev.com/everything/defendius/"&gt;Defendius door chain&lt;/a&gt;. And people say Russians have no sense of humor&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ThinkGeek's &lt;a href="http://www.thinkgeek.com/stuff/looflirpa/shrinter.shtml"&gt;Shrinter&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Opera's &lt;a href="http://my.opera.com/desktopteam/blog/2008/04/01/acid-3-opera-first-to-106"&gt;106 Acid 3 score&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PCWorld's &lt;a href="http://www.savedos.com"&gt;Save DOS campaign&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;What confuses me is the alarming number of rick rolls. It confuses me how 4chan has the power to cause these things, but it happens all the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3064430671025338703?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3064430671025338703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3064430671025338703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3064430671025338703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3064430671025338703'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/04/april-fools-day.html' title='April Fools Day'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2732819269853402761</id><published>2008-03-31T17:09:00.009-04:00</published><updated>2008-04-27T19:14:36.654-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='keyboard'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Powermate'/><category scheme='http://www.blogger.com/atom/ns#' term='Saitek'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Gizmod'/><category scheme='http://www.blogger.com/atom/ns#' term='hotkeys'/><title type='text'>I posted this with Ctrl+P</title><content type='html'>OK, try this. I think all browsers have a file menu; if your browser doesn't have a file menu, find one that does. Open the file menu. Done? Good job. Now, did you in any way touch the mouse? If you used the mouse to open the menu, you're doing something very wrong.&lt;br /&gt;&lt;br /&gt;I was recently forced in class to read a thing about how wonderful the Mac menu system is. Seriously, I had to explain why Mac OS is clearly the superior operating system. For credit. I don't have the lecture material, but suffice to say Mac menus are awesome because the current window's menu is always at the top of the screen, so you can just fling your mouse to the top of the screen and easily click the menu. Now, obviously this ignores the whole still-need-to-position-horizontally problem, which I would think pretty much kills the time gain, but apparently studies say it really is faster. However, this also ignores the you're-using-completely-the-wrong-interface problem. The approximate order of increasing input device speed is:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Prayer&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mouse&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Keyboard&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mind reading&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;The mouse has lots of useful applications, but my definition of "lots" is degrees of magnitude smaller than most people's. People used to watch me use computers in middle school and giggle that I never used the mouse, and while "never" is an overstatement it's fairly accurate compared to the rest of them. The mouse is stunningly overused, because people are too lazy to learn the keyboard ways to do stuff. You don't even have to bind your own shortcuts, just the default ways to do things will massively speed up your productivity.&lt;br /&gt;&lt;br /&gt;If you need to run a program, Super+R opens the run dialog in Windows, Meta+F2 in GNOME. I can't remember the last time I manually opened a run dialog, and I almost never use a shortcut or a start menu item to launch a program, it takes &lt;b&gt;forever&lt;/b&gt;. Super+D/Ctrl+Meta+D shows the desktop, although hopefully if you're doing this you're not going to need desktop shortcuts anymore so this won't come in handy very often. Here's one nobody seems to know: Super+Pause opens the System properties dialog. Never right click My Computer again. Want to open the start menu? There's a &lt;b&gt;dedicated key on the keyboard for it&lt;/b&gt;. Stop clicking the start menu and hit the key with the pretty windows symbol on it. Then hit the first letter of the menu you want to jump to, P for programs, S for search (although Super+F will get you there faster anyway), etc. Just learning basic navigation keys for documents makes life so much easier. You don't need to be a vim ninja, just knowing that Ctrl+End will get you to the end of the document in most programs is helpful. Highlighting by holding Shift and an arrow? Hold down Control too and each arrow press will jump one word instead of one character.&lt;br /&gt;&lt;br /&gt;Now, if you're feeling super crazy, you can set up your own hotkeys to do stuff. I don't know the canonical way to do this in Windows, but most programs come with their own way to deal with hotkeys. Under Linux I use &lt;a href="http://hocwp.free.fr/xbindkeys/xbindkeys.html"&gt;XBindKeys&lt;/a&gt;, which lets you map keys to commands really easily. Here's one of my entries:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;mpc toggle&lt;br /&gt;Alt+Mod4 + space&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;When I hit Meta+Super+Space, it runs "mpc toggle", which pauses or unpauses my music. I have a bunch for &lt;a href="http://www.musicpd.org/"&gt;MPD&lt;/a&gt;, a bunch of others for &lt;a href="http://www.mplayerhq.hu/"&gt;MPlayer&lt;/a&gt; (for videos), and a handful for miscellaneous other programs. For maximum fun, you can get peripherals. I have a &lt;a href="http://www.trustedreviews.com/gaming/review/2005/12/09/Saitek-Pro-Gamer-Command-Unit/p1"&gt;Saitek Command Pad&lt;/a&gt; and a &lt;a href="http://www.griffintechnology.com/products/powermate"&gt;Griffin Powermate&lt;/a&gt;, and I use &lt;a href="http://gizmod.sourceforge.net/"&gt;Gizmod&lt;/a&gt; to control both of them, which lets you write Python scripts to deal with input devices. In short: bonus hotkeys. Global hotkeying is much easier in Linux because everything is doable from the command-line, but I imagine a lot of this can be accomplished in Windows as well.&lt;br /&gt;&lt;br /&gt;Side note: Coincidentally (I started writing this like a week ago when I had the evil lecture of mac-loving), there's an &lt;a href="http://www.codinghorror.com/blog/archives/001088.html"&gt;article on Coding Horror&lt;/a&gt; about how using the keyboard tends to take longer than using the mouse when learning a program. This is probably true, although with hints like letters underlined in menus I would think the keyboard would be able to keep up just about from the beginning. Nonetheless, once you know how to use the keyboard, it's always going to be faster, so if it's a program you use regularly it's definitely worth the effort. Google understands this, and all of their web applications have hotkeys built in, which is something incredibly lacking in web UIs for some reason. I hit Ctrl+S to save my draft of this entry, and Ctrl+P to publish it. In &lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt; (which i highly recommend), J and P jump to the next/previous entry in the list, and V opens the current selection in a new tab. There are other hotkeys, I don't remember them because I don't use them often, but just remembering two or three saves time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2732819269853402761?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2732819269853402761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2732819269853402761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2732819269853402761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2732819269853402761'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/i-posted-this-with-ctrlp.html' title='I posted this with Ctrl+P'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1305460284306398560</id><published>2008-03-26T16:40:00.002-04:00</published><updated>2008-03-26T16:44:44.145-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hate'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>All the cool kids hate Apple</title><content type='html'>There's an article on ITworld about how &lt;a href="http://www.itworld.com/Tech/4535/apple-google-microsoft-fickle-consumers-dr--080320/index.html"&gt;even Apple will be hated one day&lt;/a&gt;. When that day comes, I want to have this blog post on hand so I can point at it and say "See! I TOLD you they sucked. I hated Apple before it was cool to hate Apple"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1305460284306398560?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1305460284306398560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1305460284306398560' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1305460284306398560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1305460284306398560'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/all-cool-kids-hate-apple.html' title='All the cool kids hate Apple'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3608052796235343774</id><published>2008-03-22T13:22:00.005-04:00</published><updated>2008-03-27T00:35:37.180-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='start button'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Start?</title><content type='html'>This is going to be short, but this particular thing drives me crazy. At some point some anti-Microsoft person noticed that to shut down your machine, you click the Start button. They apparently thought this was quite comical, and suddenly everyone on the internet is making fun of Microsoft for being so silly as to put the shutdown option in the Start menu. Now, it's possible the whole Internet is just stupid, or maybe people really do get it and then just keep making fun of Microsoft anyway because it makes them feel good, but just in case it's the former I'm going to clear it up right here. The "Start" on the Start button means &lt;b&gt;start doing something&lt;/b&gt;. So, for example, if you want to &lt;span style="color:#F00"&gt;start&lt;/span&gt; to &lt;span style="color:#00F"&gt;shut down&lt;/span&gt; your computer, you would click &lt;span style="color:#F00"&gt;Start&lt;/span&gt; -&gt; &lt;span style="color:#00F"&gt;Shut Down&lt;/span&gt;. You don't click the Start button to start up your computer either, but nobody seems to care about that one. No, it's not a perfect analogy, but when they added the start bar in Windows 95 it was a really big deal UI-wise (&lt;a href="http://forum.brighthand.com/archive/index.php/t-97440.html"&gt;No more alt-tab switching!&lt;/a&gt;, wink), and it took a decade for somebody to finally complain that apparently they're too slow to figure out how to shutdown their machines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3608052796235343774?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3608052796235343774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3608052796235343774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3608052796235343774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3608052796235343774'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/start.html' title='Start?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1608066423719297058</id><published>2008-03-22T02:11:00.006-04:00</published><updated>2008-03-22T02:26:21.968-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stealing'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Microsoft is a dirty thief, let's iCry about it</title><content type='html'>I found &lt;a href="http://www.youtube.com/watch?v=N-2C2gb6ws8"&gt;yet another video&lt;/a&gt; of Apple bitching that Microsoft steals all its stuff:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/N-2C2gb6ws8&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/N-2C2gb6ws8&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Normally when I talk about operating systems on here I focus on my love of Linux, so it may not be clear that my love for Linux is equal to my hate for Mac OS. I hate the look and feel, I hate the interface, I hate the software, I iHate their iNaming scheme, and I hate its users pretty much on sight. Mac users focus on three truths they latch onto like a religion (speaking of things I hate):&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Mac is the best&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Windows steals everything from Mac&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Windows sucks&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;At some point they're going to realize that there's an issue in there somewhere. Windows steals everything so flawlessly from their precious Mac OS that they call it "photocopying", but Windows still sucks huge. Stop bitching that Windows steals all your shit as though they're going to stop or something; you can't maintain that you're amazing and yet still complain that people are imitating you and you want them to stop&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1608066423719297058?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1608066423719297058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1608066423719297058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1608066423719297058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1608066423719297058'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/microsoft-is-dirty-thief-lets-cry-about.html' title='Microsoft is a dirty thief, let&apos;s iCry about it'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6181310009656502618</id><published>2008-03-21T21:20:00.022-04:00</published><updated>2008-03-21T22:58:21.807-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='surface'/><category scheme='http://www.blogger.com/atom/ns#' term='multitouch'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>It's just like a real table!</title><content type='html'>I've seen dozens of videos now on &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt;. First, I think Surface could be very cool, &lt;a href="http://sysop073.blogspot.com/2008/02/i-multitouched-your-mom.html"&gt;I love multitouch interfaces&lt;/a&gt;. Second, I think right now Surface looks useless. As far as I can tell, a personal Surface table can do exactly four things:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Show really big maps. This is pretty neat; personally, I would get tired of manually dragging a map around instead of just entering an address and going there, but I can see the use for it&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Transfer files (well, really just pictures and music in the clips I've seen) between devices. This is useless for me, but cool for other people, so this one is good&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Take the nice, organized photos stored on a device and explode them into a mass of disorganized thumbnails that you can spin and resize for no reason&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Make little bubbles shoot out from a glass when you set one on the table&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Now, the one that really annoys me is apparently Surface's big feature: allowing you to, and I quote from more than one video, "organize your photos". For some reason, Surface's definition of "organize your photos" is to take all the photos on your device, ignore any organization they may have like folders named "Vacation" and "Work", and spread thumbnails of them all over the table haphazardly. Sure enough, I check the &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Surface"&gt;Wikipedia article&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Image:Surfacecomputer.jpg"&gt;there it is&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="http://1.bp.blogspot.com/_8ZQnluQOl7o/R-Rf-qqge9I/AAAAAAAAACs/XDWPVikd3Sw/s320/microsoft_surface.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5180371001592019922" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Apparently this is somehow a good thing. If I wanted my photos to be like this, I would take print photographs and spread them all over my much cheaper analog table. Why would you want this?&lt;br /&gt;&lt;br /&gt;Terrible:&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/R-RjAaqge-I/AAAAAAAAAC0/F1U5xnhcdCY/s320/microsoft_surface_pictures.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5180374330191674338" /&gt;&lt;br /&gt;&lt;br /&gt;Sexy:&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R-RlAKqge_I/AAAAAAAAAC8/ErqU05cdbaA/s400/picture_hierarchy.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5180376524919962610" /&gt;&lt;br /&gt;&lt;br /&gt;I made up those picture folders on the spot because I don't take pictures, but still. I really don't understand why you would want to use the method of organizing photos that computers replaced forever ago, that's exactly the wrong way to be going about this. We should be designing new interfaces that are even easier to use than the ones we have now, not ones that very accurately simulate stuff we've already gotten rid of. Somebody should write a Surface app that lets you play music by dragging an LP over to a record player and then dragging the needle onto the record. Not that people ever actually do anything with the photos but spin them around and resize them over and over again; it's actually very much like people who enable the &lt;a href="http://wiki.compiz-fusion.org/Plugins/Cube"&gt;desktop cube&lt;/a&gt; in &lt;a href="http://compiz.org/"&gt;compiz&lt;/a&gt; for the first time:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EutwtZDqy5Q&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EutwtZDqy5Q&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6181310009656502618?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6181310009656502618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6181310009656502618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6181310009656502618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6181310009656502618'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/its-just-like-real-table.html' title='It&apos;s just like a real table!'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R-Rf-qqge9I/AAAAAAAAACs/XDWPVikd3Sw/s72-c/microsoft_surface.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8792041793289480106</id><published>2008-03-20T14:41:00.005-04:00</published><updated>2008-03-21T22:06:22.273-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jon stewart'/><category scheme='http://www.blogger.com/atom/ns#' term='crossfire'/><title type='text'>Jon Stewart: 1, Crossfire: 0</title><content type='html'>My roommate is watching this clip for the first time, and it's come to my attention that not everyone in the world has seen &lt;a href="http://www.youtube.com/watch?v=aFQFB5YpDZE"&gt;Jon Stewart destroy Crossfire&lt;/a&gt;. And you should see it before you die, because he is both unbelievably funny and extremely intelligent, unlike the sadly unimpressive Crossfire hosts:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aFQFB5YpDZE&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aFQFB5YpDZE&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And the &lt;a href="http://politicalhumor.about.com/library/bljonstewartcrossfire.htm"&gt;transcript&lt;/a&gt;: &lt;div onClick="this.style.display='none';document.getElementById('8792041793289480106_transcript').style.display='block';" style="display:inline;color:#336699;cursor:pointer"&gt;(show transcript)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="8792041793289480106_transcript" class="quote" style="display:none"&gt;TUCKER CARLSON: Well, he's been called the most trusted name in fake news. Next, we're joined by Jon Stewart for his one-of-a-kind take on politics, the press and America.&lt;br /&gt;&lt;br /&gt;PAUL BEGALA: Welcome back to CROSSFIRE.&lt;br /&gt;&lt;br /&gt;STEWART: Thank you very much. That was very kind of you to say. Can I say something very quickly? Why do we have to fight?&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: The two of you? Can't we just -- say something nice about John Kerry right now.&lt;br /&gt;&lt;br /&gt;"It's not so much that it's bad, as it's hurting America ... Stop, stop, stop, stop hurting America." --Jon Stewart, to "Crossfire" hosts Tucker Carlson and Paul Begala&lt;br /&gt;&lt;br /&gt;CARLSON: I like John. I care about John Kerry.&lt;br /&gt;&lt;br /&gt;STEWART: And something about President Bush.&lt;br /&gt;&lt;br /&gt;BEGALA: He'll be unemployed soon?&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;BEGALA: I failed the test. I'm sorry.&lt;br /&gt;&lt;br /&gt;CARLSON: See, I made the effort anyway.&lt;br /&gt;&lt;br /&gt;BEGALA: No, actually, I knew Bush in Texas a little bit. And the truth is, he's actually a great guy. He's not a very good president. But he's actually a very good person. I don't think you should have to hate to oppose somebody, but it makes it easier.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: Why do you argue, the two of you?&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: I hate to see it.&lt;br /&gt;&lt;br /&gt;CARLSON: We enjoy it.&lt;br /&gt;&lt;br /&gt;STEWART: Let me ask you a question.&lt;br /&gt;&lt;br /&gt;CARLSON: Well, let me ask you a question first.&lt;br /&gt;&lt;br /&gt;STEWART: All right.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: Is John Kerry -- is John Kerry really the best? I mean, John Kerry has...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: Is he the best? I thought Lincoln was good.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: Is he the best the Democrats can do?&lt;br /&gt;&lt;br /&gt;STEWART: Is he the best the Democrats can do?&lt;br /&gt;&lt;br /&gt;CARLSON: Yes, this year of the whole field.&lt;br /&gt;&lt;br /&gt;STEWART: I had always thought, in a democracy -- and, again, I don't know -- I've only lived in this country -- that there's a process. They call them primaries.&lt;br /&gt;&lt;br /&gt;CARLSON: Right.&lt;br /&gt;&lt;br /&gt;STEWART: And they don't always go with the best, but they go with whoever won. So is he the best? According to the process.&lt;br /&gt;&lt;br /&gt;CARLSON: Right. But of the nine guys running, who do you think was best. Do you think he was the best, the most impressive?&lt;br /&gt;&lt;br /&gt;STEWART: The most impressive?&lt;br /&gt;&lt;br /&gt;CARLSON: Yes.&lt;br /&gt;&lt;br /&gt;STEWART: I thought Al Sharpton was very impressive.&lt;br /&gt;&lt;br /&gt;STEWART: I enjoyed his way of speaking. I think, oftentimes, the person that knows they can't win is allowed&lt;br /&gt;to speak the most freely, because, otherwise, shows with titles, such as CROSSFIRE.&lt;br /&gt;&lt;br /&gt;BEGALA: CROSSFIRE.&lt;br /&gt;&lt;br /&gt;STEWART: Or "HARDBALL" or "I'm Going to Kick Your Ass" or...&lt;br /&gt;&lt;br /&gt;STEWART: Will jump on it.  In many ways, it's funny. And I made a special effort to come on the show today, because I have privately, amongst my friends and also in occasional newspapers and television shows, mentioned this show as being bad.&lt;br /&gt;&lt;br /&gt;BEGALA: We have noticed.&lt;br /&gt;&lt;br /&gt;STEWART: And I wanted to -- I felt that that wasn't fair and I should come here and tell you that I don't -- it's not so much that it's bad, as it's hurting America. But I wanted to come here today and say...&lt;br /&gt;&lt;br /&gt;STEWART: Stop, stop, stop, stop hurting America.&lt;br /&gt;&lt;br /&gt;BEGALA: OK. Now&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;"You know what's interesting, though? You're as big a dick on your show as you are on any show." --Jon Stewart, to Tucker Carlson&lt;br /&gt;&lt;br /&gt;STEWART: And come work for us, because we, as the people...&lt;br /&gt;&lt;br /&gt;CARLSON: How do you pay?&lt;br /&gt;&lt;br /&gt;STEWART: The people -- not well.&lt;br /&gt;&lt;br /&gt;BEGALA: Better than CNN, I'm sure.&lt;br /&gt;&lt;br /&gt;STEWART: But you can sleep at night.&lt;br /&gt;&lt;br /&gt;STEWART: See, the thing is, we need your help. Right now, you're helping the politicians and the corporations. And we're left out there to mow our lawns.&lt;br /&gt;&lt;br /&gt;BEGALA: By beating up on them? You just said we're too rough on them when they make mistakes.&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no, you're not too rough on them. You're part of their strategies. You are partisan, what do you call it, hacks.&lt;br /&gt;&lt;br /&gt;CARLSON: Wait, Jon, let me tell you something valuable that I think we do that I'd like to see you...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: Something valuable?&lt;br /&gt;&lt;br /&gt;CARLSON: Yes.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: I would like to hear it.&lt;br /&gt;&lt;br /&gt;CARLSON: And I'll tell you.&lt;br /&gt;&lt;br /&gt;When politicians come on...&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: It's nice to get them to try and answer the question. And in order to do that, we try and ask them pointed questions. I want to contrast our questions with some questions you asked John Kerry recently.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;CARLSON: ... up on the screen.&lt;br /&gt;&lt;br /&gt;STEWART: If you want to compare your show to a comedy show, you're more than welcome to.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: No, no, no, here's the point.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: If that's your goal.&lt;br /&gt;&lt;br /&gt;CARLSON: It's not.&lt;br /&gt;&lt;br /&gt;STEWART: I wouldn't aim for us. I'd aim for "Seinfeld." That's a very good show.&lt;br /&gt;&lt;br /&gt;CARLSON: Kerry won't come on this show. He will come on your show.&lt;br /&gt;&lt;br /&gt;STEWART: Right.&lt;br /&gt;&lt;br /&gt;CARLSON: Let me suggest why he wants to come on your show.&lt;br /&gt;&lt;br /&gt;STEWART: Well, we have civilized discourse.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: Well, here's an example of the civilized discourse.&lt;br /&gt;&lt;br /&gt;Here are three of the questions you asked John Kerry.&lt;br /&gt;"No. No. I'm not going to be your monkey." --Jon Stewart, to Tucker Carlson&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: You have a chance to interview the Democratic nominee. You asked him questions such as -- quote -- "How are you holding up? Is it hard not to take the attacks personally?"&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: "Have you ever flip-flopped?" et cetera, et cetera.&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: Didn't you feel like -- you got the chance to interview the guy. Why not ask him a real question, instead of just suck up to him?&lt;br /&gt;&lt;br /&gt;STEWART: Yes. "How are you holding up?" is a real suck-up. And I actually giving him a hot stone massage as we were doing it.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: It sounded that way. It did.&lt;br /&gt;&lt;br /&gt;STEWART: You know, it's interesting to hear you talk about my responsibility.&lt;br /&gt;&lt;br /&gt;CARLSON: I felt the sparks between you.&lt;br /&gt;&lt;br /&gt;STEWART: I didn't realize that -- and maybe this explains quite a bit.&lt;br /&gt;&lt;br /&gt;CARLSON: No, the opportunity to...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: ... is that the news organizations look to Comedy Central for their cues on integrity.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: So what I would suggest is, when you talk about you're holding politicians' feet to fire, I think that's disingenuous. I think you're...&lt;br /&gt;&lt;br /&gt;CARLSON: "How are you holding up?" I mean, come on.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no. But my role isn't, I don't think...&lt;br /&gt;&lt;br /&gt;CARLSON: But you can ask him a real question, don't you think, instead of saying...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: I don't think I have to. By the way, I also asked him, "Were you in Cambodia?" But I didn't really care.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: Because I don't care, because I think it's stupid.&lt;br /&gt;&lt;br /&gt;CARLSON: I can tell.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: But my point is this. If your idea of confronting me is that I don't ask hard-hitting enough news questions, we're in bad shape, fellows. (LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: We're here to love you, not confront you.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;CARLSON: We're here to be nice.&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no, but what I'm saying is this. I'm not. I'm here to confront you, because we need help&lt;br /&gt;from the media and they're hurting us. And it's -- the idea is...&lt;br /&gt;&lt;br /&gt;(APPLAUSE)&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;BEGALA: Let me get this straight. If the indictment is -- if the indictment is -- and I have seen you say this -- that...&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;"What you do is not honest. What you do is partisan hackery. You have a responsibility to the public discourse, and you fail miserably." --Jon Stewart&lt;br /&gt;&lt;br /&gt;BEGALA: And that CROSSFIRE reduces everything, as I said in the intro, to left, right, black, white.&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;BEGALA: Well, it's because, see, we're a debate show.&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no, no, that would be great.&lt;br /&gt;&lt;br /&gt;BEGALA: It's like saying The Weather Channel reduces everything to a storm front.&lt;br /&gt;&lt;br /&gt;STEWART: I would love to see a debate show.&lt;br /&gt;&lt;br /&gt;BEGALA: We're 30 minutes in a 24-hour day where we have each side on, as best we can get them, and have them fight it out.&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no, no, that would be great. To do a debate would be great. But that's like saying pro wrestling is a show about athletic competition.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: Jon, Jon, Jon, I'm sorry. I think you're a good comedian. I think your lectures are boring.&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: Let me ask you a question on the news.&lt;br /&gt;&lt;br /&gt;STEWART: How old are you?&lt;br /&gt;&lt;br /&gt;CARLSON: Thirty-five.&lt;br /&gt;&lt;br /&gt;STEWART: And you wear a bow tie.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;(APPLAUSE)&lt;br /&gt;&lt;br /&gt;CARLSON: Yes, I do. I do.&lt;br /&gt;&lt;br /&gt;STEWART: So this is...&lt;br /&gt;&lt;br /&gt;CARLSON: I know. I know. I know. You're a...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: So this is theater.&lt;br /&gt;&lt;br /&gt;CARLSON: Now, let me just...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;CARLSON: Now, come on.&lt;br /&gt;&lt;br /&gt;STEWART: Now, listen, I'm not suggesting that you're not a smart guy, because those are not easy to tie.&lt;br /&gt;&lt;br /&gt;CARLSON: They're difficult.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: But the thing is that this -- you're doing theater, when you should be doing debate, which would be great.&lt;br /&gt;&lt;br /&gt;BEGALA: We do, do...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: It's not honest. What you do is not honest. What you do is partisan hackery. And I will tell you why I know it.&lt;br /&gt;&lt;br /&gt;CARLSON: You had John Kerry on your show and you sniff his throne and you're accusing us of partisan hackery?&lt;br /&gt;&lt;br /&gt;STEWART: Absolutely.&lt;br /&gt;&lt;br /&gt;CARLSON: You've got to be kidding me. He comes on and you...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: You're on CNN. The show that leads into me is puppets making crank phone calls.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: What is wrong with you?&lt;br /&gt;&lt;br /&gt;CARLSON: Well, I'm just saying, there's no reason for you -- when you have this marvelous opportunity not to be the guy's butt boy, to go ahead and be his butt boy. Come on. It's embarrassing.&lt;br /&gt;&lt;br /&gt;STEWART: I was absolutely his butt boy. I was so far -- you would not believe what he ate two weeks ago.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: You know, the interesting thing I have is, you have a responsibility to the public discourse, and you fail miserably.&lt;br /&gt;&lt;br /&gt;CARLSON: You need to get a job at a journalism school, I think.&lt;br /&gt;&lt;br /&gt;STEWART: You need to go to one. The thing that I want to say is, when you have people on for just knee-jerk, reactionary talk...&lt;br /&gt;&lt;br /&gt;CARLSON: Wait. I thought you were going to be funny. Come on. Be funny.&lt;br /&gt;&lt;br /&gt;STEWART: No. No. I'm not going to be your monkey.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;STEWART: How old are you?&lt;br /&gt;CARLSON: Thirty-five.&lt;br /&gt;STEWART: And you wear a bow tie.&lt;br /&gt;&lt;br /&gt;BEGALA: Go ahead. Go ahead.&lt;br /&gt;&lt;br /&gt;STEWART: I watch your show every day. And it kills me.&lt;br /&gt;&lt;br /&gt;CARLSON: I can tell you love it.&lt;br /&gt;&lt;br /&gt;STEWART: It's so -- oh, it's so painful to watch.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: You know, because we need what you do. This is such a great opportunity you have here to a actually get politicians off of their marketing and strategy.&lt;br /&gt;&lt;br /&gt;CARLSON: Is this really Jon Stewart? What is this, anyway?&lt;br /&gt;&lt;br /&gt;STEWART: Yes, it's someone who watches your show and cannot take it anymore.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: I just can't.&lt;br /&gt;&lt;br /&gt;CARLSON: What's it like to have dinner with you? It must be excruciating. Do you like lecture people like this or&lt;br /&gt;do you come over to their house and sit and lecture them; they're not doing the right thing, that they're missing their opportunities, evading their responsibilities?&lt;br /&gt;&lt;br /&gt;STEWART: If I think they are.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: I wouldn't want to eat with you, man. That's horrible.&lt;br /&gt;&lt;br /&gt;STEWART: I know. And you won't. But the thing I want to get to...&lt;br /&gt;&lt;br /&gt;BEGALA: We did promise naked pictures of the Supreme Court justices.&lt;br /&gt;&lt;br /&gt;CARLSON: Yes, we did. Let's get to those.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;BEGALA: They're in this book, which is a very funny book.&lt;br /&gt;&lt;br /&gt;STEWART: Why can't we just talk -- please, I beg of you guys, please.&lt;br /&gt;&lt;br /&gt;CARLSON: I think you watch too much CROSSFIRE.&lt;br /&gt;&lt;br /&gt;We're going to take a quick break.&lt;br /&gt;&lt;br /&gt;STEWART: No, no, no, please.&lt;br /&gt;&lt;br /&gt;CARLSON: No, no, hold on. We've got commercials.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: Please. Please stop.&lt;br /&gt;&lt;br /&gt;CARLSON: Next, Jon Stewart in the "Rapid Fire."&lt;br /&gt;&lt;br /&gt;STEWART: Please stop.&lt;br /&gt;&lt;br /&gt;CARLSON: Hopefully, he'll be here, we hope, we think.&lt;br /&gt;&lt;br /&gt;(APPLAUSE)&lt;br /&gt;&lt;br /&gt;(COMMERCIAL BREAK)&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;CARLSON: Welcome back to CROSSFIRE.&lt;br /&gt;&lt;br /&gt;We're talking to Jon Stewart, who was just lecturing us on our moral inferiority.&lt;br /&gt;&lt;br /&gt;Jon, you're bumming us out. Tell us, what do you think about the Bill O'Reilly vibrator story?&lt;br /&gt;&lt;br /&gt;STEWART: I'm sorry. I don't.&lt;br /&gt;&lt;br /&gt;CARLSON: Oh, OK.&lt;br /&gt;&lt;br /&gt;STEWART: What do you think?&lt;br /&gt;&lt;br /&gt;BEGALA: Let me change the subject.&lt;br /&gt;&lt;br /&gt;STEWART: Where's your moral outrage on this?&lt;br /&gt;&lt;br /&gt;CARLSON: I don't have any.&lt;br /&gt;&lt;br /&gt;STEWART: I know.&lt;br /&gt;&lt;br /&gt;BEGALA: Which candidate do you suppose would provide you better material?&lt;br /&gt;&lt;br /&gt;STEWART: I'm sorry?&lt;br /&gt;&lt;br /&gt;BEGALA: Which candidate do you suppose would provide you better material if he won?&lt;br /&gt;&lt;br /&gt;STEWART: Mr. T. I think he'd be the funniest. I don't...&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;BEGALA: Don't you have a stake in it that way, as not just a citizen, but as a professional comic?&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: Right, which I hold to be much more important than as a citizen.&lt;br /&gt;&lt;br /&gt;BEGALA: Well, there you go.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;BEGALA: But who would you provide you better material, do you suppose?&lt;br /&gt;&lt;br /&gt;STEWART: I don't really know. That's kind of not how we look at it. We look at, the absurdity of the system provides us the most material. And that is best served by sort of the theater of it all, you know, which, by the way, thank you both, because it's been helpful.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: But, if Kerry gets elected, is it going to -- you have said you're voting for him. You obviously support him. It's clear.&lt;br /&gt;Will it be harder for you to mock his administration if he becomes president?&lt;br /&gt;&lt;br /&gt;STEWART: No. Why would it be harder?&lt;br /&gt;&lt;br /&gt;CARLSON: Because you support...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: The only way it would be harder is if his administration is less absurd than this one. So, in that case, if it's less absurd, then, yes, I think it would be harder. But, I mean, it would be hard to top this group, quite frankly.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;(CHEERING AND APPLAUSE)&lt;br /&gt;&lt;br /&gt;STEWART: In terms of absurdity and their world matching up to the one that -- you know, it was interesting.&lt;br /&gt;President Bush was saying, John Kerry's rhetoric doesn't match his record.&lt;br /&gt;&lt;br /&gt;But I've heard President Bush describe his record. His record doesn't match his record.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: So I don't worry about it in that respect.&lt;br /&gt;&lt;br /&gt;But let me ask you guys, again, a question, because we talked a little bit about, you're actually doing honest debate and all that. But, after the debates, where do you guys head to right afterwards?&lt;br /&gt;&lt;br /&gt;CARLSON: The men's room.&lt;br /&gt;&lt;br /&gt;STEWART: Right after that?&lt;br /&gt;&lt;br /&gt;BEGALA: Home.&lt;br /&gt;&lt;br /&gt;STEWART: Spin alley.&lt;br /&gt;&lt;br /&gt;BEGALA: Home.&lt;br /&gt;&lt;br /&gt;STEWART: No, spin alley.&lt;br /&gt;&lt;br /&gt;BEGALA: What are you talking about? You mean at these debates?&lt;br /&gt;&lt;br /&gt;STEWART: Yes. You go to spin alley, the place called spin alley. Now, don't you think that, for people watching at home, that's kind of a drag, that you're literally walking to a place called deception lane?&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;STEWART: Like, it's spin alley. It's -- don't you see, that's the issue I'm trying to talk to you guys...&lt;br /&gt;&lt;br /&gt;BEGALA: No, I actually believe -- I have a lot of friends who work for President Bush. I went to college with some of them.&lt;br /&gt;&lt;br /&gt;CARLSON: Neither of us was ever in the spin room, actually.&lt;br /&gt;&lt;br /&gt;(BELL RINGING)&lt;br /&gt;&lt;br /&gt;BEGALA: No, I did -- I went to do the Larry King show.&lt;br /&gt;&lt;br /&gt;They actually believe what they're saying. They want to persuade you. That's what they're trying to do by spinning. But I don't doubt for a minute these people who work for President Bush, who I disagree with on everything, they believe that stuff, Jon. This is not a lie or a deception at all. They believe in him, just like I believe in my guy.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: I think they believe President Bush would do a better job. And I believe the Kerry guys believe President Kerry would do a better job. But what I believe is, they're not making honest arguments. So what they're doing is, in their mind, the ends justify the means.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;BEGALA: I don't think so at all.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;CARLSON: I do think you're more fun on your show. Just my opinion.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;CARLSON: OK, up next, Jon Stewart goes one on one with his fans...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: You know what's interesting, though? You're as big a dick on your show as you are on any show.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;CARLSON: Now, you're getting into it. I like that.&lt;br /&gt;&lt;br /&gt;STEWART: Yes.&lt;br /&gt;&lt;br /&gt;CARLSON: OK. We'll be right back.&lt;br /&gt;&lt;br /&gt;(COMMERCIAL BREAK)&lt;br /&gt;&lt;br /&gt;BEGALA: Welcome back to CROSSFIRE. We are joined by Comedy Central's Jon Stewart, host of "The Daily Show"&lt;br /&gt;and author of No. 1 bestseller, "America (The Book): A Citizen's Guide to Democracy Inaction."&lt;br /&gt;&lt;br /&gt;CARLSON: And a ton of fun, I like that too.&lt;br /&gt;&lt;br /&gt;BEGALA: Some questions from our audience. Yes sir, what's your name, what's your name?&lt;br /&gt;&lt;br /&gt;QUESTION: Hi, my name's David. I'm from Boston.&lt;br /&gt;&lt;br /&gt;STEWART: Hi, David.&lt;br /&gt;&lt;br /&gt;QUESTION: My question is, what do you think the hump on G.W.'s back during the debate was?&lt;br /&gt;&lt;br /&gt;STEWART: Say it again?&lt;br /&gt;&lt;br /&gt;QUESTION: What do you think the hump on George's back during the debate was?&lt;br /&gt;&lt;br /&gt;STEWART: The hump on his back?&lt;br /&gt;&lt;br /&gt;BEGALA: Oh, you're familiar? This is (INAUDIBLE) conspiracy theory. Can I take this one?&lt;br /&gt;&lt;br /&gt;STEWART: Yes, please.&lt;br /&gt;&lt;br /&gt;BEGALA: It was nothing, his suit was puckering. A lot of people believe he had one of these in his ear. If he was being fed lines by Karl Rove, he would not have been so inarticulate, guys. It's a myth.&lt;br /&gt;&lt;br /&gt;(LAUGHTER)&lt;br /&gt;&lt;br /&gt;BEGALA: It's not true. There's this huge myth out on the left.&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;BEGALA: Yes, ma'am.&lt;br /&gt;&lt;br /&gt;QUESTION: Renee from Texas. Why do you think it's hard or difficult or impossible for politicians to answer a straight, simple question?&lt;br /&gt;&lt;br /&gt;STEWART: I don't think it's hard. I just think that nobody holds their feet to the fire to do it. So they don't have to. They get to come on shows that don't...&lt;br /&gt;&lt;br /&gt;BEGALA: They're too easy on them.&lt;br /&gt;&lt;br /&gt;CARLSON: Yes. Ask them how you hold...&lt;br /&gt;&lt;br /&gt;STEWART: Not easy on them...&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;BEGALA: ... saying we were too hard on people and too (INAUDIBLE).&lt;br /&gt;&lt;br /&gt;(CROSSTALK)&lt;br /&gt;&lt;br /&gt;STEWART: I think you're - yes.&lt;br /&gt;&lt;br /&gt;CARLSON: All right. Jon Stewart, come back soon.&lt;br /&gt;&lt;br /&gt;BEGALA: Jon Stewart, good of you to join us. Thank you very much. The book is "America: A Citizen's Guide to Democracy Inaction."&lt;br /&gt;&lt;br /&gt;From the left I am Paul Begala, that's it for CROSSFIRE.&lt;br /&gt;&lt;br /&gt;CARLSON: And from the right I'm Tucker Carlson, have a great weekend. See you Monday.&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/7090003-8792041793289480106?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8792041793289480106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8792041793289480106' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8792041793289480106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8792041793289480106'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/jon-stewart-1-crossfire-0.html' title='Jon Stewart: 1, Crossfire: 0'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3528718279397023057</id><published>2008-03-20T13:00:00.019-04:00</published><updated>2008-03-22T03:00:57.447-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='notation'/><category scheme='http://www.blogger.com/atom/ns#' term='prefix'/><category scheme='http://www.blogger.com/atom/ns#' term='infix'/><category scheme='http://www.blogger.com/atom/ns#' term='S-expression'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>Prefix notation considered harmful?</title><content type='html'>I found an article on &lt;a href="http://www.dwheeler.com/readable/"&gt;making readable S-expressions&lt;/a&gt;. The premise is that, as Paul Graham is quoted as saying in the article:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;I've used Lisp my whole programming life and I still don't find prefix math expressions natural&lt;/div&gt;&lt;br /&gt;I understand that prefix notation isn't what everyone learned in school, so it seems weird at first, but I find prefix and postfix notation both more logical than infix; come to think of it, I'm actually not sure why we even use infix in the classroom instead of prefix. It's an ambiguous grammar, so (ironically, considering all the whining about parenthesis in S-expressions) you need parentheses to clear up what the meaning is, or some sort of accepted &lt;a href="http://en.wikipedia.org/wiki/Order_of_operations"&gt;precidence rules&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Postfix makes sense if you think of things like a stack, which granted most people probably don't. It's easy to understand in that sense though. If you see an operator like +, you're going to add the last two numbers you had, so 2 3 + means add 2 and 3, and you end up with 5 on the stack. Want to do (2 + 3) * 5? To hell with parentheses: 2 3 + 5 *. This is easiest for computers, but I agree it doesn't make much sense to think about math this way.&lt;br /&gt;&lt;br /&gt;Prefix makes total sense to me, however. In prefix notation the first thing you get is what you're going to be doing. You shouldn't have to wait for the middle of an expression like 2 + 3 to find out you're doing addition; when you have + 2 3 you know from the beginning you're adding two numbers, all you need to do is get the actual numbers now. Prefix notation tends to be much more logical to read: + 2 3 is obviously "add 2 and 3". Infix notation requires a passive voice like "2 added to 3", which seems silly. Programmers take it for granted that you would call add(2,3) to use the add function to add two numbers, but balk when they see (+ 2 3) as being obviously wrong -- all Lisp has done is normalize everything instead of having an annoying mix of prefix and infix functionality.&lt;br /&gt;&lt;br /&gt;When I first learned Lisp (technically, Scheme) I thought it was the greatest thing ever, and I loved writing things in it. I think a lot of programmers have the same experience, and yet there seems to be a growing movement to destroy the S-expression, which seems to defeat the whole point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3528718279397023057?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3528718279397023057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3528718279397023057' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3528718279397023057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3528718279397023057'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/prefix-notation-considered-harmful.html' title='Prefix notation considered harmful?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1559963101568341628</id><published>2008-03-19T14:34:00.017-04:00</published><updated>2008-03-19T14:48:06.890-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='obama'/><category scheme='http://www.blogger.com/atom/ns#' term='speech'/><category scheme='http://www.blogger.com/atom/ns#' term='election'/><title type='text'>Holy hell, all is not lost</title><content type='html'>If you haven't heard Obama's speech from yesterday, &lt;a href="http://www.youtube.com/watch?v=pWe7wTVbLUU"&gt;go listen to it&lt;/a&gt;. Now. It's fine, my blog will still be here when you get back. Or watch it here:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pWe7wTVbLUU&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pWe7wTVbLUU&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;How great was that? Seriously, it gave me chills, I can't remember the last time I heard a speech I could even stand to listen to, let alone liked. Rumor has it &lt;a href="http://www.dailykos.com/story/2008/3/18/17135/6770/569/465227"&gt;Obama wrote that speech single-handedly&lt;/a&gt;. If he did, we might not end up destroying the world after all like I figured was pretty much inevitable at this point. Even if he didn't write it alone, still, it was great. Now, I understand that our southern voters might worry about electing someone who "knows stuff". (Yes, I went there. Be happy I left the racism out of it for the moment). But please. &lt;b&gt;Please&lt;/b&gt;. Don't keep electing crazy morons, we can't afford another four years of insanity. Presidential candidates seriously worry about "looking too smart", because "people don't want to elect someone smarter than them". WHY NOT? Here is pretty much my formula:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;(elect (apply max candidates))&lt;/div&gt;&lt;br /&gt;Why would you not want the smartest person possible? Are you jealous? You should be, they're President and you're not. Sorry I went all second-person on you, but I'm imagining getting my hands on all the people that, to put it bluntly, vote wrong. Don't vote for somebody because they make you feel smart by comparison, vote for somebody that can actually fix everything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1559963101568341628?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1559963101568341628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1559963101568341628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1559963101568341628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1559963101568341628'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/holy-hell-all-is-not-lost.html' title='Holy hell, all is not lost'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-165097692214770918</id><published>2008-03-19T12:43:00.026-04:00</published><updated>2008-03-19T13:31:21.283-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sequoia'/><category scheme='http://www.blogger.com/atom/ns#' term='election'/><category scheme='http://www.blogger.com/atom/ns#' term='security through obscurity'/><category scheme='http://www.blogger.com/atom/ns#' term='voting'/><category scheme='http://www.blogger.com/atom/ns#' term='polls'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>This post is a trade secret</title><content type='html'>How hard is it to write voting machine software? Seriously, ignore all the problems we've had with them, and (if you're a CS, or just bored) picture it. How long would it take you to write something that asks the user who they vote for, and records it?&lt;br /&gt;&lt;br /&gt;&lt;div id="votebox" style="border:1px solid #CCC;padding:10px"&gt;Who do you vote for?&lt;br /&gt;&lt;br /&gt;&lt;button onClick="document.getElementById('votebox').innerHTML='You voted for Obama! Yay!'"&gt;Barack Obama&lt;/button&gt;&amp;nbsp;&lt;button onClick="document.getElementById('votebox').innerHTML='WTF? You voted for Hil...you voted for Obama! Yay!'"&gt;Hillary Clinton&lt;/button&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;DONE&lt;/b&gt;. Slap a database connection on that thing and it's already more successful than the voting machine software in use today. What is wrong with these companies? Furthermore, what could possibly make them think &lt;a href="http://www.nj.com/news/index.ssf/2008/03/voting_machine_maker_threatens.html"&gt;this&lt;/a&gt; is ok:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Union County has backed off a plan to let a Princeton University computer scientist examine voting machines where errors occurred in the presidential primary tallies, after the manufacturer of the machines threatened to sue, officials said today.&lt;br /&gt;&lt;br /&gt;A Sequoia executive, Edwin Smith, put Union County Clerk Joanne Rajoppi on notice that an independent analysis would violate the licensing agreement between his firm and the county. In a terse two-page letter Smith also argued the voting machine software is a Sequoia trade secret and cannot be handed over to any third party. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Excuse me? How can we possibly still allow &lt;a href="http://en.wikipedia.org/wiki/Security_through_obscurity"&gt;security through obscurity&lt;/a&gt; designs? Haven't the *epic failures* of these designs in the past proven that we should maybe not do them anymore?&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://picasaweb.google.com/joetierney/Images7/photo#5141772905086225122"&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/R-FGMSeNHaI/AAAAAAAAACk/X1NZgE06zmE/s400/epicfailure.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5179498223383682466" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you missed what actually happened that prompted this investigation, there's &lt;a href="http://www.freedom-to-tinker.com/?p=1266"&gt;coverage elsewhere&lt;/a&gt;, I'm not going to go though it all. In short, dozens of voting machines in New Jersey were disagreeing with themselves: the number of votes for each candidate didn't add up to the total number of votes the machine said were cast. The article I just linked to had a fantastic example of how bad this is:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;This is a single voting machine, disagreeing with itself about how many Republicans voted on it. Imagine your pocket calculator couldn’t make up its mind whether 1+13+40+3+4 was 60 or 61. You’d be pretty alarmed, and you wouldn’t trust your calculator until you were very sure it was fixed. Or you’d get a new calculator.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We (as in, the country) should refuse to so much as consider a voting machine that isn't completely open. And I know this is the &lt;a href="http://en.wikipedia.org/wiki/Open_source_software"&gt;OSS&lt;/a&gt; inside of me talking, but in this case I would think everyone would agree that a voting machine that can be examined by everyone is better than "It works and doesn't cheat at all, pinky swear. Love, &lt;a href="http://www.sequoiavote.com/"&gt;Sequoia&lt;/a&gt;". Anyone that wants to can view the source code for this page and look at how my voting buttons above work, so they can clearly see that clicking Hillary's button seems to very suspiciously cast a vote for Obama anyway.&lt;br /&gt;&lt;br /&gt;Finally, this is somewhat unconnected to the general "closed-box voting machines are bullshit" argument above, but I noticed this in the article too:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Sequoia maintains the errors, which were documented in at least five counties, occurred due to mistakes by poll workers. The firm, which is based in Colorado, examined machines in Middlesex Count, and concluded that poll workers had pushed the wrong buttons on the control panels, resulting in errors in the numbers of ballots cast.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Why in the world do poll workers have buttons that change the number of votes that have been cast? Why do poll workers have buttons that do anything at all? Let's take a poll on what poll workers should be able to change:&lt;br /&gt;&lt;br /&gt;&lt;input type="radio" name="voteopts" checked&gt;Add votes&lt;/input&gt;&lt;br /&gt;&lt;input type="radio" name="voteopts"&gt;Subtract votes&lt;/input&gt;&lt;br /&gt;&lt;input type="radio" name="voteopts"&gt;Nothing at all&lt;/input&gt;&lt;br /&gt;&lt;input type="radio" name="voteopts"&gt;It doesn't matter, I'm just going to change your votes anyway&lt;/input&gt;&lt;br /&gt;&lt;br /&gt;Good news, you all voted for "nothing at all", because I changed your votes. Perhaps I shouldn't have this power, and neither should the fairly technology-illiterate poll workers who just have to see what the blue button does.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-165097692214770918?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/165097692214770918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=165097692214770918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/165097692214770918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/165097692214770918'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/this-post-is-trade-secret.html' title='This post is a trade secret'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R-FGMSeNHaI/AAAAAAAAACk/X1NZgE06zmE/s72-c/epicfailure.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2681876569354112995</id><published>2008-03-13T16:39:00.004-04:00</published><updated>2008-03-13T16:49:06.444-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bush'/><category scheme='http://www.blogger.com/atom/ns#' term='terrorism'/><category scheme='http://www.blogger.com/atom/ns#' term='piracy'/><category scheme='http://www.blogger.com/atom/ns#' term='net neutrality'/><category scheme='http://www.blogger.com/atom/ns#' term='mpaa'/><title type='text'>Weapons of Mass Piracy</title><content type='html'>The MPAA today weighed in on net neutrality. Think about everything the MPAA has done in the last five years, and then guess how they came out on it. If you guessed "the way nobody likes", good call. &lt;a href="http://opinion.latimes.com/bitplayer/2008/03/mpaa-clarifies.html"&gt;From Glickman himself&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;Government regulation of the Internet would impede our ability to respond to consumers in innovative ways, and it would impair the ability of broadband providers to address the serious and rampant piracy problems occurring over their networks today.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ah, there's the magic word. It would not be below the MPAA to blame global warming on the "&lt;a href="http://arstechnica.com/news.ars/post/20060505-6761.html"&gt;rampant piracy problems&lt;/a&gt;" facing the world. They're almost as bad as Bush with terrorists, which is a depressing analogy really. Terrorists are to Bush as piracy is to the MPAA: Bullshit they use to get away with whatever they want.&lt;br /&gt;&lt;br /&gt;This is my second negative blog post today; I need to find more positive sources of news.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-2681876569354112995?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2681876569354112995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2681876569354112995' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2681876569354112995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2681876569354112995'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/weapons-of-mass-piracy.html' title='Weapons of Mass Piracy'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4195815340919493115</id><published>2008-03-13T12:58:00.010-04:00</published><updated>2008-03-13T13:26:16.726-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='internet explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='w3c'/><category scheme='http://www.blogger.com/atom/ns#' term='xss'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft: Standards are for lesser companies</title><content type='html'>The W3C has been working on &lt;a href="http://www.w3.org/TR/access-control/"&gt;a draft&lt;/a&gt; for supporting safe &lt;a href="http://en.wikipedia.org/wiki/Cross-site_scripting"&gt;XSS&lt;/a&gt; requests. It's currently a working draft, so they're encouraging comments and criticism on the design; that's the whole idea behind publishing the working draft. Firefox 3 &lt;a href="http://developer.mozilla.org/en/docs/Cross-Site_XMLHttpRequest"&gt;implements the draft&lt;/a&gt; as it currently exists. While I think implementing drafts is a somewhat bad idea, Firefox 3 is in beta, and Firefox's automatic update mechanism means they can make any changes that come up in the draft. &lt;br /&gt;&lt;br /&gt;Did Microsoft implement the draft? Or, even better, did they just wait? Or, God forbid, did they take their ideas and contribute them to the W3C draft? Hell no they didn't, waiting and contributing to the community is for "the other guys". They implemented &lt;a href="http://msdn2.microsoft.com/en-us/library/cc288060(VS.85).aspx"&gt;their own mechanism&lt;/a&gt;. How very precedented, Microsoft. They just couldn't fucking help themselves, they had to do it. So once the W3C draft is finalized, everyone else will implement it, IE will have its own way, and web developers will have to write functions that use both methods. Soon fun libraries will come out that handle all the browser differences for us so we don't need to bother. Libraries that &lt;b&gt;needn't have ever existed at all&lt;/b&gt;. &lt;a href="http://apcmag.com/8368/microsoft_hears_our_prayers_on_ie8_standards_compliance"&gt;Pledge to conform to web standards&lt;/a&gt; indeed.&lt;br /&gt;&lt;br /&gt;This question occurred to me once, and I still don't have the answer, so if somebody does comment or something. Why does Microsoft still make Internet Explorer? They don't make money from it, they were forced to start distributing it for free ages ago. They get in trouble for antitrust stuff because of it all the time. Every web developer alive hates them because of IE. They'll probably never get it right. What's the point? Why not just distribute Firefox or some other browser instead, and stop making a custom browser?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4195815340919493115?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4195815340919493115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4195815340919493115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4195815340919493115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4195815340919493115'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/microsoft-standards-are-for-lesser.html' title='Microsoft: Standards are for lesser companies'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1155617858913299047</id><published>2008-03-11T18:20:00.001-04:00</published><updated>2008-03-11T18:23:10.864-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='title'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>random.choice(['Clever','Not so much'])</title><content type='html'>Apparently there are &lt;a href="http://tomayko.com/writings/your-clever-weblog-title"&gt;rules to having a clever blog title&lt;/a&gt;. Fortunately, I have avoided public reprimand by&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Not attempting to be clever with my blog title&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Having no readers&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Take that interweb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1155617858913299047?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1155617858913299047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1155617858913299047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1155617858913299047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1155617858913299047'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/randomchoiceclevernot-so-much.html' title='random.choice([&apos;Clever&apos;,&apos;Not so much&apos;])'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-2116536387333672124</id><published>2008-03-11T12:25:00.004-04:00</published><updated>2009-05-15T16:03:52.637-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='president'/><category scheme='http://www.blogger.com/atom/ns#' term='snl'/><category scheme='http://www.blogger.com/atom/ns#' term='gore'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>If Gore were President</title><content type='html'>This is a couple years old, but this is the first time I've seen it. Gore did an intro to SNL in 2006 where he talks about his presidency for the last 6 years, it's both hysterical and very depressing:&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://www.prettycrazed.com/gore_snl.mov" width=320 height=240 autostart="false"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Here's the &lt;a href="http://politicalhumor.about.com/od/algore/a/prezgoresnl.htm"&gt;transcript&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;br /&gt;AL GORE: "Good evening my fellow Americans. In 2000 when you overwhelmingly made the decision to elect me as your 43rd President, I knew the road ahead would be difficult. We have accomplished so much, yet challenges lie ahead.&lt;br /&gt;&lt;br /&gt;In the last six years, we have been able to stop global warming. No one could have predicted the negative results of this. Glaciers that once were melting are now on the attack. As you know, these renegade glaciers have already captured parts of upper Michigan and northern Maine. But I assure you, we will not let the glaciers win.&lt;br /&gt;&lt;br /&gt;Right now in the second week of May 2006, we are facing perhaps the worst gas crisis in history. We have way too much gasoline! Gas is down to nineteen cents a gallon and the oil companies are hurting. I know that I am partly to blame, by insisting that cars run on trash.&lt;br /&gt;&lt;br /&gt;I am therefore proposing a Federal bail-out to our oil companies because hey, if it were the other way around, you know the oil companies would help us.&lt;br /&gt;&lt;br /&gt;On a positive note, we worked hard to save welfare, fix Social Security, and of course, provide the free universal health care we all enjoy today. But all this came at a high cost. As I speak, the gigantic National Budget Surplus is down to a perilously low 11 trillion dollars. And don't get any ideas. That money is staying in the very successful lock box. We're not touching it. Of course, we could give economic aid to China or lend money to the Saudis again, but right now we are already so loved by everyone in the world that American tourists can't even go over to Europe anymore without getting hugged.&lt;br /&gt;&lt;br /&gt;There are some of you would like to spend our money on some made-up war. To you I say, "what part of lockbox don't you understand?" What if there's a hurricane or a tornado? Unlikely I know, because of the anti-hurricane and tornado machine I was instrumental in helping to develop…but what if? What if the scientists are right and one of those giant glaciers hits Boston? That's why we have the lockbox.&lt;br /&gt;&lt;br /&gt;As for immigration, solving that came at a heavy cost, and I personally regret the loss of California. However, the new Mexifornian economy is strong and El Presidente Schwarzenegger is doing a great job.&lt;br /&gt;&lt;br /&gt;There have been some setbacks. Unfortunately, the confirmation process for Supreme Court Justice Michael Moore was bitter and divisive. However, I could not be more proud of how the House and Senate pulled together to confirm the nomination of Chief Justice George Clooney.&lt;br /&gt;&lt;br /&gt;Baseball, our national pastime, still lies under the shadow of steroid accusations. But I have faith in Baseball Commissioner George W. Bush when he says, "we will find the steroid users if we have to tap every phone in America."&lt;br /&gt;&lt;br /&gt;In 2001, when I came into office, our national security was the most important issue. The threat of terrorism was real. Who knew that six years later, Afghanistan would be the most popular spring break destination, or that Six Flags Tehran is the fastest growing amusement park in the Middle East, and the scariest thing we Americas have to fear is … Live From New York, It's Saturday Night!"&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/7090003-2116536387333672124?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/2116536387333672124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=2116536387333672124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2116536387333672124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/2116536387333672124'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/if-gore-were-president.html' title='If Gore were President'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-7759706512184368965</id><published>2008-03-08T16:35:00.004-05:00</published><updated>2008-03-20T11:23:51.061-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='counterfeit'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>I counterfeited Vista. Apparently</title><content type='html'>It occurred to me today that I pretty much never update Vista, so I ran Windows Update. It found 40-some updates, so I told it to go crazy and install them all. I live on the edge like that. So then I restart, and get this:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R9MHjCeNHWI/AAAAAAAAACE/OZ_o8mx4jPQ/s320/vista+counterfeit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5175488695319207266" /&gt;&lt;br /&gt;&lt;br /&gt;A victim? Me? Damn the people I got Vista from! (I got Vista directly from Microsoft). I have no idea why it decided I stole Vista, but I click the resolve link, and it takes me directly to:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/R9MIWyeNHXI/AAAAAAAAACM/gOc1sjLBw6U/s320/validation_complete.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5175489584377437554" /&gt;&lt;br /&gt;&lt;br /&gt;Er. OK then. I restarted, and everything was back to normal. So I have no idea why Microsoft decided I stole Vista, but at least they changed their minds pretty fast. I'm more confused why they decided to punish me by disabling, of all the features Vista has that I would need for day-to-day functionality, Aero. You stole Vista? No fancy graphics for you! Carry on with everything else though.&lt;br /&gt;&lt;br /&gt;EDIT: I randomly discovered that this is apparently called "&lt;a href="http://support.microsoft.com/kb/925582"&gt;Reduced Functionality Mode&lt;/a&gt;", otherwise known as the "kill switch", and it will log you out after an hour, so apparently there were additional punishments in store had the resolution process not worked. Which is good, since more than one person told me the speed gain I got from having Aero off was probably the opposite of a punishment. It appears Microsoft has &lt;a href="http://www.informationweek.com/news/showArticle.jhtml?articleID=204700436"&gt;gotten rid of this in SP1&lt;/a&gt;, probably because it's unnecessary when users &lt;a href="http://itnews.com.au/News/72401,windows-vista-sp1-wreaks-havoc-on-some-pcs-users-complain.aspx"&gt;can't boot anymore&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-7759706512184368965?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/7759706512184368965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=7759706512184368965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7759706512184368965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7759706512184368965'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/i-counterfeited-vista-apparently.html' title='I counterfeited Vista. Apparently'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R9MHjCeNHWI/AAAAAAAAACE/OZ_o8mx4jPQ/s72-c/vista+counterfeit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1865322930593681211</id><published>2008-03-07T13:47:00.002-05:00</published><updated>2008-03-07T13:49:30.170-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Just Fucking Google It</title><content type='html'>This is awesome, there's a site you link people to when they ask you stupid questions called &lt;a href="http://www.justfuckinggoogleit.com/"&gt;Just Fucking Google It&lt;/a&gt;. People ask me questions all the time about things I know nothing about, and usually I google it, click the first search result, and send them the URL without even looking at the page, and usually it helps. I actually considered writing a script to automate the process for me, but I think I'm just going to send them this link instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1865322930593681211?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1865322930593681211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1865322930593681211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1865322930593681211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1865322930593681211'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/just-fucking-google-it.html' title='Just Fucking Google It'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-20066686747690080</id><published>2008-03-06T23:12:00.007-05:00</published><updated>2009-01-09T12:43:45.985-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='injection'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Escaping quotes in SQL</title><content type='html'>You may have made this mistake in the past:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;SELECT * FROM table WHERE row=$search&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Silly you. See, what you should have done is escape the search parameter. To do that, you. . . I'm just kidding. This isn't really a blog post about how to escape quotes in SQL, or about how prepared statements are good. However, it does seem to be some sort of rite of passage that every technology-related blog must at some point post about the dangers of SQL injection, and when they do so they must pretend like they're breaking the news for the first time. We've known about SQL injection since about ten seconds after somebody exploited it the first time. When I said you "may have made this mistake in the past", by "past" I meant at least 5 years ago, and yet I constantly stumble across more and more blog posts warning about the dangers of taking raw user input and feeding it directly to your database. Can we all just agree as programmers that we all now know about this, and there's no need to continue informing each other?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://xkcd.com/327/"&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/R9SVHCeNHZI/AAAAAAAAACc/J1c5SmS6JY4/s1600/exploits_of_a_mom.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5175925819910725010" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-20066686747690080?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/20066686747690080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=20066686747690080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/20066686747690080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/20066686747690080'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/escaping-quotes-in-sql.html' title='Escaping quotes in SQL'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R9SVHCeNHZI/AAAAAAAAACc/J1c5SmS6JY4/s72-c/exploits_of_a_mom.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8916310419292230027</id><published>2008-03-06T11:48:00.004-05:00</published><updated>2008-03-06T11:58:01.064-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Microsoft giveth and Microsoft taketh away</title><content type='html'>Suddenly so many problems I've had with my home network are explained: &lt;a href="http://www.labnol.org/software/tutorials/blank-windows-password-secure-computer-internet-attacks/2517/"&gt;XP accounts with blank passwords can't be used over the network&lt;/a&gt;. I hereby award Microsoft 1 point for enabling this feature that will increase your security assuming you have no firewall or router and are still stupid enough to have no password, and deduct 1000 points for all of the networking problems I've had everytime I try to access one of my family's computers that doesn't use a password. Apparently my assumption that setting the account to allow remote access meant the account allows remote access was foolish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8916310419292230027?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8916310419292230027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8916310419292230027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8916310419292230027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8916310419292230027'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/microsoft-giveth-and-microsoft-taketh.html' title='Microsoft giveth and Microsoft taketh away'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4009404621239970542</id><published>2008-03-05T21:07:00.009-05:00</published><updated>2008-03-05T21:30:08.562-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tkinter'/><category scheme='http://www.blogger.com/atom/ns#' term='wxwidgets'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='dialog'/><title type='text'>WTF Tkinter?</title><content type='html'>I'm learning Python for my programming paradigms class. I've used Python before for scripting stuff, but I've never done anything with the graphics part of it, and the first assignment was to make an animation using it. I have a help dialog in my program, which I wrote in &lt;a href="http://www.wxwidgets.org/"&gt;wxWidgets&lt;/a&gt;. It looks like this:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://1.bp.blogspot.com/_8ZQnluQOl7o/R89T2w-4P3I/AAAAAAAAABk/83gWPqkVeCo/s320/dialog-wx.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174446697198665586" /&gt;&lt;br /&gt;&lt;br /&gt;Oooo. The green border is my theme, btw. So, it turns out Windows doesn't have wxWidgets by default, so if the program can't find wx, it will use &lt;a href="http://wiki.python.org/moin/TkInter"&gt;Tkinter&lt;/a&gt; instead. That dialog looks like this:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R89UXQ-4P4I/AAAAAAAAABs/8RhAvDj5Luo/s320/dialog-tk.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174447255544414082" /&gt;&lt;br /&gt;&lt;br /&gt;Tkinter -- &lt;b&gt;for shame&lt;/b&gt;! WTF? The same problem comes up in Java, the default Java L&amp;F is really ugly, so then people tend to think Java programs as a whole are ugly. That is seriously the worst dialog I have ever seen; you really can't get the full effect in this thumbnail version of it, but the text in the actual dialog is all pixelated like somebody took the thumbnail version from above and magnified it to be a normal dialog size. Here's a crop of the &lt;a href="http://3.bp.blogspot.com/_8ZQnluQOl7o/R89UXQ-4P4I/AAAAAAAAABs/8RhAvDj5Luo/s1600/dialog-tk.png"&gt;full-size dialog&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R89WkQ-4P6I/AAAAAAAAAB8/j0kovo__7ZQ/s320/dialog-tk-crop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174449677905969058" /&gt;&lt;br /&gt;&lt;br /&gt;I'm tempted to not offer help at all if the system doesn't have wxWidgets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4009404621239970542?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4009404621239970542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4009404621239970542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4009404621239970542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4009404621239970542'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/wtf-tkinter.html' title='WTF Tkinter?'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R89T2w-4P3I/AAAAAAAAABk/83gWPqkVeCo/s72-c/dialog-wx.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-388187302891043991</id><published>2008-03-05T20:24:00.002-05:00</published><updated>2008-03-05T20:27:35.243-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='absentee'/><category scheme='http://www.blogger.com/atom/ns#' term='primaries'/><category scheme='http://www.blogger.com/atom/ns#' term='election'/><title type='text'>Every vote counts, even after the election</title><content type='html'>Thanks to the fine folks at the Board of Elections, I received my absentee ballot today. March 5th. Now I can vote and ensure Hillary doesn't....wait, what? What the hell do you mean she already took my state yesterday? Well shit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-388187302891043991?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/388187302891043991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=388187302891043991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/388187302891043991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/388187302891043991'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/every-vote-counts-even-after-election.html' title='Every vote counts, even after the election'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3122954593150625025</id><published>2008-03-05T04:12:00.000-05:00</published><updated>2008-03-05T04:12:40.764-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='primaries'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Democrats and our primary</title><content type='html'>Between blogs and listening to the news I've heard more than one Republican make fun of the Democrats because they've had their "presumptive nominee" figured out for a while now and we're still working on it, as though somehow they accomplished this through superior strategizing or something. I'd just like to apologize on behalf of Democrats everywhere for having two candidates the people mistakenly think are qualified to be President instead of your one. Your guy won by default, his main competitor was the guy who thought Guantanamo was awesome and should be doubled in size, and after him the guy who thought &lt;a href="http://rawstory.com/news/2008/Huckabee_at_Falwells_Chuch_Ten_Commandmants_0211.html"&gt;the only laws we need are the 10 commandments&lt;/a&gt;. For the picture-oriented readers, your guy's main competitor was the green line on &lt;a href="http://mightywombat.com/oldtoon.php?year=2008&amp;id=384"&gt;this graph&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/R85hEQ-4P2I/AAAAAAAAABc/MMPPlQ7cF-k/s320/candidate+fear.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5174179747801349986" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3122954593150625025?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3122954593150625025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3122954593150625025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3122954593150625025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3122954593150625025'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/democrats-and-our-primary.html' title='Democrats and our primary'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R85hEQ-4P2I/AAAAAAAAABc/MMPPlQ7cF-k/s72-c/candidate+fear.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1681792403795601959</id><published>2008-03-02T16:40:00.004-05:00</published><updated>2008-03-03T14:48:09.645-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='weather'/><category scheme='http://www.blogger.com/atom/ns#' term='family'/><title type='text'>Weather Win</title><content type='html'>I was on break all last week, but I'm back in Indiana today. I have the weather for here and my hometown on my desktop:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/R8sfHVuNT-I/AAAAAAAAAAs/01JhkZv5z-I/s320/temperature_difference.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5173262807915646946" /&gt;&lt;br /&gt;&lt;br /&gt;Where I am now is on the left. Where my family is now is on the right. I'm feeling pretty good.&lt;br /&gt;&lt;br /&gt;EDIT: Well, I deserve this:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_8ZQnluQOl7o/R8xV5luNT_I/AAAAAAAAAA0/wfRzk4LkrY4/s320/temp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5173604519808684018" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1681792403795601959?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1681792403795601959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1681792403795601959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1681792403795601959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1681792403795601959'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/weather-win.html' title='Weather Win'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R8sfHVuNT-I/AAAAAAAAAAs/01JhkZv5z-I/s72-c/temperature_difference.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1845426995176863396</id><published>2008-03-01T22:48:00.000-05:00</published><updated>2008-03-01T22:49:39.834-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mkswap'/><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='swapon'/><category scheme='http://www.blogger.com/atom/ns#' term='swap'/><title type='text'>Dynamic Swap Space</title><content type='html'>Yet another reason why Linux is amazing. I'm pretty much out of RAM, and running out of swap space, because I'm a process whore and I have way too much stuff open. I don't want to permanently increase my swap space, just at the moment I need more, and I certainly don't want to restart to increase it, that kind of defeats the point.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;dd bs=512 count=1M if=/dev/zero of=/tmp/swap&lt;br /&gt;mkswap /tmp/swap&lt;br /&gt;sudo swapon /tmp/swap.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Problem solved. I should've switched to Linux years ago.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1845426995176863396?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1845426995176863396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1845426995176863396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1845426995176863396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1845426995176863396'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/dynamic-swap-space.html' title='Dynamic Swap Space'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-8319511382251650907</id><published>2008-03-01T11:39:00.008-05:00</published><updated>2008-03-08T14:54:58.059-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bush'/><category scheme='http://www.blogger.com/atom/ns#' term='obama'/><category scheme='http://www.blogger.com/atom/ns#' term='gas'/><category scheme='http://www.blogger.com/atom/ns#' term='iraq'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Bush depresses electorate - Part 1 of 97</title><content type='html'>Apparently at a news conference yesterday, someone mentioned to Bush that analysts predict $4/gallon gas, to which he responded: &lt;a href="http://seattletimes.nwsource.com/html/politics/2004250068_bush29.html"&gt;"Oh, yeah? That's interesting. I hadn't heard that."&lt;/a&gt; I'm actually not surprised that Bush was unaware of this, considering he seems unaware of most things; I'm more surprised at our surprise that he's surprised. I for one find this to be a fairly standard Bush reaction, so I'm not sure why people are shocked. If he ever turns around and decides we shouldn't be in Iraq after all, he could probably manage to convince the country he's so out of touch he &lt;b&gt;didn't realize we're still there&lt;/b&gt;. I have no trouble picturing Bush saying "What do you mean, pull out of Iraq? I thought we did that months ago!"&lt;br /&gt;&lt;br /&gt;I find these quotes more interesting. I've elided the actual name from both of them:&lt;br /&gt;&lt;dl&gt;&lt;dd&gt;"Bush waded into presidential politics, criticizing the Democratic contenders for their positions on free trade and taking particular aim at ______________ . . ."&lt;/dd&gt;&lt;br /&gt;&lt;dd&gt;"He reserved his harshest comments for ______________'s recent statement . . ."&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;Now, it's the same name that goes in both blanks, and you can probably guess which one it is. Obama should seriously run an ad where he says "Vote for Obama: I'm the one Bush doesn't like"&lt;br /&gt;&lt;br /&gt;EDIT: Jon Stewart made fun of the first thing on the Daily Show:&lt;br /&gt;&lt;br /&gt;&lt;embed FlashVars='videoId=163572' src='http://www.thedailyshow.com/sitewide/video_player/view/default/swf.jhtml' quality='high' bgcolor='#cccccc' width='332' height='316' name='comedy_central_player' align='middle' allowScriptAccess='always' allownetworking='external' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-8319511382251650907?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/8319511382251650907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=8319511382251650907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8319511382251650907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/8319511382251650907'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/bush-depresses-electorate-part-1-of-97.html' title='Bush depresses electorate - Part 1 of 97'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-559186077364479417</id><published>2008-03-01T00:43:00.004-05:00</published><updated>2008-03-01T00:52:39.231-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='peeps'/><category scheme='http://www.blogger.com/atom/ns#' term='allie'/><title type='text'>Peep Diorama</title><content type='html'>This is my girlfriend's submission for the Washington Post &lt;a href="http://www.washingtonpost.com/wp-dyn/content/photo/2008/02/27/PH2008022701732.html"&gt;Peep Diorama Contest&lt;/a&gt;, "&lt;b&gt;Give Peeps A Chance&lt;/b&gt;":&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rose-hulman.edu/~terrelav/Give%20Peeps%20A%20Chance.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_8ZQnluQOl7o/R8juWFuNT8I/AAAAAAAAAAc/jSBQgo0exdA/s320/Give+Peeps+A+Chance+(small).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5172646235295535042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That's pretty much the greatest thing ever :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-559186077364479417?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/559186077364479417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=559186077364479417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/559186077364479417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/559186077364479417'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/03/peep-diorama.html' title='Peep Diorama'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R8juWFuNT8I/AAAAAAAAAAc/jSBQgo0exdA/s72-c/Give+Peeps+A+Chance+(small).png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-7325174747825765556</id><published>2008-02-29T12:05:00.021-05:00</published><updated>2009-02-10T10:22:51.660-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patents'/><category scheme='http://www.blogger.com/atom/ns#' term='multitouch'/><category scheme='http://www.blogger.com/atom/ns#' term='fingerworks'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>I multitouched your mom</title><content type='html'>I'm going to find Apple, and I'm going to shoot them in the face. No, seriously. Not because I hate their OS, I've grown to accept that. This is because of what they've done to multitouch. &lt;a href="http://en.wikipedia.org/wiki/Multi-touch"&gt;Multitouch&lt;/a&gt; is just about the greatest thing ever, and sadly before Apple got involved nobody had heard of it. If you don't know what multitouch is, I'll use the now-canonical example of the iPhone, although ironically the iPhone uses almost none of multitouch's capabilities. If you're in the map view of the iPhone, and you put two fingers on the display and "pinch" them together, the map will zoom in. Oooo. Basically, multitouch is the ability for a touchscreen to recognize multiple fingers and react to their movements.&lt;br /&gt;&lt;br /&gt;I first discovered multitouch years and years ago, probably close to a decade now. It was a small company called &lt;a href="http://www.fingerworks.com/"&gt;Fingerworks&lt;/a&gt;, and they manufactured the iGesture Pad:&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_8ZQnluQOl7o/R8g--1uNT7I/AAAAAAAAAAU/3pA_qwo4wyA/s320/igesture_pad.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5172453421328715698" /&gt;&lt;br /&gt;&lt;br /&gt;It's a big multitouch pad that accepts any combination of 5 fingers, either spread apart or together. You can move in different directions, rotate your hand in different ways, spread or collapse your fingers, basically tons and tons of different gestures, and each one can do a different thing. Look at that sexy, sexy device. You want one, don't you? Well, you can't have one. Because Fingerworks is out of business. I live in fear of the day my iGesture Pad breaks, because I'll have considerable trouble replacing it. If you clicked that link I had to them earlier, you know that "FingerWorks has ceased operations as a business". Why? That's what we (I believe the accepted term is "fingerfans") all asked. Just one day, probably 5 years ago now, they were gone. Finally, rumors started circulating that Apple had bought them out.&lt;br /&gt;&lt;br /&gt;At first, I thought this might be good news. As I mentioned earlier, nobody had really heard of multitouch except its small group of fans, although &lt;a href="http://www.youtube.com/watch?v=EiS-W9aeG0s"&gt;demonstrations&lt;/a&gt; by people like &lt;a href="http://en.wikipedia.org/wiki/Jeff_Han"&gt;Jeff Han&lt;/a&gt; led to it being rediscovered all over again by a much larger audience who think the technology was invented two years ago. Nonetheless, Fingerworks was struggling as a business, and I figured with Apple marketing their products and improving them, multitouch was going to explode. Oh, silly me. For ages, nothing happened. And we fingerfans were confused. Then the iPhone came out, and its Fingerworks roots were obvious. Sure, now it's a display instead of a simple pad, but it's the same technology, only way suckier. Worse, Apple keeps filing for patents for stuff like, for example, the &lt;a href="http://www.wired.com/gadgets/miscellaneous/news/2008/02/multitouch_patents"&gt;pinch gesture&lt;/a&gt; for zooming. Instead of innovating, they've spent years doing nothing but making sure nobody else can innovate either.&lt;br /&gt;&lt;br /&gt;What probably annoys me most is most people don't even realize Apple is doing this. People think Apple invented the technology, or damn close. Quotes like "the iPhone is arguably the first mainstream gadget to successfully implement a set of concrete touch gestures and link them to specific functions" from that Wired article drive me crazy. Apple didn't come up with this at all; they basically stole it from Fingerworks, crushed the company, and then did nothing with the technology but let it sit there. If they don't want to do anything with it, that's fine, but they're blocking everyone else from doing anything either. Multitouch should be huge by now, but instead it's remained stuck for the last 5 years, and Apple is at least partly to blame. The Fingerworks people (who work -- "work" -- at Apple now) probably hate themselves.&lt;br /&gt;&lt;br /&gt;As an aside, I tried to look up the wikipedia article on Fingerworks, which used to exist. Now it just links to the article on Apple. Not cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-7325174747825765556?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/7325174747825765556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=7325174747825765556' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7325174747825765556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/7325174747825765556'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/i-multitouched-your-mom.html' title='I multitouched your mom'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R8g--1uNT7I/AAAAAAAAAAU/3pA_qwo4wyA/s72-c/igesture_pad.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3750749049902263553</id><published>2008-02-28T18:38:00.000-05:00</published><updated>2008-02-28T18:39:46.926-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quote'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><title type='text'>Rails and Macs</title><content type='html'>"when you're using Rails and OS X, you're using the platform of choice for douchebags."&lt;br /&gt;-- &lt;a href="http://www.codinghorror.com/blog/archives/001065.html"&gt;http://www.codinghorror.com/blog/archives/001065.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh, how very true :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3750749049902263553?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3750749049902263553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3750749049902263553' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3750749049902263553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3750749049902263553'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/rails-and-macs.html' title='Rails and Macs'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-3074602676751143576</id><published>2008-02-28T00:21:00.004-05:00</published><updated>2008-02-28T00:29:04.719-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='renice'/><title type='text'>Renice goes to my head</title><content type='html'>I find myself using &lt;b&gt;renice&lt;/b&gt; more and more. If you don't know, it lets you change the scheduling priority of a process that's currently running, anywhere from -20 (highest) to 20 (lowest). Processes all start at 0. So if firefox is starting to take the entire processor (as it has been known to do), i renice it to 10 or so. And then I laugh as my computer speeds up and firefox cries. I've tried taking the opposite approach and changing it to -10 to see if it stops lagging. But it doesn't, it just makes the rest of my computer lag too. So no more chances, firefox. Maybe if a process pleased me I might bump it up, but I doubt it, I'm too busy punishing firefox. Renice is far too much power, I don't think I can handle it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-3074602676751143576?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/3074602676751143576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=3074602676751143576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3074602676751143576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/3074602676751143576'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/renice-goes-to-my-head.html' title='Renice goes to my head'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4609430721264653663</id><published>2008-02-27T22:50:00.003-05:00</published><updated>2008-03-06T14:40:19.282-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cups'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Printing PDFs</title><content type='html'>When I posted my screenshot script I thought of a similar script, which also implements functionality I didn't like. The standard CUPS PDF printer prints to a fixed directory (~/PDF in my case) instead of prompting where you'd like to save it. This annoyed me, so I looked around and discovered the PDF driver's configuration file (/etc/cups/cups-pdf.conf if you use Ubuntu like me) has a directive named &lt;b&gt;PostProcessing&lt;/b&gt;. If you set PostProcessing to a script's path, it will run the script after printing the PDF, passing it the printed PDF's filename and the name of the user that printed it. I have mine point to a script I wrote that offers similar functionality as the screenshot script, showing a gnome alert with options to open the PDF or move it somewhere else. Again, I don't write my scripts to be used on other machines, so certain things (like the Adobe Reader icon on line 10) probably won't work for you:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;pdf=$1&lt;br /&gt;username=$2&lt;br /&gt;action=${3:-"default"}&lt;br /&gt;&lt;br /&gt;export DISPLAY=:0.0&lt;br /&gt;&lt;br /&gt;case $action in&lt;br /&gt;default)&lt;br /&gt; notify-more -u low -t 10000 -i /opt/Adobe/Reader8/Resource/Icons/32x32/adobe.pdf.png -n "Open" -x "gnome-open \"$pdf\"" -n "Move" -x "$0 \"$pdf\" \"$username\" move" "PDF Printed" "PDF printed to &lt;b&gt;$pdf&lt;/b&gt;" -n "Clipboard" -x "echo -n $pdf | xsel -i -b";;&lt;br /&gt;&lt;br /&gt;move)&lt;br /&gt; dest=`zenity --file-selection --title "Save PDF" --save --confirm-overwrite`&lt;br /&gt;&lt;br /&gt; if [ "$dest" ]; then&lt;br /&gt;  mv "$pdf" "$dest"&lt;br /&gt;  if [ -e "$dest" ]; then&lt;br /&gt;   notify-more -u low -t 5000 -i /usr/share/icons/gnome/32x32/actions/gtk-paste.png "PDF Saved" "PDF saved to &lt;b&gt;$dest&lt;/b&gt;" -n "Open" -x "gnome-open \"$dest\"" -n "Clipboard" -x "echo -n $dest | xsel -i -b"&lt;br /&gt;  else&lt;br /&gt;   notify-more -u high -t 5000 -i /usr/share/icons/gnome/32x32/emblems/stock_mail-priority-high.png "Save Failed" "Unable to move PDF. The original is stored at &lt;b&gt;$pdf&lt;/b&gt;"&lt;br /&gt;  fi&lt;br /&gt; fi;;&lt;br /&gt;esac&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4609430721264653663?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4609430721264653663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4609430721264653663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4609430721264653663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4609430721264653663'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/printing-pdfs.html' title='Printing PDFs'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-6294708301840251376</id><published>2008-02-27T22:35:00.006-05:00</published><updated>2008-03-01T11:10:57.701-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='zenity'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='screenshot'/><category scheme='http://www.blogger.com/atom/ns#' term='notify'/><title type='text'>Screenshots</title><content type='html'>I've just discovered the most fun command ever:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;vncviewer 127.0.0.1&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I let my computer recursively explode for a minute before I closed it. I tried to get a screenshot, but I couldn't get my computer to do much until I closed vnc. Speaking of screenshots, however, I figured I'd post my screenshot script. I tried a bunch of different screenshot programs and pretty much hated all of them, so I ended up writing a script that uses &lt;a href="http://www.imagemagick.org/script/index.php"&gt;ImageMagick&lt;/a&gt;'s &lt;a href="http://www.imagemagick.org/script/import.php"&gt;import&lt;/a&gt; tool. It depends on two other programs that I use fairly often and really like.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://freshmeat.net/projects/zenity"&gt;Zenity&lt;/a&gt; is like a really good version of the standard dialog command. It can show all the same types of dialogs, like calendars and progress bars and whatnot, but they're the standard GTK dialogs so they look good. Most of the time the only dialog type I use is file-selection, which is what the screenshot script uses; I tend to use libnotify to display other types of alerts instead of zenity's info dialogs&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://blog.technomancy.org/category/notify-more/"&gt;Notify-more&lt;/a&gt; is a python script that uses PyNotify, the python interface to gnome's standard libnotify. Libnotify comes with a command-line tool to access it (notify-send), and notify-more intentionally mirrors it's syntax so you can use them fairly interchangably, but notify-more provides several other features, like the pie display to show when the notification will timeout and buttons that launch commands.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Here's the screenshot script itself. I don't generally write my scripts to be used elsewhere, so it might not be particularly cross-platform. I have PrntScrn bound to launch &lt;b&gt;screenshot root&lt;/b&gt;, and Alt+PrntScrn to &lt;b&gt;screenshot window&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;action=${1:-"default"}&lt;br /&gt;&lt;br /&gt;case $action in&lt;br /&gt;root|window)&lt;br /&gt; echo -n Touching temporary file...&lt;br /&gt; filename=`mktemp /tmp/screenshotXXXX`;&lt;br /&gt; echo done&lt;br /&gt; &lt;br /&gt; if [ $action == root ]; then&lt;br /&gt;  echo -n Capturing root X window...&lt;br /&gt;  import -frame -window root png:$filename&lt;br /&gt;  echo done&lt;br /&gt;  printText="Captured &lt;b&gt;root&lt;/b&gt; window into &lt;b&gt;$filename&lt;/b&gt;"&lt;br /&gt; else&lt;br /&gt;  echo -n Determining window ID...&lt;br /&gt;  windowID=`xdpyinfo | awk '/focus/ {print $3}' | sed s/,//`&lt;br /&gt;  echo $windowID&lt;br /&gt;&lt;br /&gt;  echo -n Capturing window...&lt;br /&gt;  import -frame -window $windowID png:$filename&lt;br /&gt;  echo done&lt;br /&gt;  printText="Captured window &lt;b&gt;$windowID&lt;/b&gt; into &lt;b&gt;$filename&lt;/b&gt;"&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt; notify-more -u low -t 5000 -i /usr/share/icons/gnome/32x32/devices/video-display.png "Screenshot" "$printText" -n "Open" -x "eog \"$filename\"" -n "Save" -x "$0 save \"$filename\"" -n "GIMP" -x "gimp \"$filename\"";;&lt;br /&gt;&lt;br /&gt;save)&lt;br /&gt; filename=$2&lt;br /&gt; &lt;br /&gt; if [ "$filename" ]; then&lt;br /&gt;  echo -n Getting destination...&lt;br /&gt;  newfile=`zenity --file-selection --title "Save Screenshot" --save --confirm-overwrite`&lt;br /&gt;  echo done&lt;br /&gt;&lt;br /&gt;  if [ "$newfile" ]; then&lt;br /&gt;   echo -n Moving screenshot to $newfile...&lt;br /&gt;   mv "$filename" "$newfile"&lt;br /&gt;   echo done&lt;br /&gt; &lt;br /&gt;   notify-more -u low -t 5000 -i /usr/share/icons/gnome/32x32/devices/video-display.png "Screenshot" "Screenshot saved to &lt;b&gt;$newfile&lt;/b&gt;" -n "Open" -x "eog \"$newfile\"" -n "GIMP" -x "gimp \"$newfile\""&lt;br /&gt;  fi&lt;br /&gt; fi;;&lt;br /&gt;esac&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-6294708301840251376?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/6294708301840251376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=6294708301840251376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6294708301840251376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/6294708301840251376'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/screenshots.html' title='Screenshots'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1355624252606787047</id><published>2008-02-27T21:57:00.003-05:00</published><updated>2008-02-27T22:25:16.719-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='afs'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Daemons wear the pants in our relationship</title><content type='html'>When I try to use AFS over the internet, I occasionally lose the connection. No problem, I think, I'll just reload it:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;% /etc/init.d/openafs-client reload&lt;br /&gt;Stopping AFS services:afsd: Shutting down all afs processes and afs state&lt;br /&gt;afsd: AFS still mounted; Not shutting down&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Well, damn. Pretty sure nothing is using it, but hope is not lost, there's a force-reload command too. As in, to force it to reload.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;% /etc/init.d/openafs-client force-reload&lt;br /&gt;Stopping AFS services:afsd: Shutting down all afs processes and afs state&lt;br /&gt;afsd: AFS still mounted; Not shutting down&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;AFS just told me to go to hell, and there's pretty much nothing I can do about it. I never need to unmount it if I try to stop the daemon while still connected, but I'll listen to the error message and try unmounting it's folder instead:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;% umount /afs&lt;br /&gt;umount: /afs: device is busy&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Just for giggles, let's force that too:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;% umount -f /afs&lt;br /&gt;umount2: Device or resource busy&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Yeah, totally didn't see that coming. What is the point of having force options if they &lt;b&gt;never work&lt;/b&gt;? Somebody finally told me about umount -l, which detaches the filesystem but doesn't actually clean up references to it, which is generally considered a bad idea but actually works, unlike all the approved mechanisms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1355624252606787047?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1355624252606787047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1355624252606787047' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1355624252606787047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1355624252606787047'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/daemons-wear-pants-in-our-relationship.html' title='Daemons wear the pants in our relationship'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-4643663517769143831</id><published>2008-02-27T20:19:00.017-05:00</published><updated>2008-03-01T00:59:19.928-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compiz'/><category scheme='http://www.blogger.com/atom/ns#' term='ripple'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='dbus'/><category scheme='http://www.blogger.com/atom/ns#' term='water'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Water ripple as demands_attention indicator</title><content type='html'>I came across an interesting effect for Pidgin (or anything else, really). It requires &lt;a href="http://compiz.org/"&gt;Compiz&lt;/a&gt;; specifically, it requires the &lt;a href="http://wiki.compiz-fusion.org/Plugins/Water"&gt;Water Effect&lt;/a&gt;  plugin. I'm also pretty sure it requires GNOME. It turns out compiz has a fantastic dbus interface, you can pretty much get, set or trigger anything using it (&lt;a href="http://wiki.compiz-fusion.org/Plugins/Dbus"&gt;more info&lt;/a&gt;). You can use any language with dbus bindings, but I prefer shell scripting when I can, so I use the included dbus-send program. To trigger the water effect, the command is:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/water/allscreens/point org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'`&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The backtick expression pulls the root window's ID, which all the compiz activation commands require. That command shows a water ripple in the middle of the screen. My goal was to make the Pidgin icon ripple when I got a new message, which I'd noticed in a youtube video once and liked. I found code that uses xwininfo to figure out the location of a gnome panel icon, and combined it with the dbus call to make the ripple effect around a panel icon:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;#WINFO=`xwininfo -root -tree | egrep ' (1[2-9]|2[0-4])x(1[2-9]|2[0-4])\+0\+0' | grep "$1" | cut -d ')' -f 2-`&lt;br /&gt;#This WINFO is faster to calculate, but depends on the icon being in the top panel&lt;br /&gt;WINFO=`xwininfo -root -tree -name "Top Expanded Edge Panel"| grep "$1" | cut -d ')' -f 2-`&lt;br /&gt;WIW=`echo $WINFO | cut -d 'x' -f 1`&lt;br /&gt;WIH=`echo $WINFO | cut -d 'x' -f 2 | cut -d '+' -f 1`&lt;br /&gt;WIX=`echo $WINFO | cut -d '+' -f 4`&lt;br /&gt;WIY=`echo $WINFO | cut -d '+' -f 5`&lt;br /&gt;let WAX=WIX+WIW/2&lt;br /&gt;let WAY=WIY+WIH/2&lt;br /&gt;&lt;br /&gt;dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/water/allscreens/point org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'` string:'amplitude' double:.1 string:'x' int32:$WAX string:'y' int32:$WAY&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All that's left is to call the script when a message comes in. The accepted way I found was to change Pidgin's sound settings, but I'd prefer to leave them the way they are. Instead, I wrote a Pidgin plugin (in Perl, because C makes me sad) that waits for the received-im-msg signal and calls the shell script:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;use Purple;&lt;br /&gt;&lt;br /&gt;%PLUGIN_INFO = (&lt;br /&gt; perl_api_version =&gt; 2,&lt;br /&gt; name =&gt; "Icon Ripple",&lt;br /&gt; version =&gt; "2.0.0",&lt;br /&gt; summary =&gt; "Shows water ripples around the Pidgin icon",&lt;br /&gt; description =&gt; "Shows water ripples (powered by the Compiz Water Effect plugin) around the Pidgin icon when a message is received",&lt;br /&gt; author =&gt; "Michael Mrozek &amp;lt;sysop073\@gmail.com&amp;gt;",&lt;br /&gt; url =&gt; "http://pidgin.im",&lt;br /&gt; load =&gt; "plugin_load"&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;sub plugin_init {return %PLUGIN_INFO;}&lt;br /&gt;&lt;br /&gt;sub plugin_load {&lt;br /&gt; my $plugin = shift;&lt;br /&gt; Purple::Signal::connect(Purple::Conversations::get_handle(), "received-im-msg", $plugin, \&amp;signal_msgin, "");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub signal_msgin { #(account, sender, message, conv, flags)&lt;br /&gt; system("/home/mrozekma/scripts/waterping","Pidgin");&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This has a side-effect that some may not like of showing the ripple on every received message, not just ones when the window is demanding attention. There's probably a way to change this in the plugin, but I prefer it that way so I haven't explored it.&lt;br /&gt;&lt;br /&gt;EDIT: I forgot that I took a screenshot of the ripple effect before I wrote this article, and never included it. It's not very good, but you can see the effect at least:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://1.bp.blogspot.com/_8ZQnluQOl7o/R8jweVuNT9I/AAAAAAAAAAk/oxv8aj7jpWA/s320/pidgin+water+ripple.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5172648576052711378" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-4643663517769143831?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/4643663517769143831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=4643663517769143831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4643663517769143831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/4643663517769143831'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/water-ripple-as-demands-attention.html' title='Water ripple as demands_attention indicator'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R8jweVuNT9I/AAAAAAAAAAk/oxv8aj7jpWA/s72-c/pidgin+water+ripple.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7090003.post-1062559030308973514</id><published>2008-02-27T10:10:00.005-05:00</published><updated>2008-02-27T13:47:04.678-05:00</updated><title type='text'>Hello</title><content type='html'>Apparently I had a blogger account forever ago, but never posted any entries, so &lt;a href="http://sniper506th.blogspot.com/"&gt;sniper506th&lt;/a&gt; told me I should. I renamed it "Things that amuse or depress me", which is only slightly better than the former "Mike's blog thingy", but not nearly as clever as "From My Brain To Your Computer". I miss my precious vJournal, but Blogger is by Google, so it's almost as good: &lt;img src="http://1.bp.blogspot.com/_8ZQnluQOl7o/R8WtOSksBvI/AAAAAAAAAAM/20R7Uw3Iax4/s320/eq.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5171730208120375026" /&gt;. I suspect this will just be a crosspost of all the things I put in my away messages, but if I get unlazy I might put other stuff in here too. It'll probably be mostly quotes that amuse me, CS/Linux stuff, and how I hate Republicans/Theists/Southerners if I run out of the first two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7090003-1062559030308973514?l=sysop073.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sysop073.blogspot.com/feeds/1062559030308973514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7090003&amp;postID=1062559030308973514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1062559030308973514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7090003/posts/default/1062559030308973514'/><link rel='alternate' type='text/html' href='http://sysop073.blogspot.com/2008/02/hello.html' title='Hello'/><author><name>Michael Mrozek</name><uri>http://www.blogger.com/profile/08593850922533973503</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/_8ZQnluQOl7o/R8WtOSksBvI/AAAAAAAAAAM/20R7Uw3Iax4/s72-c/eq.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
