Data Visualization at the New York Times

October 19th, 2010

I attended a talk by Amanda Cox (webcast) from New York Times. She highlighted some of the work that required data visualization published on New York Times website. Her presentation was done in an unusual style: each point of her talk was illustrated by one or more examples life from the New York Times website. The most memorable points for me were:

  • Good songs have good background singers (example). This means that providing background or relevant information can enhance overall data presentation.
  • Annotation layer is the most important thing that they do (example). This means that providing helpful information along with the visualization helps viewers to understand the information.
  • Amanda stressed that it is not yet clear how to balance story with an interactive presentations. I would say RPG games are haunted by this problem as well.

“Presenting data and information” by Edward Tufte

October 1st, 2010

I attended one day course by Edward Tufte. The course included four and a half hours of lecture and four books by E.T. I found the topic of the class very important and information useful. I did not find the presentation itself to be something very special. It was well done, but not as good as it could have been. After I actually read the books I will be able to comment if the class was adding anything to the books, because most of the class we were looking at some pages of the books. I will leave the discussion of what I think about the “class teaching method” to a later post. In this post, I will highlight some of the content of the class, mostly as a memo to myself. Word presentation is used as a loose term that can refer to a a plot, picture or actual presentation slide.

  • It does not matter how a presentation is done, or what methods are used, as long as the presentation is clear. Do not limit yourself by pre specifying the method of the presentation.
  • Annotate linking lines, because linking lines indicate causality. One needs to differentiate and specify these causalities in order to add meaning to the linking lines.
  • Boxes around text are always only add clutter. This is part of a general rule: if it does not add to the presentation, get rid of it.
  • Format should be invisible, content should be prominent.
  • Simple graphics use a small part of our visual processing capacity. Be aware of it.
  • Clutter and confusion are a failure of the design, and it is not failure of data or viewers.
  • Maps are examples of a very good design (no boxes around street names).
  • Your audience is more like you are than any other group of people (other than your family). This means they are as intelligent as you are.
  • A better way to do presentation (E.T. claims it saves 1/3 of time): provide super-graphics (high resolution data) before presentation to allow viewers to use their time to think about it, then follow up with a discussion.
  • Use smallest visual ques to indicate importance. This means that if making a word bold is enough, do not make it a bigger font as well.
  • Any symbol or mark must convey information. Be aware that an empty space can also be activated (negative space). This is another reason why boxes around text hurt the presentation. They create clutter and activate negative space, while not providing any useful information (text position itself indicates where it is).
  • Try to present all the data at once. Do not make people flip back and forth between the data plots if it is at all possible.
  • Order by substance not alphabetically.
  • Find a good design and copy it.
  • Provide evidence that testifies to your credibility. Viewers are looking for it, it will make them believe your presentation.
  • Bring real objects to your presentation. As an example E.T. brought first printed editions of books by Euclid (400 years old) and Galileo (also 400 years old).
  • No matter how beautiful an interface is, it could be better with less of it.
  • Show up early for your presentations.
  • Finish your presentation early.

Mac experiences, switching from Windows7

September 30th, 2010

Due to the circumstances (aka job requirements) I pursue Java development on Mac OS X. I did not have too much experience with macs before, but I always heard that Apple places usability of their products as the very first priority (therefore no multitasking on iPhones). Given such rumors I had very high expectations. So here are my impressions.

The very first thing I had to do is to change my password on the first login… and, of course, I did not know the requirements for the password length. Could you imagine my confusion when I entered the password, repeated it, and after pressing okay button all I see is a shaking window and cleared password fields. Did I enter the second password wrong? Did I do something else wrong? No hints, no messages, just empty password fields. Is there anything else to say?

Once I got in, I wanted to adjust windows on my screens. To my surprise, I can only resize window by dragging the corner. I can not resize by dragging the side of the window, which is very annoying if I want to extend a window to the left, because it is already against the right edge of the screen. I am used to using keyboard shortcuts to position windows on the screen and then use mouse if I need more adjustments. For windows I am using winsplit-revolution. For Mac I found ShiftIt, which is not as powerful or configurable as winsplit-revolution, but at least it is also free.

Okay, how do I set a keyboard shortcut to start an application? Not clear at all. Long time users of the Mac suggested to use Spotlight, Quicksilver, and, of course, “just click it on the Dock…”. The fact that I need a third party software for such a task is surprising to me. I ended up using Quicksilver.

Default bindings for Home and End keys were especially alien to me. My first response was to adjusting key bindings, and customize keys for Firefox, which allowed me to change accelKey to be control key, just as Firefox on Windows (the same applied to Thunderbird). But at the end I went back to defaults and learned the mac way…

