New Google Maps Terrain Button
eric | November 27, 2007
As Google Blogoscoped informs us, a new terrain button has been added to Google Maps. Looks very impressive, at least in the Vancouver area (not in Montreal unfortunately).
As Google Blogoscoped informs us, a new terrain button has been added to Google Maps. Looks very impressive, at least in the Vancouver area (not in Montreal unfortunately).
Today I am proud to present our brand new Technical Report in which Patrick Lam, Laurie Hendren and me present how you can use static analysis to evaluate runtime monitoring properties ahead-of-time, i.e. at compile time opposed to at runtime.
We have been working on this topic for about a year now, with different approaches and it actually took us until some weeks ago to get it actually all worked out. The coolest thing is that the approach we found in the end is really surprisingly simple, yet very effective. All it needs is a good static abstraction and super-precise pointer analysis. That’s it. The problem that we had before was that we were tying to make things more complicated than they were.
This is a follow-up to my earlier posting in which I was ranting about Java generics. Subject of the post were these two pieces of Java code:
Set<String> stringSet = new HashSet<String>(); Set<String> otherStringSet = new HashSet<String>(); otherStringSet.add((String) stringSet);
Set<List> listSet = new HashSet<List>(); Set<List> otherListSet = new HashSet<List>(); otherListSet.add((List) listSet);
The first one gives a static type error in line 3 because obviously one cannot cast a Set to a String. What confused me was that the second piece of code is (statically) well-typed. You will get a runtime error on the cast (List) listSet, but no compile time error. Why is that?
Today I was stunned to notice that my GMail spam folder had risen up to 84619 spam mails! Because GMail automatically deletes spam mails within 30 days this means I had been receiving around 2820 spam mails daily, almost two spam mails per minute! This is really gross. I really hope new anti-spam technology will arrive soon. Many thanks to GMail though for having such a fantastic filter! I think I never had any false positive and right now maybe maximally 10 spam mails get through to me every day. If that’s 10 out of 2820 I can live with it.
Bryan Cattle recently explained why their autonomous car developed for the DARPA urban challenge did not make it: They simply had a memory leak in their C# code, filling up their entire heap space after about 28 minutes which made the computer crash. It’s important to note that this is not at all any flaw in C#. As C# is now, it was the programmers’ fault: In their code they kept around a list of obstacles which the car passed by. Obstacles that came out of sight were deleted… but not quite. Because the obstacles were registered as event listeners somewhere else in the code they were reachable and hence could not be garbage collected. Too bad, but how could such a problem have been avoided?
As I learned today, Beamer is not an English word. It must be one of those “germified” pseudo-English expressions like Handy. Believe it or not, we Germans say “Handy” if we mean a mobile phone! Now that I think about it: Why the hell? Ok, you can hold it in your hand but you can do that with a lot of things… Weird.
A Beamer (in German) is nothing else but a projector. I was actually had already convinced of the fact that Beamer is an English word because Beamer-latex is a latex package for slide presentations, to be shown on a projector. Well, turns out that it was written by another German
There you go.
False friends are really hard to get rid of. I think it took me more than a year to get rid of the false correspondence between actually and “aktuell” (German for currently).
What’s your funniest or most annoying false friend?