The "this wasted my time" comments are missing the point...
In addition to his great sense of humor, Steve is usually ahead of the curve in terms of trends. There's a lesson in this. LLMs have become incredible constraint solvers ("SAT-solvers for code"). Well-thought-out tests, types, specs, and docs are all incredibly valuable constraints. This has big implications - for example what happens to licenses when you can cheaply rewrite the codebase and therefore unencumber it.
Other methods use heuristics to guess many filetypes and in the benchmark they show worse performance (in terms of precision). Assuming benchmarks are not biased, the fact that this approach uses AI heuristics instead of hard-coded heuristics shouldn't make it strictly worse.
> ... I came across this information using my Spotify which has also been hacked into and would love your help hacking out of Spotify. Also, I have yet to figure out
how to unhack the hackers from my Instagram ...
I have the exactly opposite experience of yours. Cloudflare DX is by far the best among the cloud providers I've tried. Today, it's not that complicated to setup wrangler with credentials to your Cloudflare account in any mayor CI. If you have multiple services in your repo you can have multiple directories with each containing its own wrangler.toml. You can even connect these services with service bindings (beta feature still).
In my mind Cloudflare gets the big picture of DX exactly right. When deploying your service the deployment itself is not stateful, there's only one step to it: 'wrangler deploy'. Compare that to AWS Lambda: 1. build you code, 2. pack into a zip file, 3. make sure the S3 bucket exists, 4. upload the zip to the bucket, 5. deploy lambda, 6. update API gateway... And don't even get me started on Cloudfront - every change takes like 5min to apply.
Every so often I do encounter some rough edges, like service bindings binding to deployed services or workerd binary dynamically linking to some shared libraries so wrangler installed through npm doesn't work on Nixos etc. That said I respect the approach Cloudflare team is taking by focusing on the really important stuff first.
OP, you have garnered a lot of sympathy by the HN community which I believe in part contributed to your problem being resolved. I think it would be fair to provide more info about what the issue was in the end. It's not OK to be like "HN I had a bad experience with Company X" and then be like "k, thx @jgrahamc, bye" when your complaint gets resolved due to the attention it received.
There are so many questions this leaves unanswered:
- Was this a one-off error in Cloudflare's processes? (These things happen on a big enough scale.)
- Were you violating a specific clause of Cloudflare's T&C? How clear was the clause? What did you do to fix this?
- Was the issue that Cloudflare estimated that you're not paying enough given the bandwidth you're consuming? Did you end up signing up for the Enterprise plan?
Transparency would benefit both Cloudflare (in not making people unnecessarily apprehensive about becoming/remaining a customer) and you (in demonstrating that you're handling this issue in a professional and responsible manner).
Also, idempotency of a tool is a desired property that tool devs often invest a lot of effort in maintaining. Initializing default config on the first run is a trivial way to break it.
It's much better to just have a sane implicit default value for each setting when config is not present. Then you can list the default config in your docs or offer a CLI flag --print-default-config or --copy-default-config.
Don't be shocked. There are plenty of short domains left for grab, they're just expensivish for most people (usually $100 - $1000 but could be more). Glad that's the case, otherwise squatters would've "invested" into them already.
Since when are political comments like this one welcome on HN. I tend to share some of your views, but that's unimportant. HN can't be allowed to become a cesspool that the rest of the Web is.
Sure. If you need your software to be a process I think you should build it to be both: a library first and a process second. Libraries are so much easier to use, test and reason about.
I absolutely love this. I think so called n-tier architecture as a pattern should be aggressively battled in the attempt to reduce the n. Software is so much more reliable when the communication between different computational modules of the system are function calls as opposed to IPC calls. Why does everything that computes something or provides some data need to be a process? It doesn't.
Postgresql and every other server/process should have first class support for a single CLI command that: spins up the DB that slurps up the config and the data storage, takes the SQL command provided through the CLI arguments, runs it, returns results and terminates. Effectively, every server/process software should be a library first, since it's easy to make a server out of a library and the reverse is anything but.
From what I gather, there were no lessons learned in Europe. Huge majority of current European leaders seem to be itching to enhance the current conflict even with nuclear weapons being a thing.
We didn't evolve since WW2. I have no doubts that we're still as partisan, as greedy, as vengeful, as self-righteous as our predecessors of the 20th century.
Nuclear weapons likely prevented >100M deaths in the last 50 years. Mutually Assured Destruction is the only reason we didn't have another hot world war since 1945.
If there were no nuclear weapons now, you'd have a full scale NATO/Russia war today and a US/China war in a few months.
Very ironically, Mahnattan Project heads should receive a few Nobel Peace prizes posthoumously.
In addition to his great sense of humor, Steve is usually ahead of the curve in terms of trends. There's a lesson in this. LLMs have become incredible constraint solvers ("SAT-solvers for code"). Well-thought-out tests, types, specs, and docs are all incredibly valuable constraints. This has big implications - for example what happens to licenses when you can cheaply rewrite the codebase and therefore unencumber it.