skysight-inc/HackerNews huggingface dataset:
Product quality is difficult to measure. Even if it was easy to measure (as you seem to claim), it's difficult to know if a improvement in metrics is attributable to the product manager or some other factor. There are a lot of forces driving product evolution.

Contrast that to metrics around demand generation. If you have a sales team, they can work "how did you hear about us" into the conversation. Maybe you are tracking where redirects to the website come from. It's much easier for a marketer to prove that 100 prospects got in touch as a result of something they did, than for a product manager to prove the product is better because of them.
Very often when Apple decides to go in its own direction, you can criticize them for not improving standard ways of doing things instead. File transfers, contact sharing, etc.

But with Bluetooth I believe Apple is right to forge its own path. The standard is convoluted, built on old methods, still cannot pair two buds in a sane manner, and can’t provide enough bandwidth for Apple’s uncompressed format.

I expect Airpods to leave Bluetooth behind sooner rather than later.
I really wish people stopped using this concept of “function colors”, especially in the context of Rust because the `async fn`/“regular function” split is strictly equivalent to the `try_something()`/`something()` split (the first one being fallible and returning a `Result` in case of failure). `Result`s and `Option`s are coloring the stack in exactly the same way a `Future` does (and `async` is pure syntactic sugar on top of future).

So, someone may like exceptions and green threads more than `Result` and `async` (and this is a completely valid PoV, even though I personally like the explicitness better), but thinking `async` is somehow special is just a conceptual mistake.

Edit to give an little more substance to the parallelism:

If you want to call a fallible function inside an infallible one, you MUST handle the result. If you want to use `?` then your function MUST return a Result.

Symmetrically, if you want to call an async function from a non-async one, you MUST `spawn` the future. If you want to use `await` then your function MUST be async.

