3 TED talks on education

This blog post summarizes the content of three interesting TED talks on education:

Trucks that ignore “low clearance” signs

...make for cool videos. I can’t believe that no one has come up with a solution for preventing this kind of accident. Should not be too hard. For example: Measure the truck height in advance and extend tire-killing spikes if it exceeds the limit (admittedly, this might cause other kinds of accidents). Or a GPS-based gadget that emits a warning sound if a low clearance location is close, to be installed in large trucks. [Source: Boing Boing]

The power of sweating the small stuff

Recommended: Rory Sutherland’s talk “Sweat the small stuff”.  He posits that small things and encouragements are often more conducive to changing people’s behaviors than large projects and threats. As an example, Sutherland cites traffic signs that display your current car speed together with a smiley or a “frownie” (depending on whether your are within the speed limit). These are actually more efficient at preventing traffic accidents than speed cameras (which come with the threat of real punishment).

Unfortunately, powerful people often have large budgets and favor grand strategies. Instead, he would prefer powerful people with little money which would have to sweat the small stuff. He describes the four quadrants of a coordinate system with the axes “cost” and “effect”:
  • costs much, has a big effect: strategy
  • costs much, has a small effect: consultancy (partially tongue-in-cheek). He also mentions mergers which often change little for both employees and customers of companies.
  • costs little, has a small effect: trivia
  • costs little, has a big effect: these are things that usually escape politics and companies. He suggests inventing a word for this category and hiring “chief detail officers” (with small budgets) that are responsible for it.

Can gaming make a better world?

Jane McGonigal certainly seems to think so. She argues that gaming is becoming increasingly wide-spread and that gamers exhibit the following positive traits while gaming:


Call centers: 3 ideas for improving the experience

Call centers are everywhere these days. And they have already much improved: Outsourcing is less common, voice recognition is used, etc. Here are 3 things call centers could do to further improve their user experience:
  • Let the caller know how many people are “standing in line”. This gives you a feeling for progress and tells you whether you should wait or try another time.
  • Let the call center operator know how long a person waited in line. This gives him or her a rough indication what mood he or she will be in.
  • I’m not sure if this makes sense, but one could also pair callers and operators based on where the caller is currently located or on where the caller is from. This can facilitate the communication. For example, dialects from one part in Germany can be very hard to understand for people from other parts.


Multilingual spell check

In Apple Mail you can mix different languages and the spell check still works as expected (see above). I wonder how they do this. Probably by assigning that language to a sentence that produces the least errors. I also remember from a cryptography lecture that one can compute a numeric index for a text (from letter frequency) that indicates the language. Incidentally, this index is relatively robust with regard to encryption.


Lost in translation: the Suntory scene translated

This page translates the Japanese part of the dialog. Really funny. Incredibly, Sammy Davies Jr. actually did commercials for Suntory Whisky in the early 1970s. Francis Ford Coppola, Sophia Coppola’s father, also appeared in a Suntory commercial in Japan, which inspired her to write “Lost in translation”. [Sources: Daring Fireball, Wikipedia]


The internetification of TV

The LA times has an article titled “Google TV plan is causing jitters in Hollywood”. I don’t envy Hollywood. They can either turn to the control freak Apple or the lazy curator Google (for example, in the Android market place, someone was recently able to upload and charge for an application that was actually someone else’s). The added competition is certainly good for the consumer. It is also currently far from clear who will make this race. Other options include Hulu and Netflix. Because all the necessary technology is so readily available, there is little lock-in and start-up costs are relatively low. Ironically, Google’s plans might also be good for Apple, whose TV-related project is rumored to be faced with difficult negotiations. If Hollywood is scared of Google, things might go smoother.

DVD: Il y a longtemps que je t'aime (2008)

This movie is called “I've loved you so long” in English. It is really good French cinema, starts with a convincingly dark secret and ends quite sad, but uplifting. The movie makes many acute observations about society’s difficulties with outsiders. Kristin Scott Thomas is great in it. Her excellent French reminded me of the fact that she lives in Paris and appears in many French movies. IMDB tells us that she dubbed herself in the French version of “Four Weddings and a Funeral”. And that her first feature film was the 1986 Prince movie “Under the Cherry Moon” (those really were different times...).


iTunes MP3s: remember playback position

Handy for long MP3s: In the information dialog, under “Options”, you can enable “Remember position”. Then, like PodCasts, whenever you revisit an MP3, play resumes where you last left off.


Politicians: Google Streetview is where you put your foot down? Really?

Google Streetview is causing quite an activity in Germany: Many politicians ask Google to blur their houses and suggest that citizens do the same. So it does not bother them that Google reads all your emails or takes away your data, nilly-willy, but storing pictures that anyone can freely take, anyway, is a problem? I suspect that many people do not understand what is going on, are scared, and have a knee-jerk reaction. I would be scared to, if I thought that Google was constantly filming my house and publishing the result on the internet, for everyone to see. Note that there is a downside to the opt-outs, because the blurs have made Google Streetview less useful, at least in Munich. Other Google threats are much more serious. Or am I missing something?



Mutewatch: new ideas for watches

Mutewatch, a newly founded Swedish company (manned mostly by students) is currently creating a watch that will have several intriguing features:
  • Touch user interface
  • Charge via USB
  • Alarm vibrates (silently)
  • Display can be switched off
  • Nice look: digits seem to appear on the wrist band
[Source: Engadget]


The Liquid Pencil

New from Sharpie: The Liquid Pencil. Writes like a pen, erases like a pencil, becomes permanent after 3 days. [Source: Daring Fireball]

Update: Engadget has already tried one.


Is Bill Gates really altruistic?

