Well... since you didn't bother to limit it to only "simple user tasks".....
for i in * do mv $i `echo $i | tr [:upper:] [:lower:]` done
Done, all the files in that directory are now lower case.
- it fails with file names with spaces in them (which shouldn't be anything out of the blue)
- it fails with file names beginning with "-"
- it might overwrite in an unwanted way if two files exist with the same name but different case
- it warns when file is already lowercase
And that's just it. It's another case of "See how easy that was? Oh, we just need to add some quotes. Oh, and -- as an argument for mv. Oh, and -i as an argument for mv. But remember to put -i before --. Everybody knows that." - and yet you created a script that is a text book example of creating a fragile script.
Great default settings are of utter importance and the whole list of the default tools is much influenced by historic (and backwards compatible) reasons. It still leads to different interesting design cases:
- head and tail are extremely similar but have two different commands. GNU head can't even behave as tail with command switches.
- most people would want to create soft links (as opposed to hard links) in their daily routine but still have to go through ln -s instead of a command just for soft links. That is not unlike the -o loop example in GP, as a case of "yeah, you should obviously know that".
$ cal 9 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
... however it's not that effective as locale is not taken into consideration. As your link mentions, "only" England+Scotland+colonies switched at that point.
This is truly bizarre, albeit true. With the passing of the National Defense Authorization Act in 1997, private companies in United States aren't allowed to provide high resolution satellite/aerial imagery of Israel. This restriction boggles my mind for a free country. Not that it matters much longer as other countries such as Turkey are going to provide high-resolution imagery of Israel in 2013.
It could be possible to construct a rudimentary "aerial" view by warping street view imagery (of course several areas and building roofs would not get into that picture) however. So yeah, there are some pretty weird restrictions out there.
Apparently the video requires a browser that supports opening tens of windows and moving them around all over the screen for maximum annoyance.
Not a great sales argument for Chrome.
TinEye searches much more than exact images.
I just took a screenshot from Google Street View in The Museum of Modern Art. From the screenshot I cropped out a painting (and didn't even change the perspective) and searched at TinEye which resulted in this search. Colour me impressed. Once again, my image is just a screenshot from a photo taken non-orthogonally at a painting.
TinEye is also extremely useful to help understand a photoshop meme
Following their recent pictures of their J-10 fighter aircraft here are the pictures of their prototype space craft:
Isn't that pretty much like saying: "Actual Windows developers don't seem to share your concern. As I've said before, only Linux fanboys seem to care about Windows' supposed security issues."?
(replace with your favourite OS/kernel/whatnot)
Maybe the developers should care?
As I see it, most projects start out with a good structure and the best of intentions, and then comes deadlines and the developer having to juggle several projects at once, and then a shortcut is taken here, then there. And suddenly you end up with a non-documented project where the only person that knows how it works is the original developer.
There will however always be BAD code by bad programmers. I've taken over Java progress where everything was OOP'ed into hell (as in a bazillion classes more than was needed for the application) and PHP projects which should be OOP'ed but consisted of about 500 files that included each other in a huge confusing net.
I've also had to take over projects where the original developer was using new technology because he thought it would be fun (at the expense of the customer). Having a huge website in PHP/MySQL and then having crucial parts of it in Ruby/PostreSQL is just a maintenance nightmare.