MurphyA/hacker-news huggingface dataset:
by d4mi3n | 2025-04-21 18:30:18+00:00
Presumably a contractual agreement with BlueSky. Trust needs to stem from somewhere, so you’re either looking at a web-of-trust model where somebody (BlueSky or BlueSky clients) makes decisions on what sign-offs to trust, or you trust BlueSky to perform due diligence on partner orgs that provide this service and to hold them accountable when that trust is breached.

The WoT model works but as GPG has shown it requires your end users (people? BlueSky client developers?) to manage who they trust as an authority on anything.
by mos_basik | 2025-04-21 18:31:55+00:00
Landing in 3.14? Nice, but also oof, that's probably not getting to my employer's codebase for a year or two. And it sounds like it could really solve some problems for us, too.

Paging asottile - any plans to make a `future-tstrings`? :)

`future-fstrings` (https://pypi.org/project/future-fstrings/) was a real QOL improvement for our team for a year or 2 around 2019 before we got onto Python 3.x.
by hylaride | 2025-04-21 18:32:30+00:00
My (and my wife's) background is protestant. In this realm, there's no forgiveness unless you totally repent and accept the whole christian shebang. In extreme cases, it's not the the sin itself, but the rejection of god/jesus that's the worst you can do. Taken to the extreme, you see this manifested very strangely, like Chick tracts where the secular lifetime do-gooder burns in hell, but the terrible multiple murdering rapist gets into heaven because they repent "in time".

I know there are wonderful ministers, christians, and people of all religions. But I've come to the conclusion that if said minister/church/religion gets involved in politics, there's a greater chance than not that it's being run by manipulative power-hungry people. And those people want strict control, making mistakes (often the way people learn best) is not tolerated by them. It's in some ways gotten worse, because they're now treating other people's refusals to follow (gay marriage, no prayer in schools, etc) as direct attacks on them.
by jagger27 | 2025-04-21 18:32:56+00:00
Separate tech from culture at your own blindfolded peril. Consider what a clean delineation between tech news and “real” news would mean, and what slant it would take on.

The Verge is publishing this piece in the context of today. There are undocumented migrants right now being moved around and out of country, put into detention centres, and being denied the due process that was previously in place. There is _a lot_ of tech in that ongoing story. To consider America’s history with forced migration at a time like this is perfectly reasonable.
by ethbr1 | 2025-04-21 18:33:14+00:00
Honestly, I'm really nice to the LDS when they drop by.

My experience has been that Mormons are generally self-aware, polite, and willing the engage in interesting conversation.

In contrast, LinkedIn influencers' eyes glaze over whenever you try to dig into the details of what they're purporting to talk about. Because, ugh, nerd stuff that's beneath them.
by Magma7404 | 2025-04-21 18:33:25+00:00
I know it's a bit ridiculous to see that as some kind of conspiracy, but I have seen a very long list of AI-related projects that got the same name as a famous open-source project, as if they wanted to hijack the popularity of those projects, and Dia is yet another example. It was relatively famous a few years ago and you cannot have forgotten it if you used Linux for more than a few weeks. It's almost done on purpose.
by david422 | 2025-04-21 18:34:26+00:00
> Nor is peace possible without true disarmament! The requirement that every people provide for its own defence must not turn into a race to rearmament.

The sentiment sounds great but I think we now see in the real world with Ukraine that if you rely [too much] on others (re: US), you have a real problem if they are no longer there for you. Peace through strength is real.
by Snuggly73 | 2025-04-21 18:34:43+00:00
2. is mostly what works for me.

Usually when I am in the flow of writing code, I can think, write, tab away and review without breaking it. If I need a smallish (up to 100-ish lines) piece of code that I know the shape of - I would use the chat to generate it and merge it back after review.

Letting the agent rip always has led to more pain and suffering down the line :(
by reverendsteveii | 2025-04-21 18:34:56+00:00
Good people are being punished just for ignoring a few "statutes" and "violating" "civil" "rights" whereas bad people are allowed to do whatever they want because they "haven't done anything illegal" and are "endowed by their creator with certain unalienable rights". It's criminal, or more to the point not at all criminal and it needs to be stopped!
by pcwalton | 2025-04-21 18:35:55+00:00
When we're responding to quite valid points about other languages having essentially the same features as Zig with subjective claims about ergonomics, the idea that Zig comptime is "revolutionary" is looking awfully flimsy. I agree with Walter: Zig isn't doing anything novel. Picking some features while leaving others out is something that every language does; if doing that is enough to make a language "revolutionary", then every language is revolutionary. The reality is a lot simpler and more boring: for Zig enthusiasts, the set of features that Zig has appeals to them. Just like enthusiasts of every programming language.
by spankalee | 2025-04-21 18:35:59+00:00
I think you'll just see a pattern like:

html(t"<h1>Hello</h1>")

And highlighters and static analyzers will key off of this.

JavaScript's tagged template literals are actually about as flexible as this, since you can dynamically choose the tag function, it's just very rare to do so, so tools assume a lot based on the name of the function. Python tools can basically do the same thing, and just not support t-strings that aren't nested inside a well-named processing function.
by stego-tech | 2025-04-21 18:36:28+00:00
They can justify it however they want to all day long, but we've got enough real-world examples of verification to show that its core use isn't about protecting users, but about authorizing acceptable speech on a platform and protecting advertisers.

Domain verification was genuinely all the verification needed. This checkmark system is just a copy-paste troublemaker from Twitter, and we all saw how well that turned out whenever a celebrity or billionaire's account got hacked to shill grifto schemes. Training users to only look for a symbol just desensitizes them to the complexities of identity and sanctioned speech.
by osigurdson | 2025-04-21 18:36:32+00:00
Example from article:

fn get_ids(data: Vec<Widget>) -> Vec<Id> { data.iter() // get iterator over elements of the list .filter(|w| w.alive) // use lambda to ignore tombstoned widgets .map(|w| w.id) // extract ids from widgets .collect() // assemble iterator into data structure (Vec) }

Same thing in 15 year old C# code.

List<Guid> GetIds(List<Widget> data)

{

return data .Where(w => w.IsAlive()) .Select(w => w.Id) .ToList(); }
by commandlinefan | 2025-04-21 18:36:37+00:00
I wish there were a better study to back up my anecdotal observation that they are correct. I've argued with my kids about this, and they insist that they can just take notes on a computer, but when I _stopped_ taking notes on a computer and switched to paper, it made a huge deal in my comprehension and retention. Definitely agree this study doesn't offer much evidence either way, unfortunately.
by Dracophoenix | 2025-04-21 18:36:58+00:00
> You're right, I wasn't as articulate as I could have been, when I say "not up for debate" I mean that in an ontological sense (not in the religious meaning), human beings have worth because they are human. It's not based on religion, or race, and it's not granted by any government or organization.

Then I definitely agree with you.
by briandear | 2025-04-21 18:37:03+00:00
> I'd also say that the flash comment was very uninformed. In any arena/stadium that the games/matches are broadcast, they will be lit properly in order for the cameras to have a proper exposure.

Absolutely incorrect. The lighting at an average NBA game would require a high speed “film” — take a light meter next time you go and you won’t be able to get a fast enough shutter speed at a low enough ISO for a glossy shot. In the olden days, we’d have to push 800 ISO Fuji color film one or two stops unless we had stadium strobes. Maybe digital post processing is the norm these days, but watch an NBA game and at key moments, you’ll see strobes firing from the rafters. TV shutter speeds are slower than those used for still photography and additionally, TV lenses are gigantic and let in far more light. The typical sports still camera lens is the 300/2.8 or the 400/2.8 and even shooting at a 2.8 aperture, you still need a lot more light than the broadcast cameras.
by 1718627440 | 2025-04-21 18:37:39+00:00
> We would come from nothing in the same way God came from nothing.

That would only be true, if your God is part of the same universe, which by (christian) definition wouldn't be truly God. When you talk about God as the creator of the universe he has also created time and thus causality and other properties of the universe, like that things come from other things.
by dist-epoch | 2025-04-21 18:37:42+00:00
> Chess provides a useful parallel here. “Centaur chess” pairs humans with AI chess engines, creating teams that outperform both solo humans and solo AI systems playing on their own. What’s fascinating is that even when AI chess engines can easily defeat grandmasters, the human-AI combination still produces superior results to the AI alone. The human provides strategic direction and creative problem-solving; the machine offers computational power and tactical precision.

Can we stop saying this? It hasn't been true for more than 15 years.
by ivape | 2025-04-21 18:38:04+00:00
Anecdote:

Uber Eats markets a 2 for 1 deal that I would have only ordered due to the deal. They always add both items when you take the deal to the cart, but they suddenly changed it. I didn't realize I had to manually add both, and only had one delivered. I called them up and they only refunded a portion, and not the whole thing without accounting for the fact that it was an opportunity cost for me. I would have just bought something else, or not at all. It's tin-foil hatting, but they coerced a purchase imho.
by SAI_Peregrinus | 2025-04-21 18:38:06+00:00
I've been downvoted for it before, but I still say that permissive licenses are charity to megacorps. If you want your work to get turned into a proprietary program without any compensation to you, use a permissive license. If you want to at least have a chance they'll contribute back & maybe pay you for a proprietary license, pick a free-software license.

If you pick a corporate charity license, don't act surprise when corporations take the charity!
by deschutes | 2025-04-21 18:38:10+00:00
If you squint hard enough, any potentially allocating function is fallible. This observation has motivated decades of pointless standards work defending against copy or initialization failure and is valuable to the people who participate in standardization for that reason alone.

For practitioners it serves mainly as a pointless gotcha. In safety critical domains the batteries that come with c++ are useless and so while they are right to observe this would be a major problem there they offer no real relief.
by topspin | 2025-04-21 18:38:57+00:00
The first glance of the code made me think of CNC g-code. Some older machines I've seen have tabular form similar to this, only because they have segmented displays. I suspect these concepts aren't as "new paradigm" as the author imagines.

Most such code is generated elsewhere and loaded into industrial machines. However, technicians frequently find themselves navigating and editing code directly at the console. Some are entirely capable of programming all of the steps involved in a complex operation directly in these primitive languages.
by rvba | 2025-04-21 18:39:22+00:00
I dont unlock the secondary phone. Only charge it every few days.

Disabling the PIN reduces security (what kind of "hacker" gives such bad advice?).

I bet we wont be able to disable that feature in few months.

Pain in the butt with work phone too - take 3 day holidays and it stopps working.

Bad feature created by people who dont think.
by tracnar | 2025-04-21 18:39:27+00:00
True, I believe I mostly worked around that limitation by splitting off quoted from unquoted code into separate commands. So in your example "[cmd $bar]" would be in a separate unquoted command, probably putting it in a temporary variable, which can cause problems as it's hard to have a private scope when doing metaprogramming. You can also use "[list]" in the middle of code, but it gets more error prone, for example "set foo \[[list cmd \$bar]\]"

For sure there is a lack of proper "code as data" constructs in Tcl, like you would find in Lisp.
by adityavinodh | 2025-04-21 18:39:45+00:00
I think this is the more important question too. I don't think it is right in many cases to use the identity of the user and provide access to these agents. If it a simple one-time task, that might work if you can give restricted temporary access to the agent.

But for any other long-term task that may span hours or days while needing access to various data sources or APIs, we need a system where the agent has its own identity (which may be tied to the user). Just as humans are, agents might not function in the ideal manner at all times. So, we might need a system to monitor 'karma' of these agents. That ways API providers can confidently provide access to both humans and agents, and limit their risk to dangerous agents.
by lambdaphagy | 2025-04-21 18:39:48+00:00
I think what many Catholics found frustrating about Pope Francis was his tendency to make apparently off-the-cuff remarks which, while never quite explicitly straying outside the bounds of faith and morals defined by the Magisterium, often seemed to strongly imply the opposite. This was especially true for audiences that did not already know the Catechism through and through, which even most Catholics do not. In that sense, Pope Francis's remarks sometimes seemed to possess a kind of not-committing-heresy-can't-get-mad character. This was exacerbated in turn by the media's selective quotation of statements that were, if quite reasonable in their entirety, not exactly robust to misinterpretation.

Although I personally wish Pope Francis had done certain things differently, God chose him for a reason. I will try reflect on that as I, along with the Church, pray for him.
by ethbr1 | 2025-04-21 18:39:49+00:00
'Thou shalts' tend to be antithetical to free thinking. If nothing else, because it absolves readers from having to independently consider things and encouraging relying on community and/or leader dogma.

We can quibble about whether or not dogmatic interpretations are in the original work or were layered on top by the organized church, but at the root of both is the idea that some things must be believed without questioning.

Up and down this thread there are notes about people who were raised in a religious tradition and then branched out -- that's great, but you all are also the exceptions.

There are far more people who believe what they're told, as a consequence of religious indoctrination, until the day they die.

And because of that, on the whole, the Bible (as used in modern Christianity) is anti- free thought.
by timewizard | 2025-04-21 18:40:33+00:00
Hacker News. Temporarily embarrassed billionaires who want to vouchsafe evil behavior in case their own future offers them an opportunity to steal from the community on a similar scale.

If you lose open source you lose a major resource. You should be looking for ways to protect these authors instead of explaining how "technically it's all actually their fault for being generous in the first place."

This position is absurdly scummy.
by osigurdson | 2025-04-21 18:40:55+00:00
I'd say there are just two things:

1) The method chaining extension methods on IEnumerable<T> like Select, Where, GroupBy, etc. This is identical to the rust example in the article.

2) The weird / bad (in my opinion) language keywords analogous to the above such as "from", "where", "select" etc.
by pron | 2025-04-21 18:41:00+00:00
The revolution in Zig isn't in what the comptime mechanism is able to do, but how it allows the language to not have other features, which is what gives that language its power to simplicity ratio.

Let me put it like this: Zig's comptime is a general compilation time computation mechanism that has introspection capabilities and replaces generics/templates, interfaces/typeclasses, macros, and conditional compilation.

It's like that the main design feature of some devices is that they have a touchscreen but not a keyboard. The novelty isn't the touchscreen; it's in the touchscreen eliminating the keyboard. The touchscreen itself doesn't have to be novel; the novelty is how it's used to eliminate the keyboard. If your device has a touchscreen and a keyboard, then it does not have the same design feature.

Zig's novel comptime is a mechanism that eliminates other specialised features, and if these features are still present, then your language doesn't have Zig's comptime. It has a touchscreen and a keyboard, whereas Zig's novelty is a touchscreen without a keyboard.
by ozim | 2025-04-21 18:41:03+00:00
I feel false dichotomy here - you assume helping child to go through plateau must be forced.

It doesn’t have to be and some people need a little bit of help - you didn’t and that’s great.

Conversely there will be kids that need to be forced or nothing good will come out of them - there will be kids that should be left alone because pushing them will just break whatever they should be doing.

It is delicate balance and difficult choices - but there is no white and black here that will be right for everyone.
by nickelpro | 2025-04-21 18:41:36+00:00
A flash in the pan about a random fork they have on Github with <100 stars, and no significant public usage, which fails to correctly follow the reproduction requirement of the MIT license will not generate a C-suite response. It won't get outside the local management of the team responsible for the fork. Maybe a few dozen people at MS will ever know about this, and most of those from seeing it on HN; who have zero connection to the responsible team.

It baffles me that HN has no idea how large organizations work. The boss's boss's boss has no idea what random worker bees are doing.
by kayodelycaon | 2025-04-21 18:41:39+00:00
> Why do they do these things?

Because they can get away with it. Nestle has gotten away with killing nearly ten million children since 1960. https://en.wikipedia.org/wiki/1977_Nestlé_boycott

Companies have no morality. Unless someone holds them accountable they're going optimize for making money.
by thunky | 2025-04-21 18:41:54+00:00
agreed. but then you're breaking the existing `db.execute(str)`. if you don't do that, and instead add `db.safe_execute(tpl: Template)`, then you're back to the risk that a user can forget to call the safe function.

also, you're trusting that the library implementer raises a runtime exception if a string a passed where a template is expected. it's not enough to rely on type-checks/linting. and there is probably going to be a temptation to accept `db.execute(sql: Union[str, Template])` because this is non-breaking, and sql without params doesn't need to be templated - so it's breaking some stuff that doesn't need to be broken.

i'm not saying templates aren't a good step forward, just that they're also susceptible to the same problems we have now if not used correctly.
by sanderjd | 2025-04-21 18:42:11+00:00
Taking a Template parameter into a database library's `execute` method is a big bright billboard level hint that the method is going to process the template parameters with the intent to make the query safe. The documentation will also describe the behavior.

You're right that the authors of such libraries could choose to do something different with the template parameter. But none of them will, for normal interface design reasons.

A library author could also write an implementation of a `plus` function on a numerical type that takes another numerical type, and return a string with the two numbers concatenated, rather than adding them together.

But nobody will do that, because libraries with extremely surprising behavior like that won't get used by anybody, and library authors don't want to write useless libraries. This is the same.
by queuebert | 2025-04-21 18:42:26+00:00
I agree with this.

For the completely uninitiated, taking the most critical code paths uncovered via profiling and asking an LLM to rewrite it to be more efficient might give an average user some help in optimization. If your code takes more than a few minutes to run, you definitely should invest in learning how to profile, common optimizations, hardware latencies and bandwidths, etc.

With most everything I use at the consumer level these days, you can just feel the excessive memory allocations and network latency oozing out of it, signaling the inexperience or lack of effort of the developers.
Show HN: I built a free backlink checker – ReviewMySiteNow.com
by unlockgarden | 2025-04-21 18:43:05+00:00
Hi HN,

I built https://reviewmysitenow.com as a side project to learn more about SEO and web tools. It’s a 100% free backlink checker that lets anyone check their website’s backlink profile — with no signup and no limits.

I was frustrated with tools like Ahrefs and SEMrush having high paywalls just to check basic backlinks, so I built a free alternative.

Would love to get your thoughts, feedback, or suggestions for making it more useful!

Thanks!
Ask HN: Qt style "Signals and Slots" based JavaScript UI library?
by tmbsundar | 2025-04-21 18:43:12+00:00
Are there any equivalent of Qt style loosely coupled "Signals and Slots" based JavaScript UI library? Qt allows widget/ components to be connected to each other with a pub-sub type of system where the emitter of the signal really need not care who the consumer is. While, IIUC, most JS libraries follow a hierarchically coupled state passing system where sharing of state happens through props/ passing down from parent to child components with lifted state etc., Was wondering if there are any JS libraries which operate in the style of Qt event driven signal-slot connections as a primary paradigm.
by briandear | 2025-04-21 18:43:23+00:00
The other interesting thing about rafter strobes is the recharge rate: I could sometimes get two shots in a row, but more than that and the flashes could keep up. So the fast motor cameras weren’t that useful because you’d only get one or two blasts from the strobes because they had to charge for a few seconds. You really had to be good at timing the shot. Also during the big moments, you’d often get overexposed because all the other big news wires would be shooting the same shot at the same moment, so you’d get four sets of strobes blasting out your shot.