The only practical difference between async functions and functions returning a `Result` is that `Future` is a trait, not a struct like `Result` (and that means that your future may have a lifetime that's not visible in your function definition, which is an endless source of confusion for beginners).
I've been a programmer since the 1980s. I feel that the peak of the field was somewhere between 1995 and 2000. We had Windows 95/98, the Internet, and all programs were local applications run on a desktop, that people had gotten very productive on.

The existence of Visual Basic and VBA support in the Microsoft Office Suite made it possible, and even practical, for most domain experts to build usable applications that allowed everyone to get their jobs done. If there were performance problems, or it needed to be made more reliable, professional programmers would be brought in to rebuild things in a more properly designed manner.... it was at this point that we almost shifted to being actual Software Engineers, and professionalized.

Since then VB was cast into the pyre as a sacrifice to the very unnecessary migration to .Net, and the bloat that ensued as desktop programming lost a decade of productivity, people decided to just shove everything onto the web.

It was only as this was starting to happen that Steve Jobs further crippled programming by introducing the iPhone, and suddenly GUI applications were expected to work on tiny screens (in either orientation) without proper input hardware like 3 button mice and keyboards, connected across a slow and unreliable network connection.

Needless to say, the last 2 decades have been a total loss as far as programmer productivity goes, with one shining exception.... GIT. Git has its flaws, mostly arising when people don't realize it's a set of snapshots that fake storing deltas, and not the other way around.

GIT/GitHub, et al... are fantastic. The ability to just keep multiple machines up to sync without hassle in seconds is sooooo good. I used to keep stacks of floppy disks with ZIP files of source code, all manually managed.

In the future, we need to recover to the point where you can drag/drop GUI elements and have them work anywhere, like we were with VB/Delphi/Hypercard.

When we get there, we'll let users build basic applications, and we can finally professionalize and apply actual engineering practices to the art of programming.

Until then, please stop calling it engineering. We don't put in anywhere near the effort that Margaret Hamilton (the first actual Software Engineer) and crew did, in safely getting men to the moon. We're programmers, not Engineers. As Uncle Bob said, we don't profess anything. We certainly don't use engineering practices as described by The Engineer Guy.

---

Example: You can plug a lamp into an outlet, and in the US, it can draw up to 15 amperes, and under almost all circumstances, you can't damage the wiring in the house via a fault in the load.

We have no equivalent in software. Chroot, sandboxes, etc... are far too unsafe. We have no standard way of letting the user choose resources to give to applications at run time.

The worst part is, most people don't even see the deficiency. Imagine the current power grid with no fuses or circuit breakers.... the first wiring mistake would crash civilization.

We can do better, we must do better.
It's worth pointing out that Apple has some of the best accessibility options out there. There's an "Increase Contrast" setting that increases the contrast for SMS messages.

Yes, one could argue that the default should provide high contrast for everyone, but once this setting is enabled, it effectively becomes just that going forward for those that need it.
WebAssembly Interaction Patterns: Command, Reactor, Library
Garbage in, garbage out! Svd2rust is a great tool, but the patching process (YAMLs) is currently not user friendly due to silent failures. Root cause is hardware makers putting out bugged SVDs that need patching.

I think re DMA buffer lifetimes, the easy approach is static buffers; they never drop.
Yes I definitely want my CEO to be on psychedelics while signing major sales contracts. Same goes for doctors (especially surgeons) and special forces operators.

Many of the things that are popular among tech circles are actually researched. For example Ketamine is available in Switzerland for treatment of depression, and there's a lot of know-how on the topic. I reckon you could fly here for treatment if you can afford to live in the area for a while. Spoiler: it's not a silver bullet.

It's a bit like when crypto bros slowly rediscover every single widely accepted idea for regulating finance, securities, disclosure, trading, ...
OP needs to install naemon and chill. Monitoring means alerting, and not collecting metrics.
Monitoring means being notified of outages. Metrics are for troubleshooting and post mortems.

If you monitor CPU or RAM usage, you are doing it wrong. Oh and by the way, you want your ram to be full.
The code itself likely comes from Google, not Microsoft. You can open Chrome and go download Edge/FF, IIRC, it only shows if chrome is the default browser. At least it used to a couple of years ago.

Gmail still nags me about not using Chrome.

I don't see the issue here.
"Good tools are hard to find, hard to evaluate, hard to learn. We have constraints, we have biases, we have shortcomings. But that’s all part of the work."

Before I worked at a startup I was obsessed with learning the latest and greatest tool. Then I learned that the best thing to get the job done is usually the thing you already know. Now I'm back to indexing heavily on researching the right tool for the job. I feel this is the cycle that we are destined to repeat again and again.
Hijacking this for a question I've been wondering about. For context, I'm a long-time tmux user who spends 90% of my time in remote shells.

Ideally, I'd have my WM handle panes, layouts, etc. "Terminal multiplexing" seems to me to be misplacing client/UI concerns. Session persistence is the concern of the server, and multiplexing should be handled by ssh. However, getting the client terminals to coordinate nicely (e.g. reattaching to the appropriate sessions, opening new terminals in the same remote working directory) require more sophisticated clients than exist currently (to my knowledge).

Does anyone feel similarly? Anyone have a setup that approximates what I'm looking for?
An opinion piece written by someone at a NY company doesn't mean everyone in NY shares their opinion. Tribalism is the real problem you are describing.
This article focuses on the author's dislike of logging. Never does the author mention log storage expiration, an obvious and effective tool to reduce the largest complaint, storage cost. The author also doesn't mention differences of scale for services -- the log resolution for service X, may be inappropriate for service Y, etc.
The `security` tool is handy too. I like the ability to store passwords in the `login` Keychain and automate using them in the terminal using `security find-generic-password`.

security find-generic-password -gw -l "${keychain_id}"

Super helpful for VPN automation scripts, easy logins to things like Vault, etc. The security tool has tons of other handy functions as well.
It's almost certainly faster if your computer is remotely modern. Compilation scales pretty well with multi-core performance.
Show HN: Tweak your chord progressions for practice or composition
I'm excited to share with HN a new pet project I've been working on to explore how AI can create and explain harmonic chord progressions - Chord Variations.

The project uses GPT-4 to generate unique and interesting chord combinations based on user input chord progression. It's akin to having a virtual musical assistant that can help non-musicians and musicians alike explore and create harmonious sound without needing any prior knowledge of music theory. The generated chord suggestions maintain a similar vibe to the user input. Alternative chord progression includes extended chords, chord substitutions, unique passing chords, and more.

Additionally, musical theory explanations within the tool is helpful for users not just to create music, but understand the underlying structure it's built on a bit better. These chord progression suggestions can be used for practice or composition. As a musician myself, I am having quite a lot of fun playing around with it.

One of the things I'm proud of is how the application really dips into music theory. It includes nuanced aspects such as dominant chords, secondary dominant chords, and the famous 2-5-1 chord progressions.

That said, the development journey was full of lessons. Dealing with the latency of the GPT-4 API was particularly challenging. I used a Celery based queue system + client polling to manage the delay between request and response (from OpenAI API). Additionally, to keep the chord names consistent, I used a combination of prompting and regex. There are still some bugs that need to be squashed but overall I am pretty happy with the results.

I'd love to hear your thoughts and feedback on the project. Also, if you're curious about anything, I am happy to delve into the details in comments.

Feel free to take Chord Variations for a spin here: https://chord-alt.vercel.app/

Looking forward to some interesting discussions!
I don't think I'd put stimulants in the hedonistic escapism bin, at least not for people who may be frequenters of this site. If anything the people using them are trying to escape less.

SWIM can confirm pretty unremarkable here in regards to psychedelics. They're a senior eng working in a big co. SWIM doesn't use them anymore but they did have a permanent effect on reducing anger so that was nice.

SWIM = someone who isn't me
Why assume that Intel's cost at this resolution is anything less than TSMC's? It likely will be much more expensive for Intel as they lack the experience and are producing in a country with higher basic costs than Taiwan.
Google Says the Reddit Blackout Made Search Worse
If you had really given them the benefit of the doubt, you would not have implicitly shamed them for using the language they chose to use. Or explicitly shamed me for defending their choice of language.
Elon Musk Touts Ketamine for Depression
You think manually compiling all your libraries into a singular executable, or custom making your own minimal distro, is safer than using a minimal distro image from an actual OS distribution with security reviews, notifications about package updates, and easy patching, and where you can literally start a shell instance in the container and just check for updates to see if you have security issues? Good luck manually tracking all the security announcements for all the libraries and modules you used. You are doing that, given this is a conversation about security in containers, right?

If you aren't shipping setuid binaries in your container, even if someone gets a full shell in the container they are locked down by the container permissions and cgroup limitations, which is the whole point. That some extra utility or library exists but is not running that has an exploit is really not providing much of an attack vector. If an attacker can arbitrarily run something the fact that some code is on the system is not likely to really change their abilities, unless it's setuid, so get rid of that stuff.
Excellent. Any people running these somewhere? Not really interested in sex chats but chatbots that weren’t neutered for any topic/words.
The trivially easy method for bad actors to create "new information" is to lie. This often can be accomplished by leaving out a single line of context. In other instances, the lie is more brazen.

Politics is little more than a debate over the final authority to establish and contextualize facts, and the moral authority that arises out of that victory to tax and legally suppress the political competition.

Which means that politics, and their facts, are only the caveman survival competition moved to the realm of (mostly) Media and Law.

It is axiomatic that those who mostly win at establishing the facts are those who have most of the political and social power.
TIL about named pasteboards https://developer.apple.com/documentation/appkit/nspasteboar...

I recognize that your pbg alias works for pretty much any text you could copy, but I wanted to mention, in case you're looking at log files with plain old less, there's the & limiter, which limits the current view to only lines matching a regular expression (or, if you type ^R during a & prompt, for a text match).

If you type ^N or ! during a & prompt it will limit the view to those lines that do not match the expression.

These view limits stack, so you can "&WARN<enter>" to see all lines that have WARN in them, and then maybe you want to see just a certain PID so "&12345<enter>" and you'll only see lines with both WARN and 12345, but then that one module is printing out a bunch of messages you think are safe to ignore so you do "&!modulename<enter>" and it filters out log lines that match modulename. Very handy and less is everywhere.
Why would they? Right now they have the best laptop and tablet chip, bar none, and total vertical integration. They've invested heavily in M1 and M2 and M3 is due out next year. What would an Intel chip offer, except uncertainty?

On the compatibility side, Boot Camp is less useful when Windows on Arm does its own x86 emulation and works well enough in Parallels. On the graphics side they wrote their own DirectX 12 wrapper. If they can port some AI libs over, running them on 64 GB of shared CPU/GPU memory would be pretty amazing.

Maybe in 10 years, if Intel generationally leapfrogs them again like with the PowerPC era. But short of that, what would they have to gain?
I think it’s possible that the noise levels at a festival resemble the very loud noise of a car crash on some level, and that is part of the equation in triggering the crash detection.

If it were g-forces alone that are confusing the phone there might be more stories about fall detection rather than just car crash detection. Even though the age cohort at festivals might be less likely to explicitly enable fall detection, I think it’s a default setting.
i'm most surprised that they got this one by HN community
I configured the screenshot to file to automatically save them to ~/Desktop/screenshots instead of ~/Desktop using the Screenshot app to avoid cluttering the desktop. See https://www.hellotech.com/guide/for/how-to-change-where-scre...
> The next version will make it much simpler to deploy isolated networks by using TLS roots to prevent accidental peerings.

Is that PR #1038 [1]? Any info on how to use that feature and whether it works over multicast as well?

I noticed this PR uses SHA-1 for matching fingerprints. SHA-1 has been broken for 18 years now. Is it possible to use something more secure?

> It's also worth noting that Yggdrasil doesn't have the equivalent of "peer exchange" — only directly connected peers would ever find out your public IP address. Yggdrasil will not form new peerings automatically, with the single exception being multicast-discovered nodes on the same LAN.

Right, my worry is that by having a server with a public IPv4 address and Yggdrasil running on an open port (so that my other nodes can connect to it) will allow someone else to connect to it (either on purpose or accidentally) and cause my traffic to route over their node(s) and/or the public mesh.

Thanks!

[1] https://github.com/yggdrasil-network/yggdrasil-go/pull/1038
Is well written Rust code better with respect to paging than well written C++ code?
I wouldn't be surprised if it was in the top 10 of FOSS history
As a comparison, TSMC wafers cost:

Size Cost/Wafer % Increase
---- ---------- ---------
10nm $5,992
7nm $9,346 55%
5nm $16,988 81%
3nm $20,000* (est.) 17%
2nm $25,000* (est.) 25%

https://hardwaresfera.com/en/noticias/hardware/precio-oblea-...

https://www.siliconexpert.com/blog/tsmc-3nm-wafer/
In a civil case this is the right thing to do. Chances are good that a company as large as FedEx very closely met with leasing providers and discussed how they were going to get those costs down, better than if FedEx didn't lease. The lawyers would be silly not to fish for signs that FedEx knew a bit about why it could get the leasing rates it wanted.
Microsoft has owned GitHub since 2018.
It's just domain-specific language. This would be clearly understood as "prepare me an egg" by anyone receiving the question in context.
I got to rule 35, I think I was one away from victory, best time to play this is probably around 10:00-2:00 so that you can keep low numbers and it doesn't mess up rule 5. I gave up and decided to slay Paul myself. Paul is the bane of my existence.
I think this is just a marketing ploy jumping on the Generative AI bandwagon.
In real world, this will not work as the actual output might really confuse the end user.
Yes. In the younger circles, it seems like there's a very brief period of telegraphing your "tribe", and once you detect the matching cues you can assume you know pretty much everything about the other's point of view. To the point that there's no reason to discuss anything, you may as well both hold up a preprinted sheet listing out everything the "good" side believes.

Occasionally people will push on the extreme edges of that accepted area, maybe even commiserate on how some things are taken too far, but without ever really challenging the basic belief or seeking to find where the edge of reasonableness might be.

It's not horrible, and I'm just an old fogey whinging here. It just gets under my skin when I hear for the hundredth time a group of kids talking about stuff that I basically agree with, but taking it to the extreme without an ounce of self-awareness that they've crossed into the zone of ridiculousness.

In a way it's because I'm the same, I want "my side" to be more rigorous and intellectually honest than the "sheep on the other side", and it's uncomfortable to realize that the people who largely agree with me on the topics are so sloppy at how they got there. If something else becomes fashionable, they'll just adopt that instead. And if some question comes up, it'll be decided by what feels most in line with what they've already agreed to believe, regardless of the actual merits.

I guess I'll just worry about keeping them off my lawn.
Which applications?
So, is ActivityPub overly chatty? I was hoping to find out more about the cause of these operational woes.

Similarly, how does it compare in traffic to similar amounts of data broadcast and federated on Matrix?

Finally, thanks for the author setting the tone going in and being, willing to look critically without being a miser about federation in general. This is the kind of nuance probably needed to push things forward instead of rehashing myopic talking points.
Controversial answer (maybe. also Xpost from similar popular story today [4]:):

Not changing you mind may be appropriate* (I'll explain [1]) though it also reminds me of a famous and apt observation [2].

[1] New facts do not always permit a change of mind because they they may support. indisputable but incompatible explanations/opinions/points of view.More facts are needed to reconcile things.

For this reason a person should strive to cultivate the skill of believing positions at the some time opinions, wholly incompatible. This is difficult. It takes effort and practice to partition your mind in a way that separates belief in one viewpoint from the belief in the other.

It is often uncomfortable [3], and for me I can only truly achieve it for brief moments. Nonetheless it's an extremely useful skill to navigate encountering new information & consider another person's viewpoint when it contradicts my own.

Ideally new information eventually comes along that explains how both can be true at the time.

[2] Quote: "A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines" --Ralph Waldo Emerson

[3] To reveal some very personal details, I was helped in honing this skill by having to deal with mental health issues that force completely irrational thoughts on me at the same time that I attempt, with varying degrees of success, to bring down a hammer of rational reasoning and logic against those thoughts. The former makes for a tortuous experience in itself, while the later imposes an very strange but helpful contradictory belief with both held in my head simultaneously.

[4] https://news.ycombinator.com/item?id=36497361
The Second FTX Asset Recovery Report
yep

while they have different sets of pros and cons, neither is generally preferable to the other, they both get the job done with basically the same cost
The brand new flushing toilets that belonged to London’s upper class weren’t the primary cause of the great stink. The much bigger contributor was the other 99.9% of the population which had doubled in only 50 years preceding the stink. They had no flushing toilets, they just emptied their chamber pots into the street and it eventually found its way into the Thames after enough rain. The solution to the problem was to both upgrade the system and redirect more waste into the system instead of the surface gutters so it could be routed to an appropriate location. Its right there in the text you quoted!
I think there have been a few posts pointing out that the ergonomics around using just pointers in Rust is lacking severely in comparison to languages like Zig and Odin.
The original plaintiff in the 2017 lawsuit popped into the comments section of the parent article, and did quite an amusing "AMA" sort of thing there. He makes a great point by saying something like "I filed this lawsuit in 2017, which means they were made aware of this practice 6 years they're doing this, and are apparently still doing it."

Interesting that the top comment on this thread now is cautioning skepticism on the claims.
Not on the list, but I think `fs_usage` is an interesting one. Like a firehose of disk activity.