On some occasions I tend to make way too many photos of the same subject. Sorting through dozens of nearly identical photos is often hard and seeing that wall of images in Lightroom usually doesn't help in determining which is the best one. Some people have similar problems, as the following question from the Photo Stack Exchange: How do you select the 10 best images from a set of 300?
Since some people in the question comments repeatedly told me it was rather trivial1, I actually did it: An application that sorts the images in the current directory by leaving the actual head-to-head comparison to the user.
Written in C# for .NET 2. Works on Mono (tested on Linux so far), too. Requires dcraw on the PATH (compiled executable for Windows or OS X can be downloaded here).
Currently the user interaction is very rudimentary. This is probably subject to change. Also the code is an evil mess as usual with such a hack-job.
The application has to be started in a directory that contains the images to sort. It then proceeds to load all images it can find and handle (JPEG, GIF, PNG, BMP are supported natively, all other formats are either supported by dcraw or skipped if not). Keep the number of images reasonable, as every image is preloaded in memory to speed up display – I tried starting it on a folder with around 600 images and terminated it at around 2 GiB memory usage.
After that you get a two-pane view with an image on the left and on the right. Click on the one that you consider the best of the two. You will then get two new images. Continue until done. You can close the program if you want, it will resume where you left off.
After all necessary comparisons have been done2 the result can be seen:
It has the sorted list of images on the left with the highest-ranked at the top and the lowest-ranked at the bottom.
Todo list:
Thread.Sleep and polling but to use proper synchronization
methods.Source code can be found in my SVN repository and is released under the MIT license. I welcome patches ;-)
Images in above screenshots are my own.
1 Of course it wasn't as trivial as others would want to make me believe. After a long struggle with Libraw, I simply went the dcraw route. Not pretty, but works with minimal amount of code.
2 This is in the order of n log2 n where n is the number of pictures compared – so, for 20 pictures you can expect something around 20 × 4.3 ≈ 85 comparisons – I know, it's not a small number. For the 300 images you mentioned you'd get around 2400. The actual number that has to be performed manually is (a) different (since complexities omit the linear factor) and (b) as far as I observed so far, smaller. To avoid inconsistencies the user will never be prompted twice on the same two images (either order) and never prompted with the same image on both sides.
Yay. Now that Stack Overflow has bronze badges for tags I got a whole bunch
of them (they are awarded for 100 upvotes in a specific tag). But by that
I rose into a quite exclusive circle: The only person with a
batch-file badge:
Specializing in obscure languages pays off after all. Then I'm one of only
two persons with a batch badge:
And PowerShell doesn't look too bad either:
That's me among a bunch of PowerShell MVPs :-)
It's been a few years by now I am writing batch files every now and then,
some for trivial tasks, some for things other people would just declare me
insane for doing it with batch files. Anyway, cmd has become boring by now. I now
want to concentrate on another target for writing batch files, one that's still
very much alive, at least on 32-bit systems: command.com.
In a way, cmd was too powerful. It's more fun
the more limited you are so I'll gradually rewrite all batch files on this site
to run in command.com instead. That also
allows them to run on all non-NT versions of Windows as well as DOS. I consider
that to be quite an improvement over the limited platform availability of cmd.
I am part of some online „communities“ but then again, I'm not—somehow. It's funny as I regularly contribute to some of them, namely Wikimedia Commons, Wikipedia, Rosetta Code and Stack Overflow (and its relatives). Now currently there are elections for new moderators on Stack Overflow and I (as most users) was asked to vote:
But I honestly can't vote there.
The problem is that Stack Overflow is largely content-based. Whatever there may be in community is mostly driven by content and not by the users. Which means that I could judge the candidates by the content they contribute which is easy enough but doesn't tell me anything about their qualifications as a moderator. Equally unsuitable are the moderator nominations, mostly done by the candidates themselves and their user profiles; they simply aren't an accurate picture of how well they would do their job.
Stack Overflow goes great lengths in pushing the actual users into the background, emphasizing the questions and answers. There is a little incentive to continue contributing, namely reputation and badges; I'm playing that game too. But overall it doesn't really matter for Stack Overflow to keep specific persons there—as long as the contributions are still there and of high quality, no one can complain. But ultimately you don't really know about those people. You know about their technical knowledge and how they write or how willing they are to provide outstanding answers. But about how well they would perform as moderators? Nothing. While sometimes discussions arise in the comments on a question or answer they are mostly very short-lived, just as the questions/answers themselves (most questions, even those with stellar answers vanish after at most a few hours and no-one reads them anymore). What's more: comments are de-emphasized on purpose: smaller font size, gray text, hidden by default (except for the top-rated comments). As a discussion medium, where I could actually see how people approach problems, how they deal with it and ultimately solve it, this is a complete fail; again, on purpose.
Stack Overflow isn't alone in this regard; I just picked it out since it's the one example I'm most familiar with at the moment. The problem is similar for me at Wikipedia where the means of communication are comparably arcane and inefficient. Mostly you're communicating with a large blob of vaguely human form which could be anyone. And most of the time you don't talk to the same persons regularly. To me it is surprising that (at least for the German Wikipedia) many people participating in discussions, polls, &c. seem to know each other and are actually talking there. Maybe I'm the ugly kid who stands besides all this or maybe I just didn't see a suitable way of getting to know the people behind the content.
Ultimately, there are probably persons who could judge how well someone is suited as a moderator: Those that have access to logs that detail what moderator-like activities a person has done. For Stack Overflow this would include things like close-votes on questions, flagging questions and answers for moderator attention—that's the technical side. Then there's the human side which necessarily includes discussions (such as what makes a question programming-related). But discussions are, as noted, very much de-emphasized in contrast to questions and answers (which tell me only about technical problems someone faced and was able to solve).
For the normal user there is simply no easy way of looking at the things that would matter in this regard and help in a decision. As for the candidates: I've never had anything to do with the vast majority of them, except for two.
Well, back to my original point, I find it a little weird that such sites ask their members about positions that need certain qualifications, who—by definition and purpose of the site—don't know each other well enough to make an informed decision on that. I see it as a kind of pseudo-democracy where the site owners/administrators give the „community“ something to decide. But in the end I doubt the final decision will be made with regard to the actual qualifications of the elected person. The votes itself are probably rather random for most people participating in the election or maybe guided by prior advertising on behalf of the candidates. I don't remember the original nominations of the candidates anymore but what I read of them didn't strike me as convincing. Heck, not knowing those people I couldn't even decide whether their application/nomination was meant seriously or is just full of senseless talk.
I think such sites should either make actual communication (read: social behavior of people) part of their purpose (not that I see this necessarily as a good thing—I'm part of no social network for a reason) or stop trying to pretend they have a community. In fact, they haven't, in my opinion; they have content, they have people that contribute it; but they have no community.
I needed the format painter pretty often in the last few days. It's quite a handy tool sometimes, though with one caveat: The mode created by selecting the format painter ends after one use. So usually you can only paint the formatting onto a single destination before having to re-enable the tool. That's not very nice when having multiple places to apply the formatting.
However, you can simply double-click the button in the Ribbon which leaves the mode activated until Esc is pressed. Found this by accident but it is handy.
And, noticing now, it's even mentioned in the documentation. But who reads that? :-)
Now that Stackoverflow got statistics on the tags I just had to look where I am with my favorite tag: Batch files.
And behold, I am first place for the last month and (more or less) close second behind Pax in the all-time stats.
Pax, I get thee :P
Am I taking this a bit too serious? Maybe, maybe not. I have to agree, though, that he knows some evilness I didn't know so far so perhaps the current ranking is appropriate :-)
Also, a little competition isn't bad in itself :-)
Now I only need a few more upvotes to get a batch specialist badge.
Update (2009–08–06): By now I am first in the batch tag. Yay.
A fellow student unearthed the following /. signature:
„Anyone else notice what x+k+c+d adds to? 42! :) [x=24,k=11,c=3,d=4]“
Interesting discovery. I wonder whether that was intentional. And it goes on: When adding up ASCII representation values of the characters you get 120 + 107 + 99 + 100 = 426 which includes 42 as a substring.
Said fellow student then discovered even more similarities between those two numbers:
<sh> sebastian@madlax:~$ factor 426 <sh> 426: 2 3 71 <sh> sebastian@madlax:~$ factor 42 <sh> 42: 2 3 7 <sh> This is a *bit* creepy for a coincidence.
So both numbers are even sphenic numbers and the prime factors of 42 are a substring of the prime factors of 426.
Scary. So xkcd seems to be linked to 42.
I just filled another glass of Ginger Ale and first I put it far away from my laptop. The reason: The droplets that bounce out from the glass from sparkling are pretty hard to remove once they land on the display and dry up.
The question is, how high (and far) do these droplets fly? They are propelled by a bubble of carbon dioxide that rises to the surface and bursts. That should give us an upper bound of the energy that is available for flying around. Ich also wonder whether the height is affected by the filling level of the glass, i. e. the way a carbon dioxide bubble can/has to rise.
Is there probably an ideal filling level where you shouldn't worry about droplets landing on your display (or other hard to clean objects in the vicinity)? Does the flying height maybe follow a specific distribution function so you could specify a filling level where you have 99 % certainty that no droplet escapes the glassy confinement?
I think I have to think about that later again. The droplets actually move fast enough to leave trails in the above image, captured at 1/250 second (may not be visible since I resized it, though).
Talk about weird problems that can occur:
I never knew there could be compatibility issues with cables …
Seriously, I get some strange referrers from Google. Who the hell gets the idea to clear that from a batch file? I mean, most programs store that kind of stuff either in the registry or in some ugly binary files. The first option is the easier one, at least on Windows 5.1 onwards, since you could use reg.exe. The other part is trickier except the application doesn't mind a missing file.
As for Word 2007, the most recently use files reside under <text>HKCU\Software\Microsoft\Office\12.0\Word\File MRU</text> so a simple <cmd>reg delete „HKCU\Software\Microsoft\Office\12.0\Word\File MRU“</cmd> will do the trick. Of course, you can still put that into a batch file.
It works, but reminds me a bit of How do I inflate a bicycle tire with a potato?.