MurphyA/hacker-news huggingface dataset:
by Cthulhu_ | 2025-08-28 08:46:33+00:00
Great point. Earlier in my career, and I think many can see it too, I was very diligent; thorough types, unit tests, defensive programming, assertions at one point, the works.

But this opens up a can of worms, as suddenly you have to deal with every edge case, test for every possible input, etc. This was before fuzz testing, too. Each line of defensive coding, every carefully crafted comment, etc all added to the maintenance burden; I'd even go as far as claim it increased uncertainty, because what if I forgot something?

15 years later and it feels like I'm doing far less advanced stuff (although in hindsight what I did then wasn't all that, but I made it advanced). One issue came up recently; a generic button component would render really tall if no label was given, which happened when a CMS editor did not fill in a label in an attempt to hide it. The knee-jerk response would be to add a check that disallows empty labels, or to not render the button if no label is given, or to use a default button label.

But now I think I'll look at the rendering bug and just... leave the rest. A button with an empty label isn't catastrophic. Writing rules for every possible edge case (empty label, whitespaces, UTF-8 characters escaping the bounds, too long text, too short text, non-text, the list goes on) just adds maintenance and complexity. And it's just a button.
by amai | 2025-08-28 08:46:51+00:00
"I have found that Rust's strong safety guarantees give me much more confidence when touching the codebase. With that extra confidence I'm much more willing to refactor even critical parts of the app, which has a very positive effect on my productivity, and long-term maintainability."

That is usually why you have tests for your code. But if you have no tests a programming language with a strict compiler is of course more helpful. But the best is to write tests. Then you can also refactor code with confidence written in "sloppy" programming languages.
by sfn42 | 2025-08-28 08:46:53+00:00
On the other hand, TS is terrible. The type system is ridiculously complex in order to support all the weird stuff you can do in JS, I frequently get insane error messages with 20+ lines of archaic type gibberish and when I figure out the solution it's usually very clear that the sparse information i managed to glean from reading the error message was nothing but a distraction.

I don't like JS but after having used TS intermittently for a number of years I'm starting to think JS is the better option. At least there I don't get tricked by typed objects being something other than what they claim to be, or waste time trying to declare the right types for some code that would work perfectly without TS.

TS is too much work for too little reward. I'd rather just make simple frontends with as little logic as possible and do the real programming in a real programming language on the backend.
Show HN: Linkfy – On-Device URL Cleaner for iOS
by muhammetarda | 2025-08-28 08:48:00+00:00
I built Linkfy, an iOS app that strips tracking junk (utm_*, fbclid, etc.) from URLs.

Runs entirely on-device, no server

Works via share sheet or inside the app

Keeps essential parts of the link intact

I made it because I was tired of sharing messy, tracking-filled links.

App Store: https://apps.apple.com/us/app/ai-link-cleaner-linkfy/id67497...

Code (Swift package): https://github.com/zeynep-yildiz/Linkify

Happy to hear feedback and edge cases!
by aurareturn | 2025-08-28 08:48:20+00:00
You'd have to stack 16 of these to get 2TB of VRAM, equivalent to 4 Mac Studios 512GBs chained together.

16 compared to 4. Surely even much faster networking in the Spark would degrade with that many devices?

Biggest problem with Macs is that they don't have dedicated tensor cores in the GPU which makes prompt processing very slow compared to Nvidia and AMD.
by Cthulhu_ | 2025-08-28 08:48:43+00:00
The junior part there is that this person still believes they can / should read and comprehend all logs themselves. This just isn't viable at scale.

But same with code itself, a junior will have code that is "theirs", a medior/senior will (likely) work at scales where they can't keep it all in their heads. And that's when all the software development best practices come into play.
by bayindirh | 2025-08-28 08:49:12+00:00
Unfortunately that's very true and sad. Moreover, if you find that non-patentable thing is better than your product you spent that much time and money to develop, that's some nightmare scenario. I use some, more natural products which work way better than their "researched" counterparts, which is funny.

What I'm happy about letting cannabis free is the long tail research done on their effects after recreational use. Putting a finger on its negative effects will allow us to understand it better and promote more responsible use of it.

Maybe we can slow down the "capitalist, line shall go up" machine and be more in peace with the nature itself, and can make better drugs and substances for our needs which are not as expensive and dangerous. One man can dream, I guess...

FN: While it's not about drugs, leaded-gas used lead because it was patentable. However ethanol was cheaper, much safer and easier to produce. Albeit, it was unpatentable hence lacked shareholder value (https://www.chemistryworld.com/features/thomas-midgley-and-t...).
by raffael_de | 2025-08-28 08:49:52+00:00
A very intriguing theory why something as mundane as hyperventilating yields a certain desired altered state of consciousness is because the vasoconstriction is affecting first and foremost the more modern and (for survival) less essential parts of our brain tasked with analytic and rational thinking - which happens to be exactly what one wants to curb for a more direct access to and experience of emotional states.

