Time Travel – At Least In Java

8. March, 2011

There is a new debugger which allows to travel in time: chronon.

Chronon will record every line of code executed in a Java program along with all the variable values and exceptions, etc. and allow to browse the timeline. You can see all the exceptions that were ever thrown, select them, go back in time to see how they happened.

No breakpoints – instead you jump directly to the point in time when your code passed a line.

The demo looked pretty promising. I’m just unsure how it fares with a big code base where even simple tasks can execute millions lines of code.


IE6: Time to Say Goodbye

7. March, 2011

The large group of people who want to get rid of IE6 just got another member: Microsoft. Good luck!


goosh

2. March, 2011

Missing the good old command line when searching the web? Have a look at goosh.org.

Amazing fact: It was written in 2008 and still works!


Fixing Screen Refresh Problems with KDE 4.6

23. February, 2011

If you have problems with your screen in KDE 4.6 (application windows don’t get restored correctly after minimizing them; windows won’t update after a change; when overwriting selected text, part of the selected text stays on the screen; popup windows leave black boxes), try this: Switch the “Compositing Type” from “OpenGL” to “XRender” (in “System Settings” -> “Desktop Effects” -> “Advanced” tab).

As a nice side effect, this reduced the CPU usage of KWin from 10-30% to 0%.

Some desktop effects don’t work with this setting but in return, the UI feels more snappy.


TNBT: Persistence

19. February, 2011

In this issue of “The Next Big Thing”, I’ll talk about something that every software uses and which is always developed again from scratch for every application: Persistence.

Every application needs to load data from “somewhere” (user preferences, config settings, data to process) and after processing the data, it needs to save the results. Persistence is the most important feature of any software. Without it, the code would be useless.

Oddly, the most important area of the software isn’t a shiny skyscraper but a swamp: Muddy, boggy, suffocating.

Therefore, the next big thing in software development must make loading and saving data a bliss. Some features it needs to have:

  • Transaction contexts to define which data needs to be rolled back in case of an error. Changes to the data model must be atomic by default. Even if I add 5,000 elements at once, either all or none of them must be added when an error happens.
  • Persistence must be transparent. The language should support rules how to transform data for a specific storage (file, database) but these should be generic. I don’t want to poison my data model with thousands of annotations.
  • All types must support persistence by default; not being able to be persisted must be the exception.
  • Creating a binary file format must be as simple as defining the XML format.
  • It must have optimizers (which run in the background like garbage collection runs today) that determine how much of the model graph needs to be loaded from a storage.

Related Articles:

  • The Next Best Thing – Series in my blog where I dream about the future of software development

Odd File Names

18. February, 2011

A colleague of mine had a problem with test cases in Eclipse. When we checked, the current directory looked pretty … odd.

After closer inspection, we found this directory on his hard disk:

odd filename in a directoryAs an old Unix buff, I know that there are only two characters which are not allowed in a file: The null byte and “/”. Obviously, the rule has been broken here.

Solution: The slash you see is not the normal slash but the Unicode fraction slash.

So with the Unicode support in your file system, you can finally create files with “absolute” names. 🙂


Building Eclipse from Git

16. February, 2011

Andrew Niefer blogs about Building Eclipse from Git. Unfortunately, he doesn’t explain how to do that if you’re not a committer (i.e. have a user on eclipse.org).

I’m still hoping that one day, it will be possible for people outside the Eclipse team, to be able to build Eclipse projects.


Marvel Digital Comics

14. February, 2011

I’m a huge comic fan, spending usually $100 each month on buying them. So when I found the Marvel app for Chrome, I gave it a whirl.

Unfortunately, the experience could be better. The comic reader is implemented in Adobe flash. That’s not a problem as such, only the implementation sucks.

The reader has three modes: Single page, double page and “smart”. There is a reason for the quotes …

In single and double page mode, the print is too small to read on my screen when I can see the whole page (it’s only 1920×1080; portrait mode would work better I guess). So I have to zoom in. But when I zoom in, navigation becomes a chore. The cursor keys don’t repeat. They scroll the page by about 10 pixels. At a readable zoom, I have to press the keys about 100 times to scroll to the bottom.

For every page of the comic. That’s 3,737 keys pressed to read a 37 page comic. Useless.

“Smart mode” to the rescue. In smart mode scrolls cursor left moves to the next unread part of the page. There are only two zoom levels which I call “too small to read” and “cut off balloons mode”. If you’re lucky, you get three panels on a row, and you have to remember the text of all of them so you can finish understanding what everyone says when you can see the bottom half.

So when reading the demo comics, I find myself often grabbing the scroll bars and adjust the screen position just a little. A nag but it works, I guess.

Recommendation: I can live with it.

 


Tired of Being Tracked?

9. February, 2011

If you don’t want to be tracked by online advertising companies, there is a site where you can opt-out:  http://www.networkadvertising.org/managing/opt_out.asp

That doesn’t stop ads and spam, it just stops the companies from tracking your movements through the web.

Note that I couldn’t opt-out of more than roughly half of the networks; the other half simply ignores my selection. Not sure why that is; I’m suing FF 4 and I can’t find an option to allow third party cookies anymore.


Sony cracks down on Geohot

7. February, 2011

In an insane attempt to stop the world, Sony has sued George “Geohot” Hotz. Some comments on this:

The court has granted Sony’s request for TRO. In the document, the court rules: “… Hotz shall … preserve, and not destroy, erase, delete, dispose of, or alter any documents or records, … that relate to … the Circumvention Devices, or any communications with any party concerning the manufacture, …” (page 3, 12-22).

Hm … since Geohot distributed that information via his website and the “any party” is the world, doesn’t that mean he must not take the information down? Since taking down the information would mean to alter his homepage which the court ruling strictly forbids …

Or as Dan Gillmor found in his blog post: “Given that the research results Sony presumably cares about are available online, granting the order would mean that everyone except the researchers themselves would have access to their work.”

It’s interesting to see that the people, who turned the justice system into what it is today, starting to strangle themselves into it.

“Beware not to lose the war by winning it”
Haul monk to Forne Rako