Warren Buffet and Bill Gates have recently made headlines when they announced that they were going to donate half of their fortune. Bill Gates tried to convince German billionaires to do the same. But they are hesitant and I find the justification interesting. Peter Krämer says that U.S. fiscal law allows billionaires to basically decide between donating and paying taxes and argues that no single human should have the power to control that much public money. He has also been quietly donating a lot of money, in addition to paying taxes and is in favor of the rich having to pay more taxes. Quite impressive. The Bill Gates Foundation has in the past been questioned for investing its money into “unethical” companies. It might come with the territory, but it shows the pitfalls of this approach.

Nokia’s VP answers some questions

Suggested reading at Engadget. It took them long enough, but Nokia just might be able to pull off a turn-around. The hardware of the N8 looks nice and the MeeGo OS is built on the solid foundation of Linux and Qt. The Nokia Vice President also seems aware of the challenges they are facing and gives refreshingly non-marketing answers (such as Symbian’s menu-based navigation not being a good match for touch interfaces).


Coolest photo bomb ever

A couple wanted to take a self-time picture at Banff and a ground squirrel got in the way. [details, original source]


Clark on cluelessness, Clarke on what is possible

I think this law has psychological applications, too:
Sufficiently advanced cluelessness is indistinguishable from malice. [J. Porter Clark]
Also fun—Clarke’s three laws:
  1. When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is probably wrong.
  2. The only way of discovering the limits of the possible is to venture a little way past them into the impossible.
  3. Any sufficiently advanced technology is indistinguishable from magic.

How to board a train that never stops?

Answer: You enter a capsule that is dropped on top of the train as it enters the station, while another capsule that was previously on top of it stops at the station. Check a YouTube video for details. Presumably, such a train would be more energy efficient than one that has to stop at every station. It reminds me of Arthur C. Clarke’s idea (in “Profiles of the future”) of having running strips as public transportation. One enters an outermost strip which runs at a low speed and proceeds to inner strips that become increasingly faster. [Source: Der Spiegel]

A light rail train that drives around cars

Source: ChinaHush
Cool idea: China is working on a light rail train that has a hole inside so that cars can drive through it. That means that it can use the same roads as cars, without occupying additional space. And even while it stops, cars can continue to drive. Compared to a subway system, routes are much cheaper (10%) and quicker (1 year versus 3 years or more for 40km) to build. But how is this better than a single-lane light rail train (in Munich, some of them share a road with cars)? No tracks in the road? I’m sure that could be fixed by using non-track wheels and some sort of automatic guidance.
[Source: Huffington Post]

Google Wave is dead

It was bound to happen: Google Wave is dead. Google Wave has always been a problematic product: What does it really do?
(*) What is wrong with email, instant messaging, forums, and collaborative editors? Why do they need to be merged into a single product? It was a typical Google product: Technologically very impressive, only for technical people (I have yet to meet a non-technical person that has used it), abandoned after a short while.
By the way: If anyone has an answer to (*), I would love to hear about it.

Update 2010-12-25: Google Wave has now become an Apache project.
I’ve thought about it some more and there is something intriguing about continually updating information and tracking the changes that are made. But a wiki that allows one to follow changes should be enough for that. Instead, Wave conflated this kind of documentation with instant-messaging-style brainstorming. I suspect that keeping brainstorming fully documented does not make sense and goes against the human tendency to maintain order by throwing stuff away and/or transforming it into something new.


Why we are actually writing getters and setters in Java

I now often hear the opinion that writing getters and setters has something to do with better encapsulation, that using “naked” fields is bad practice. To find out if this is true, we have to look at Java history. In the mid-nineties, Sun developed the Java Bean Specification as a component model for Java. This model was supposed to help with tool support for Java, e.g. when connecting a graphical user interface with domain objects. In this case, it is useful if one can observe changes made to fields and react to them (e.g. by updating the text displayed in a window). Alas, while there are some languages that allow this kind of meta-control (Python and Common Lisp come to mind), Java does not. Thus, Java Beans introduced standardized naming that allowed one to implement a field as a pair of methods which then would manually implement the observation.

I usually code as follows: If I need just a field, I use a public field (no getters and setters), because it helps me to get started quickly and introduces less clutter. If I later change my mind, I let Eclipse introduce the indirection of the getter and setter. That means that there is no penalty for such a change and no need to think ahead! Granted, having both public fields and getters/setters affects uniformity, but the added agility is worth it for me.

Obviously, it would be nice if Java had true observable (and optionally computable) fields. This feature was initially on the table for Java 7, but did not make the cut. Maybe IDEs could help by displaying getters and setters as if they were fields. Their source code would be hidden, with visual clues indicating if such a pseudo-field is read-only etc. Additionally, auto-expansion would be improved, because pseudo-getters (such as Collection.size()), getters/setters, and fields would all be part of the same category. No more typing “.get” and hoping that the information that you are looking for is available as a properly named getter. The same kind of grouping should also be made in JavaDoc. Lastly, one could display foo.setValue("abc") as foo.value = "abc". But I’m not sure if that makes sense.

Addendum (2010-08-07): I think I did not make my point clear. It was not “use public fields”, it was “don’t use getters and setters blindly”. I’m applying the coding style mentioned above during an exploratory phase of coding. IDEs such as Eclipse allow you to do this kind of quick and dirty exploration because real getters and setters are always just a refactoring away. I do agree that, as soon as the API and its client code are not in the same code base, you cannot do these refactorings, any more. Thus, you have to think ahead and freeze some things.

As for generating getters and setters: Yes, Eclipse does that for you. It even expands getFoo into foo getter source code and setFoo into foo setter source code. And it can also rename the setters and getters for you while renaming a field. Even then, getters and setters still add clutter.