270 karma · joined August 30, 2016
I wonder how much of design capability improvements is related to our collective ability to recognize AI design tropes.
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Reflecting on it when I got home, I couldn't understand what made me not decide to go earlier in my life. I had Machu Picchu at the top of my bucket list since childhood as I'm sure many do, but it was never at the top for some reason. That was such a big mistake and I wish I went to Peru a long time ago, there's no other place like it, and it only gets harder to travel there the older you get since the altitude is rough. The number of elderly and retired people I saw struggling in Cusco from altitude sickness was too high. I heard a horror story of someone needing to spend a week in the hospital and unable to see a single site.
Of course, it was because the client app recently went over the 100MB JS budget. Which they decided to make because the last time that happened, customers abroad reported seeing “white screens”. International conversion dropped sharply not long after that.
It’s pretty silly. So ya, good times indeed. Time to learn k8s.
https://earthobservatory.nasa.gov/images/152893/humboldt-gla...
With this technique, the server can break down a page load into smaller chunks of UI, and progressively stream smaller parts of the UI to the client as they become available. No more waiting for the entire page to load in, especially in poor network conditions as the author experienced from Anartica.
Never thought I'd be judging a toothbrush based on cybersecurity, but here we are...
It's unfortunately hostile for non-technical users that care about their photo metadata, which I assume is most people since it includes data such as creation timestamps and location. It's not too bad to script this if you're savvy (and careful), but otherwise you'll have to pay for a third-party tool[1]
I use an 100ft cable to go from living room to basement, and have an mesh AP for each. The Eero devices are relatively affordable compared to Ubiquiti for how powerful they are, if you want a seamless experience using multiple WiFi APs.
[1]: https://www.amazon.com/Cat-Ethernet-Cable-White-Connectors/d...
[1] https://infrequently.org/2022/12/performance-baseline-2023/
1. module loader: https://github.com/denoland/deno/blob/main/cli/module_loader...
2. runtime interfaces (workers): https://github.com/denoland/deno/blob/main/cli/worker.rs
3. invocation of the runtime: https://github.com/denoland/deno/blob/main/cli/tools/run.rs#...
4. permissions: https://github.com/denoland/deno/blob/main/runtime/permissio...
You can wire up some of these other packages or potentially even the CLI itself to avoid re-implementing much of the runtime over again, but it's a heavy dependency for a few crucial utilities that feel like they could exist in more lightweight runtime crates.
At the end of the day, I feel like most people potentially want to offer APIs through the runtime as opposed to a package or framework (think Netlify edge functions, Shopify functions). I wonder if they are reserving this interface for Deno subhosting customers rather than making it more ergonomic for a self hosted runtime. Kind of similar to how the runtime crate injects Deno's Web Platform JS implementations: https://github.com/denoland/deno/tree/main/ext
Feels like a similar situation to CJS/ESM, which is still a headache in Node regardless of its support