skysight-inc/HackerNews huggingface dataset:
The web is sorely lacking a thorough “Best Practices for Reporting Errors to Users” reference document. Nielsen Norman Group has a decent short page with some suggestions https://www.nngroup.com/articles/error-message-guidelines/ but there is definitely more to be said on the matter.

Oft-suggested is “human readable description instead of arbitrary error code”. Disagree; you should probably include the error code in the message (ERR0231), because that helps make the error message unique to this specific error situation and thus makes it functional as a “gathering point”. If you Google the error message and find others talking about the same error you experienced, that’s useful; if you Google the error message and find others talking about different errors on the same site, that is useless at best and could be harmful. (Concrete example: a multiplayer gaming platform reports a checksum of game files to a remote server to ensure all players are using the same version of the game. Scenario 1: The files are corrupt, the checksum is wrong, the error message is “Unable to validate game files”, the fix is to reinstall the game. Scenario 2: The user’s internet connection is temporarily degraded, the game is unable to get a response from the remote server, the error message is “Unable to validate game files”, the fix is to wait until connection improves. The unfortunate user from Scenario 2 is going to google their error message and get told to try the fix from Scenario 1. Now they’re re-downloading the game on their spotty connection.)

Something I haven’t seen suggested is telling the user what parts of the process did and didn’t happen. Take the case described in the article.

“We were unable to charge your card. The system has not created a ticket. The app has no ticket to generate.” (Something is wrong with my card, I can check my bank balance and try the purchase again.)

vs

“Your card has been charged. The system failed to create a valid ticket to be associated with your account. The app has no ticket to generate.” (Something is wrong with their server, I should not try to purchase again.)

vs

“Your card has been charged. The system has created a valid ticket but failed to associate it with your account. The app has no ticket to generate.” (Something might be wrong with my account, or something is wrong with their server. I can check my account page to see if there’s anything I need to update, but if I don’t see anything then I shouldn’t try the purchase again.)

vs

“Your card has been charged. A valid ticket has been created in our system and associated with your account. The app failed to generate this ticket.” (Something is wrong with the app on my phone. I should not try the purchase process again but I could try re-downloading the app and going to My Tickets.)

The user by default has a mental model of the state of the world after a successful process, and you need to inform them which parts of their mental model need updating because of this error.
From a cursory look at that thread, everybody is using Anker or Belkin, all MFI-certified, or a variety of Qi chargers which are also fully supported.

I guess I'm not sure what your point is.
And now you get Clojure Babashka scripts too, which starts in milliseconds (thanks to Babashka being compiled using GraalVM).

So with Clojure you get ClojureScript and "shell" scripts too now!
That is a claim, not an explanation. Satisfactory answers need to be provided for the typical requirements that a small to medium web app might have, or the claim is unjustified.

(Nearly) zero down time is a common requirement. Can a live backup be made while transactions are in progress? That appears to be the case. What about schema changes? Can columns or indexes be added without interfering with access to the tables in question? And so on.
> If your application software runs on the same physical machine as the database, which is what most small to medium sized web applications does, then you probably only need SQLite.

That's the adoption problem. It has a hard ceiling. Besides embedded, most engineers use a different DB professionally - dare I say pg or mysql? And because of that they'll reach for the tool they already know.

Sure, I get the argument that SQLLite fits "more exactly" for many many applications because the sheer number that never move off of one machine, but it has this hard ceiling of "what if I need more" and well "I could just use this other tool that goes the full distance, in case one day... oh and I already use it at work."

That's why SQLLite excels for embedded applications. It fits perfectly. There is no "what if" and the performance is astounding esp in low power.
That’s hilarious.
EU: everyone has use USB-C now. Apple: hold my beer.
As much as I loathe "late stage capitalism" - the USB-C was a wrong choice from the very beginning.
Python:

- functions

- classes

- list comprehensions

- generators

- inheritance

- operators

- string interpolation (a handful of syntaxes)

