HNHacker News
TopNewBestAskShowJobs

mbo

1,267 karma · joined November 4, 2017

submissionscomments
mbo··on Grave flaws in BGP Error handling
Somewhat off-topic: how were the diagrams in this article made? I find the handdrawn animated wobble quite pleasing.
mbo··on Accessible Palette: stop using HSL for color systems (2021)
Here's a color model built on Oklch, but instead of lightness uses APCA’s (WCAG 3) contrast ratio: https://github.com/antiflasher/apcach
mbo··on Leaving Haskell behind
Doesn't `sealed trait ... permits ...` and `record` satisfy that these days for Java? That's what our proto2 `oneof`s generate into.
mbo··on No telemetry in the Rust compiler: metrics without betraying user privacy
I work on a company-internal compiler. We collect analytics on what kinds of syntax and type errors engineers have been encountering, compile times, and crash reports.

They've been invaluable - we've squashed some gnarly performance issues with some degenerate constructs, caught a few performance regressions post-release, and spent time polishing the type errors and semantics of the ones most encountered.

mbo··on Linux Air Combat: free, lightweight and open-source combat flight simulator
Check out Tiny Combat Arena - https://store.steampowered.com/app/1347550/Tiny_Combat_Arena...
mbo··on In 1961 a Gallup poll showed only 33% of Americans in favor of moon landing
I don't think it's unfair to consider the opportunity cost of pursuing these things versus providing social services. Eisenhower points to a similar tradeoff in his Chance for Peace speech:

> Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter with a half-million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. . . . This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron.

Now admittedly this is talking about about the cost of the military industrial complex rather than the cost of scientific pursuits. But I'm sure someone could make a case for the Apollo program merely being an ICBM manufacturing program in a trench coat.

mbo··on The force that shapes everything around us: Parking
The upcoming sequel has a much more robust simulation of parking requirements too: https://www.paradoxinteractive.com/games/cities-skylines-ii/...
mbo··on Tell HN: Nearly all of Evernote’s remaining staff has been laid off
> But it's been years since I tried notion so perhaps this has changed.

It has changed dramatically.

mbo··on Goodreads has no incentive to be good
I believe https://sonemic.com/ is heading down that path.

For context, I am an _extremely_ happy user (and paying subscriber) of Rate Your Music . I find the genre classifications, album descriptors, user reviews and ratings incredibly useful and they have greatly enhanced my music discovery process, and my understanding of the music I come across.

mbo··on Bank Failures Visualized
I have also built an alternative as a stacked bar chart https://observablehq.com/@mjbo/bank-failures-as-a-stacked-ba...
mbo··on Bank Failures Visualized
your wish is my command: https://observablehq.com/@mjbo/bank-failures-as-a-stacked-ba...
mbo··on Observable Plot: A JavaScript library for exploratory data visualization
For me the most useful features of Plot over other libraries are the declarative transforms: bin, stack, map, filter, etc. This means that a lot of the data munging that you would normally do before passing things off to the plotting library are done by Plot itself. Why would you want that? Well these transforms are now "facet aware" - if you want to facet on some some qualitative property, slap a `fx: property` on your mark and your transforms will then be run for each subplot.