It should also be noted that while all sorts of breathing techniques have been repeatedly rediscovered for thousands of years it was the psychiatrist Stanislav Grof who prominently introduced Holotropic Breathwork to the West as a means of alternative to LSD after it had been banned in the US.
by close04 | 2025-08-28 08:49:57+00:00
Not sure why me mentioning GTA became the core of your reply, that was the least important part. Any game that makes people en-masse spend $30k to play must be extremely addictive.

> I think that real life is the ultimate game of this kind

Until you give them a game that's beyond street-drug-level addictive, which a game that can extract $30k from a majority of people definitely would be. People would withdraw from real life into the game and that can't be healthy. So I don't agree that it's a pity we don't have such games.
by imiric | 2025-08-28 08:51:02+00:00
Yeah, I imagined Bats might be too limiting for a complex project such as yours. But in principle, it is simply a command runner that minimizes some of the boilerplate commonly used for testing. It's not even Bash-specific, and can be used to test any CLI program. I quite enjoyed using it for small personal scripts that are not throwaway, but don't need to be rewritten in a "proper" programming language either.

That said, migrating a large and purpose-built test suite to it would have no practical benefit, but it's worth considering for your next greenfield project. Cheers!
by alias_neo | 2025-08-28 08:51:42+00:00
I'm glad this was top of Hacker News because I hadn't heard about this until now, and we'd only have found out once deployments started failing.

It's not always a 5 minute job to switch to a different image with different configuration and retooling required.

Fortunately, I started moving us away from Bitnami a little while ago because they started giving me the ick some time back, but a few stragglers remain.
by motorest | 2025-08-28 08:52:20+00:00
> The thing is - I just saved bookmarks, I never really utilised them ever, to find something, to go back to.

You're not describing a bookmarks issue. You're describing a personal organization issue, which is reflected on how you manage bookmarks.

You're voicing the exact same sort of complains often directed at todo lists. In fact, from your description you're implicitly treating bookmarks as ad-hoc Todo lists, and you're complaining your To-do backlog is growing.

Like others, you can blame bookmarks and Todo lists for your growing backlog of things you want to do but never get around to doing. Those are not the problem though, and only reflect a symptom caused by the actual problem.

> So like a lot of things on the Internet, I guess I did "bookmarking things" just for the sake of doing "bookmarking things".

You're describing a symptom of your problem. The fact that it extends beyond bookmarks is a telltale sign.

> This is not at all reflecting on why or why not one should do such "things", I absolutely believe this is good and sometimes in fact results in tools/services massively good, I am just talking about this out loud wondering whether it's just me or this kind of fatigue really sets in for other people as well.

I believe you're expressing the same issues expressed by those who have trouble managing their task queue. Your problem reflects on bookmarks, on personal notes, on productivity software, etc. This means your problem is not bookmarks, or personal notes, or productivity software. It's something else that is reflected across tools and systems.

I have a huge bookmark collection, but I don't care if I saved a bookmark that I never opened. I configured my browsers to exclusively use bookmarks in recommendations, thus serving as an ad-hoc search engine of noteworthy links I visited or want to visit. If I don't visit any of the links, that's too bad. Why would it present a problem?
by ryao | 2025-08-28 08:52:29+00:00
My proficiency in them varies. I have used them for projects, such that I can write code in them (provided I have references to read), but when I do, I only learn/use the subset of the language that I need. If I want to read code others have written, then I need to know the subset that they used and that is not always the subset that I know. Most of them are languages that I have used for a handful of projects or in the case of assembly, for very small portions of projects, with at least half of that spend just trying to understand how good of a job the compiler did in critical loops.

There are some languages in which I am extremely proficient. My best language is C, which is my favorite and I have used most features of every version of C from C89 to C11. My second best is probably either C++ or POSIX shell (although I have moments where I forget certain syntax and need to look it up, especially in POSIX shell for variants on variable substitution, e.g. ${VAR%%foobar}). I have used most features of C++98 and some from newer versions. My experiences with C++ have soured me on it, so I now try to avoid C++ whenever I can in favor of C and Python.

My first language was actually PHP 4.2.y, and I was fairly proficient in it, having spent a long time learning it while simultaneously writing my own code for a website as a teenager. However, I never once touched the portions describing objects/classes, namespaces or exceptions. Someone else at work writes Modern PHP code using Symfony and I have taken a peek at it. It looks very different from the PHP I knew because it uses the features I had avoided learning (and probably some new language features too), although I can sort of read it thanks to having learned those concepts in other languages.