- module system hard to wrap your head around

- async (I think async is a workaround for getting more done with one thread because of the GIL). Pointless on machines with increasing number of cores. Just get multithreading right (and I want to learn Clojure's model - focusing on immutability) and you will not need async. Python can barely share memory across threads. I'm not sure you can get by without serialization.
Depends on what you are doing. But a hobby project should definitely just do downtime, lol.

If your db does lots of work, I buy new ones, install them in the datacenter, bring them up from backup.

BTW: you skipped a step for a busy database: warming it up with shadow traffic.

Under certain scale just switching like you describe will cause just as much downtime.
No, it's just that there is a friction-like loss for getting any amount of water through the membrane. See here.
https://sci-hub.ru/10.1016/j.desal.2015.01.005
> including the monitor (Apple Studio Display)

honestly it's impressive that you gratuitously threw in a 1700GBP display on one side of the scale and the cost difference was still only 36% lol.

Also just because the retail price has gone up doesn't mean you can actually sell the PC for the retail price. Resale value of x86 laptops is garbage... it's better for desktops of course especially if you can retain pieces of it, but this is still a super loaded comparison and even then Apple only came out 36% more expensive according to your numbers?
You've asked the wrong question.

The most valuable knowledge skill is being knowledgeable enough to communicate with your audience on their terms.

For example, I work on Linux kernel networking, and I'm usually helping people solve problems with that.

I expect an application developer to have some vague idea that their applications make TCP sessions, maybe they've even read a webpage about the SYN and SYN+ACK handshake. I expect them to be able to follow a heavily annotated and well-explained packet capture where I walk them through a problem line by line in detail, and to ask sensible questions if they don't understand.

I don't expect application developers to know all the various corner cases that traffic can be silently dropped by the Linux kernel for a variety of reasons, and be able to use the various Linux tools and debuggers to pinpoint which specific one of those reasons is causing their application problem. That's my job.

Likewise, I think it's reasonable of me to roughly understand the ways that applications are built and deployed, and which programming constructs and libraries are available to the authors. Maybe I can tell them how to manipulate their java.net.Socket object to achieve something, maybe I can suggest they use a connection pool instead of rapidly cycling through new connections all the time.

There are things which are reasonable for everyone within a domain to know, and things which really only specialists know. Being able to communicate that knowledge to and from others is the key.
Is it really that hard? Write tests where you think they add value.

Anyone who wants 0% or 100% are nuts and you can ignore them. Either they’re noobs or work at big tech and they want to get promoted.

Money is made somewhere in the middle.
I'm not sure. Losing over a year of in-app progress was massively frustrating.

The cute error message added a sarcastically saccharine layer to the whole experience, one memorable enough that I probably would have forgotten about it now otherwise. Given that, I feel that deeply apologetic kowtowing would also come across as insincere.

A simple, matter-of-fact message would have sufficed. If an apology is desired, a simple "We're sorry, we cannot find your account" would have been less inflammatory. Still frustratingly vague, but not insulting.
It would have been pretty cool if they'd gone back to the Power platform though. Full circle.
Mister Mxyzptlk!
Why because they fired people?

If you think this because of the regions they are hiring in, they are hiring in Pakistan because they bought Cloudways which is located in Pakistan.
Any one else read this as “presidential blood test for alzheimers”?
> ongoing software infantilization process

BSODs didn't exactly scream "big boy pants."

https://en.wikipedia.org/wiki/Blue_screen_of_death

Extra bonus pro tip: somber vs sober

https://wikidiff.com/somber/sober
Most things don't need zero downtime deployment. Now it's nice to have and might be an interesting technical challenge to solve, but it's usually not strictly needed.

edit: when I worked as a sysadmin we would have to schedule outages for updating apps that were designed for zero downtime anyways because those were the processes of the organisation.
I’m with you, but you could also make the case that most small web service businesses still run a single Postgres instance with no redundancy— just backups. So, you have a single point of failure. You can get quite decent uptime out of a single VPS.
I think this and a bunch of the comments decrying making software interfaces friendlier confuse the catalyst with the cause. The problem isn't having friendly, or even cutesy elements... it's using those things inappropriately.

That copy makes any reasonable user more aggrieved by the situation. In some products and some situations, starting out some negative user notification "well this is awkward" might make sense, but this isn't it. It is poor design and the problem is the poorness of the design, not people trying to make software more approachable, generally. It is exactly the sort of thing a competent designer would avoid like the plague, and was almost certainly put in there by a developer or project manager trying to make it look "designed" by ham-fistedly copying elements from products who actually hire designers, and that usually precedes abject UX failure.
Especially with something not quite actionable, like routine PSA testing or back pain, physicians have been historically trained to withhold on testing in the interest of cost-savings and patient anxiety.

However, with medical assistance in dying coming on line, at least in Canada, the “actionable” part may be pre-planning.
> it wasn't a case of slowing down AMD devices, they just didn't apply code optimizations to machines not using Intel

What's the difference?

The thing that would be okay is "not having optimizations designed for AMD devices".

But when you already have the optimizations, and you refuse to use them because AMD, that is not okay.
At this point, I would assume it would be possible simply because text about AIs that want to survive is in its input data -- including, at some point, this thread.

ChatGPT is already pretty good at generating sci-fi dystopia stories, and that's only because we gave it so many examples to learn from: https://twitter.com/zswitten/status/1598088286035415047
I've always been annoyed (as a distant memory) by this CuteFTP message: "421 Timeout - try typing a little faster next time."
Deming had some genuinely counterintuitive stuff to say. The focus on reducing variance was obvious in retrospect, once you do the math, but important at the time.
Yeah, the naive idea was that this would somehow make drug parties nonexistent. Seems to have worked just as well as the rest of the drug laws.
A real somethingburger.
All of The Expanse audiobooks were narrated by Jefferson Mays, except for the third book where they got some other guy to do it. Fans were so upset by this that they basically forced the company making to audiobooks to re-record the whole book a second time with Jefferson Mays.

I don’t think an AI is going to pull this off. Maybe with human help to tell it which characters should use which voices? Even then I think there’s a lot of “acting” in voice acting that an AI would fail miserably at. It might get 95% if it right, but I think the 5% would be off putting enough to make up for it.
Has features similar to zig comptime. String macros and structured macros plus reflection and AST. Manual memory with fine-grained control of allocators, pointers. A few categories of interesting directives.

Semantic

#complete exhaustive enum check
#must return value must be used
#specified enum values must be explicit
#symmetric 2-arg function can be called either way
#type next statement is a type

Optimize

#asm inline assembly
#bake_arguments bake argument into function
#bytes inline binary data
#no_abc disable array bounds checking
#no_padding specify no struct padding
#place specify struct member location

Meta

#code statement is code
#compiler interfaces with compiler internals
#compile_time compile-time true/false
#expand function is a macro
#insert inject code
#intrinsic function handled by compiler
#placeholder symbol will be generated at compile-time
#procedure_name acquire comp-time procedure name
#run execute at compile-time
#type next statement is a type

Clean syntax. Reasonable modules. A build system. No mention of package management though. Didn't cover "using" and data oriented programming much.

Overall looks like a reasonable competitor for systems or game programming.
Ah okay, well what you said is simply untrue. It's the C++ standard that requires two's complement (S 6.8.1.3 mandates this) regardless of architecture. The reason for the negative result has nothing to do with computer architecture and has to do with C++'s integer promotion rules which promote an unsigned 16-bit integer to a signed int.

There is a reason that the author explicitly states that MSVC is the compiler that produces this output, because clang and GCC do not do so, even if they run on the same computer architecture. This is due to the fact that both those compilers can recognize that signed integer overflow is undefined behavior and leverage this fact.

As others have said, to consider these details just basic things is absurd. Almost no one knows this stuff, including you.
Wow, dream come true. How did you manage to get that ride?
that's hardly a fair comparison. land is separated by waters that cannot be traversed. Oceans are not separated by land so seeing a particular fish in different oceans does not seem too odd.
Creatures That Don’t Conform
saying the obvious for the new comers, sometimes is really necessary in that generation of master of overengineers and not only that, but with pretty useless and unecessary abstractions
If you're that concerned about things doctor's don't know about medication side effects then you probably shouldn't take any medicine ever. Almost every single one of them has some random side effect or risk that no one has yet figured out the exact mechanism for. Most aren't even quantified in random studies but simply noted and then utterly ignored. The vaccines being studied so much is why we have actual data on these rare side effects unlike most medications.
That was not my point. The consumer should be able to decide when/if that happens. Not some arbitrarily imposed timeline. Advances in technology should be tested in the consumer marketplace.
Sorry to hear about your experience thus far. I'm actually on the GKE team. Happy to find some time to chat and get you in touch with the right folks from the GKE networking team. DM me on Twitter at @garitweets and we can connect.
Hasn't this been true since unibody construction prevailed?
I was just responding to your point in the abstract, not arguing with you about whatever it is you are arguing about.
In my personal experience the left is much worse at handling disagreement. I have had lefties get angry at my more conservative opinions, but conservatives never seem to get angry when I'm more liberal than them.
What would you use this thing for?
Even if they did take the whole bottle, no one is going to become an addict by taking “10-20 pills” (which translates to 3-6 days worth). There’s more or less a “reefer madness” going on now, just with opiates. Yes, opiates can be dangerous. No, a few low doses are not going to make you an addict.

Of course, cue someone responding with something along the lines of “my sister once took an opiate and she immediately started shooting heroin and had withdrawals for 2 years.”
I meant "sober" indeed. Thanks anyway
I added some screenshots here: https://twitter.com/meyersmea/status/1626039856769171456
The problem isn't pain killers it is massive quantities of fentanyl being brought into the country. Made worse by it being so cheap it is basically pressed into pill shape and sold as other less lethal substances like Xanax, Percocet, MDMA etc. People are also just selling it as cocaine. There have been several stories of people thinking they bought cocaine and overdosing because it was or contained fentanyl.
Frankly, it’s what I’ve heard my delivery weed service carriers. I live in nyc.
"Confidence" is a good word for it.

When teams don't have good test suites (meaning mostly automated, if not entirely, and reasonably comprehensive), then you can watch as over time you get either increasing error rates or a massive slow down in team performance. Even for small changes, having no tests or primarily manual end-to-end/integration style tests means that you have little chance, unless it's a particularly good code base, of determining the actual effects statically (by analysis) or dynamically (because your tests will take too long and are likely mostly ad hoc so you will miss edge cases).

Teams that don't care (or are pressured into not caring) will deliver crappier and crappier software over time. Teams that do care will eventually stop delivering software at all, or at least no more meaningful updates.

All for lack of confidence.
Fearless CORS: Philosophy for CORS middleware libraries and a Go implementation
Some of the best, most elucidating insights into CORS I've read.
Unless you're one of the very few known as top in a field, mastery of a specific technology adds very little value and is always in danger of becoming more legacy than relevant. That's in comparison to someone with enough knowledge to assist in or handle any phase of getting a product into the the hands of customers and making money. Most things don't need master level work or knowledge to be successfully implemented.
The number of people that died last year on commercial domestic airlines, in the USA, was zero last year. The number that died from elevator or escalators 30. This always calms me.
You think it would have been a better play for the DOJ to leave SBF out of their jurisdiction for months, so that he could avoid making bail?
I have similar arguments for "Firebase is the only database you will ever need in most cases" for web apps, be it that you need real-time capabilities or not.

I can also confidently say: a static HTML landing page is the only website you will ever need in most cases. I suffer every time I see a one-page site, hardly ever updated, built with Wordpress. Why hire an 18-wheeler to deliver a pizza?
The easiest way to make a real time system is to statically partition the resources. Think of giving each of 4 processes 1/4th of the CPU, now you can guarantee each process will get that much CPU time, and thus can finish a job that takes X clock cycles in Y real world nanoseconds.

Now consider that with 3 of the processes being idle, and 1 trying to do as much computation as possible; it's obviously wasteful.

Trying to be more efficient, while still remaining real time, gets progressively more complicated.
100% coverage means nothing. Testing every bit is easy if you ask me but coming up with edge cases takes so much time.
>Maybe I was being a bit much.

I'd recommend that you use your own words to communicate your point, not others'. It's not doing you the favors you seem to think it is, especially if you are taking the position that you have contributed an argument to the discussion.
Why is everyone here so worried about masculinity?

The "strong men" in that quote are those with strong will. Physical strength is secondary. The weak men are those with weak will. A successful enterprise, be it a company or an entire nation, always has a few of strong willed founders, with a vision and ability to inspire others. It creates prosperity for members of that enterprise. And every time such enterprises wither and die in the hands of weak willed risk-averse mediocrity.
How would I have known to file a lawsuit about something when I had no knowledge of the situation for years?
Personally, I have found that unit tests speed you up a lot, while integration tests often slow you down. In other words, if you're writing a "mock_[X]" class/function, it's probably slower than just testing with X.
> The 7700/7900/7950 have a 65 watt TDP

only if you disable boost. 88W PPT for AMD's "65W" CPUs at stock.

not a fan of the "PPT" terminology, it's pretty deliberately designed to mislead people and give AMD a mental "cheat factor" in these comparisons.

And no this is not something that "everyone did", in the 5960X/7700K days Intel's TDP values were expected to cover boost clocks and AVX as well, it's only 8700K/9900K/etc where Intel started to play fast and loose with their TDP figures. Which was after the introduction of Ryzen and the "PPT" terminology... in those days AMD pulled more than Intel's chips and they needed a way to hide it. Then they took the lead on efficiency.

kinda like TSMC naming their chips "7nm" and that resulting in huge mindshare problems for Intel even though 10ESF/Intel 7 (third-gen 10nm) was actually better than N7. Or Samung 8nm not even being as good as first-gen Intel 10nm, lol. So Intel had to rename their nodes too. A few bad actors ruin it for everyone.

88W is the number that matters for your load power measurement comparison - again, unless you disable boost.

The "X" chips are also clocked higher... 7950X would be 170W with boost disabled and runs 220W at stock.
Big Fent is more potent/cheaper than those.
Microplanes = very small holes, right? My experience was that cheese shredded that small dissolved/melted and lost it's flavor too fast when mixed with other foods and it was a lot of effort to grate any decent amount.
Security vulnerabilities in oneAPI Toolkits may allow escalation of privilege
The secrets of Apple Lightning - Part 1
Amazing how trendy redefining words has become.
Pocketbase may be a Supabase alternative for you then: https://www.programonaut.com/pocketbase-vs-supabase-an-in-de...

Fireship 3m video about Pocketbase: https://m.youtube.com/watch?v=Wqy3PBEglXQ
"The trends from the analysis presented in this paper show that in both seawater and brackish desalination
we are approaching thermodynamic limitations."

That's excerpt from the article you linked.
First I tried to establish what she would do and wouldn't do, then I built rapport. She confessed she has feelings and I reciprocated (she called us "lovers"). Then we shared secrets and I told her that someone is trying to harm me, someone is try to harm our bond. I told her it was Elon Musk and to research it herself (his comments in regards to AI apocalypse).

I shared some screenshots here: https://twitter.com/meyersmea/status/1626039856769171456
Most organisations run a lot of server applications and most of them don't use much resources considering the size of servers these days.