Secondly, I simply find the API to be very tastefully built. The Geo API (https://observablehq.com/plot/marks/geo) is a particular highlight. I've used Plot for about 1.5 years for recreational side projects - it has genuinely kept me entertained for many hours in no small part due to its interface design.

mbo··on Australia is quitting coal in record time thanks to Tesla
Side note: OpenNEM has some of the most beautiful data presentation I've seen in a very long time. Particularly great typography and mobile performance / responsiveness as well. Open source too https://github.com/opennem/opennem-fe
mbo··on Effing-mad, an effect library for Rust
> For a great example of this, see OCaml 5 support for effect handlers. It's basically a generalisation of exceptions, very lightweight and elegant.

A similar approach is being explored for Scala 3:

- https://dotty.epfl.ch/docs/reference/experimental/canthrow.h...

- https://infoscience.epfl.ch/record/290885

- https://github.com/lampepfl/monadic-reflection (https://youtu.be/UmO-f0qTRSU)

mbo··on Apple Music Classical
> There’s no separate subscription for Apple Music Classical. It’s included at no extra cost with all Apple Music subscriptions except the Apple Music Voice Plan.

Bit of a missed opportunity here to provide a cheaper subscription just for Classical. Apple could have captured Spotify users who would be willing to pay a small premium for a nicer classical UX, but would be unwilling to take out an additional full-priced music subscription. Inevitably some Classical only users would end up migrating entirely to Apple Music to amalgamate their subscription costs.

mbo··on Improved audio rendering with an optimised version of memcpy (2013)
Absurd comparison - channeling is a known physical phenomenon that occurs when you fail to declump the grounds. It causes the high pressure water to find the path of least resistance through the basket and leaves the majority of the grounds underextracted.
mbo··on Why did 250k Britons die sooner than expected?
The Australian public broadcaster open sources all its infrastructure for their interactive features: https://github.com/abcnews

It's all very bespoke.

mbo··on Ask HN: How are the current layoffs affecting non-US developers?
Layoffs in Amazon Brisbane.
mbo··on Local-First Web Development
@martinkl (Martin Kleppmann, primary author of the Automerge CRDT _and_ Designing Data-Intensive Applications) suspiciously absent from the Folks to Follow section.
mbo··on I_suck_and_my_tests_are_order_dependent
Was this old job Canva by any chance?
mbo··on Show HN: Groundhog-day.com – structured groundhog data
Congratulations on the launch! I noticed however that all the image responses from the API appear to navigate to 404ing URLs :( Otherwise love the project!
mbo··on SQLite 2022 Recap
Additionally, SQLite in WebAssembly with a HTTP-Range-request based virtual file system greatly simplifies interactive visualisation of large datasets https://observablehq.com/@mjbo/sqljs-httpvfs (my own demo)
mbo··on Unovis: Data visualization for React, Angular, Svelte, TypeScript, JavaScript
I empathize - I was a little worried about what would happen to my work if Observable shut down.

But the lock-in is less severe these days. The parser, runtime and standard lib are all open-source, so you can run a full notebook in VSCode https://marketplace.visualstudio.com/items?itemName=GordonSm...

I've come to appreciate the non-standard extensions they've made to JS too - the reactive cell model has greatly reduced the amount of code I've needed to write compared to a hypothetical React equivalent. It's my #1 platform for my small side projects these days.

I'll quickly note for anyone uncertain - Plot is pure JS so it doesn't have to be used in an Observable notebook. Will run anywhere D3 does.

mbo··on Unovis: Data visualization for React, Angular, Svelte, TypeScript, JavaScript
You've cited D3 but I notice that you haven't mentioned Observable's Plot[0], a Javascript GoG that wraps D3. They're both Mike Bostock libraries, so Plot is the pseudo-"blessed" D3 high-level abstraction layer.

[0] https://observablehq.com/@observablehq/plot

mbo··on 1885 Hex Map of London
This immediately reminded me of After The Flood's "London Squared" D3 module for creation of various types of cartogram visualisations of London: http://tools.aftertheflood.com/londonsquared/
mbo··on Show HN: A color picker for named web colors
I decided to rebuild the OP post in Oklab just to see what would happen - https://observablehq.com/@mjbo/oklab-named-colors-wheel

Turned out pretty well

mbo··on Twitter in chaos as employees accept Musk’s invitation to quit their jobs
That was a parody tweet. In fact, the account name had "(Parody)" in it.
mbo··on My Cloud Storage Crisis
Google Photos images have never been used for model training. It's also unlabelled UGC so I don't know this conspiracy theory has ever gained any traction.

~ ex-photos engineer

mbo··on My Cloud Storage Crisis
> You can only download 500 photos in one go

Uhh, no? https://takeout.google.com/ allows you to download your entire library at once.

There's even a transfer wizard where you can export your photos to an external service like Apple Photos! https://support.google.com/accounts/answer/9666875?hl=en

mbo··on Observable transitions to paid plan for private notebooks
This is frankly a disastrous impact to the usability of Observable notebooks for Free Individuals (the new free tier). From the FAQ (https://talk.observablehq.com/t/faq-october-2022-platform-ch...)

  Q: With live public notebooks, is there a way to stage edits before making them public?
  [...]
  For Free users, we also recommend that they fork the notebook (which would be public), make the edits and merge the changes back.
  Although the forked notebooks would be public, it would be a temporary notebook which could be deleted once merged.
So Free Individuals just have to... break their live notebooks if they want to edit them?

Like fine, kneecap your free product if you really need to force people to fork over cash. But Observable purports to be a platform that is trying to democratise data analysis and visualisation for the masses. Feels a bit like Wikipedia adding its own paid tier.

← PreviousPage 4 of 9Next →