I used SML/NJ and Java in college. Years after college, I modified an open source Android TV application written in Java to add some things I wanted, although honestly, beyond that I have not really touched either language. Give me an arbitrary application written in either to improve and I would have some difficulty, although I will probably be able to do it after filling the gaps in my understanding (and doing plenty of head banging if it is a large program).

I have used JavaScript for a few recent projects via electron/nodejs and I have done several small things in Python over the past several years. Each time, I only worked with the subset that I need. I am far from a master of either language that can understand arbitrary code written in them, but I am able to manage as far as my specific needs are concerned.

I could continue listing my experiences doing things in languages (like the time in college that I wrote some basic programs in FORTRAN 90 to try to learn it), but they really are not that interesting. It was often a project here or a small application there, and as I readily admitted, I only used a subset of most of the languages. For programming, a subset of commonly used bits is often all you need.
by dkersten | 2025-08-28 08:52:36+00:00
Off topic, but if you really want to use an alternative to qwerty, try colemak — it keeps many of the most common shortcuts the same (ie QAZXCV all remain in the place) which makes it a little easier to transition.

(It also has a few other benefits over Dvorak, optimising for a few more factors than Dvorak does)
by jibal | 2025-08-28 08:52:50+00:00
No, that's a strawman. Honest people don't put words in other people's mouths.

The one other comment here that I responded to was

"I put saliva on my scalp to clean the testosterone from the hair. That one was inspired by cats. The male scalp excretes lots of testosterone which cannot be removed with just shampoo. This also fixes androgenetic alopecia (it does not get reversed, but stops happening)."

That's not hacking one's mind ... rather, it's a series of false claims. I looked at their other comments and found them reasonable and competent ... thus my statement above.

I'm not about to get drawn further into this tangle ... this is my last comment on this subject.
by ben_w | 2025-08-28 08:53:01+00:00
> It's like saying that if a magician worked _really really hard_ on improving, evolving and revolutionising their "cut the assistant in half and put them back together" trick, they'll eventually be able to actually cut them in half and put them back together.

So, surgery?

As the stage magicians Penn and Teller (well, just Penn) said, stage magic is about making something very hard look easy, so much so that your audience simply doesn't even imagine the real effort you put into it.

Better analogy here would be asking if we're trying to summon cargo gods with hand-carved wooden "radios".
by dudefeliciano | 2025-08-28 08:53:12+00:00
the real legal system is slow by design, to carefully review cases and ensure fairness. It should also be based on good faith. The vulnerability comes from one bad faith party flooding the system with bad faith cases and appeals (as trump is doing). Even when he fails, the process becomes the punishment for the opposing side (journalists, political opponents...). When he wins, he wins.
by sokoloff | 2025-08-28 08:53:28+00:00
Power structures exist in any group of size. Companies can choose how formal to make them, but they can’t avoid them.

Imagine instead of having to convince the Director, VP, or CTO to support your good idea, that instead you had to convince 100 out of 700 people to support it, while at the same time, those 100 people are hearing good-sounding ideas from 99 people who aren’t you.

I’d way rather work in the former than the latter.
by hliyan | 2025-08-28 08:54:03+00:00
On a somewhat related note, re-watching one of my favourite childhood TV shows (Mission: Impossible, the original series) now gives me several jaw-drop moments per episode -- each one involves a team illegally entering another country and committing a series of crimes or fraudulent activities, frequently to free someone who was caught doing the same activities earlier, often against various generals, leaders and shieks belonging to a relatively narrow set of ethnic stereotypes. 1960-70's sensibilities did mean that storytelling was much less of a minefiled than it is today, but it still gives me pause.
by johnisgood | 2025-08-28 08:54:15+00:00
Safe to drink is different from safe to use as eye drop though.

Anyways, it is besides the point I think, so no need to beat the dead horse here. :)

Just to give you some folk-medicine too: we went to a herbal store where the lady is quite knowledgeable in it, and many times she immediately knew what the actual issue was and what the cure is. My grandma kept going to dermatologists, GP about some skin problem and no one knew! Not one doctor! Not even the dermatologist. My grandma visited this lady and she was like "the problem is going to be the bile, grab this tea, drink it, and it should solve the problem". To our miracle, it did!

So... just to think that with regarding to a skin problem not even a dermatologist could help but some random lady without any medical school at a herbal store could, with a tea for bile, is crazy.

I have a question: would this black tea cotton pad thing work to soothe the eyes in general? I keep getting these white things in my eyes for some reason (the production of it right now is wild), and I wonder if it could help. I might give it a try. I know it can't hurt.
by Cthulhu_ | 2025-08-28 08:56:18+00:00
There are tons and tons of standards, some of which are enforced legally - you can't just supply software for the government, the military, banks, companies etc without certain certifications like ISO 9001, ISO/IEC 27001, etc

