I convert and upload my flac files to Apple Music which is available cross-platform, though poor on linux.
Speaker quality makes a huge difference according to my experiences from lower end $30 portable speaker to stereo sound systems in cars. Last weekend I rented a Jeep Grand Cherokee. Its sound quality is noticeably terrible because I couldn't hear some backing violin/piano sound of a symphony compared with my own car.
I'm not sure exactly what's going on, even if you provide a US address in the middle of the country it will only ever give you directions for the European side. If you replace Heathrow with a different continent, like Africa or Asia, it correctly says it can't find a route. My best guess is that the algorithm sees there is a water crossing, but then finds the ferry from France to England and says "ah ok all good". Maybe there is a special case to handle Europe to UK that is causing the problem? If you put in JFK to Dublin it will find two ferries, France to England and England to Ireland, but still nothing on the North American side.
Edit: No nothing to do with the ferries, I think Europe just has some special status. For example, try Brazil -> Morocco vs. Brazil -> Spain.
I think you used standard bus route search with JFK and Heathrow. OpenStreetMap suggests Lisbon since the departure and destination are on different continents, providing a route in close proximity to the destination with access to the sea.
If you prefer the flight path, you can visit dev.sitinshade.com/flight [beta].
So does Glibc in its stdio implementation (bog-standard vtables except the vtable pointer can occasionally change at runtime), Linux in a number of places (I don’t really know much there), the FreeBSD kernel in its driver ABI (more like ObjC than C++) and many others.
(GObject is of course also object-oriented, but IMO hardly counts as C programming in how it works, it’s more of a separate OO language hand-translated into C—Vala is basically that language, finally implemented years later.)
So far as I can tell, it's not quite the same thing since these still have pointer semantics (and thus have to deal with aliasing etc). The in/out approach is more generic, since "in" can map to a pointer where it makes sense, and to a copy where it does not.
Better yet when you prohibit such arguments from aliasing (or at least make no-alias the default) - now the compiler can also implement "in out" by copying the value back and forth, if it's faster than indirection.
This can be further extended to show plot images if the author decides to render repl outputs in a separate terminal (or a tmux pane) instead of a vim window.