<?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-22273042</id><updated>2011-12-09T12:34:49.993-08:00</updated><title type='text'>Planet Zorgnine</title><subtitle type='html'>I'm a recent Ph.D. from the University of Washington interested in Computer Vision and Computer Music. I sometimes write about these things, and sometimes not. My real name is not Zorgnine.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22273042.post-3907561815947551641</id><published>2011-11-15T10:57:00.001-08:00</published><updated>2011-11-15T11:22:35.712-08:00</updated><title type='text'>don't break the only way to do something</title><content type='html'>It is impossible to stay up-to-date with all of the blogs and news sites I read.&amp;nbsp; For infrequently-updated sites with a high percentage of good stuff, RSS solves the problem.&amp;nbsp; For frequently-updated sites with a lower percentage, it does not.&amp;nbsp; I don't want to sift through hundreds or thousands of articles manually each day.&lt;br /&gt;&lt;br /&gt;Up until a few weeks ago, I knew of exactly one solution to this problem: "sort by magic" in Google Reader, which sorted the RSS entries in my feed by, well, magic.&amp;nbsp; Unfortunately, Google's &lt;a href="http://www.forbes.com/sites/erikkain/2011/11/02/the-google-reader-redesign-is-an-ugly-lonely-user-experience/"&gt;much-maligned&lt;/a&gt; Reader update has killed the magic.&amp;nbsp; The "sort by magic" option is still there, but they should probably change its name to "sort by angry illiterate moose".&amp;nbsp; I used to see a nice mixture of posts from all of my followed sites, where posts from infrequently-updated sites usually showed up near the top, along with only the "best" posts from frequently-updated sites.&amp;nbsp; (I don't know what "best" means, but it seemed to do just fine.)&amp;nbsp; Now, I just see hundreds of posts from &lt;a href="http://techcrunch.com/"&gt;TechCrunch&lt;/a&gt;.&amp;nbsp; This is not magic.&lt;br /&gt;&lt;br /&gt;So, now I have zero solutions to this problem.&amp;nbsp; I can no longer&amp;nbsp;follow blogs like &lt;a href="http://marginalrevolution.com/"&gt;Marginal Revolution&lt;/a&gt; with several posts per day.&amp;nbsp; TechCrunch is out of the question.&lt;br /&gt;&lt;br /&gt;Any suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3907561815947551641?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3907561815947551641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3907561815947551641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3907561815947551641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3907561815947551641'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2011/11/dont-break-only-way-to-do-something.html' title='don&apos;t break the only way to do something'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-2628509593006399709</id><published>2011-10-30T22:45:00.000-07:00</published><updated>2011-11-18T09:45:51.682-08:00</updated><title type='text'>does playlist order matter?</title><content type='html'>Does playlist order matter?&amp;nbsp; Many people seem to think so (&lt;a href="http://en.wikipedia.org/wiki/Mix_tape#Aesthetics"&gt;see High Fidelity&lt;/a&gt;), but I remain unconvinced.&amp;nbsp; I was inspired to resolve this issue in my mind after seeing &lt;a href="http://cseweb.ucsd.edu/%7Ebmcfee/playlists/"&gt;a poster at ISMIR 2011&lt;/a&gt; evaluating several algorithms for automatic playlist generation.&amp;nbsp; It turns out that there's a &lt;a href="http://labrosa.ee.columbia.edu/projects/musicsim/aotm.html"&gt;free dataset&lt;/a&gt; containing around 30,000 actual user-created playlists, covering over 200,000 songs.&lt;br /&gt;&lt;br /&gt;What does it mean for playlist order to matter?&amp;nbsp; There are a few simple things we could look for:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Some pairs of songs should occur frequently in one order, but not the other.&lt;/li&gt;&lt;li&gt;Some pairs of songs should occur close together (in either order) more frequently than predicted by chance alone.&lt;/li&gt;&lt;/ol&gt;There's a problem with looking at pairs of songs, though: the above dataset contains over 47 billion possible song transitions and only 30,000 playlists, containing around 20 songs on average.&amp;nbsp; Possibly worse, only 9627 of the 545,867 pairs of consecutive songs (1.8%) appear more than once.&lt;br /&gt;To address this lack-of-common-pairs issue, we can think about modeling a playlist as a list of artists rather than a list of songs, as this should increase the amount of repetition.&amp;nbsp; Now, instead of counting the number of times Even Flow by Pearl Jam comes after Rusty Cage by Soundgarden, we count the number of times any Pearl Jam song comes after any Soundgarden song.&amp;nbsp; This ameliorates the problem somewhat, as there are 128,778 consecutive artist pairs (23.6%) that occur at least twice in the data set.&lt;br /&gt;&lt;br /&gt;Now, let's address #1: are there pairs of artists for which one is more likely to come first?&amp;nbsp; Here's a simple way to test this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;For each pair of artists, compute the probability that they appear in one order (say, Pearl Jam then Soundgarden) when they appear consecutively.&amp;nbsp; Then find the pairs of artists for which this probability is highest.&amp;nbsp; (It's necessary to use something akin to &lt;a href="http://www.thebroth.com/blog/118/bayesian-rating"&gt;Bayesian Rating&lt;/a&gt; here, to avoid pairs of artists that appear a few times in one direction and zero in the other.)&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;Randomly shuffle each playlist and recompute the probabilities, again looking at the highest-probability pairs.&amp;nbsp; Do this several times.&amp;nbsp; The highest probabilities you see will give you a good sense of what can happen based on chance alone, since there is obviously no meaningful order to the randomly shuffled playlists.&lt;br /&gt;&lt;br&gt; &lt;/li&gt;&lt;li&gt;Are there any pairs of artists with ordering probability higher than anything you saw when using the randomly shuffled playlists?&amp;nbsp; If so, we can say this pair of artists is likely to appear in one order over the other with some degree of significance.&lt;/li&gt;&lt;/ul&gt;It turns out that running this experiment yields no pair of artists that are significantly likely to appear in one order over the other.&amp;nbsp; There's still a possibility of some asymmetry, however &lt;span class="st"&gt;— maybe Pearl Jam is likely to appear two songs before Soundgarden, or three, etc.&amp;nbsp; To address this, we can re-run the above test, but without the requirement that the songs are adjacent.&amp;nbsp; That is, we can compute the probability that Pearl Jam occurs earlier than Soundgarden in a playlist where both appear.&amp;nbsp; When we do this, we find that there's still no pair of artists with a preferred ordering.&lt;/span&gt;&lt;br /&gt;&lt;span class="st"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="st"&gt;Let's look at #2, then: are there pairs of artists that appear next to each other more than chance would predict?&amp;nbsp; We can adapt our above experiment for this case: just compute the probability that two artists appear consecutively (in either order) when they both show up in the same playlist, and do the same for the randomly shuffled playlists.&amp;nbsp; It turns out that now there are a few pairs of artists that tend to appear consecutively with some significance (keep in mind these playlists are from the early 2000s):&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="st"&gt;Ben Folds Five and Barenaked Ladies&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="st"&gt;Radiohead and&lt;/span&gt; Björk&lt;/li&gt;&lt;li&gt;Blink 182 and Weezer&lt;/li&gt;&lt;li&gt; Radiohead and Pink Floyd&lt;/li&gt;&lt;/ul&gt;So, I guess I will have to acknowledge that playlist ordering is &lt;a href="http://zorgnine.blogspot.com/2009/03/sudoku-and-nothing.html"&gt;something, and not nothing&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-2628509593006399709?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/2628509593006399709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=2628509593006399709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2628509593006399709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2628509593006399709'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2011/10/does-playlist-order-matter.html' title='does playlist order matter?'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-8890756806848271707</id><published>2011-01-24T20:11:00.000-08:00</published><updated>2011-01-25T00:06:20.275-08:00</updated><title type='text'>reverse lottery</title><content type='html'>Of course you know about the lottery, where you can pay some small amount of money for a low probability of winning a large amount of money.&amp;nbsp; And lots of businesses have promotions along the same lines: e.g., if you buy our slightly-overpriced french fries, you might win a yacht.&lt;br /&gt;&lt;br /&gt;However, I have never seen the reverse: we're giving out free french fries, except there's a small chance you'll have to pay us $1000.&amp;nbsp; Now, a potential customer might not have $1000, so let's lower the values here to get a simpler and fairer comparison between two potential offerings:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;French fries cost $1.25, but one out of every five customers gets his for free.&lt;/li&gt;&lt;li&gt;French fries are free, but one out of every five customers has to pay a $5.00 fine.&lt;/li&gt;&lt;/ol&gt;There must be a reason why businesses never offer the second type of deal.&amp;nbsp; Is it just logistical?&amp;nbsp; Or is it that people would hate this, and a 1 in 5 chance of losing $5 is worse than just giving away $1.25.&amp;nbsp; It seems that this sort of deal would not be too difficult to arrange, so I have to imagine that businesses don't offer it because people don't like it.&lt;br /&gt;&lt;br /&gt;This brings me to my main point: a lot of law enforcement works like this "reverse lottery", and I think we're underestimating just how much people hate this.&amp;nbsp; Our goal should be punishments that exactly offset the value of the crime, and a 100% chance of getting caught.&amp;nbsp; This makes enforcement prohibitively costly, but serves as an ideal.&amp;nbsp; (The other extreme, where you get away with criminal behavior almost all of the time, but if you get caught you and your family are tortured for 20 years then killed, sounds awful to anyone.)&amp;nbsp; Certainty itself has value, and this needs to be traded off against the cost of enforcement.&lt;br /&gt;&lt;br /&gt;Disclaimer: I don't know anything about crime statistics, and I would hope there are experts who do know what happens as you vary the level of punishment and probability of getting caught.&amp;nbsp; I'm betting that, while keeping level of punishment times probability of getting caught constant, good things happen as punishment goes down and probability of getting caught goes up, and the only reason not to move further in this direction is cost of patrol.&lt;br /&gt;&lt;br /&gt;This blog post arose from a discussion with &lt;a href="http://www.cs.washington.edu/homes/ajaffe/"&gt;Alex Jaffe&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(Another way to look at things is that in my ideal scenario, there is no crime — you simply pay for the damage you do.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-8890756806848271707?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/8890756806848271707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=8890756806848271707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8890756806848271707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8890756806848271707'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2011/01/reverse-lottery.html' title='reverse lottery'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-8081028457532108771</id><published>2010-12-26T13:14:00.000-08:00</published><updated>2010-12-26T13:14:27.632-08:00</updated><title type='text'>resolutions: 2011 edition</title><content type='html'>The last time I made &lt;a href="http://zorgnine.blogspot.com/2008/12/resolutions.html"&gt;resolutions&lt;/a&gt;, it was the end of 2008.&amp;nbsp; I've since gone 2 for 4 on those resolutions, and one of them took me an extra year.&amp;nbsp; Here's what I resolve to do in the coming year (in no particular order):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Take piano lessons and do at least one public performance (&lt;a href="http://rewindseattle.com/"&gt;Rewind&lt;/a&gt; shows don't count).&lt;/li&gt;&lt;li&gt;Participate in at least one submission wrestling tournament.&lt;/li&gt;&lt;li&gt;Re-learn and improve the 540 kick (see &lt;a href="http://www.youtube.com/watch?v=avc_5_AjSXQ"&gt;this video&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Take a dance class.&lt;/li&gt;&lt;li&gt;Finish (version 1 of) the awesome chord-listening iPhone app I'm working on.&lt;/li&gt;&lt;/ol&gt;I think I can go 5 for 5 this time.&amp;nbsp; These are all extremely doable, like your mom.&amp;nbsp; Notice that I did not officially resolve to post more often to this blog, or learn to snowboard, or learn to ride a bike, or learn Portuguese, or learn Chinese, or read more books, or play more video games, even though these are all things I want to do.&amp;nbsp; You have to make cuts somewhere.&lt;br /&gt;&lt;br /&gt;I also didn't include any work-related resolutions, because they are top-secret.&amp;nbsp; And because we already have a similar process, except they actually hold you to it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-8081028457532108771?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/8081028457532108771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=8081028457532108771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8081028457532108771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8081028457532108771'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2010/12/resolutions-2011-edition.html' title='resolutions: 2011 edition'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-212075313322292855</id><published>2010-06-17T18:41:00.000-07:00</published><updated>2010-06-17T18:49:06.014-07:00</updated><title type='text'>generalized bullshit</title><content type='html'>I haven't read Harry Frankfurt's 1986 philosophical treatise &lt;i&gt;On Bullshit&lt;/i&gt;.&amp;nbsp; But here's a summary I like from &lt;a href="http://en.wikipedia.org/wiki/On_Bullshit"&gt;its Wikipedia page&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;In the essay, Frankfurt defines a theory of bullshit,  defining the concept and analyzing its applications.&amp;nbsp; In particular,  Frankfurt distinguishes bullshitting from lying: while the  liar deliberately makes false claims, the bullshitter is simply  uninterested in the truth.&amp;nbsp; Bullshitters aim primarily to impress and  persuade their audiences.&amp;nbsp; While liars need to know the truth to better  conceal it, bullshitters, interested solely in advancing their own  agendas, have no use for the truth.&amp;nbsp; Thus, Frankfurt claims, "...bullshit  is a greater enemy of the truth than lies are."&lt;/blockquote&gt;This does seem to be the defining characteristic of bullshitting - the lack of regard for truth.&amp;nbsp; And it does seem to be more dangerous than lying, for the same reason that a machine learning classifier with 50% accuracy is far less useful than one with 10% accuracy.&lt;br /&gt;&lt;br /&gt;However, bullshit can describe many things beyond statements with a truth value.&amp;nbsp; For example, we talk about bullshit jobs.&amp;nbsp; What exactly is a bullshit job?&amp;nbsp; Is a bullshit job just one that requires you to generate bullshit statements?&amp;nbsp; I think there's more to it than that.&amp;nbsp; There's &lt;a href="http://www.amazon.com/100-Bullshit-Jobs-How-Them/dp/0060734795"&gt;a whole book&lt;/a&gt; on bullshit jobs, and it provides us with some useful examples: cheese artisan (sculptor of supermarket cheese), feng shui consultant, economist, aromatherapist, life coach, and so on, though some unfortunately stray from bullshit territory into mere unpleasantness (roadkill collector) or overt detriment to society (patent troll).&lt;br /&gt;&lt;br /&gt;What do these jobs have in common with Harry Frankfurt's definition, the lack of regard for truth?&amp;nbsp; Certainly some may require explicit truth-disregarding, but I think a more fundamental similarity is the idea of a &lt;i&gt;broken link&lt;/i&gt; to what really matters.&amp;nbsp; For bullshit statements, the link between a statement and its truth value has been severed.&amp;nbsp; Again, this is different from false statements, in which the link is present but set to "reverse".&amp;nbsp; And bullshit jobs, then, are jobs which provide no direct benefit to society, and for which the indirect benefit requires a link which has been severed or never really existed at all.&lt;br /&gt;&lt;br /&gt;What "really matters"?&amp;nbsp; I'd say something that makes a person happy, though you can use whatever rule you want, as long as it isn't "nothing".&amp;nbsp; Or, I suppose, if you say nothing matters, then you should conclude that everything is bullshit, which might be a defensible position.&amp;nbsp; And keep in mind that there's lots of non-bullshit that is pretty far removed from mattering, like designing uniforms for train conductors, but that remain non-bullshit as long as the intermediate links hold up.&amp;nbsp; In many cases it may be difficult to test all of these intermediate links, and in fact the increasing specialization in modern society may be the cause of the proliferation of bullshit.&amp;nbsp; I'd guess that hunter-gatherer societies are able to get away with considerably less bullshit, because the links to usefulness of any activity are easily testable by anyone.&lt;br /&gt;&lt;br /&gt;Looking it at this way, a large fraction of what we do all day is bullshit.&amp;nbsp; From personal experience, most of what happens in academia is bullshit.&amp;nbsp; 99% of research papers, including (especially?) the ones by me, are bullshit, even if every single statement in them is intentionally true.&amp;nbsp; The business world, notorious for its bullshit, actually seems a little bit better.&amp;nbsp; From what I can tell, tech startups seem to have relatively low levels of bullshit.&amp;nbsp; At least, the good ones do - some have made my life noticeably better.&amp;nbsp; And things like baking and selling bread are about as far from bullshit as you can get.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-212075313322292855?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/212075313322292855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=212075313322292855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/212075313322292855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/212075313322292855'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2010/06/generalized-bullshit.html' title='generalized bullshit'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-2037391529248437279</id><published>2010-02-16T22:40:00.000-08:00</published><updated>2010-02-16T22:41:19.507-08:00</updated><title type='text'>my first iPhone app</title><content type='html'>Last week, &lt;a href="http://itunes.apple.com/us/app/fingrophone/id353296097"&gt;my first iPhone app&lt;/a&gt; was finally accepted by Apple and is now available in the App Store.&amp;nbsp; At first, I was a bit surprised at the number of hoops I had to jump through just to make my app available: lots of certificates, code signing, Developer Program joining, bundle identifying, not to mention Apple's notorious review process.&amp;nbsp; Now that I look at the sheer number of throwaway apps available, though, I think there should be some more hoops, or at least different ones.&amp;nbsp; For example, does iLike really need to produce an app for &lt;a href="http://www.ilike.com/apps?page=more"&gt;every single music artist in existence&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;My app has now been up for a week or so, and another surprise has been the geographic distribution of downloads.&amp;nbsp; Most of my downloads are from outside the US, even though I made no special effort at internationalization.&amp;nbsp; I'm not even sure how people are finding it, as so far I've only told my friends about it and it's certainly not at the top of the App Store charts.&lt;br /&gt;&lt;br /&gt;Oh yeah, I suppose I should describe the app itself.&amp;nbsp; It grew out of a simple demo I created for our &lt;a href="http://www.cs.washington.edu/education/courses/cse590m/09au/"&gt;music seminar&lt;/a&gt; here at UW.&amp;nbsp; Our theme that quarter was the &lt;a href="http://en.wikipedia.org/wiki/Theremin"&gt;theremin&lt;/a&gt;, which allows for continuous control over pitch but is extremely difficult to play.&amp;nbsp; The problem with continuous control over pitch is that usually (in Western music), you just want to play the 12 standard notes, and mostly just the 7 notes from one key.&amp;nbsp; My app lets you trade off between these two extremes.&amp;nbsp; You play by touching the screen, with pitch on the x-axis and hardness of quantization on the y-axis.&amp;nbsp; Touch near the top of the screen, and the pitch is quantized to the nearest note from a particular scale.&amp;nbsp; Touch near the bottom, and the pitch is unaltered.&amp;nbsp; Touch near the middle, and the pitch is "soft-quantized", or nudged gently toward the nearest scale note.&lt;br /&gt;&lt;br /&gt;Anyway, my app is pretty fun.&amp;nbsp; You should download it.&amp;nbsp; And if you tell me how to make it better, I might actually do it, especially if you have suggestions for making it a "real" instrument, that someone might use in a performance.&lt;br /&gt;&lt;br /&gt;Interestingly, there is another instrument that allows for both continuous and discrete control over pitch: the &lt;a href="http://en.wikipedia.org/wiki/Ondes_Martenot"&gt;ondes Martenot&lt;/a&gt;.&amp;nbsp; Good luck porting that to the iPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-2037391529248437279?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/2037391529248437279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=2037391529248437279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2037391529248437279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2037391529248437279'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2010/02/my-first-iphone-app.html' title='my first iPhone app'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-1589024791918440275</id><published>2009-12-05T13:05:00.000-08:00</published><updated>2009-12-05T13:05:36.365-08:00</updated><title type='text'>LeechBlockList</title><content type='html'>&lt;a href="http://www.proginosko.com/leechblock.html"&gt;LeechBlock&lt;/a&gt; is a Firefox extension that blocks time-wasting websites that you manually specify.&amp;nbsp; One of the nicest features for those of us who use multiple computers is the ability to load the block list from a URL.&amp;nbsp; I put together a simple web interface for maintaining such block lists:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://leechblocklist.appspot.com/"&gt;http://leechblocklist.appspot.com/&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;It's useful even if you just want to maintain your own list, but possibly more useful in that it maintains a list of sites that are commonly thought to be time-wasting.&amp;nbsp; Or, it will, if a few more people start using it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-1589024791918440275?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/1589024791918440275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=1589024791918440275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1589024791918440275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1589024791918440275'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/12/leechblocklist.html' title='LeechBlockList'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3862623349213419026</id><published>2009-11-16T23:30:00.000-08:00</published><updated>2009-11-16T23:33:43.386-08:00</updated><title type='text'>so much to say</title><content type='html'>How is it that everyone has so much to say they have trouble deciding what not to say?&amp;nbsp; I'm thinking of this quote, attributed to &lt;a href="http://en.wikiquote.org/wiki/Blaise_Pascal"&gt;Blaise Pascal&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;I made this letter longer than usual because I lack the time to make it shorter.&lt;br /&gt;&lt;/blockquote&gt;This gets brought up in the context of presentations, papers, conversations, code, art, anything that requires some amount of creativity.&amp;nbsp; The hard part, as it goes, is condensing the huge number of things you'd like to say into a smaller coherent form, often to satisfy some external constraint on time or space.&amp;nbsp; If left to my own devices, a person of this mindset must think, I would emit an endless stream of wisdom, but alas, others are unwilling or unable to process my brilliance in its entirety.&amp;nbsp; All of my effort must therefore go toward eliminating all but the very best of what I have to offer.&amp;nbsp; And these are gems I'm discarding.&lt;br /&gt;&lt;br /&gt;Never once in my life have I had this experience.&amp;nbsp; Coming up with enough to say has always been a struggle for me.&amp;nbsp; While other people are cutting stuff out left and right, I'm trying to come up with just enough to avoid outright embarrassment.&amp;nbsp; Am I just not creative?&amp;nbsp; Not prolific?&amp;nbsp; Or is my threshold for what is worth saying much higher?&amp;nbsp; I wouldn't say it's that high, since I'm blogging about this right now.&lt;br /&gt;&lt;br /&gt;Incidentally, &lt;a href="http://www.youtube.com/watch?v=81PfFrl6Ars"&gt;So Much to Say&lt;/a&gt; is possibly the only Dave Matthews Band song I like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3862623349213419026?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3862623349213419026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3862623349213419026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3862623349213419026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3862623349213419026'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/11/so-much-to-say.html' title='so much to say'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-7801546480674726395</id><published>2009-11-01T15:51:00.000-08:00</published><updated>2009-11-01T22:33:05.046-08:00</updated><title type='text'>PageRank for images</title><content type='html'>I was just watching a &lt;a href="http://videolectures.net/cikm08_norvig_slatuad/"&gt;talk by Peter Norvig&lt;/a&gt; in which he mentions some research done at Google (paper &lt;a href="http://www.cc.gatech.edu/%7Eyjing/pami_camera_ready.pdf"&gt;here&lt;/a&gt;) on applying PageRank to image search.  The idea is that instead of connections based on hyperlinks, connections between images are based on visual similarity between the two images, as computed via &lt;a href="http://people.cs.ubc.ca/%7Elowe/keypoints/"&gt;SIFT&lt;/a&gt; or some other descriptor.  Then, the &lt;span style="font-style: italic;"&gt;VisualRank&lt;/span&gt; of an image is some estimate of its centrality in the underlying collection of images.&lt;br /&gt;&lt;br /&gt;I don't think this is the right way to think about image search, for a few reasons.  First, and most simply, a hyperlink between two web pages has different meaning from a pair of similar images.  The PageRank algorithm for web pages has an intuitive explanation: imagining a simplified web surfer randomly following web links, what is the stationary distribution over pages visited by this surfer?  (Of course, it's slightly &lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;more complicated&lt;/a&gt; than that.)  VisualRank has no such intuitive model -- instead of following web links, a surfer would have to randomly jump from one image to another similar image.  This doesn't seem related to actual image browsing, and is nearly impossible on the current web as links between visually similar images aren't manifested in any way.&lt;br /&gt;&lt;br /&gt;One could argue that it's not clear that the PageRank browsing model is the right way to think about web search either, and I would imagine much research has been done on alternative models.  In essence, what is captured by both PageRank and VisualRank is a measure of centrality.  I want to argue that while centrality may be a reasonable criterion for ranking web search results, it is less reasonable for ranking image search results.&lt;br /&gt;&lt;br /&gt;In PageRank, hyperlinks are directed.  I can link to &lt;a href="http://www.cnn.com/"&gt;CNN&lt;/a&gt; (and just did) without them linking back to me.  This is not true of image similarities in VisualRank, which are undirected.  What are the implications of this?  Well, if I link to CNN and they don't link back, it is entirely possible and likely that our PageRanks will be very different.  However, if two images are visually similar, they are likely to have similar VisualRanks.  (This is caused not only by the symmetry of visual similarity, but also its near-transitivity -- if image &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; is similar to &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; is similar to &lt;span style="font-style: italic;"&gt;C&lt;/span&gt;, then it is likely that &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; is also similar to &lt;span style="font-style: italic;"&gt;C&lt;/span&gt;.  One can imagine a contrived image collection in which this is not the case, but in a quick test it seemed to hold about 75% of the time.  Visual similarity is much more like an equivalence relation than hyperlinking is.)&lt;br /&gt;&lt;br /&gt;This is all fine if you want to find the single best image.  But, if you want to find the best &lt;span style="font-style: italic;"&gt;k&lt;/span&gt; images, you're going to get a bunch of near-duplicates of the highest ranked image, or at least a set that exhibits high redundancy.  As an example, I computed the VisualRank of every image in a collection of a few thousand images of the city of &lt;a href="http://en.wikipedia.org/wiki/Dubrovnik"&gt;Dubrovnik&lt;/a&gt;.  Here are the images with the top 5 VisualRanks:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_gcunJw57osM/Su57e6DTq0I/AAAAAAAAAGw/FmPRhOXTLs8/s1600-h/dubrovnik_visualrank.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 102px;" src="http://3.bp.blogspot.com/_gcunJw57osM/Su57e6DTq0I/AAAAAAAAAGw/FmPRhOXTLs8/s400/dubrovnik_visualrank.jpg" alt="" id="BLOGGER_PHOTO_ID_5399388774173223746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In contrast, and to illustrate that this isn't the only photo people take in Dubrovnik, here are the top 5 images selected by a simple summarization algorithm that also aims, indirectly, to avoid redundancy (disclaimer: algorithm is &lt;a href="http://www.cs.washington.edu/homes/iansimon/canonview.pdf"&gt;mine&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_gcunJw57osM/Su57tvhSbAI/AAAAAAAAAG4/gzVArjXLS64/s1600-h/dubrovnik_summary.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 97px;" src="http://1.bp.blogspot.com/_gcunJw57osM/Su57tvhSbAI/AAAAAAAAAG4/gzVArjXLS64/s400/dubrovnik_summary.jpg" alt="" id="BLOGGER_PHOTO_ID_5399389029044218882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I do think centrality is a useful measurement on image collections.  Alone, however, it is not a good way to order image search results unless you want homogeneity.  This is less of a problem in web search in that there's nothing inherently wrong with the top set of results linking to one another.  Sure, they may suffer from homogeneity of opinion to some degree, but the content of each result is different.  With connections based on visual similarity, linkage among the top ranked images means some of them are providing no new information at all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-7801546480674726395?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/7801546480674726395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=7801546480674726395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7801546480674726395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7801546480674726395'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/11/pagerank-for-images.html' title='PageRank for images'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gcunJw57osM/Su57e6DTq0I/AAAAAAAAAGw/FmPRhOXTLs8/s72-c/dubrovnik_visualrank.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-5692186746204757217</id><published>2009-08-28T22:50:00.000-07:00</published><updated>2009-08-28T22:59:14.791-07:00</updated><title type='text'>Paul Graham's essays</title><content type='html'>It annoys me when blog-like content does not have an RSS feed.  Sometimes it even annoys me enough that I go and do something about it.  So without further ado (not that there was that much ado to begin with), here's a full-text RSS feed of &lt;a href="http://ycombinator.com/"&gt;Y Combinator&lt;/a&gt; founder Paul Graham's &lt;a href="http://www.paulgraham.com/articles.html"&gt;essays&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://pipes.yahoo.com/pipes/pipe.run?_id=e7e734678a95c1b71652ef7c4f4cfe9c&amp;amp;_render=rss"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a href="http://pipes.yahoo.com/pipes/pipe.run?_id=e7e734678a95c1b71652ef7c4f4cfe9c&amp;amp;_render=rss"&gt;http://pipes.yahoo.com/pipes/pipe.run?_id=e7e734678a95c1b71652ef7c4f4cfe9c&amp;amp;_render=rss&lt;/a&gt;&lt;/blockquote&gt;It only contains the most recent 10 entries, to keep loading time reasonable.  I tried to include more, but Google Reader kept choking on Yahoo's Pipe when I tried to import the feed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-5692186746204757217?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/5692186746204757217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=5692186746204757217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5692186746204757217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5692186746204757217'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/08/paul-grahams-essays.html' title='Paul Graham&apos;s essays'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-6022817898291723083</id><published>2009-08-19T10:42:00.000-07:00</published><updated>2009-08-19T12:05:59.333-07:00</updated><title type='text'>the kind of person</title><content type='html'>I was flipping through one of Michael Pollan's books at the airport bookstore last weekend.   It may have been &lt;a href="http://www.amazon.com/Defense-Food-Eaters-Manifesto/dp/1594201455"&gt;In Defense of Food&lt;/a&gt;, but I can't remember.   Anyway, I came across this puzzling piece of advice:&lt;br /&gt;&lt;blockquote&gt;Be the kind of person who takes supplements.&lt;br /&gt;&lt;/blockquote&gt;That is, you don't really have to take the supplements, as long as you are the kind of person who might.  Pollan explains that studies have shown people who take multivitamins are generally healthier, but in controlled studies, multivitamins haven't been shown to actually make anyone healthier.  This is reasonable, as it could be that supplement-takers are more health-conscious to begin with, and taking the supplements simply indicates their health-conscious status.&lt;br /&gt;&lt;br /&gt;The puzzling part is this: how can someone follow Pollan's advice, other than by taking supplements?&lt;br /&gt;&lt;br /&gt;This is related to a few philosophical paradoxes.  Here's &lt;a href="http://en.wikipedia.org/wiki/Kavka%27s_toxin_puzzle"&gt;Kavka's toxin puzzle&lt;/a&gt; (from Wikipedia):&lt;br /&gt;&lt;blockquote&gt;An eccentric billionaire places before you a vial of toxin that, if you drink it, will make you painfully ill for a day, but will not threaten your life or have any lasting effects. The billionaire will pay you one million dollars tomorrow morning if, at midnight tonight, you intend to drink the toxin tomorrow afternoon. He emphasizes that you need not drink the toxin to receive the money; in fact, the money will already be in your bank account hours before the time for drinking it arrives, if you succeed. All you have to do is. . . intend at midnight tonight to drink the stuff tomorrow afternoon. You are perfectly free to change your mind after receiving the money and not drink the toxin.&lt;br /&gt;&lt;/blockquote&gt;The question being, is it possible to intend to drink the toxin tonight if you know you won't actually have to tomorrow?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-6022817898291723083?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/6022817898291723083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=6022817898291723083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6022817898291723083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6022817898291723083'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/08/kind-of-person.html' title='the kind of person'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3921267851881471903</id><published>2009-08-01T16:04:00.000-07:00</published><updated>2009-08-01T16:32:39.410-07:00</updated><title type='text'>starting tomorrow</title><content type='html'>It's sad that it took me this long to come to this realization, but starting tomorrow does not work, at all, for anything.&lt;br /&gt;&lt;br /&gt;The interesting part is that starting now does not work either.  The entire mindset associated with making an abrupt transition from a bad state to a good state is the problem.  Typically, the good state is unsustainable and you eventually end up back in the bad state again, where you tell yourself that at time &lt;span style="font-style: italic;"&gt;t&lt;/span&gt; you will make another abrupt transition to the good state, which is unsustainable, so you end up in the bad state again, and so on.&lt;br /&gt;&lt;br /&gt;The only solution that I've found is to try to be in a state that is not so bad that you have to make empty promises to yourself to transition out of it, and not so good that you can't keep it up.&lt;br /&gt;&lt;br /&gt;Another reason not to make an abrupt transition from the bad state to the good state at some future time &lt;span style="font-style: italic;"&gt;t&lt;/span&gt; is that this encourages you to get in all the damage you can before time &lt;span style="font-style: italic;"&gt;t&lt;/span&gt;.  And since you keep reverting back to the bad state, you can end up doing a lot of damage this way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3921267851881471903?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3921267851881471903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3921267851881471903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3921267851881471903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3921267851881471903'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/08/starting-tomorrow.html' title='starting tomorrow'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-313986351378534825</id><published>2009-06-01T22:01:00.001-07:00</published><updated>2009-06-01T22:55:34.473-07:00</updated><title type='text'>wordless melodies</title><content type='html'>This is the second post in my Things I Like in Music series.&lt;br /&gt;&lt;br /&gt;Have you noticed that lots of songs have vocal parts with "la la la..." or "na na na..." instead of lyrics?  And have you noticed that these parts are almost always extremely catchy?  The best example is probably &lt;a href="http://www.youtube.com/watch?v=BD3ovfZXO5Q"&gt;Hey Jude&lt;/a&gt;, but there are many such songs: &lt;a href="http://www.youtube.com/watch?v=UuVCiRGkNSw"&gt;Land of 1000 Dances&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=BqDjMZKf-wg"&gt;Centerfold&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=Rfr9bhSmfXc"&gt;Can't Get You out of My Head&lt;/a&gt;, and many more.  I posted a &lt;a href="http://zorgnine.blogspot.com/2008/12/lyrics-quiz.html"&gt;quiz&lt;/a&gt; a while back about guessing these songs given only the rhythm of the "na na na..." part, if you're interested in more examples.&lt;br /&gt;&lt;br /&gt;If you agree that these parts are usually catchy, and you do, you may wonder why this is the case.  My guess is that removing lyrics doesn't actually make the melody catchier, but that sometimes a melody is so catchy that the songwriter feels no need to embellish it with lyrics.&lt;br /&gt;&lt;br /&gt;A related phenomenon that I also like is when a song has an instrumental solo that is just the vocal melody.  Some examples are &lt;a href="http://www.youtube.com/watch?v=bOL5cpwTkes"&gt;Come as You Are&lt;/a&gt; (or &lt;a href="http://www.youtube.com/watch?v=kPQR-OsH0RQ"&gt;Smells Like Teen Spirit&lt;/a&gt; for that matter), &lt;a href="http://www.youtube.com/watch?v=FiIC5qcXeNU"&gt;Buddy Holly&lt;/a&gt;, and &lt;a href="http://www.youtube.com/watch?v=DP2VyquMAaM"&gt;Paint It Black&lt;/a&gt;, in which the vocal melody is both played on guitar and hummed (not simultaneously).  You could also count the whistling in &lt;a href="http://www.youtube.com/watch?v=BWP-AsG5DRk"&gt;Walk Like an Egyptian&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Or you could make an entire song out of weird vocal noises, like &lt;a href="http://www.youtube.com/watch?v=NGaVUApDVuY"&gt;this one&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-313986351378534825?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/313986351378534825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=313986351378534825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/313986351378534825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/313986351378534825'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/06/wordless-melodies.html' title='wordless melodies'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-314069144594071173</id><published>2009-05-10T00:04:00.001-07:00</published><updated>2009-05-10T01:12:03.772-07:00</updated><title type='text'>in between major and minor</title><content type='html'>This is the first post of many I plan to make about Things I Like in Music.&lt;br /&gt;&lt;br /&gt;If you've played around with &lt;a href="http://research.microsoft.com/songsmith"&gt;Songsmith&lt;/a&gt; (and if you haven't, you should), you'll notice that instead of a switch between major and minor, we provide a "happy" slider that lets you explore a continuum between strictly major and strictly minor chord progressions.  Is this really how music works, you might ask?  Can a song be somewhere in between major and minor?  Now, certainly a song can be major and minor in different sections, like the chorus and verse (&lt;a href="http://www.youtube.com/watch?v=PxGiKgYYKvQ"&gt;Happy Together&lt;/a&gt; is a good example of this). Minor-verse-major-chorus (and its much rarer opposite) is also a Thing I Like in Music, but right now I'm interested in songs that sound both major and minor within a single section.&lt;br /&gt;&lt;br /&gt;It turns out that many great songs do this, and wavering between major and minor is part of what makes them great.  Here are a few examples (Roman numeral chord names assume the major key):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=CLqOwiZ8n5I"&gt;One Headlight&lt;/a&gt;&lt;br /&gt;Listen to the verse, and notice how the first half of each line sounds just a little bit less gloomy than the second half, which helps give the song its poignant feel.  The chord progression during the verse is VI -&gt; I -&gt; III -&gt; vi, two chords generally associated with the major key followed by a minor cadence.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=vDPdfwrNzb8"&gt;Just What I Needed&lt;/a&gt;&lt;br /&gt;The same thing happens in the verses here.  The first half of each line sounds happier than the second.  Even the lyrics seem to follow suit.  "I don't mind you coming here." Moderately happy!  "And wasting all my time."  Umm, not quite so happy.  The chord progression in the verse is I -&gt; V -&gt; vi -&gt; III, the two chords most indicative of a major key followed by the two chords most indicative of a minor key.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=YU7LZts87Zg"&gt;Say It Ain't So&lt;/a&gt;&lt;br /&gt;The previous two songs (or at least their verses, which we were focusing on) probably sounded closer to minor than major.  This song, to me, sounds closer to major.  The chord progression is vi -&gt; III -&gt; VI -&gt; I, this time ending each phrase with a major sound.  Perhaps ends of phrases have a stronger influence on the overall feel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=bdCjaiXmUb0"&gt;Yesterday&lt;/a&gt;&lt;br /&gt;Both sections of this song live in the mysterious land between major and minor, and it's generally considered one of the best songs ever (&lt;a href="http://en.wikipedia.org/wiki/Wikipedia:Citation_needed"&gt;citation needed&lt;/a&gt;).  Coincidence?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-314069144594071173?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/314069144594071173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=314069144594071173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/314069144594071173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/314069144594071173'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/05/in-between-major-and-minor.html' title='in between major and minor'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-1232584177349792807</id><published>2009-04-26T19:36:00.001-07:00</published><updated>2009-04-26T19:50:08.337-07:00</updated><title type='text'>silly headline</title><content type='html'>&lt;a href="http://www.wave3.com/Global/story.asp?S=10236154"&gt;Robbery suspect attacks clerk with machete&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Whether or not the guy is the attempted robber is uncertain, but he's definitely the guy who attacked the clerk with a machete during the attempted robbery.  Of course the article itself is not this confused, only the headline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-1232584177349792807?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/1232584177349792807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=1232584177349792807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1232584177349792807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1232584177349792807'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/04/silly-headline.html' title='silly headline'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-4422301811078510069</id><published>2009-03-16T11:00:00.000-07:00</published><updated>2009-03-16T11:18:40.902-07:00</updated><title type='text'>Sudoku and nothing</title><content type='html'>&lt;a href="http://techhouse.brown.edu/%7Edmorris/"&gt;Dan&lt;/a&gt; has given me an excellent way to look at research or other ideas, adapted from a &lt;a href="http://en.wikipedia.org/wiki/Sketches_on_Letterman#Is_This_Anything.3F"&gt;David Letterman bit&lt;/a&gt;: is this something, or is it just nothing?&lt;br /&gt;&lt;br /&gt;Here's one that seems to be nothing: &lt;a href="http://www.usatoday.com/printedition/news/20090316/1asudoku16_st.art.htm"&gt;a computer scientist has come up with an algorithm for Sudoku&lt;/a&gt;.  And (surprise!) the algorithm is exactly how everyone already solves Sudoku puzzles.  Nor is this strategy very interesting algorithmically, as it ends up being a regular old &lt;a href="http://en.wikipedia.org/wiki/Search_algorithm#Constraint_satisfaction"&gt;constraint satisfaction search&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-4422301811078510069?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/4422301811078510069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=4422301811078510069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4422301811078510069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4422301811078510069'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/03/sudoku-and-nothing.html' title='Sudoku and nothing'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-7487927638265085723</id><published>2009-01-16T00:50:00.000-08:00</published><updated>2009-01-16T01:32:58.027-08:00</updated><title type='text'>Songsmith is blowing up</title><content type='html'>&lt;a href="http://research.microsoft.com/songsmith/"&gt;Microsoft Research Songsmith&lt;/a&gt;, which grew out of the &lt;a href="http://research.microsoft.com/%7Edan/mysong/"&gt;MySong&lt;/a&gt; project I worked on last year, has gone viral, largely because of the (intentional) over-the-top silliness of the &lt;a href="http://www.youtube.com/watch?v=3oGFogwcx-E"&gt;promo video&lt;/a&gt;.  The fact that so many people are experiencing the results of our research is blowing my mind a little bit, especially with the wide variety of responses we're seeing.  There's been some &lt;a href="http://www.daveydz.com/2009/01/my-songsmith-experience/"&gt;praise&lt;/a&gt;, some &lt;a href="http://www.youtube.com/watch?v=FhmjNDtM3vU"&gt;good-natured poking fun&lt;/a&gt;, and a fair amount of &lt;a href="http://digg.com/microsoft/Microsoft_challenges_Apple_s_GarageBand_with_Songsmith"&gt;irrational hatred&lt;/a&gt;.  Many people seem to appreciate the research while mocking the promo video, which I guess is okay, though the vast majority of them would never have heard about the research if not for the exceptionally silly video.&lt;br /&gt;&lt;br /&gt;The most pathetic response I've seen is &lt;a href="http://www.techcrunch.com/2009/01/15/worst-microsoft-video-promo-ever-take-2-just-cover-up-the-mac-with-stickers/#comment-2595354"&gt;here&lt;/a&gt;.  Yes, Michael Arrington, world's most famous tech blogger, decided to call a researcher at MSR gay.  If you're going to call us gay, at least do it like &lt;a href="http://www.youtube.com/watch?v=d77eycBpuBY"&gt;this&lt;/a&gt; (warning: extremely offensive).  And there are &lt;a href="http://music.metafilter.com/2943/Runnin-With-The-Songsmith"&gt;many&lt;/a&gt; &lt;a href="http://www.hulu.com/watch/52781/attack-of-the-show-microsoft-songsmith"&gt;other&lt;/a&gt; &lt;a href="http://www.youtube.com/watch?v=j7qyjLuWVU8"&gt;ways&lt;/a&gt; to diss Songsmith that I'm totally cool with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-7487927638265085723?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/7487927638265085723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=7487927638265085723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7487927638265085723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7487927638265085723'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2009/01/songsmith-is-blowing-up.html' title='Songsmith is blowing up'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-6698422872823552771</id><published>2008-12-30T22:23:00.000-08:00</published><updated>2008-12-31T00:25:15.320-08:00</updated><title type='text'>automatic rebalancing through automatic exchange</title><content type='html'>When investing, you often want to maintain your &lt;a href="http://en.wikipedia.org/wiki/Asset_allocation"&gt;asset allocation&lt;/a&gt;, which can depart from your initial allocation as specific assets increase or decrease in value.  One option is to periodically check your allocation and manually transfer funds between assets (rebalance) if necessary.  An added convenience is automatic rebalancing, where your investment company rebalances for you at some frequency.&lt;br /&gt;&lt;br /&gt;However, &lt;a href="http://en.wikipedia.org/wiki/The_Vanguard_Group"&gt;Vanguard&lt;/a&gt;, one of the most popular investment companies, does not seem to support automatic rebalancing of an arbitrary asset allocation.  Here's a trick you can use to achieve the same effect through automatic exchange:&lt;br /&gt;&lt;br /&gt;Suppose you have three assets &lt;span style="font-style: italic;"&gt;A&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;B&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;C&lt;/span&gt; that you'd like to hold in the percentages &lt;span style="font-style: italic;"&gt;a&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;b&lt;/span&gt;, and  &lt;span style="font-style: italic;"&gt;c&lt;/span&gt; respectively, where &lt;span style="font-style: italic;"&gt;a&lt;/span&gt; + &lt;span style="font-style: italic;"&gt;b&lt;/span&gt; + &lt;span style="font-style: italic;"&gt;c&lt;/span&gt; = 100.&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  All you need to do is set up 6 automatic exchanges, where &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; gives &lt;span style="font-style: italic;"&gt;b&lt;/span&gt; percent of its value to &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;c&lt;/span&gt; percent of its value to &lt;span style="font-style: italic;"&gt;C&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; gives &lt;span style="font-style: italic;"&gt;a&lt;/span&gt; percent to &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;c&lt;/span&gt; percent to &lt;span style="font-style: italic;"&gt;C&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;C&lt;/span&gt; gives &lt;span style="font-style: italic;"&gt;a&lt;/span&gt; percent to &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;b&lt;/span&gt; percent to &lt;span style="font-style: italic;"&gt;B&lt;/span&gt;.  In general, each asset receives a fixed percentage of each other asset, equal to the percentage of the receiving asset in the desired allocation.&lt;br /&gt;&lt;br /&gt;The above technique rebalances exactly, but it has some problems.  First, you definitely do not want to do this if there are taxes or fees associated with the transactions, since the transactions will be pretty large.  (Performing the exchanges within a &lt;a href="http://en.wikipedia.org/wiki/Roth_IRA"&gt;Roth IRA&lt;/a&gt; at Vanguard should still be okay.)  Second, it can be a pain to set up an automatic exchange for each pair of assets you own.&lt;br /&gt;&lt;br /&gt;Let's address both problems, though really, if you're faced with taxes or fees, you probably just want to do your rebalancing manually.  However, you can decrease both the number and the size of the transactions by doing something I might call "soft rebalancing".  The trick is that instead of exchanging between every pair of assets, we create a cycle of exchanges.  In the above example, we could have &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; give to &lt;span style="font-style: italic;"&gt;B&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; give to &lt;span style="font-style: italic;"&gt;C&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;C&lt;/span&gt; give to &lt;span style="font-style: italic;"&gt;A&lt;/span&gt;.  (I'll get to the exchange amounts in a bit.)  In general, if you have &lt;span style="font-style: italic;"&gt;n&lt;/span&gt; assets, you only have to set up &lt;span style="font-style: italic;"&gt;n&lt;/span&gt; exchanges.  With soft rebalancing, you lose the ability to rebalance exactly, as we'll see.&lt;br /&gt;&lt;br /&gt;So what are the exchange amounts?  There's a slight complication, in that we can now change the rate at which rebalancing occurs, so the exchange amounts can be scaled.  In the above example&lt;span style="font-style: italic;"&gt;&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; would give &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; proportional to 1/&lt;span style="font-style: italic;"&gt;a&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; would give &lt;span style="font-style: italic;"&gt;C&lt;/span&gt; proportional to 1&lt;span style="font-style: italic;"&gt;&lt;/span&gt;/&lt;span style="font-style: italic;"&gt;b&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;C&lt;/span&gt; would give &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; proportional to 1/&lt;span style="font-style: italic;"&gt;c&lt;/span&gt;.  In general, each asset gives up value proportional to the inverse of its percentage in the desired allocation.  Again, these amounts should be scaled based on how fast you want the rebalancing to happen.  At the maximum allowable rate, one of the assets will be giving up all of its value at each rebalance.&lt;br /&gt;&lt;br /&gt;There are some problems with the cycle of exchanges scheme.  Most importantly, it may take many rebalancing steps to transfer between an asset with excess value and an asset with insufficient value if the asset with insufficient value is far "downstream" from the asset with excess value.  There are other schemes that address this issue, like setting up one "hub" asset and having all exchanges take place between the hub and one of the other assets (in both directions), though this scheme requires setting up about twice as many automatic exchanges.&lt;br /&gt;&lt;br /&gt;An important point is that these exchanges must be in terms of the percent of the holdings of an asset.  If the only supported exchanges are in fixed dollar amounts, automatic rebalancing is impossible.  Also, I'm not sure how practical any of this is, since I have to assume that at some point Vanguard and other investment companies will offer automatic rebalancing.  In the meantime though, you can use my trick if you're desperate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-6698422872823552771?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/6698422872823552771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=6698422872823552771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6698422872823552771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6698422872823552771'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/12/automatic-rebalancing-through-automatic.html' title='automatic rebalancing through automatic exchange'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-1317774452594816983</id><published>2008-12-30T09:54:00.000-08:00</published><updated>2008-12-30T10:12:14.431-08:00</updated><title type='text'>resolutions</title><content type='html'>I have never made New Year's resolutions before, but this time I actually have some idea of the things I want to accomplish in the coming year:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Graduate.&lt;/li&gt;&lt;li&gt;Create an interactive labeling demo, where users can annotate static objects in images and they get attached to the "real world".  I'm working some of the techniques behind this right now, and I have a &lt;a href="http://abstract.cs.washington.edu/%7Eiansimon/Label3D/tool.html"&gt;crappy demo&lt;/a&gt; built on top of &lt;a href="http://labelme.csail.mit.edu/"&gt;LabelMe&lt;/a&gt;, but I would like to have a more scalable and usable one.&lt;/li&gt;&lt;li&gt;Work out the details of my convex formulation of visibility constraints in multiview stereo and write a paper on this.&lt;/li&gt;&lt;li&gt;Start training MMA, probably &lt;a href="http://www.ivansalaverry.net/gym/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-1317774452594816983?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/1317774452594816983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=1317774452594816983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1317774452594816983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1317774452594816983'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/12/resolutions.html' title='resolutions'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3871469296631603623</id><published>2008-12-13T01:40:00.000-08:00</published><updated>2008-12-13T01:56:11.151-08:00</updated><title type='text'>lyrics quiz</title><content type='html'>Here's a lyrics quiz with a twist: all of the lyrics consist of syllables like "na" and "la" instead of actual words.  Spacing and commas generally indicate time between syllables.  The "X" indicates other words that are part of the phrase, but would give away the identity of the song.  Name as many songs as you can in the comments.  None of them are at all obscure, and I've included the decade in which each song was released.&lt;br /&gt;&lt;br /&gt;1) 1980s&lt;br /&gt;na na na na na&lt;br /&gt;na na na na na, na na na na na, na&lt;br /&gt;na na na na na, na na na na na na na, na&lt;br /&gt;X&lt;br /&gt;&lt;br /&gt;2) 1980s&lt;br /&gt;na na nana na na&lt;br /&gt;nana na na nanana na na&lt;br /&gt;&lt;br /&gt;3) 1990s&lt;br /&gt;nana nana nana nana na na&lt;br /&gt;nana nana nana nana na na&lt;br /&gt;&lt;br /&gt;4) 1960s&lt;br /&gt;na, na na nanana na&lt;br /&gt;nanana na, X&lt;br /&gt;&lt;br /&gt;5) 1960s&lt;br /&gt;na nana na nana na nana na&lt;br /&gt;&lt;br /&gt;6) 1970s&lt;br /&gt;fa fa fa fa, fa fa fa fa fa, fa&lt;br /&gt;&lt;br /&gt;7) 1960s&lt;br /&gt;na na na, na&lt;br /&gt;na na na, na&lt;br /&gt;X&lt;br /&gt;&lt;br /&gt;8) 1980s&lt;br /&gt;la la la lala la&lt;br /&gt;la la la lala la la&lt;br /&gt;&lt;br /&gt;9) 1970s&lt;br /&gt;doo, doo doo, doo doo, doo, doo doo&lt;br /&gt;doo, doo doo, doo doo, doo, doo doo&lt;br /&gt;&lt;br /&gt;10) 2000s&lt;br /&gt;la la la, la la lala la&lt;br /&gt;la la la, la la lala la&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3871469296631603623?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3871469296631603623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3871469296631603623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3871469296631603623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3871469296631603623'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/12/lyrics-quiz.html' title='lyrics quiz'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3267469072388174879</id><published>2008-12-06T19:47:00.000-08:00</published><updated>2008-12-07T00:28:18.077-08:00</updated><title type='text'>ECCV 2008</title><content type='html'>&lt;a href="http://eccv2008.inrialpes.fr/"&gt;ECCV 2008&lt;/a&gt; happened over a month ago, but it's not too late for me to post a summary of some of my favorite papers from the conference, as well as my own paper.  Let's start with my paper:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.washington.edu/homes/iansimon/papers/sceneseg.pdf"&gt;&lt;span style="font-style: italic;"&gt;Scene Segmentation Using the Wisdom of Crowds&lt;/span&gt;&lt;br /&gt;Ian Simon and Steven M. Seitz&lt;br /&gt;&lt;/a&gt;There are many cues one could use when segmenting images, such as color, edges, recognizing objects, etc.  Here we ignore all of these cues and segment 3D scenes based on the distribution of photos taken at the scenes (downloaded from &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;).  The basic idea is that people do not take photos simply by pointing the camera randomly, but take pictures "of" interesting objects.  We effectively treat each photo as a vote that all of the scene points appearing in this photo belong to the same object.  Of course, this is not precisely true for most photographs, but by combining information from multiple photographers, we can get accurate 3D segmentations.&lt;br /&gt;&lt;br /&gt;Here are some other papers I liked:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kyb.mpg.de/publications/attachments/ECCV2008-Blaschko_5247%5B0%5D.pdf"&gt;&lt;span style="font-style: italic;"&gt;Learning to Localize Objects with Structured Output Regression&lt;/span&gt;&lt;br /&gt;Matthew B. Blaschko and Christoph H. Lampert&lt;br /&gt;&lt;/a&gt;Object localization is usually done by training a classifier on positive and negative image regions, then running this classifier in sliding-window fashion on a new image.  This paper proposes training directly for the localization task using a &lt;a href="http://en.wikipedia.org/wiki/Structured_SVM"&gt;structured SVM&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-cvpr.iai.uni-bonn.de/pub/pub/KC-08.pdf"&gt;&lt;span style="font-style: italic;"&gt;Integration of Multiview Stereo and Silhouettes via Convex Functionals on Convex Domains&lt;/span&gt;&lt;br /&gt;Kalin Kolev and Daniel Cremers&lt;br /&gt;&lt;/a&gt;Several previous papers have tried to combine photoconsistency and silhouettes.  The key insight here is a way to express silhouette constraints over a voxel grid in a way that yields a simple convex relaxation.  There's no proof of a meaningful performance guarantee relative to the optimal solution of the discrete problem, but it's still cleaner than any of the other papers I've seen that address silhouettes in multiview stereo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/%7Evictlem/eccv2008.pdf"&gt;&lt;span style="font-style: italic;"&gt;Image Segmentation by Branch-and-Mincut&lt;/span&gt;&lt;br /&gt;Victor Lempitsky, Andrew Blake, and Carsten Rother&lt;br /&gt;&lt;/a&gt;Suppose you're trying to segment a particular object with unknown pose in an image.  For fixed pose, the problem can be solved with a graph cut.  This paper describes a branch-and-bound search through a tree of hierarchically-clustered poses for the optimal pose and segmentation.  The important observation is that a lower bound on the quality of the optimal solution in a particular subtree can be computed with a single graph cut.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wisdom.weizmann.ac.il/%7Ebagon/pub/good_image_segment.pdf"&gt;&lt;span style="font-style: italic;"&gt;What is a Good Image Segment?  A Unified Approach to Segment Extraction&lt;/span&gt;&lt;br /&gt;Shai Bagon, Oren Boiman, and Michal Irani&lt;br /&gt;&lt;/a&gt;This paper proposes a simple criterion for segmentation: a segment should be easily composable using its own pieces, but difficult to compose from pieces outside the segment.  The algorithm implied by this criterion sacrificies speediness for elegance, but I think there is value in figuring out the right thing to optimize, even if actually optimizing it proves impractical.  Of course, it's not clear that composability is the right thing, and it would be interesting to compare against &lt;a href="http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/"&gt;human segmentations&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3267469072388174879?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3267469072388174879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3267469072388174879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3267469072388174879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3267469072388174879'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/12/eccv-2008.html' title='ECCV 2008'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-7894535455658683691</id><published>2008-11-07T16:51:00.000-08:00</published><updated>2008-11-07T17:02:17.532-08:00</updated><title type='text'>Taleb's notebook</title><content type='html'>Nassim Nicholas Taleb, author of &lt;a href="http://www.amazon.com/Black-Swan-Impact-Highly-Improbable/dp/1400063515"&gt;The Black Swan&lt;/a&gt; and &lt;a href="http://www.amazon.com/Fooled-Randomness-Hidden-Chance-Markets/dp/1587990717"&gt;Fooled by Randomness&lt;/a&gt;, keeps a &lt;a href="http://www.fooledbyrandomness.com/notebook.htm"&gt;notebook&lt;/a&gt; on his site, in somewhat unfriendly HTML.  Using a cool tool called &lt;a href="http://feed43.com/"&gt;Feed43&lt;/a&gt; (after having failed with &lt;a href="http://page2rss.com/"&gt;several&lt;/a&gt; &lt;a href="http://dapper.net/"&gt;other&lt;/a&gt; &lt;a href="http://feedity.com/"&gt;tools&lt;/a&gt;), I was able to extract an RSS feed for Taleb's notes.  The feed is here:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://feed43.com/7032722802218873.xml"&gt;http://feed43.com/7032722802218873.xml&lt;/a&gt;&lt;/blockquote&gt;Taleb is brilliant and very entertaining, but why oh why can't he use a standard blogging platform?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-7894535455658683691?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/7894535455658683691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=7894535455658683691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7894535455658683691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7894535455658683691'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/11/talebs-notebook.html' title='Taleb&apos;s notebook'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3755470613267698991</id><published>2008-10-05T19:37:00.000-07:00</published><updated>2008-10-05T20:03:10.847-07:00</updated><title type='text'>RIP 8aweek</title><content type='html'>The only barrier between me and hours wasted browsing the likes of &lt;a href="http://digg.com/"&gt;Digg&lt;/a&gt;, etc. has now been torn down.  What self-control?  The creators of 8aweek left a message on their &lt;a href="http://www.8aweek.com/"&gt;home page&lt;/a&gt; (now completely gone) stating:&lt;br /&gt;&lt;blockquote&gt;With the public launch of our new application Socialbrowse Zack and I no longer have the resources to support 8aweek.&lt;br /&gt;&lt;/blockquote&gt;&lt;a href="http://socialbrowse.com/"&gt;Socialbrowse&lt;/a&gt; looks like a decent Web 2.0 app.  It lives in your browser as a Firefox plugin and lets you leave comments on any web page, which are viewable to other users that have the plugin installed.  Also, I am never, ever using it.  I don't need social browsing, I need you to prevent me from doing too much &lt;a href="http://www.myspace.com/"&gt;social browsing&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I guess it's hard to make money blocking users from accessing ad-supported websites.  So, 8aweek founders, I have an idea for you.  8aweek, when it existed (sniff), used to give me a fixed amount of time I was allowed to spend each day looking at &lt;a href="http://www.facebook.com/"&gt;crap&lt;/a&gt;, after which it would block me from accessing said crap.  Put 8aweek back up (please?), but this time, get my credit card information, and charge me for each additional minute I spend looking at &lt;a href="http://www.cnn.com/"&gt;crap&lt;/a&gt;, warning me first of course.&lt;br /&gt;&lt;br /&gt;I guarantee you this will make money, so you don't have to bother with all that boring Socialbrowse stuff.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3755470613267698991?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3755470613267698991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3755470613267698991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3755470613267698991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3755470613267698991'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/10/rip-8aweek.html' title='RIP 8aweek'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-8566604278018646465</id><published>2008-09-03T18:15:00.000-07:00</published><updated>2008-09-03T18:41:24.574-07:00</updated><title type='text'>whom to notify when you change your mailing address</title><content type='html'>I recently moved to a new apartment, which involved notifying many, many organizations of my change of address.  I'd be happiest if some website handled this for me, and updated my address everywhere, but in the meantime I created a list of organizations to notify in the hope that it will be useful to someone, perhaps the future me:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the &lt;a href="http://www.usps.com/"&gt;USPS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;your school/job&lt;br /&gt;&lt;/li&gt;&lt;li&gt;any banks at which you have an account&lt;/li&gt;&lt;li&gt;any investment management companies, like &lt;a href="http://www.vanguard.com/"&gt;Vanguard&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/"&gt;Amazon&lt;/a&gt;, &lt;a href="http://www.ebay.com/"&gt;eBay&lt;/a&gt;, &lt;a href="http://www.paypal.com/"&gt;PayPal&lt;/a&gt;, and any other sites that need your address&lt;br /&gt;&lt;/li&gt;&lt;li&gt;your cell phone provider&lt;/li&gt;&lt;li&gt;your cable and/or Internet provider&lt;/li&gt;&lt;li&gt;any insurance providers (car, health, etc.)&lt;/li&gt;&lt;li&gt;any credit card companies with whom you have an account&lt;/li&gt;&lt;li&gt;voter registration&lt;br /&gt;&lt;/li&gt;&lt;li&gt;vehicle and driver registration&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Is there anything I missed?  Also, does a list like this already exist anywhere?  I couldn't find one...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-8566604278018646465?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/8566604278018646465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=8566604278018646465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8566604278018646465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8566604278018646465'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/09/whom-to-notify-when-you-change-your.html' title='whom to notify when you change your mailing address'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-808252798746927852</id><published>2008-07-14T08:38:00.000-07:00</published><updated>2008-07-14T09:42:48.425-07:00</updated><title type='text'>"real-world" object recognition</title><content type='html'>&lt;a href="http://web.mit.edu/newsoffice/2008/computer-vision-0124.html"&gt;A paper from earlier this year&lt;/a&gt; (actual paper &lt;a href="http://web.mit.edu/dicarlo-lab/pubs/Pinto%20et%20al%202008.pdf"&gt;here&lt;/a&gt;) argues that &lt;a href="http://www.vision.caltech.edu/Image_Datasets/Caltech101/Caltech101.html"&gt;Caltech 101&lt;/a&gt; and similar benchmarks used to test object recognition systems fail to capture what is truly difficult about visual object recognition, and good performance can be achieved by local models with no explicit higher-level processing.  This, the authors claim, is not because these models are actually effective, but because the datasets used contain very little "real-world" variation.  For instance, in Caltech 101 the objects are centered, similarly oriented, mostly unoccluded and free from clutter, and are correlated with the image backgrounds.&lt;br /&gt;&lt;br /&gt;Instead, the authors argue, we should use synthetic data sets where the amount of variation is controlled.  They test their simple model on such a data set where object size, position, and orientation vary and find that as the variation increases, performance quickly degrades to no better than chance.&lt;br /&gt;&lt;br /&gt;I think the paper raises an important point, in that we should take care that our datasets are capturing the essence of the problem to be solved.  A few comments:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The problem of object recognition has multiple essences, and Caltech 101 captures some of them.  Our "texture recognition as object recognition" models work pretty well because they do capture some of the appearance variation across different object instances, illumination, and very small changes in viewpoint.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It's not clear that a dataset in which objects have large amounts of variation in viewing angle better captures object recognition in the "real world".  In particular, cars and airplanes, the two objects used in the synthetic dataset, are rarely viewed from some angles.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I would like to see how humans perform on the synthetic data set with lots of variation.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Incidentally, here's another argument from the paper about the standard recognition datasets:&lt;br /&gt;&lt;blockquote&gt;The majority of images are also ‘‘composed’’ photographs, in that a human decided how the shot should be framed, and thus the placement of objects within the image is not random and the set may not properly reflect the variation found in the real world.&lt;/blockquote&gt;My ECCV 2008 paper uses this observation as a cue for segmenting 3D scenes into objects of interest using photographs from &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-808252798746927852?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/808252798746927852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=808252798746927852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/808252798746927852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/808252798746927852'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/07/real-world-object-recognition.html' title='&quot;real-world&quot; object recognition'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-2628622345857156476</id><published>2008-07-05T18:46:00.000-07:00</published><updated>2008-07-05T19:32:57.592-07:00</updated><title type='text'>transformations between point sets with no correspondence</title><content type='html'>Another problem that arises frequently in computer vision applications is finding a transformation that maps one set of points to another, where we have no information about point correspondences.&lt;br /&gt;&lt;br /&gt;For instance, suppose I have a corner detector, and I want to align the set of detected corners to a floor plan, perhaps for an application like &lt;a href="http://www.cs.washington.edu/homes/harlan/camoverlay/"&gt;this one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In addition, as will nearly always be the case, many of my detected corners are spurious.  What I want to do is find a transformation that maps as many detected corners as possible to corners on the floor plan.&lt;br /&gt;&lt;br /&gt;Unfortunately, even an extremely simplified version of this problem is thought to be hard, where hard means there is no solution better than quadratic.  This implies that to find the exact solution, we will have to look at each pair of a detected corner and a floor plan corner.&lt;br /&gt;&lt;br /&gt;Here's the simplified version: given two sets of numbers&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;B&lt;/span&gt;, find the constant offset  &lt;span style="font-style: italic;"&gt;c&lt;/span&gt; that we can add to all elements of &lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;A &lt;/span&gt;&lt;/span&gt;to maximize the number of elements that &lt;span style="font-style: italic;"&gt;A&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;B&lt;/span&gt; have in common.  In other words, considering points in 1D, what is the translation that maximizes the number of correspondences?&lt;br /&gt;&lt;br /&gt;It turns out that this problem is hard even if we are merely trying to detect whether or not there are &lt;span style="font-weight: bold;"&gt;two&lt;/span&gt; correspondences that agree on a translation.  This is shown through a reduction to the &lt;a href="http://en.wikipedia.org/wiki/3SUM"&gt;3SUM&lt;/a&gt; problem in &lt;a href="http://portal.acm.org/citation.cfm?id=314500.314973"&gt;this paper&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-2628622345857156476?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/2628622345857156476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=2628622345857156476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2628622345857156476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/2628622345857156476'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/07/transformations-between-point-sets-with.html' title='transformations between point sets with no correspondence'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-6202344314279771749</id><published>2008-06-30T17:34:00.000-07:00</published><updated>2008-07-08T13:16:07.304-07:00</updated><title type='text'>symmetric affine transformations</title><content type='html'>A common task in computer vision problems is fitting an affine transformation to a set of point correspondences.  The transformation is uniquely determined by 3 correspondences for 2D points or 4 correspondences for 3D points, and can be obtained by solving a linear system of equations.&lt;br /&gt;&lt;br /&gt;Often, however, we have more correspondences.  The usual solution is then to minimize the sum of squared distances between each point in one set and its transformed corresponding point in the other set.  The problem with this approach is that you get different answers if the point sets trade roles.  So, if we have point sets &lt;span style="font-style: italic;"&gt;P&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Q&lt;/span&gt;, the affine transformation &lt;span style="font-style: italic;"&gt;A&lt;sub&gt;PQ&lt;/sub&gt;&lt;/span&gt; that transforms &lt;span style="font-style: italic;"&gt;P&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;Q&lt;/span&gt; will in general not be the inverse of the affine transformation &lt;span style="font-style: italic;"&gt;A&lt;sub&gt;QP&lt;/sub&gt;&lt;/span&gt; that transforms &lt;span style="font-style: italic;"&gt;Q&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;P&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;(Note that sometimes, this makes sense.  If one of your point sets is a ground-truth "model" and the other is an "observation", it is reasonable to minimize the squared distances between observation points and transformed model points.)&lt;br /&gt;&lt;br /&gt;Is there an alternative?  There is, and it's based on a technique called &lt;a href="http://en.wikipedia.org/wiki/Total_least_squares"&gt;total least squares&lt;/a&gt;.  I'll write more about this later, but for now, here's some Matlab code that solves the problem for sets of 2D points:&lt;br /&gt;&lt;pre&gt;function [a_pq,a_qp] = symmetric_affine(p,q)&lt;br /&gt;% p and q are both 2-by-n matrices&lt;br /&gt;% a_pq and a_qp will be 2-by-3 matrices&lt;br /&gt;&lt;br /&gt;n = size(p,2);&lt;br /&gt;x = [p; q];&lt;br /&gt;c = mean(x,2);&lt;br /&gt;x = x - c*ones(1,n);&lt;br /&gt;[v d] = eigs(x*x',2,0);&lt;br /&gt;a = [v; -c'*v]';&lt;br /&gt;&lt;br /&gt;a_pq = [-a(:,[3 4])\a(:,[1 2 5])];&lt;br /&gt;a_qp = [-a(:,[1 2])\a(:,[3 4 5])];&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-6202344314279771749?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/6202344314279771749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=6202344314279771749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6202344314279771749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6202344314279771749'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/06/symmetric-affine-transformations.html' title='symmetric affine transformations'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-1832741512484936534</id><published>2008-06-25T12:04:00.000-07:00</published><updated>2008-06-25T12:13:40.867-07:00</updated><title type='text'>movie poster quiz</title><content type='html'>What do I hate about the following two movie posters?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_gcunJw57osM/SGKYR_N_HHI/AAAAAAAAABE/cbbrn0ViqoU/s1600-h/sexandthecity5_large.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_gcunJw57osM/SGKYR_N_HHI/AAAAAAAAABE/cbbrn0ViqoU/s400/sexandthecity5_large.jpg" alt="" id="BLOGGER_PHOTO_ID_5215898753243749490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_gcunJw57osM/SGKYR00QcnI/AAAAAAAAAA8/ZEjsTIZkMoo/s1600-h/1205263117-no_country_for_old_men_DVD_cover.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_gcunJw57osM/SGKYR00QcnI/AAAAAAAAAA8/ZEjsTIZkMoo/s400/1205263117-no_country_for_old_men_DVD_cover.jpg" alt="" id="BLOGGER_PHOTO_ID_5215898750451479154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It might be difficult to fix in the first one, but it would be really easy to fix in the second one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-1832741512484936534?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/1832741512484936534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=1832741512484936534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1832741512484936534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1832741512484936534'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/06/movie-poster-quiz.html' title='movie poster quiz'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gcunJw57osM/SGKYR_N_HHI/AAAAAAAAABE/cbbrn0ViqoU/s72-c/sexandthecity5_large.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-6326841851361361198</id><published>2008-06-11T10:17:00.000-07:00</published><updated>2008-06-11T11:15:14.645-07:00</updated><title type='text'>subscription math</title><content type='html'>Ramit Sethi suggests &lt;a href="http://www.iwillteachyoutoberich.com/blog/the-a-la-carte-method-use-psychology-against-yourself-to-save-money"&gt;cancelling all your subscriptions&lt;/a&gt; and paying for items à la carte to save money. Without considering whether or not this is a good idea in reality, my first thought was, "can we turn this into a cool math problem?".&lt;br /&gt;&lt;br /&gt;Using movies as an example, let's assume that you will rent &lt;em&gt;x&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; dollars of movies during month &lt;em&gt;i&lt;/em&gt;. Before the month, you can choose to either pay &lt;em&gt;x&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; (whatever it turns out to be), or pay a &lt;em&gt;c&lt;/em&gt; dollar subscription fee to Netflix. Though this is obviously not true in reality, just for simplicity let's assume that whether or not you've subscribed doesn't affect how many movies you will watch that month. So I won't watch more movies just because I subscribed to Netflix.&lt;br /&gt;&lt;br /&gt;Now, there is some optimal strategy that, before each month, psychically knows how many movies you're going to watch, and if their total cost is above &lt;em&gt;c&lt;/em&gt;, subscribes for the month, otherwise pays à la carte. Of course, you can't use this strategy, because you aren't psychic.&lt;br /&gt;&lt;br /&gt;Two questions, nonexistent readers. First, is there any other strategy that we can make any claims about? For instance, is there a strategy that will never pay more than twice what the optimal strategy pays in the long run? I'm pretty certain there is not, since an evil god could make you watch nothing every time you subscribe and $1,000,000 worth of movies every time you don't.&lt;br /&gt;&lt;br /&gt;Second, can we add any additional elements to make the problem more interesting, where some strategy is competitive with the optimal one? What if you have to pay a fee every time you switch from subscription to nonsubscription or vice versa? What if the &lt;em&gt;x&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; come from a normal distribution?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-6326841851361361198?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/6326841851361361198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=6326841851361361198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6326841851361361198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6326841851361361198'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/06/subscription-math.html' title='subscription math'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-4577530717376979991</id><published>2008-06-04T23:05:00.000-07:00</published><updated>2008-06-04T23:13:10.923-07:00</updated><title type='text'>excellent analogy by Marc Davis</title><content type='html'>&lt;a href="http://www.socialmediaguru.com/"&gt;Marc Davis&lt;/a&gt; of Yahoo Research gave an excellent talk at UW today on mobile phones and social media.  During the talk, he gave the following analogy (paraphrased):&lt;br /&gt;&lt;br /&gt;You are at a bar.&lt;br /&gt;You get drunk.&lt;br /&gt;You get even more drunk.&lt;br /&gt;Someone hits you in the back of the head and you go unconscious.&lt;br /&gt;While you're out cold, they take you to the airport and fly you to another country.&lt;br /&gt;They drive you to an unknown location and leave you lying in the street.&lt;br /&gt;You wake up and open your eyes.&lt;br /&gt;&lt;br /&gt;That's what it's like to be a computer vision system.&lt;br /&gt;&lt;br /&gt;The lesson, of course, is that context from our lifestream is incredibly useful for solving problems that are not easily tackled by vision alone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-4577530717376979991?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/4577530717376979991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=4577530717376979991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4577530717376979991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4577530717376979991'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/06/excellent-analogy-by-marc-davis.html' title='excellent analogy by Marc Davis'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-4232649162591039319</id><published>2008-06-04T09:47:00.000-07:00</published><updated>2008-06-04T09:59:45.529-07:00</updated><title type='text'>using Intrade for news</title><content type='html'>I find it is enlightening to fact-check the reported news against reality, and I find that &lt;a href="http://www.intrade.com/"&gt;Intrade&lt;/a&gt; is a good surrogate for reality.&lt;br /&gt;&lt;br /&gt;So here's my Intrade observation of the moment: although Clinton has not yet dropped out of the Democratic race, right now Obama has the same probability of being the Democratic nominee as McCain has of being the Republican one (95%).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-4232649162591039319?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/4232649162591039319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=4232649162591039319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4232649162591039319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/4232649162591039319'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/06/using-intrade-for-news.html' title='using Intrade for news'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-5068756294806765483</id><published>2008-04-27T20:33:00.000-07:00</published><updated>2008-04-27T20:45:15.134-07:00</updated><title type='text'>productivity wars</title><content type='html'>As someone who wastes a lot of time reading lists of ways to be more productive, I notice two pieces of advice that show up frequently (paraphrased):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If someone else asks you to do something for them, say no.&lt;/li&gt;&lt;li&gt;Ask other people to do things for you.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Sometimes both even show up in &lt;a href="http://www.flyteblog.com/flyte/2007/05/productivity_ti.html"&gt;one list&lt;/a&gt;.  I guess a good way to increase your productivity is by decreasing the productivity of others.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-5068756294806765483?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/5068756294806765483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=5068756294806765483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5068756294806765483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5068756294806765483'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/04/productivity-wars.html' title='productivity wars'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-8240325070586649929</id><published>2008-04-26T15:49:00.000-07:00</published><updated>2008-04-26T15:53:34.184-07:00</updated><title type='text'>practice</title><content type='html'>If you're reading this, I'm surprised.  The main purpose of this blog is to get me some writing practice.  I haven't told anyone about the blog and as far as I know, no one reads it.  This is partially why I was willing to use such a silly title.&lt;br /&gt;&lt;br /&gt;All that said, for anyone who somehow &lt;a href="http://www.stumbleupon.com/"&gt;stumbles upon&lt;/a&gt; this blog, if you want to leave me a comment telling me I suck, I will be thrilled, especially if you also tell me how to suck less.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-8240325070586649929?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/8240325070586649929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=8240325070586649929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8240325070586649929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/8240325070586649929'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/04/practice.html' title='practice'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-414445968513038301</id><published>2008-04-25T17:49:00.000-07:00</published><updated>2008-04-25T19:00:55.866-07:00</updated><title type='text'>microscience</title><content type='html'>The word "microscience" may already mean something else, but this post is about an idea that should steal the term away.&lt;br /&gt;&lt;br /&gt;One difference between scientists and non-scientists is that scientists tend to have more experience and skill at testing hypotheses and conducting experiments in a particular area of expertise.  However, non-scientists (and scientists in other areas) also benefit from the results of these experiments.  In addition, individual non-scientists may have specific questions they'd like answered for which scientists have not yet conducted any experiments.&lt;br /&gt;&lt;br /&gt;The problem, if you want to call it that, is that scientists tend to study things that make sense for them career-wise.  Often this means making a little bit of progress on an important existing problem, other times spending some effort carving out a new area, either way it is something that will further their careers as scientists.  I hope I'm not sounding too cynical here, &lt;a href="http://www.overcomingbias.com/2008/04/sincerity-i-lik.html"&gt;Robin Hanson seems to agree&lt;/a&gt;.  This isn't unreasonable, as scientists are motivated by long-term incentives such as tenure and multi-year grants.  For the overall progress of science, this is probably a good thing, but it potentially leaves smaller questions unanswered, even if knowing the answers to these questions would be valuable to some individuals.  Questions that have little potential of leading to other interesting scientific questions are likely ignored.  (This itself is a hypothesis I would like tested.)&lt;br /&gt;&lt;br /&gt;I would like to see something I'm calling "microscience", where individuals post hypotheses and freelance scientists bid on testing the hypotheses through experiment.  The experiments might be things that can be completed in anywhere from a few days to a few months, but fall outside the realm of current NSF funding practices.&lt;br /&gt;&lt;br /&gt;And no, I have no idea if this kind of thing would really work for science.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-414445968513038301?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/414445968513038301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=414445968513038301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/414445968513038301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/414445968513038301'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/04/microscience.html' title='microscience'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-3879909312653424620</id><published>2008-03-31T13:12:00.000-07:00</published><updated>2009-11-16T23:43:13.332-08:00</updated><title type='text'>In-N-Out</title><content type='html'>So I finally, after 29 years of existence, got a chance to eat at the much-hyped In-N-Out Burger chain, and I have to say, I was pretty disappointed.  People in California talk about this place as if Jesus himself returned to Earth and started a burger chain.  This view seems to be corroborated by the &lt;a href="http://en.wikipedia.org/wiki/In-N-Out_Burger#Bible_references"&gt;quotes&lt;/a&gt; on some of the utensils.  It just didn't do it for me, though.  I got the same kind of greasy burger you can get at any fast food joint, and In-N-Out has an extremely limited set of ingredients (no bacon, no mushrooms, and no cheese except American).&lt;br /&gt;&lt;br /&gt;My guess is that some of the hype originates from the existence of &lt;a href="http://en.wikipedia.org/wiki/In-N-Out_Burger_menu_items#The_Secret_menu"&gt;secret menu items&lt;/a&gt;, which lets select patrons feel as though they belong to an exclusive club of people who know the code name for each subset of the 5 ingredients In-N-Out carries.  It's the same phenomenon as knowing the correct grammar for constructing Starbucks drink names.  (I'm pretty sure it's a &lt;a href="http://en.wikipedia.org/wiki/Regular_grammar"&gt;regular grammar&lt;/a&gt;.)  Anyway, I'd be much more likely to go back to In-N-Out if someone tells me the secret word for "not drowning in grease".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-3879909312653424620?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/3879909312653424620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=3879909312653424620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3879909312653424620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/3879909312653424620'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/03/in-n-out.html' title='In-N-Out'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-1892636847607939155</id><published>2008-03-08T21:32:00.001-08:00</published><updated>2008-03-08T23:35:52.519-08:00</updated><title type='text'>keeping myself organized</title><content type='html'>I'm supposed to be working on my ECCV paper right now, but I decided to procrastinate by streamlining my eLife.  It's pretty surprising how many cool Web 2.0 tools there are for keeping yourself organized.  With each new tool I discovered, I would usually think "great, now if only I could also &lt;em&gt;x&lt;/em&gt;", and almost every time, with a little bit of searching, I managed to find another tool that accomplishes exactly &lt;em&gt;x&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Here are some things that absolutely everyone should do:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use an RSS reader.  Hopefully you already do this.  You should not be checking and re-checking dozens of sites for updates.  I use &lt;a href="http://www.google.com/reader"&gt;Google Reader&lt;/a&gt;, but there are plenty of others.  There are some slightly less obvious uses of RSS too.  For instance, if you find yourself repeatedly searching Craigslist for something, you can subscribe to the search as an RSS feed instead.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do not subscribe directly to RSS feeds that have hundreds of items each week (Digg, TechCrunch, etc.).  This, as they say, is like drinking from a firehose.  If you are checking these sites for articles on a particular topic, use &lt;a href="http://feedrinse.com/"&gt;FeedRinse&lt;/a&gt; to filter the RSS feeds using keywords.  Otherwise, use &lt;a href="http://www.aiderss.com/"&gt;AideRSS&lt;/a&gt; to filter out the less important items from each feed.  AideRSS appears to use a ranking algorithm similar to Google's PageRank to measure quality.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use some kind of calendar application.  I recommend an online one like &lt;a href="http://www.google.com/calendar"&gt;Google Calendar&lt;/a&gt;, as I use different computers in different locations.  With Google Calendar, you can add events by entering text like "meet with Xander at 3 PM on Tuesday" into a field, and this event will be added to your calendar, even if you don't know anyone named Xander.  Even nicer is that several sites, like &lt;a href="http://www.tripit.com/"&gt;TripIt&lt;/a&gt;, communicate directly with your Google Calendar, so you can keep all of your scheduled events in one place without even entering many of them manually.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Collect data on yourself.  You need to know how you are spending your time and money.  &lt;a href="http://www.rescuetime.com/"&gt;RescueTime&lt;/a&gt; is pretty good for the former, and &lt;a href="http://www.mint.com/"&gt;Mint&lt;/a&gt; is good for the latter.  Both of these require virtually zero data entry on your part.  Actually, here's a tool I would like but was unable to find: something that punishes you for wasting time or money, or rewards you for being good.  The website &lt;a href="http://www.stickk.com/"&gt;stickK&lt;/a&gt; is sort of close to this, but requires too much manual effort.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;And because no such tool exists, I am writing this blog entry instead of my ECCV paper.  Oh well, at least I'm producing something instead of consuming, even if it is of little value.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-1892636847607939155?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/1892636847607939155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=1892636847607939155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1892636847607939155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/1892636847607939155'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/03/keeping-myself-organized.html' title='keeping myself organized'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-7846703525176048501</id><published>2008-03-03T17:15:00.000-08:00</published><updated>2008-03-03T17:27:10.117-08:00</updated><title type='text'>MySong</title><content type='html'>MySong, a project I worked on last summer with Dan Morris and Sumit Basu of Microsoft Research, seems to be hitting the blogs:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.boingboing.net/2008/03/03/microsoft-researchs.html"&gt;http://www.boingboing.net/2008/03/03/microsoft-researchs.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm a bit surprised at the negativity of some of the commenters.  Remember: this isn't supposed to be the ultimate solution to music composition.  The chord progression model is pretty simple and the synthesis (at least without Band-in-a-Box) is just a Let It Be pattern.  What MySong does do, however, is let people who have no idea how music "works" play with basic composition.  I know a fair amount of music theory and still had tons of fun singing into MySong and messing with the chords that came out.  In fact, I spent more time doing that than actually working on the code (but don't tell anyone that).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-7846703525176048501?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/7846703525176048501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=7846703525176048501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7846703525176048501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/7846703525176048501'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/03/mysong.html' title='MySong'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-5841324705544516940</id><published>2008-02-28T10:40:00.000-08:00</published><updated>2009-11-16T23:46:13.657-08:00</updated><title type='text'>medoids</title><content type='html'>Suppose I have a set of points. The &lt;i&gt;mean&lt;/i&gt; of this set of points is the point (not necessarily in the set) which minimizes the sum of its squared distances to all the points in the set.  A related concept is the &lt;i&gt;medoid&lt;/i&gt;, which is like the mean but is restricted to being one of the points in the set.&lt;br /&gt;&lt;br /&gt;Interesting fact: the sum of squared distances from the medoid to all points in the set cannot be more than twice the sum of squared distances from the mean to all points in the set.&lt;br /&gt;&lt;br /&gt;This imples that for the k-medoids problem, if you have an algorithm that achieves some constant times the optimal solution cost, this same algorithm also achieves a constant factor approximation for the k-means problem.&lt;br /&gt;&lt;br /&gt;Again, this is probably trivial if you're a theory person, but I think it's fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-5841324705544516940?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/5841324705544516940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=5841324705544516940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5841324705544516940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/5841324705544516940'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/02/medoids.html' title='medoids'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22273042.post-6475064908143377287</id><published>2008-02-26T22:34:00.000-08:00</published><updated>2009-11-16T23:46:38.904-08:00</updated><title type='text'>double triangle inequality</title><content type='html'>The triangle inequality is one of the properties of a distance metric &lt;i&gt;d&lt;/i&gt;. It states that, for any &lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt;, and &lt;i&gt;z&lt;/i&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;d(x,y) + d(y,z) ≥ d(x,z)&lt;/i&gt;&lt;br /&gt;&lt;/blockquote&gt;A somewhat lesser-known (but easy to derive) extension of this is the double triangle inequality for squared distances:&lt;br /&gt;&lt;blockquote&gt;2(&lt;i&gt;d&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;) + &lt;i&gt;d&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;y&lt;/i&gt;,&lt;i&gt;z&lt;/i&gt;)) ≥ &lt;i&gt;d&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;z&lt;/i&gt;)&lt;br /&gt;&lt;/blockquote&gt;I have never seen the double triangle inequality used for anything. However, I would think it would be useful, given the prevalence of squared distances in objective functions. The k-means objective, for instance, is to minimize a sum of squared distances. For problems in which the objective function involves non-squared distances, the ordinary triangle inequality is often used to prove bounds on an algorithm's performance. I'm not sure why I haven't seen similar things with the double triangle inequality and squared distances.&lt;br /&gt;&lt;br /&gt;Also, I should point out that I'm not really a theory person, so my not having seen something provides very little evidence for the nonexistence of said thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22273042-6475064908143377287?l=zorgnine.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zorgnine.blogspot.com/feeds/6475064908143377287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22273042&amp;postID=6475064908143377287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6475064908143377287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22273042/posts/default/6475064908143377287'/><link rel='alternate' type='text/html' href='http://zorgnine.blogspot.com/2008/02/double-triangle-inequality.html' title='double triangle inequality'/><author><name>E. Zorgnine</name><uri>http://www.blogger.com/profile/10686345535253130749</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp1.blogger.com/_gcunJw57osM/SEhqCsghKzI/AAAAAAAAAAY/McO3lkRoxB8/S220/ian_light_crop.jpg'/></author><thr:total>0</thr:total></entry></feed>