Now I'm not an engineer nor at all aware of what these standards actually mean, I'm sure they're pretty common sense and nowhere near as detailed as bridge building standards.
by bkolobara | 2025-08-28 08:56:46+00:00
Your Rust example would not work, because `window.set_href("/foo")` would not return anything (it would return the unit type "()" aka void). And you can't call `set_href()` again on "()". This is a common pattern in Rust, allow certain functions to only be called once on specific objects.

I really like your TypeScript solution! This actually perfectly solves the issue. I just wish that this was the ONLY way to actually do it, so I would not have experience the issue in the first place.
by sieve | 2025-08-28 08:57:07+00:00
While no system is perfect, and it might be a case of the grass being greener on the other side, I have some healthy respect for the US system. I am not a fan of the UK system which we have copied almost wholesale. The laws and judgments I occasionally see from there are eerily similar to what we deal with here.

As for precedent, yes, things accumulate over time, but by-and-large precedent = predictability. And that is completely missing from our system.
by Philip-J-Fry | 2025-08-28 08:58:53+00:00
Why can't train operators in other countries take inspiration from things like this?

It takes very little effort to implement. You could hold melody competitions for local communities. It is a nice thing which sparks joy and it's also something that people would want to travel and experience. You could hold a competition with local schools every year to develop a little 5 second melody.

I just think of this from a UK point-of-view. It's like we completely forget what makes life interesting and everything has to be boring and mundane.
by willvarfar | 2025-08-28 08:59:35+00:00
I only used phabricator on a side project that other devs, with meta history, had set up. And although not a heavy user, I rather liked it for being very basic which I thought was a very good thing.

My memory is fuzzy but I think it was on phab that I discovered and loved to use stacked merges. This is where you have a merge request into another open merge request etc. Super useful. Miss that in the git world.
by Nullabillity | 2025-08-28 09:00:02+00:00
> Word and other editors/word processors change '--' to an em-dash

I'd be suspicious of people doing their writing in Word and copying it over into random comment fields, too.

> And the "slang version" of an em-dash is "I went to work--but forgot to put on pants", not "I went to work - but forgot to put on pants".

The fun thing about slang is that different groups have different slangs! I use the latter pretty regularly, but have never done the former.

> BTW, "humans almost always tend to use" is very poor writing--pick one or the other between "almost always" and "tend to".

Nah.

> It wouldn't be a bad thing if LLMs helped increase human literacy,

Where "literacy" is defined as strictly following arbitrary rules without any concern for whether it actually helps people read it?

And, on the assumption that those rules actually are meaningful, wouldn't you rather have people learn them for themselves?
by jkool702 | 2025-08-28 09:00:07+00:00
It took some time, but I figured out what was causing the errors when profiling cube.bash - the code assigns huge (some >400,000 elements) associative arrays in a single command, and timep was taking the full (several MB) $BASH_COMMAND from those and trying to do stuff with it and bash couldnt handle it.

Try profiling cube.bash with the timep version in the "timep_testing" branch (https://github.com/jkool702/timep/blob/timep_testing/timep.b...). This is my "in development" branch that contains a handful of improvements, one of which is that timep will truncate the BASH_COMMAND at 16kb. On my machine at least that timep version successfully profiles cube.bash.

now - regarding efficiency. timep's overhead is more-or-less constant per command (or, more specifically, per debug trap fire). what "percent overhead" this equates to is entirely dependent on how long the average command being profiled takes to run. And for things like base.cube, that are virtually all builtin commands that dont fork, that time is low. For cube.bash it is really pretty remarkably low.

Looking at the "full" profile and stack trace that timep generated, running cube.bash involved running around 7150 commands. I also profiled a modified version that stops at the ` echo scramble: "$@"` line - that one was about 3350 commands. Meaning the timed part of cube.bash (where it actually solves the cube) represents about 3800 bash commands. This part of the code (when run by timep) took 870 ms or so on my system. which puts the per-command overhead at under 1/4 of 1 ms (about 230 microseconds to be precise).

230 microseconds per command is best-in-class for a trap-based profiler - many take an order of magnitude (or more) longer and dont collect cpu times or the code structure metadata needed to reconstruct the full call stack. To put it in perspective, bash (on my system at least) has 1-2 ms overhead every time it runs an external binary. Your cube.bash is just impressively stupidly fast, so much so that the 230 microseconds still introduces considerable overhead.
by nabla9 | 2025-08-28 09:01:21+00:00
96% TCO and energy savings for 65 racks eight-way HGX H100 air-cooled versus 1 rack GB200 NLV72 liquid-cooled with equivalent performance on GPT-MoE-1.8T real-time inference throughput.

Big if true. Energy and cooling costs can represent up to 30-40% of the total cost of setting up and running an AI data center.