HN user

johnsoft

436 karma

https://whatisaphone.com

john@whatisaphone.com

Posts0
Comments138
View on HN
No posts found.

That's an interesting point. It's easy to mount an ISO in VirtualBox, but I don't see a way to mount any sort of "virtual USB flash drive". I wonder what's the easiest[1] way to install an OS in a VM if you don't have an ISO.

Even more interesting is EasyOS's official install instructions[2] seem to tell you to download a live CD ISO for an old version, and move from there to the latest version. I guess they're not completely free of needing ISOs just yet.

[1] Obviously excluding things like virt-install. I'm talking about live booting an interactive OS or installer.

[2] https://easyos.org/install/easy-frugal-installation.html, search for "Easy live-CD"

Quoting the article,

curl is installed in some ten billion installations to date and we are doing everything we can to be responsible and professional to make sure curl can and will be installed in many more places going forward.

If you want to sell ten billion cakes and beyond, you better do your market research and listen to customer feedback

Real hardware is finicky and complex. It would be very slow to virtualize every hardware device in a system to a level not distinguishable to software. If you do shoot for complete accuracy (e.g. projects like 86Box), you take at least a ~100x performance hit, and also lose out on useful features like dragging files into/out of the VM.

SHAttered is a collision attack. A collision attack is easier than a preimage attack. There are no known preimage attacks against SHA-1.

I was a web developer in a previous life. You can write basic standard code and Firefox/Chrome/even old Edge works fine, but Safari has a million little things that are buggy or don't work, or break at random in new versions. I wasted so much time hacking random bits of code to support iPhone. In 2021 now that IE is finally dead, I'm sure Apple is singlehandedly keeping BrowserStack in business.

The first one that comes to mind is the <input> select method doesn't work[1], although MDN claims it does. It works _sometimes_, for reasons I couldn't discern. I'm not sure about you, but I wouldn't call selecting text a fancy or bleeding edge feature.

[1] https://stackoverflow.com/q/3272089 Don't miss the comment about an infinite loop hanging the browser

Backblaze IPO 5 years ago

Backblaze B2 is significantly cheaper than R2. I don't think Cloudflare will be stealing many of their customers.

You are probably not running the same OS/node/python version as you were 10 years ago. If you were to try this in real life, you'd get an error like this one. https://stackoverflow.com/questions/68479416/upgrading-node-....

The error helpfully suggests you:

Run `npm rebuild node-sass` to download the binding for your current environment.

Download bindings? Now you're right back where you started. https://cdn140.picsart.com/300640394082201.jpg

Of course if you keep a 10 year old laptop in a closet running Ubuntu 10.04 and Node 0.4, and never update it through the years, then your suggestion will work. But that workflow isn't for me.

This problem does happen, but committing node_modules won't fix it. Assuming the npm registry doesn't dissapear, npm will download the exact same files you would have committed to your repo. Wherever those files came from, 4 years later you upgraded your OS, and now the install step will fail (in my experience usually because of node-gyp).

Unless you were talking about committing compiled binaries as well, in which case every contributor must be running the same arch/OS/C++ stdlib version/etc. M1 laptops didn't exist 4 years ago. If I'm using an M1 today, how can I stand up this 4 year old app?

The real problem is reproducible builds, and that's not something git can solve.

Obviously nobody would confess a crime while returning a rental car. They'd return the car and leave. Then later the cops will stop by with a warrant and collect info/security footage.

If a bank manager went down to Hertz by themselves and demanded someone's information, they obviously wouldn't get very far. There are established legal processes to follow.

Just like the physical world, if you want to compel Cloudflare to identify one of their customers, you have to use the legal system.

This is especially important given the fact that it is much slower sending wasm over the wire and instantiating the module and the wasm environment vs plain js

You might be surprised. JS is a very slow language to parse. WASM was designed to be parsed quickly. And browsers have implemented streaming compilation for WASM, which means once the last byte comes over the wire, 99% of the work is already done.

Check out js-framework-benchmark[1] startup metrics. The page weight for Yew (another WASM framework) is pretty heavyweight at 300KB, but it has a consistently faster time-to-interactive than vanillajs.

[1] https://krausest.github.io/js-framework-benchmark/current.ht...

At one point I prototyped a wasm framework inspired by Solid[1]. The results were very promising—an implementation of js-framework-benchmark was 41KB (18KB gzipped), and perforrmance was close to vanillajs. The developer ergonomics were definitely lacking, though.

Benchmark results (look for "cope")[2][3]

I definitely think whatever happens over the next few years, VDOMs are on their way out.

[1] https://github.com/whatisaphone/cope/blob/master/crates/js-f...

[2] https://cdn.discordapp.com/attachments/751355413701591120/77...

[3] https://cdn.discordapp.com/attachments/751355413701591120/77...

Their systems could be both operational, and unreachable from the network. The beauty of network partitions is that it's impossible to know for sure :)

I use Helm because I haven't found another tool that deletes resources in the cluster when I delete them from the yaml. kubectl --prune is unstable and super buggy. I would love to ditch Helm. Is there a tool I should know about that covers this?

Pulumi 3.0 5 years ago

I think state management is unavoidable for something like Pulumi. If it had to query AWS's API for all of your thousands of resources every time you deployed, deploys would be unbearably slow. So it just assumes your hundreds of DNS records from yesterday are all still there, instead of querying AWS for all of them every deploy. The state file is how that happens.

If you want, you can run pulumi with the --refresh flag and you can see just how much slower it is.