Comparagraph lets you quickly compare two plots–line graphs, scatter graphs, any type of image you’d like to overlay onto another with about a dozen clicks. Let me know what you think!


Chicago Neighborhood Map

I made this a few years back when researching Chicago neighborhoods. Data came from a variety of sources hopefully most of it is still up to date. Zip codes are color coded and neighborhoods are surrounded by dashed grey lines. Click to see the full PDF.


Chicago Map thumbnail


How much memory do supercomputers have?

I was recently part of an HPC discussion and one topic that came up was the amount of RAM per CPU core on supercomputers. I realized that everyone had a different viewpoint about what amount was common. I also realized that even though I have used dozens of machines I didn’t really know what was most common and additionally I was curious whether there were any trends over time. The discussion of memory per node for openMP and whether machines geared towards different scientific uses is a future discussion.

It was a bit of a chore to assemble this data. I contacted the folks at Top500 but they didn’t have any more data than what’s on some of the individual system pages and the memory is not included in the spreadsheets here  Anyway, I managed to get 69 of the top 100 systems from the November 2014 list. I could probably get another dozen or two and maybe I’ll do that in the future. A lot of systems simply don’t have clear data available and some of the industry systems have no other data available. The top500 list has total memory values for quite a few systems on their individual system pages, but those values include accelerator memory and memory on nonstandard nodes such as login nodes and high-memory nodes. And it’s not always even clear how many nodes a system has or how many accelerators per node or how much memory the accelerators have so that it can be subtracted from the total. Accelerators or not, quite a few systems have a handful of those nonstandard nodes. In pretty much all cases, those nonstandard nodes make up < 10% of the system. If I was able to get data for their standard nodes, I used that. If I wasn’t, then I just used the total memory for the machine, which is why in some cases the calculation came out to a weird number, like 2.03 GB. Close enough. The values I’ve assembled come from top500, system webpages, Wikipedia, and other sources like press releases and news articles. Email me if you’d like to see the sources and I’ll spend the time to clean up the spreadsheet.

So, there is really no standard amount of memory per core.   It’s not totally clear whether the dates are when the machine was brought online or the first date of the machine’s entry into the top500. Those dates should be pretty similar for most machines. The most noticeable change is the move away from 1 and 2 GB core and towards larger memory. The 1 GB/core machines were mainly Blue Gene/Q. The 2GB/core came from a variety of machines. The 2.67 GB/core became more common in 2014 as Intel moved to 12 cores on Ivy Bridge and those nodes with two CPUs commonly had 64 GB. The peak around 3.2 came from a variety of machines. For several of those machines, I just have total core count and total memory, so I’d have to do more analysis to see what is going on there. For several others, it’s a case of 3.2 GB/core from 64 GB and dual 10-core Intel CPUs. Finally, 4GB/core appears to be the mostly consistently chosen GB/core over the last few years.

GB per core data top500 Nov 2014





Super Bowl Excitement Index

This is just a quick hack to augment the Super Bowl matchups figure from FiveThirtyEight’s recent post to show the Excitement Indexes (

FTA: “The top-left quadrant represents games in which the teams were fairly evenly matched but not particularly great — like the Super Bowl we had two seasons ago between the San Francisco 49ers and Baltimore Ravens. The bottom-right quadrant is for Super Bowls when the average Elo rating was high but because of one spectacular team, like when the undefeated 2007 Patriots played (and lost to) the New York Giants.

It’s the games in the top-right quadrant that had both things going for them, as this one does: great teams but also a reasonably even matchup.

But here’s the catch: Those great-seeming matchups didn’t translate into great Super Bowls.”

FWIW, the average Super Bowl EI is 3.47. For all games in 2010 (see post below) it was 4.03.

The image below has been modified from the fivethirtyeight post above to include color coding based on the excitement index. Hopefully the EI will get a boost from the trickery up the sleeve of Belichick’s hoodie.

super bowl 2014 excitement index ELO





Socky the Sock Storer

One of its kind! I made this and submitted to Quirky. Their “expert review” didn’t like it but I think it’s pretty spiffy.

edit (8/8/15) The Quirky item has been archived so I’ve added that text here. The newer version has bungee cords rather than the chain link.

No more digging through drawers to find the right socks! See them all at once and get your favorite pair fast.

What problem does your idea address?
No more grabbing navy blue socks when you wanted black ones. Your socks are no longer in the depths of a dark drawer early in the morning. Saves storage space. Who doesn’t want more storage space? No more digging for a particular pair of socks that you want. Easily find your favorite pair!

How does your idea solve this problem?
The hanging sock visualizer is a sleek top-loading sock container intended for mounting on a vertical surface. Clean socks are rolled into a ball and dropped in the top. The front of the hanging sock visualizer is made of a mesh fine enough to hold the socks, but with holes large enough that allow the socks to be pulled through. A decorative cover made out of cloth or similar material could be used to cover the entire device. The cloth is attached at the top of Socky and can simply be pulled back to see the socks. The current prototype uses bungee cords connected to a wooden frame. The overall size is 2 feet by 4 feet but of course different sizes and shapes could be made. An earlier prototype used chain link fencing is shown in some of the images. Both prototypes work equally well; I imagine the final product could be made with a plastic foundation and bungee cord. The device could have vertical dividers to separate white socks vs. colored socks. The bottom could have hooks for belts or to hang other items. Hang it anywhere–on the wall, back of a door, inside an armoire–any vertical surface. Different sizes, shapes possible.