On the bright side I like having shell without a need for cygwin. After using mac for a few month I would say I am 95% as proficient with it as I was with windows (the other 5% being remembering OS specific features such as taking a screen capture, etc.)

Code commenting style

April 4th, 2010

After programming for more than ten years I gradually refined my commenting style to a level that I am satisfied with, at least for now. Long story short, this is an example for C++:

// This is a comment.

Simple and precise. Let me explain why. The general format follows this pattern:

1. Comment character(s), such as /*, //, #, %.
2. Space.
3. Comment string, that starts with a capital letter (with rare exceptions).
4. Period.
5. Comment closing character, such as */, –>

1, 3, and possibly 5 must be present in any comment. Let’s focus on the parts that can be present or omitted. I include Space before the comment string to differentiate between a comment line and a commented out code:

// Use it as follows:
// exec(true);

In the example above, the first two lines are comments, because there is a single space before the comment string. The last line is a commented out line of code.

I use capital letter to start a comment and a period after a comment sentence for multiple reasons. First, it forces to make comments from well formed sentences, which can be easier to understand as compared to incomplete sentences. Second, it tells me where a comment sentence starts and ends. For example, if I see a comment line that does not end with a period, then I can assume the next comment line must continue the same sentence. For example:

// This is one
// comment sentence.

To recap. A space before helps separate at a glance comments from commented out code. Following a formal sentence structure (start with a capital letter and finish with a dot) helps to understand the comments better and provides information about where the comments start and end.

Government and business

March 13th, 2010

While looking for a company to work for in Baltimore area, I looked at all local hi-tech companies that have a website. For me it was surprising to see that some companies allocate the central place on their home page to a message “Minority/woman/veteran operated company!” I have read Atlas Shrugged so I clearly understand why they do it. Nevertheless, the fact that a business puts such a message in the center of attention, instead of its business merits, is disturbing. It is disturbing exactly for the reasons described in Atlas Shrugged.

Windows 7 wakes up unexpectedly

March 7th, 2010

I noticed that my computer wakes up without an apparent reason. Quick google search led me to the following information:

rem Change wake settings.
rem Get list of the devices.
rem PowerCfg -DEVICEQUERY wake_armed >DeviceList.txt
rem I got:
rem 	HID Keyboard Device (002)
rem 	HID-compliant mouse (003)
rem 	Intel(R) 82567LF-2 Gigabit Network Connection
rem Disable one devices one by one.
PowerCfg -DEVICEDISABLEWAKE "HID Keyboard Device (002)"

PowerPoint cuts off embedded sounds

February 12th, 2010

I was making a presentation in PowerPoint 2007 sp1. Yes it does matter what service pack you have, I encountered that animations done in sp1 did not work the same in PowerPoint without the service pack. The long story short, some sound files were not played completely during the slide show, even though preview did play them completely. After changing actual files with audacity (trying to make the sound files play correctly), I realized that if the files are not embedded in the presentation they are played just fine. I know there is sp2, but I did not want to update to it before my presentation is over. And in general, OpenOffice is waiting for my next presentation.

C++ logger class

February 8th, 2010

I was looking for a logger implementation for one of my projects. I needed a few features: simultaneous output to a console and a log file, efficiency, and ease of use. Quick google search revealed a few candidates: Apache log4cxx, and Pantheios. Do it yourself articles (example) about home made logging I ignored, because I have done enough of those (Boost Logging Library v2 is in the same category for me). Given that my primary platform is Windows, log4cxx was dropped, as windows was not directly supported.

Compiling a few examples for pantheios was not difficult, but getting it to do exactly what I planned, which is to have output to a console and a file at the same time, was a little more challenging. The solution was not obvious from the documentation, and sample name mx.1 did not stand out to me as meaning Mixing different back ends. But after searching in pantheios forums I have found the answer to my question.

At the end of the day Pantheios was my choice. We will see how happy I will be with it after I play with it for a while.


January 18th, 2010

Avatar movieIn short, I liked it. Yes – it was a bit long, yes – it was naive, yes – there were no strategy in the final battle. Nevertheless, I enjoyed the movie and recommend anyone to watch it in a movie theater on a big screen.

Electric shaver

January 18th, 2010

Braun Series 7- 790cc Pulsonic ShaverMe and my wife decided to make a present to both of us by buying an electric shaver for me (who does not like presents like that?). Shaving every day with a regular razor irritates my skin, which is not fun. Not shaving every day irritates my wife’s skin, even less fun. My only experience with electric shavers was when I used a cheap kind, which did not do a good job. That’s why we decided to invest in an expensive shaver. Enter Braun Series 7- 790cc Pulsonic Shaver. The first impression was… very good. We will see how my skin reacts to it after the adjustment period of a few weeks.