... and if the side-by-side examples aren’t working for you, try turning off your ad blocker and refreshing. (We’ll try to fix that now, but I’m not 100% sure we’ll be able to.)
26,570 karma · joined March 19, 2007
... and if the side-by-side examples aren’t working for you, try turning off your ad blocker and refreshing. (We’ll try to fix that now, but I’m not 100% sure we’ll be able to.)
... and if the side-by-side examples aren’t working for you, try turning off your ad blocker and refreshing. (We’ll try to fix that now, but I’m not 100% sure we’ll be able to.)
(Gift link, no paywall)
- https://www.nytimes.com/interactive/2022/10/29/opinion/scien...
- https://www.nytimes.com/interactive/2022/09/08/opinion/urban...
- https://www.nytimes.com/interactive/2022/07/20/opinion/ancie...
My understanding — relayed through one degree of separation from Daniel Griffin, the dendrochronologist who wrote the piece — is that the core samples are very long and thin, and care is taken not to injure the tree and to allow it to heal rapidly.
Here's a write-up from Carleton with more info about how the tree core sampling process works: https://serc.carleton.edu/trex/students/labs/lab2_2.html
- https://www.nytimes.com/interactive/2022/10/29/opinion/scien...
- https://www.nytimes.com/interactive/2022/09/08/opinion/urban...
- https://www.nytimes.com/interactive/2022/07/20/opinion/ancie...
But I'm a believer in asking for help in order to cast a wider net. If you happen to stumble across an obscure-yet-newsworthy dataset, or have a strong feeling about a particular guest essayist that we should be approaching, or can't stop thinking about an argument that's itching you — pitches and tips are always welcome: [my hn username]@nytimes.com
Full disclosure: I haven’t used it myself much since ~2012 or so, and modern JavaScript now contains many of the most important features that CoffeeScript offered at the time .... Although they did screw some things up (IMHO): null-vs-undefined in default arguments, super as a parent reference instead of a direct function call, optional parens for single-arguments arrow functions (Prettier agrees!), no shared semantics between arrow and normal functions, that class syntax only supports methods and not data as properties, and so on...
When all is done and dusted, I hope that CoffeeScript can be looked back on with affection as a little experiment that showed surprising vigor, one that — with no corporate backing and zero financial support — spread by word of mouth through the web community of the early 2010s, and helped fuel the fire to get JavaScript moving and evolving as a language again.
As a side note — and I write this without bitterness — I do find it a bit strange that extremely well-resourced companies like Dropbox, GitHub, CircleCI, Trello, Airbnb (and many, many more) would write so many hundreds and hundreds of thousands of lines of CoffeeScript without ever attempting to contribute changes or fix the issues that they wanted to fix. It’s open source! They probably would have been able to quickly and cheaply make most of the changes they wanted.
Anyhow, cheers for the blast from the past!
You can change the value of `startDate` in that notebook if you'd like to look back further in time.
... might be a useful starting point if you want to fork off your own visualizations and analyses.
https://observablehq.com/@jashkenas/italy-coronavirus-daily-...
Fortunately, in Observable, every cell that contains SVG or canvas graphics has image export built in. Just click the dotted menu to the left of the cell, and it will offer you downloads in either SVG or PNG flavors.
Mashable story tracking the takedown and statements by Teen Vogue: https://mashable.com/article/facebook-teen-vogue-sponsored-c...
Update: Sadly, it looks like the Internet Archive copy has now turned into a 404. Mods should probably replace this link with the Mashable writeup above instead.
https://observablehq.com/@jashkenas/annual-returns-on-stocks...
The (reactive JavaScript) Observable runtime is open source, and every notebook is available compiled as an ES Module.
You can embed notebooks in their entirety on any webpage, or just grab the embed code for an individual cell, if the notebook produces a single visualization.
For the details in all their nitty gritty, see: https://observablehq.com/@observablehq/downloading-and-embed...
https://observablehq.com/@jashkenas/californias-methane-supe...
For a longer example of how the notebooks can display fire perimeters as they grow over time, here's a direct link to the Camp Fire that burned Paradise last year:
https://observablehq.com/@jashkenas/california-fires?year=20...
On the other hand, I have seen quite a lot of neat Ganja.js notebooks float by, for plotting explorations of algebraic spaces in notebooks: https://observablehq.com/search?query=ganja
With Observable notebooks we're trying to expand the boundaries of how live, networked and interactive a notebook can be. So, to that end, the notebook is the editor, visualizations update reactively with your changes to the code just as they would update to changes in the data, you can inspect and autocomplete actual values flowing through your program, and you can fork someone else's notebook or merge their changes with a single click.
There's built-in history too (live, every version reproducible), as seen in 15 seconds with an animated gif here: https://observablehq.com/@observablehq/history
In the future, we're thinking about working on APIs for better git and generic text editor integration; but for the reasons listed above, the primary focus for now is on making working directly in a notebook on the web the best experience possible.
On Observable, each cell is a unit that can be evaluated independently, with two sides to it — you have the source code editor, and you have the rendered display (either a chunk of DOM or canvas that you’ve drawn, or an interactive inspector for JS values).
Now, the important thing is that the code half of the cell is often collapsed. You navigate around the notebook, toggling open and closed the code editors, and typing into them. If the code is on top, the entire cell jumps when it opens and closes, pushing the rendered display up and down. If the code is on the bottom, it emerges from the half of the cell that is always there, and the display is stable.
Ultimately, that’s why each cell has content before source code — the content is always there, and the code may or may not be visible, so working with the notebook as a whole feels much more stable and less jumpy with the rendered value as primary and the source code as secondary.
ObservableHQ.com is in the top spot in Silicon Valley and NYC, and a few spots down the first page in Madrid, after Angular Observables and RXJS Observables. So it looks like we’re doing pretty alright so far.
Here’s a sequence of sound wave primers by Dylan Freedman: https://observablehq.com/@freedmand/sounds
Mike wrote an exploration of the Lotka-Volterra equations for simulating the dynamics of populations of predators and prey: https://observablehq.com/@mbostock/predator-and-prey
Or something physical, like Jacob Rus figuring out how a chunk of metal from a machinist’s workshop can scribe out a perfect sine curve: https://observablehq.com/@jrus/sinebar
Or something fun, with Krist Wongsuphasawat’s tapioca pearl to tea level Boba Calculator: https://observablehq.com/@kristw/boba-science
Or my personal favorite (although I can't view it in Chrome), Toph Tucker’s poignant reverie on correlation, eugenics, and the morality of applying statistics to human affairs: https://observablehq.com/@tophtucker/inferring-chart-type-fr...