HNHacker News
TopNewBestAskShowJobs

jake-low

531 karma · joined February 14, 2016

[ my public key: https://keybase.io/jakelow; my proof: https://keybase.io/jakelow/sigs/m1D79qyEwJ_5gwQC1bV2rHMIeMofOzCiAGSL9hSlM1c ]
submissionscomments
jake-low··on Infant Deaths Fall Sharply in Africa with Routine Antibiotics
I'm not sure why that's the case for Niger, but I don't think it's totally unique. Mali undergoes the same sort of shift (though less dramatic) in the 1950's and 60's. 1947 corresponds roughly to the beginning of the independence movement in Niger (though France wouldn't acknowledge this until 1958), and the turbulence shown around 1970 (where child mortality briefly increases again) was likely caused by the Sahelian drought.

I would (cautiously) speculate that when an oppressive force (either political or natural) is abruptly removed from a population, that population will tend to experience increased birthrate and decreased child mortality simultaneously. Extreme poverty is such a hardship that it can lower the birth rate (in addition to its obviously adverse effect on child mortality). When the force is removed (e.g. by a regime change, or a period of economic growth), child mortality decreases due to better health and better food security. Simultaneously, people have access to a luxury that they may not have before: the opportunity to start families. So the birth rate can rise as well. It takes another generation before the positive effects (better health, stable food supply, etc.) to translate into better education, higher economic mobility, and ultimately lower birth rate. So perhaps independence from a colonial power that often used military force against the civilian population is the cause of this simultaneous increase in child survival and birth rate, which we see in several of the poorest African nations shortly after their independence.

As for the charts, they're among my favorite data visualizations. They were invented by Professor Hans Rosling, who you may know from this very animated TED talk [0]. Rosling passed away last year, but his book Factfulness was just released (co-authored with his children). It's all about the preconceptions and biases that people in the "developed world" carry with them that prevent them from thinking rationally about poverty and global development. The book is well worth your time.

[0]: https://www.ted.com/talks/hans_rosling_shows_the_best_stats_...

jake-low··on Infant Deaths Fall Sharply in Africa with Routine Antibiotics
It absolutely is. See this animated chart of birth rate vs child mortality rate since 1960 (press the play button in the lower right).

https://www.gapminder.org/tools/#_state_time_delay:172;&mark...

African nations (blue bubbles) are lagging behind the rest of the world, but the trend is clear: declining infant mortality results in declining birth rate, often with a delay of just a single generation.

jake-low··on Addressing Recent Claims of “Manipulated” Blog Posts in the Wayback Machine
Do you have a source for this? I didn’t know that but it’s very interesting – a good compromise between the interests of current website owners[1] and future historians.

[1]: Sure, some people just want to hide embarrassing or incriminating content, but there’s also cases where someone is being stalked or harassed based on things they shared online, and hiding those things from Archive users may mitigate that.

jake-low··on Zipline's Drones Will Deliver Blood in the United States This Year
That promotional video in the article is pretty cool. The drone is shown "landing" by catching a taut cable with a hook, midair. Even if there's a human pilot doing that part, that is no small feat.
jake-low··on Examples of everything new in ECMAScript 2016, 2017, and 2018
You might like this extension [0] for Firefox and Chrome that removes the sticky header and footer from Medium sites.

[0]: https://github.com/thebaer/MMRA

jake-low··on Sl: a mirror version of ls
Maybe it’s your keyboard layout? I used to make this typo (ls -> sl) on QWERTY, but I later switched to Dvorak where both L and S are typed with the right pinky. I think it slowed me down enough on that keypair that it never happens anymore.
jake-low··on Achtung: Decentralize, decentralize, decentralize
> and send mail with UPS instead of USPS

Not to detract from your point, just thought you might be interested to know that USPS actually has a legally-protected partial monopoly on the right to carry letters (18 U.S. Code § 1696).

An exemption was added in 1979 allowing private carriers to deliver "extremely urgent" mail. This is why UPS and FedEx express mail envelopes bear that text on their front.

Apart from this exemption, USPS, FedEx and the like are only allowed to deliver 'parcels', not 'letters', though I'm not sure where the distinction is legally defined.

More info: https://en.wikipedia.org/wiki/Private_Express_Statutes

jake-low··on Look for the duct tape
I use rsync for something similar to this; it might help you too. I use ‘-P’ which makes the destination be like the source (so you never accidentally delete files in the source) and --dry-run will list what changes would be made without actually changing anything, effectively givingg you a directory diff. I’m sure there’s a flag you could use to say “I only want to create new files in dest if they’re not in source, but not delete or change anything” but I don’t know what it is off the top of my head.
jake-low··on D3.js 5.0 is out
Unusual map projections like these are often curiosities, but the can also be useful for certain topics, like mapping migrations[1][2][3] or showing airline routes[4][5].

[1]: https://commons.wikimedia.org/wiki/File:Map-of-human-migrati...

[2]: https://nordpil.com/static/images/redknot_migration.png

[3]: http://ngm.nationalgeographic.com/ngm/0603/feature2/map.html

[4]: https://imgur.com/5TFPcDa

[5]: https://imgur.com/6X91323

Additionally, this project is a generalization of a feature that already existed in D3 (clipping spherical polygons to map boundaries -- previously you could only do this if the boundary in question was the antimeridian or a small circle centered at the origin). That generalization will make it easier to use some more common map projections that were already supported in d3-geo-projection[5] like as Goode's interrupted homolosine and Mollweide projections. These are useful projections for showing things like population density[6] where you care about preventing distortion in the landmasses but don't care about the oceans. While these projections were possible before, they required the use of SVG clip-paths and other tricks to prevent drawing outside the map bounds. In theory they could now be simplified using the polygon clipping implemented in d3-geo-polygon.

[5]: https://github.com/d3/d3-geo-projection

[6]: http://www.jakelow.com/essays/mapping-the-world-population

jake-low··on D3.js 5.0 is out
Shout out to Philippe Rivière for the awesome work on d3-geo-polygon[1] (mentioned in the release notes), which enables tons of new map projections like these[2].

Philippe, if you're reading this, thank you. I'm really excited about d3-geo-polygon and I know a lot of others in the community are too.

[1]: https://github.com/d3/d3-geo-polygon

[2]: https://beta.observablehq.com/@fil/polyhedral-projections-wi...

jake-low··on A deep learning model that converts hand-drawn web mockups into HTML
Coincidentally, I just ran across this article [1] about Airbnb’s tool to turn UI sketches into interactive running code. The author of this project links to it in the post about their project (which is in turn linked from the readme).

[1]: https://airbnb.design/sketching-interfaces/

jake-low··on “Pinterest needs to be removed from Google IMO”
Back when I was writing a lot of C++ professionally I felt the same way about cplusplus.com vs. the (IMO much superior) cppreference.com. I'd love to be able to teach my search engine simple rules like "if a Wikipedia article matches my search, show it first" or "never show results from linkedin".
jake-low··on How to Write CSS That Works in Every Browser, Even the Old Ones
Is it possible that site is redirecting you to the mobile version for other reasons? CSS grid has ~85% support worldwide; current versions of every major desktop browser support it.

(Not doubting your experience, just surprised that it would be because of grid and not some other feature).

jake-low··on The Worsening Cosmic Ray Situation
> "The movement [of the Milky Way] is not edge-on like a Frisbee," Melott noted. Instead, he said, it is flat, "like a pie in the face."

Huh, I didn't know that, and now I have a great mental picture to accompany that fact.

For anyone who skimmed and is wondering "How long before another mass extinction, according to this theory?", the answer is in the last sentence (on page 2): we've still got 10 million good years.

jake-low··on Satellites see big fishing’s footprint on the high seas
Some of them (like the ones in the south Pacific and the one south of India) are exclusive economic zones around islands. EEZ boundaries typically extend 200 nautical miles from shore (or until they run into another EEZ). See this map [1].

Presumably the nations that control these zones aren’t fishing them extensively, but other nations are fishing the international waters surrounding them, which is why you can see certain EEZs as negative space on the map in TFA.

[1]: https://en.wikipedia.org/wiki/Exclusive_economic_zone#/media...

jake-low··on Signato – A new font inspired by the Independence of Lithuania
I don't think any languages make use of İ but not ı; perhaps when you press the İ key on your keyboard the actual character sequence that gets entered is the decomposition "LATIN CAPITAL LETTER I (U+0049) COMBINING DOT ABOVE (U+0307)"? OpenType has tags that allow you to describe where arbitrary combining diacritics go relative to a glyph, so maybe the font knows how to assemble those two code points into an İ, even though the font designer didn't explicitly design for Turkish. Just speculating here.
jake-low··on Docker for Data Science
IMO one thing the author could have improved about the article is to make a more clear distinction between a Dockerfile and a docker image. What you say is true about builds in docker: using the `docker build` command to create an image from a Dockerfile isn't necessarily deterministic, for the reason you stated.

However, a docker image is deterministic (each one gets a SHA256 identifier based on its contents -- if the hashes match, then the images are identical), and if you care about the particular versions of dependencies, an image is what you should be sharing with your colleagues/readers/etc. in order to let them reproduce your results.

I like Docker and I get a lot of value from using it, but personally I feel this is one place where the project made an error in design. Too many git repos these days have a Dockerfile in them that you can use to build the code, but that will only work if the stars align and the dependencies you install when you build your image are the same (or compatible with) the ones the author used. IMO a better design would be for docker images to be flat files e.g. "docker build Dockerfile > my-cool-image.img" and then "docker run my-cool-image.img ...". I think if this were the pattern, more people would be adding their `my-cool-image.img` files to their git repos instead of using the Dockerfile as a flawed source of truth.

jake-low··on When will the world reach 'peak child'?
> In order to hit peak child, every subgroup will also have to hit peak child.

This is an interesting argument; thanks for sharing it. I didn't understand it right away and my intuition was that you must be incorrect. But after playing with some actual numbers I've come to understand. In an attempt to restate your claim in a way that's more intuitive to me:

If a group is reproducing above the replacement ratio, then they haven't hit peak child yet. So if only one subgroup remains that hasn't hit peak child, then that subgroup is also the only one that's growing (all others are shrinking). Assuming that trend continues (read: assuming subgroups have birth rates that reflect their culture, and that culture will be preserved in the next generation), this subgroup will grow without bound.

The pressure-release on a system like this (one which the article you linked points out in its conclusion) is that birthrate within a subgroup isn't fixed. The birthrate among the Amish appears to be declining slightly, perhaps influenced by economic forces in the US. In your example, while it's true that _tommorow_ there will be more Mormons and fewer Italians than today, that doesn't guarantee that eventually the world will be populated entirely by Mormons, because the birthrate in that subgroup isn't wholly 'inherited' (in the cultural sense) -- it may change in ways that we can't forecast today.

jake-low··on You are your tools
Something not addressed in this article is that not all tools are equally useful. Many tools aren't well suited for your problem; some tools aren't well suited for any problem.

A wonderful discussion of tool-making is Mike Bostock's keynote at Foss4G 2014 [1]. I rewatch it from time to time; it has really made me think differently about tool making and problem solving.

[1]: https://vimeo.com/106198518

jake-low··on Turning Corners into Cameras: Principles and Methods
Fascinating and counter-intuitive that so much information is 'leaked' in light patterns that can't be discerned by the eye. There's a color-amplified visualization in the first embedded video of TFA (starts at 1:40) that shows this really well.
jake-low··on Consul 1.0 Released
I found this article [0] a couple weeks ago and found it informative. Basically Consul has service discovery built in, while Zookeeper et al. expect you to build service discovery on top of the primitives they provide (assuming you need it).

[0]: https://www.consul.io/intro/vs/zookeeper.html

jake-low··on Ask a Female Engineer: Thoughts on the Google Memo
This is addressed in TFA.

> [W]hen I go to work, I go to work, and not to a debate club. Some people at Google reacted by saying “well if he’s so wrong, then why not refute him,” but that requires spending a significant amount of time building an argument against the claims in his document. On the other hand, if I remain silent, that silence could be mistaken for agreement. I should not be forced into that kind of debate at work. (Ida)

> I’m just exhausted by having this same damn argument over and over again since I was a teenager and the amount of time and energy I keep having to spend to counter it. (Edith)

Also, none of the "quoted phrases" that you criticized appear in TFA or in any parent comment.

jake-low··on I Bought a Book About the Internet from 1994 and None of the Links Worked
For anyone curious, you can help fix dead reference links on Wikipedia in just a few seconds. If you find a page that has a dead link (or several), click the "View History" tab at the top, then click "Fix Dead Links" to run the InternetArchiveBot on the page.

More info: https://en.wikipedia.org/wiki/Wikipedia:Link_rot

jake-low··on Google cancels meeting on gender controversy due to employee fears of harassment
I'm not sure it's possible to cover such a polarizing breaking-news issue in a way that's not "skewed". Intelligent people will read the same memo and interpret it in different ways. It's too soon for anyone to be impartial.

Here's [0] a lengthy analysis from an evolutionary biology Ph.D that concludes that Damore built a harmful narrative around weak and cherry-picked scientific studies. Of course it's as "skewed" as anything else in that it contains an opinion, but it also backs up the quote you're objecting to here -- the argument Dr. Sadedin makes is that Damore "claimed" the studies supported his narrative but in fact they didn't.

[0]: https://www.quora.com/What-do-scientists-think-about-the-bio...

jake-low··on Investigating a ten-year-old estimate that “most social programmes don’t work”
Thank you for including such a thorough and approachable conclusion. As someone with no background in statistics, it helped me understand the content.

Genetic mutations seem to have similar properties (by analogy). Most don't 'work', but evolution still uses random mutation to build better organisms. Progress is sensitive to the degree of selection pressure: too small, and unfit organisms will reproduce; too great, and even fit organisms will frequently die.

I wonder if there's an empirical way to determine the optimal degree of selection pressure (where "optimal" means the degree which most rapidly improves the organisms) and whether the same logic could be applied to determine what fraction of underperforming social programs to cut and replace with new programs.

jake-low··on Visiting Chinese Megacities
I was pleasantly surprised by this article after being primed by the click-baity "listicle" title.

One claim that stuck out to me:

> [As several hundred million people moved from the countryside into urban areas] ... Wages and living standards have risen to create the biggest rapid boost in prosperity the world has seen, ever.

Can anyone comment on the accuracy of this? What other times in human history would be in the running for this "title"?

jake-low··on Kodak Ektra
Odd choice for the name, since Kodak also has a color negative film called "Ektar" [0] which is just a single transposition away from this new phone's name.

[0]: https://en.wikipedia.org/wiki/Ektar

jake-low··on The headless web
I'm having trouble understanding the relationship between two pretty abstract ideas: this one, and the Richardson maturity model [0].

Are the two futures at odds? Kinlan seems to be imagining annotations embedded in Hypermedia, so that documents could be "displayed" by non-traditional "browsers" that didn't actually render the document but rather extracted data from it and displayed it in some other interface to the user.

Richardson describes a system in which web APIs can be explorable by software, so that the software doesn't need to be written to an API. In a sense, the API contains program-readable documentation about how to use it. This works as long as a set of "nouns" and "verbs" are understood commonly by the API and the client program.

I can't wrap my head around how these ideas would fit together. Are they the "read" and "write" halves of a post-browser Web? Or are they contradictory futures?

[0]: http://martinfowler.com/articles/richardsonMaturityModel.htm...

jake-low··on A Regular Expression Matcher (2007)
Reductio ad absurdum: I assume your variable names are single-letter, your Python is indented only one space per block level and every C program is a one-liner? You should check out the Code Golf stackexchange; you'd do well.

Kidding aside, I can appreciate your feeling of OCD (I fight that urge too) but remember that most syntax is for humans, not machines. Using braces communicates intent to the reader; omitting them offers an opportunity to stumble.

jake-low··on The Blog That Disappeared
Some discussion here [0] from when the story appeared on Fusion [1] a couple weeks ago.

[0]: https://news.ycombinator.com/item?id=12099757

[1]: http://fusion.net/story/325231/google-deletes-dennis-cooper-...

← PreviousPage 3 of 4Next →