531 karma · joined February 14, 2016
ProseMirror (a JavaScript library for building rich text editors) also employs a document model like this. The docs for that project [2] do a good job of explaining how their implementation of this idea works, and what problems it solves.
[1]: https://medium.engineering/why-contenteditable-is-terrible-1...
Personally I like being able to type math symbols on occasion but don't do so often enough to benefit from a custom keyboard layout that I'd then have to memorize. I didn't have a good way to do this until about a year ago, when I learned about Espanso [1] which is a cross-platform text expander. I installed it and set it up to substitute various (vaguely LaTeX-inspired) macros to UTF-8 strings. For example, typing the following keystrokes
x = R cos(:phi) sin(:lambda :minus :lambda:nought)
becomes x = R cos(φ) sin(λ − λ₀)I chose ':' as a prefix for all my macros but this is just a self-enforced convention; you can configure a substitution for any sequence of keystrokes. Since I gave all the characters names that made sense to me, I don't have to think much when I type them.
A few of the substitutions I get the most mileage out of:
- The Greek alphabet, both upper and lowercase (:theta → θ and :Omega → Ω)
- Double-struck letters for numerical sets; e.g. :RR → ℝ
- :infinity → ∞
- :neq → ≠
- :pm → ±
ZIP/postal codes are generally smaller (in the county I live in there are almost a hundred ZIP codes). I'm not sure they're even guaranteed to be entirely within one county either. We tend to think of ZIP codes as boundaries but they're actually delivery routes (which if you squint can be converted into boundaries by joining the properties that those routes serve together).
You might be interested in this article: https://carto.com/blog/zip-codes-spatial-analysis/
[0]: https://github.com/jake-low/covid-19-wa-data
[1]: https://observablehq.com/@jake-low/covid-19-in-washington-st...
Doing this for just one state was a pretty substantial effort. I imagine there are multiple people at the Times who are spending several hours a day reviewing and cleaning scraped data (seems every couple of days some formatting change breaks your scripts, or a source publishes data that later needs to be retracted).
The Times dataset appears to contain per-county case and death observations in a time series, going all the way back to the first confirmed U.S. case in January in Snohomish County, WA. This makes it by far the most comprehensive time series dataset of U.S. COVID-19 cases publicly available.
Some people in this thread linked to the Johns Hopkins CSSE dataset; I've looked at this data but it doesn't go back very far in time for the U.S., and the tables are published as daily summaries with differing table schemas which makes them hard to use out of the box. For some days earlier in March, "sublocations" aren't even structured (for example the same column contains, "Boston, MA" and "Los Angeles County", making it very hard to use). No disrespect to the team behind the JHU dataset; it attempts to cover the whole world since the outbreak began which is an incredible and difficult goal. But for mapping and studying the outbreak in the U.S., the Times dataset will likely be the best choice right now.
Huge kudos to the New York Times team for making this data freely available.
I've heard of AsciiMath before but hadn't ever had a chance to play with it, so I appreciated the live demo on the project website. One thing I noticed is that AsciiMath uses whitespace around operators to determine binding order.
For example (AsciiMath on left, TeX on right)
f(x) = x+1 / 2 ≡ f(x) = \frac{x + 1}{2}
f(x) = x + 1/2 ≡ f(x) = x + \frac{1}{2}
When there's equal spacing around neighboring operators, normal order of operations seems to apply.This seems fairly intuitive, but might not scale to large, complex equations as well as TeX's bracket syntax does. Nonetheless, I think I like it for simple equations.
Question for the author: you mention on the page that Mathup supports an input language inspired by AsciiMath [2]. What are the differences? Does Mathup accept a subset of AsciiMath, or are there cases where the syntax diverges? And if the latter is the case, what motivated devaiting from AsciiMath's syntax?
[0]: https://news.ycombinator.com/item?id=22582343
[1]: https://news.ycombinator.com/item?id=19347737
[2]: There's a typo in this phrase on your page, BTW: "insipired" has an extra "i"
If anyone hasn't given Observable a try yet, I highly encourage you to do so. It's more than just "IPython/Jupyter but for JavaScript" — it's reactive, like a spreadsheet. You define "cells" of JS code that are automatically re-evaluated whenever one of their dependencies (another cell) changes.
It's an amazingly productive programming environment. These days, most of my JavaScript projects start off as Observable notebooks because it's such a great platform for experimentation. And I find myself wishing for Observable's features whenever I'm developing in other languages.
I know reactive programming is nothing new, but Observable has been my first opportunity to use it regularly, by "backporting" reactivity into one of the languages I work in most often. Being able to use it for prototyping and visualization for the past couple years has given me a really warm, fuzzy, "what-a-time-to-be-alive" feeling.
Giving opinionated styles to unclassed HTML elements is definitely not the right fit for every website. But, given this project's goal of being a minimalist, quick-start stylesheet that requires no classes, I think this use of `a em` and `a strong` selectors to create button-y links is pretty ingenious.
I was frustrated that the DOH data and SeattleTimes maps only showed the current point in time, which made it difficult to answer the question "is social distancing working?". So I scraped previous days' published tables from the Internet Archive, set up a script to scrape new data from the DOH website as soon as it's published, and built a visualization that lets you scrub back and forth along the timeline to see the extent of the outbreak.
Code is available in the page (it's an Observable notebook) and data is available on GitHub [0]. Let me know if you're interested in using the data and I'll be happy to help you get started; there are other data tables in the archived HTML pages that I haven't scraped and converted to CSV yet, but in theory they too could be extracted and visualized.
Nelson’s ideas of an open universal hypertext system is in many was incredibly prescient of our modern web. But one thing he (and others) got wrong(1) is the concept of backlinks: the ability of a user to see, for any page, a list of other pages (including those by other authors) which link to it.
It’s hard for me to imagine what the web of today would look like with this feature. Ignoring the (probably insurmountable) technical problems, I wonder what would happen if backlinks became available to web users today. How would it change the way we interact with and design websites?
(1): perhaps “foresaw differently” is more charitable since Nelson acknowledges that many systems do not include the feature and is arguing that the system of the future should.
[0]: https://www.theatlantic.com/magazine/archive/1982/02/have-yo...
This is indeed pretty interesting. It seems like double-Gauss lens designs like the Zeiss Planar and Biotar are especially prone to this kind of distortion. There's a Russian copy of the 58mm Biotar called the Helios 44 that's popular on eBay for this reason (lots of people use an adapter to put it on a MFT camera and shoot video with it).
[0]: https://www.ghacks.net/2015/11/11/chrome-support-for-windows...
I don't know what's up with 61 or 63, but perhaps there's a similar story there.
<time datetime="2019-10-11T13:53:36.861" title="Fri Oct 11 2019 13:53:36 GMT-0700">2 minutes ago</time>
Then you get what in my opinion is the best of both worlds: machine readable timestamp in the datetime field, human-friendly detailed timestamp as a tooltip (the title field shows when you hover over the element), and relative time as the default display. Bonus points if your React component or ERB template or whatever switches from relative time format to absolute for the inner text when the timestamp is older than a day or so.Native speakers don't have exclusive rights to give advice on how to communicate. I really hope you'll keep writing.
I agree with you that it's cute to be able to parse YAML frontmatter by streaming the file to a YAML parser that's been instructed to stop after the first document... but it makes me all the more uneasy about frontmatter as a concept. Call me old fashioned, but I want my files to contain just one kind of syntax.
React isn't opinionated on how you should handle component styling, and so the community has experimented a lot [0] with different solutions to managing CSS for components.
One approach is to have the component set its own inline styles in the render function. This makes it easy to have the component's styles to be "reactive" to its props (arguments), e.g.:
function MyButton({ importance }) {
return (
<button style={{ color: importance === "high" ? "red" : "grey" }}>
Click me!
</button>
);
}
In my opinion, Christopher “vjeux” Chedeau makes the most cogent argument [1] for why this way makes sense. It's worth a read; even if you end up disagreeing with the conclusion.A related solution is to use classes, not inline styles, but to use a CSS framework such as Tachyons [2] where the included classes are small, single-purpose styling utilities like "serif" (applies font-style: serif) and "br-pill" (adds rounded borders).
[0]: https://github.com/MicheleBertoli/css-in-js#features
[1]: https://speakerd.s3.amazonaws.com/presentations/2e15908049bb...
This is an interesting perspective that I hadn’t encountered before.
It seems that in recent years narrative-format journalism has become more popular. I wonder if some of this can be attributed to journalists switching from traditional pen-and-paper note taking to electronic solutions, and consequently reducing the cognitive separation between the research notes and the actual story.
https://ourworldindata.org/where-are-children-dying
In summary, it's highly disproportionate, with rapidly industrializing nations in Asia representing a huge portion of the decline in child mortality.
> You may have seen people achieve this with a more complex headless Chrome-based solution, but for many sites, this will be perfectly fine!
Can you elaborate on the difference between using wget and a heavier solution? I assume the main difference is that a headless browser can execute JavaScript and then serialize the resulting DOM back to HTML, allowing you to build sites in client side frameworks (React, Vue) and then make static versions of them for deployment. Are there other benefits of using a full browser vs. simply using wget?
I'm generally a fan of Practical Typography, but this post is unnecessarily condescending. It's sort of laughable to claim that "this isn’t a matter of taste" when users are making this choice in the privacy of their own editors.