Show HN: A Rogue State Along Two Rivers
nytimes.com
nytimes.com
I'm used to thinking in terms of national borders, but this shows how the population is organized by the Tigris and Euphrates, not by artificial lines on a map.
ISIL understands this well, making the Iraq/Syria border into a pretty meaningless imaginary line. The ISIL blitz seems like it came from nowhere, but this dramatically illustrates their methodical progression, over time, following the rivers.
I found myself wanting to know more about the communities, lakes, dams, roads, borders, sects, nationalities other features highlighted in this piece, so I spent another hour manually linking to Google Earth and Wikipedia to drill into more detail.
Along the way I found a lot of content on YouTube of ISIL takeovers of cities, burning of vehicles and disturbing images of executions and crucifixions. I'd seen some of this before, but it would be really powerful to link selected videos and images from the ground directly to places on the map.
I'd be interested in the editorial process at the NYT, how this evolved from idea to realization, who supplied the content, and how the development team coordinated with the reporters.
And I'd like to understand more about how the autonomous Kurdish region fits into this story, both geographically as well as politically and militarily.
The idea here was to try and find some sort of larger set piece graphic we could bring to bear on the crisis in Iraq — and after a couple of days of staring at lots of maps of the desert, it struck me that:
1. The Euphrates is both very long, and very straight for its length. Most rivers would have zig-zagged in such a way that you couldn't do a linear scroll.
2. Visually, the river against the desert is extremely striking, and the wide expanses of empty land are perfect for labeling.
3. Because that's where the water is, almost all settlement and activity in northern and western Iraq run along these river lines.
... so that's where the idea came from. It was a pretty lucky combination of geography and news circumstances. After that came the really quite long and difficult process of figuring out the current status of small towns and cities — much of which is uncertain and hard to find reliable sources on — and doing the writing and editing of the piece. Karen Yourish and Archie Tse did a real marathon of reporting to get that done. Towards the end, the Baghdad bureau kindly went through and confirmed the information that wound up in the final piece, and made additional suggestions for points of interest.
The Kurdish region isn't really addressed in this particular graphic, but you can see many of those towns in the northern part of the Tigris image, over on the right (not under ISIS control).
Completely off-topic, but this is why network access should be considered crucial to human existence.
The developer console has a few CORS errors, though:
> XMLHttpRequest cannot load http://graphics8.nytimes.com/newsgraphics/2014/06/18/tigris-.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.nytimes.com' is therefore not allowed access.
> XMLHttpRequest cannot load http://core2_euw1.fabrik.nytimes.com./info. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.nytimes.com' is therefore not allowed access.
I suppose accessing through nytimes.com would work, but it redirects to www.nytimes.com...
I remember that NYT graphic/article on the avalanche in Washington a couple years ago, I had to view it in both FF and Chrome to see all the graphic effects.
I just looked at it again, everything seems to work in Chromium. In FF, some of the graphics don't play automatically as they do in Ch, and some of the videos don't play at all. Chromium seems to play everything fine.
http://www.nytimes.com/projects/2012/snow-fall/#/?part=tunne...
Either way, I've made a note to look into setting Access-Control-Allow-Origin headers on all the static assets we publish out to Graphics8...
I assume that the proxy on this network discards the header and thus breaks the site.
Since folks seem to be curious, here's the division of labor:
I pitched the idea, stitched together some Landsat photos as a proof of concept and a rough design, built out and implemented the page, worked on labels and city outlines, and helped out with picking some locations and editing.
Karen did most of the reporting and research on this. She's also responsible for much of the reporting on the ongoing map stack graphic.
Derek helped out with the Landsat color toning and burning in city shapes, built the locator map and the Baghdad odometer, and confirmed some of the statuses.
Archie worked on a ton of the writing, polished the design, and did a mountain of editing to boil it down to the essentials. He also kept everything coordinated, as a good Graphics Editor will do...
Nilkanth did some yeoman's work on tracing city shapes...
Bostock provided the final projections for both the Euphrates and Tigris maps, fixing my original broken projections.
The Baghdad bureau confirmed Karen's reporting, and added helpful notes and suggestions which were incorporated.
(apologies in advance if I forgot anything...)
A site partly created by Julian Assange with lots more great information: http://www.nytexaminer.com/
The main way we (in Graphics) have been trying to keep up with the crisis is through this frequently updated stack of maps and charts:
http://www.nytimes.com/interactive/2014/06/12/world/middleea...
... so, this piece is intended to contrast with the stack, and be a bit larger in scope, a bit less news-item-y, and a bit of a deeper dive into the rich background of the situation.
Edit:
Because this is a programming site, after all — let's share Mike's projection:
// φ is the central meridian (e.g., 45° for UTM Zone 38)
// θ is the screen rotation
function rotatedTransverseMercator(φ, θ) {
var π = Math.PI,
cosθ = Math.cos(θ = -(90 + θ) / 180 * π),
sinθ = Math.sin(θ);
function raw(λ, φ) {
var x = λ,
y = Math.log(Math.tan(π / 4 + φ / 2));
return [
x * cosθ - y * sinθ,
x * sinθ + y * cosθ
];
}
raw.invert = function(x, y) {
return [
x * cosθ + y * sinθ,
2 * Math.atan(Math.exp(y * cosθ - x * sinθ)) - π / 2
];
};
var rotate = [-φ, 0, 90],
rotation = d3.geo.rotation(rotate),
projection = d3.geo.projection(raw).rotate(rotate),
center = projection.center;
projection.center = function(_) {
return _
? center(rotation(_))
: ((_ = center()), rotation.invert(_));
};
delete projection.rotate;
return projection;
}The problem with programming interviews is they test math tricks, arcane knowledge, trivia and puzzles.
Far more important than mathematical knowledge, is mathematical capability.
Programming can involve math, math can involve programming, but neither is defined by the other.
Even string processing is math (c.f. Godel).
Sign up for an account here, then go nuts: http://earthexplorer.usgs.gov/
More detail on the images: http://landsat.usgs.gov/landsat8.php
The Euphrates River map here, for example, is stitched together from about 15 gigs worth of raw Landsat tiles. Photoshop beware!
I come to HN to find interesting articles dealing tech, business, life. Aside from the content itself, I really like the way the information is presented. It generates great interest, for me anyway.
Now, to go examine the actual content.... Eh, never mind, it's too depressing. I think I'll just jealously admire the scroll down again.
We don't want to be too strict about this because creative work can take many forms. Mostly we just want to exclude vaporware.