MurphyA/hacker-news huggingface dataset:
by sirwhinesalot | 2025-07-13 18:00:08+00:00
It is unfortunate that the title mentions borrow checking which doesn't actually have anything to do with the idea presented. "Forget RAII" would have made more sense.

This doesn't actually do any compile-time checks (it could, but it doesn't). It will do runtime checks on supported platforms by using page protection features eventually, but that's not really the goal.

The goal is actually extremely simple: make working with temporary data very easy, which is where most memory management messes happen in C.

The main difference between this and a typical arena allocator is the clearly scoped nature of it in the language. Temporary data that is local to the function is allocated in a new @pool scope. Temporary data that is returned to the caller is allocated in the parent @pool scope.

Personally I don't like the precise way this works too much because the decision of whether returned data is temporary or not should be the responsibility of the caller, not the callee. I'm guessing it is possible to set the temp allocator to point to the global allocator to work around this, but the callee will still be grabbing the parent "temp" scope which is just wrong to me.
by satvikpendem | 2025-07-13 18:01:29+00:00
There are lots of videos online of this, pretty cool to see, and also lots of artists apparently complaining why they don't use humans, not understanding that every piece is hand finished, so they are hiring more artists than ever before.

Also, the article is talking about Sai Baba but the images are of Sathya Sai Baba, they are two different people who lived a century apart.
by vladms | 2025-07-13 18:02:11+00:00
Worth thinking of it also "the other way". As long as some people (developers) accept an MBA above them getting 38x, without adding much value, this will happen.

I don't personally like it (so generally did not allow to happen to me), but if some people feel "safer" getting lower pay (less chance of getting fired, easier to get re-hired as there are more low paid positions than high paid positions), the natural result is that it will happen.

My experience is that both high and low paid positions are not as "safe" as people think they are (seen multiple changing in various organizations types), so people should care more about finding a reasonable organization.
by ordinaryradical | 2025-07-13 18:02:25+00:00
“I actually composed that first image with black and white video static of my childhood in mind, sodium silvery and almost painful, a whopping anachronism right at the very start of my career,in the imaginary future, but an invisible one, interestingly. One that revels a particular grace shared by all imaginary futures as they make their way up the timeline and into the real future where we all must go.”

You misunderstood from the first sentence. The rest of your read is similarly flawed if not worse.
by srcreigh | 2025-07-13 18:02:40+00:00
It’s death by a million papercuts with safari.

I made a reader app for learning languages. Wiktionary has audio for a word. Playing the file over web URL works fine, but when I add caching to play from cached audio blob, safari sometimes delays the audio by 0.5-15 seconds. Works fine on every other browser.

It’s infuriating and it can’t be unintentional.
by Rebelgecko | 2025-07-13 18:02:48+00:00
I'm not an expert but from what I've seen Rust is one of the big alternatives. It's new enough to be trendy and fixed a lot of C++ issues whole being mature enough that the tooling is ok.

I'm also intrigued by Zig. I haven't used it for anything yet but the language looks fun and I believe platform.io supports it

Raspberry Pis are beefy enough that you could also get away with less systems-y languages. I like Kotlin. By default Kotlin needs a JVM but I think it's usable if you build native executables. However if you want to fiddle with GPIOs you might have to do it by manually setting things on/off in the filesystem (edit, sorry, just read you're using a PICO. Not sure how well Kotlin is supported)
by delecti | 2025-07-13 18:03:19+00:00
Just about any tool will require a bunch of work at some point in the scale. Some front-load that, and some make it easy to get started but then you hit a point where you need to peek under the covers. Personally I prefer the latter, though I'm sure there's a lot of Stockholm syndrome involved in how I feel about Spring. And Spring's popularity means you're probably not the only one to hit any given problem.
by hughesjj | 2025-07-13 18:03:41+00:00
> I find it fascinating that people will genuinely worry about this happening to them, despite it not happening

I mean, the "white van pulling up in front of a house" is happening on the daily now [1], the current administration has claimed they can suspend habeus corpus [2], they pick up US citizens and legal immigrants in these things [3], and they allegedly deny entry because of political reasons the administration doesn't like [4] (+allegedly [5]).

I don't think the fear of getting disappeared by an administration is unfounded, nor do I think we need to see documented evidence of exactly that particular circumstance happening before we're allowed to worry about it.

I also think the "lil dangerous" part is ironic, given most of these "other" places aren't particularly dangerous, nor is the US particularly safe as-is. "lil dangerous" and "degree of lawlessness" are apt descriptions of the United States, and has been for my entire lifetime.

[1] https://www.google.com/search?q=masked+ice+raids&udm=2 [2] https://www.pbs.org/newshour/politics/what-is-habeas-corpus-... [3] https://abc7chicago.com/post/george-retes-disabled-vet-us-ci... [4] https://apnews.com/article/immigration-detainees-students-oz... [5] https://www.snopes.com/news/2025/06/18/australian-deported-o...
by seeknotfind | 2025-07-13 18:03:47+00:00
Imagine:

- "this chisel was used to carve profanity"

- "this pen and paper was used to write statements against the king"

- "this scrivener was hired to write blasphemous pamphlets"

- "this printing press was used to create literature promoting the enemy"

- "notepad was used to create disturbing content"

These types of constructions are all in passive voice too. I can hear my English teacher saying "[by ???]"!!!
by eblanshey | 2025-07-13 18:03:53+00:00
I do pretty much this.

- /home/me -- 660 default permissions

- /home/me/project -- owner "claude", add "me" to "claude" group

- symlink /home/claude/project to /home/me/project

- Run claude in different user session

- Use CTRL+ALT+F2 to immediately switch between my main and claude sessions. Claude continues working in the background.
by LocalH | 2025-07-13 18:04:16+00:00
I have to take issue with the usage of the terms "pixel" and "subpixel" with regards to CRT. CRTs do not display discrete pixels. They display discrete scanlines, each one made up of a smoothly varying voltage across the line (and thus resolution is a function of both the DAC in the display device in the case of systems that generate a digital signal and then convert it to analog for display, and the hardware inside the CRT monitor). Also, there is no mapping between any "pixels" represented within that varying voltage and the separate color phosphor dots.

Even "digital RGB" isn't digital in terms of the CRT. It's only "digital" because each color channel has a nominal on and off voltage, with no in-between (outside of the separate intensity pin). However, the electron gun still has a rise and fall time that is not instant.

Displays didn't truly become digital for the masses until the LCD era, with DVI and HDMI signals. Even analog HD CRTs could accept these digital signals and display them.
by defgeneric | 2025-07-13 18:05:01+00:00
These notes may appear to be overly critical or an extremely pedantic reading but they're pretty good, and it's bit like like having the teacher across from you while you're reading. But some notes are a little excessive and the teacher comes off as overbearing. For example, the emphasis on the function style is itself pedagogical, hence the avoidance of `loop` and the preference for recursion over iteration. Some are more excessive than that, like Chapter 2 page 18 (the author shouldn't use ~S if it hasn't been properly introduced yet, so sticking with ~A is actually the right choice.). Overall it's a great guide to reading, especially as it gives the student a sense for the higher-order stylistic considerations when writing a more malleable language like lisp.
by valorzard | 2025-07-13 18:05:06+00:00
well, Rust didn't do the same thing for a reason. Rust lets you pick and choose what async runtime to use (even though everyone has decided to use Tokio anyways). This is good because it allows for alternative async runtimes like Embassy (https://embassy.dev/) and it also doesn't freeze the API into something that can't change. It could totally be possible that people find a new style of async that works better than std::execution.
by instagib | 2025-07-13 18:05:09+00:00
I do not think they are a key and war hasn’t been won with them yet. More of a tool in a toolbox assortment of weapons in war.

They bring up Ukraine and Russia but that war is ongoing so merely battle wins.

There are plenty of gps denial areas the military uses for training from small to over multiple states worth of area.

“The Archer sells for about $2,000 each, making it one of the most affordable models. But Neros produces only about 1,500 Archers per month in a factory where 15 workers assemble them by hand.”
by schneider89 | 2025-07-13 18:05:37+00:00
When the chatbot can also make cutting remarks pointing out your insecurities, nag you about chores and responsibilities, withhold affection, make you waste your time doing things the chatbot wants to do, or have you make soulcrushing smalltalk with the chatbot's parents, and you can't leave because you had children with it, and who knows if you can even do better you are getting too old to start over anyway, then you can call it real love.
by caim | 2025-07-13 18:05:45+00:00
funny thing is that Malloc also behaves like an arena. When your program starts, Malloc reserves a lot of memory, and when your program ends, all this memory is released. Memory Leak ends up not being a problem with Memory Safety.

So, you will still need a borrow checker for the same reasons Rust needs one, and C/C++ also needed.
by minitech | 2025-07-13 18:05:48+00:00
> I'd rather them write more performant code.

In keeping with the theme of the comment you're replying to, writing better-performing code and providing performance options are not mutually exclusive. Both are good ideas.

> This feels like your car having the option to burn motor oil to show a more precise clock on the dash; you don't get kudos for adding an off-switch for that.

(Sounds more like you're arguing that it should be forced off instead of being an option? Reasonable take in this case, but not the same argument.)
by kelnos | 2025-07-13 18:05:52+00:00
I agree in the abstract: I'd rather pay for a product that I need, use, and love, than be the product, and have it supported through ads or unfortunate deals like Mozilla has with Google (default search engine).

But I also need to believe that the money I'm paying is being spent wisely. Given how poorly Mozilla has been managed over the past decade or so, I wouldn't care to give them any of my money. I've watched Firefox go from nothing to the dominant browser and now back to a tiny minor player that gets dropped off site compatibility lists. It makes me incredibly sad that this is the state of affairs, but... there it is.

Mozilla needs to be spending a ton more money on user acquisition in order to become relevant again. I would be happy to support that, but I have no faith that's where my money would go, or that they'd spend it to that end effectively.
by 1970-01-01 | 2025-07-13 18:07:05+00:00
>impacts on gas giants like Saturn don’t leave behind smoking craters or visible scars.

Wow. This was not difficult to check. They even contradict themselves a paragraph after stating. Seriously, we need to return to editors and filters when publishing science facts online.

https://commons.m.wikimedia.org/wiki/File:Jupiter_showing_SL...
by __MatrixMan__ | 2025-07-13 18:07:58+00:00
Laudauer's principle (https://en.wikipedia.org/wiki/Landauer%27s_principle) tells us that you can't delete a bit without releasing some heat. As the new time digits come in and overwrite the old ones (in the framebuffer, in the LCD, likely other places too) this would occur as the previous digits were deleted. So the only case where showing the time would not take more power is one where other things are not held equal, e.g. some quirk of the software ends up doing more work to ignore the time than to show it (I'd call such a thing a bug).

This effect is likely vanishlingly small, definitely overshadowed by engineering considerations like the voltage used when walking pixels through changes and such. But still, it's a physics nudge towards "yes".
by DonHopkins | 2025-07-13 18:08:35+00:00
You're kind of missing the point. Turbo Pascal has been dead for a lot longer. Or is it?

The point is that TypeScript and C# are extremely similar for a good reason, not a coincidence, and that Anders Hejlsberg knows what the fuck he's doing and talking about, and has been implementing amazing groundbreaking well designed languages and IDEs for a very long time. Turbo Pascal was so great it flummoxed Bill Gates, so Microsoft sent a limo to recruit and hire Anders Hejlsberg from Borland, then he made Visual J++, Windows Foundation Classes, C#, and TypeScript.

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

>Scott MacGregor of Microsoft said that Bill Gates "couldn't understand why our stuff was so slow" compared to Turbo Pascal. "He would bring in poor Greg Whitten [programming director of Microsoft languages] and yell at him for half an hour" because their company was unable to defeat Kahn's small startup, MacGregor recalled.

https://news.ycombinator.com/item?id=8664370

>"According to the suit, Microsoft also offered Mr. Hejlsberg a $1.5 million signing bonus, a base salary of $150,000 to $200,000 and options for 75,000 shares of Microsoft stock. After Borland's counteroffer last October, Microsoft offered another $1.5 million bonus, the complaint says."
by jasonthorsness | 2025-07-13 18:09:26+00:00
Yeah this is not meaningful due to the unrealistic workload. Sad thing is, I bet a web browser test would still show the difference, as long as a page is kept static on the screen for more than a few seconds before moving on.

Power consumption is incredibly difficult to benchmark in a meaningful way because it is extremely dependent on all the devices in the system, all the software running, and most power optimizations are workload dependent. Tons of time went into this in the windows fundamentals team at Microsoft.
by mdaniel | 2025-07-13 18:09:36+00:00
https://github.com/Floorp-Projects/Floorp-core [a submodule of their main repo] is noticeably missing any licensing information

I went there to find out how they're tracking upstream releases, because that's my major heartburn about any fork of one of the biggest attack targets on a personal computer. Since 12.0.14 doesn't tell me anything about what version of Firefox it's built against, I guess https://github.com/Floorp-Projects/Floorp/blob/v12.0.14/brow... is the best one can do and since it says 128.anything and the current production release is 140.0.4 I got my answer
by schmookeeg | 2025-07-13 18:09:54+00:00
I would enjoy an LLM that had to suffer and mope over its prior poor choices. Particularly if these life lessons got baked into context somehow. Particularly Claude on one specific project where I've dubbed him Clod due to some breathtaking over-engineering that I am undoing today.

If your comment was autobiographical, though, uh... some soul-searching might be in order :/
by deredede | 2025-07-13 18:10:13+00:00
> E.g., requiring that a file have the correct MIME type, not be too large, and contain no EXIF metadata.

"Parse, don't validate" doesn't mean that you must encode everything in the type system -- in fact I'd argue you should usually only create new types for data (or pieces of data) that make sense for your business logic.

Here the type your business logic cares about is maybe "file valid for upload", and it is perfectly fine to have a function that takes a file, perform a bunch of checks on it, and returns a "file valid for upload" new type if it passes the checks.
by kelnos | 2025-07-13 18:10:21+00:00
Or maybe we are genuinely upset that a browser we've supported and watch grow for decades at this point has fallen so low. Market share matters a ton, and Mozilla has been a very poor steward of Firefox's market share.

Maybe stop ascribing incorrect motivations to those of us who are angry but also care very deeply. I'm so tired of others assuming some sort of ill intent or virtue signaling or whatever, and using that as a way to derail a conversation.
by tharga8616 | 2025-07-13 18:10:44+00:00
UBI is UNCONDITIONAL. It can't be used to control, and, being universal, there's no way it can create clientelism as do conditioned aid today.

Please, explain to me how regular cash payments made individually, unconditionally to everyone, can make us more and not less dependent from the market and the state, which are the same thing if you look closely.
by vladms | 2025-07-13 18:10:56+00:00
Isn't this the idea of charity though? To give without expecting something in return? I think open source software had a tremendous positive impact even if some companies also made profit out of it. How would it have been otherwise? Only walled gardens with no possibility of doing anything (like forking) and probably a miserable developer experience.

You give the examples of Azure, AWS and GCP - do they really have that much secret sauce? My impression is that AWS is mostly giving a new name to open source stuff. If all would decide tomorrow to double their prices competitors will appear immediately. And my guess is that their profit is due to forgotten or over-provisioned resources of other organizations anyhow.

I think we should focus on the benefits for society of open source, not on reducing the profit that some will make from it here and there.
by Dylan16807 | 2025-07-13 18:11:07+00:00
> what outlier? I just picked a famous example, there are almost infinitely many examples to choose from...

And there's even more almost infinitely many examples that say peer review is a strong signal.

> yes

If you were including the former, you were making a very rude argument by implying that anyone that values peer review is rendered invalid by that example.

> My whole point is that it's worth discussing the article without waiting for a final peer-reviewed version of it.

Telling people to shut up about peer review is bad for discussion.
by acdha | 2025-07-13 18:11:31+00:00
Not all politics is defined by hate, so your logic is clearly incorrect unless you’re redefining that word so broadly as to render it meaningless.

In this case, there’s a simple litmus test: is it taking away rights or adding them? It’s very hard to believe your last sentence would be true if the people whose rights were being taken away included you or people you care about, and in the case of things like LGBTQ rights there really isn’t a better argument than thinking someone else shouldn’t have the same rights you have. That’s a hateful motivation no matter how much failed Christians like to claim they “love the sinner” but it’s also a relatively unusual political debate in the way that the cost or harm is entirely one-sided. Most other hot topics have at least some possibility for a principled objection based on something other than bigotry (e.g. some people oppose immigration policy changes because they’re racist but for others it’s purely economic based on downward wage pressure).
by DonHopkins | 2025-07-13 18:11:52+00:00
The FORTH-83 standard changed FIG-FORTH's official value of TRUE from 1 to -1 so all its bits were set. That was a rough transition like Python 2=>3, but worth it. It also defined /MOD integer division to be floored (rounded towards -infinity instead of zero like FIG-FORTH), which was also a tough change but the right one, especially for graphics.

https://python-history.blogspot.com/2010/08/why-pythons-inte...

https://forth-standard.org/standard/diff?utm_source=chatgpt....

https://atariwiki.org/wiki/Wiki.jsp?page=Converting+FIG-Fort...

>4. For various reasons the definition of all divide functions general effect is that quotients are floored instead of rounded toward zero. This should cause no problems for most pre-existing application software. The new divide functions are marginally slower than the old (a few machine cycles under most circumstances). The side-effects of the redefinition for floored divide can be counter-intuitive under some circumstances. For example, in FIG-Forth the operation

-40 360 MOD

>would return the obvious answer (-40) on the stack, while 83- Standard Forth will return the answer 320!

>5. The true flag returned by all logical operations has been changed from the value 1 (in FIG-Forth) to the value -1 (in Forth-83, all bits set). If your code used the 0 or 1 returned by a comparison in an arithmetic operation, you will need to interpolate the operator ABS after the logical operator. This is a particularly difficult problem to look for in your source code. However, we feel that this mutation in the 83-Standard was beneficial as it allows the returned true/false value to be used as a mask for AND.
by rhrazu | 2025-07-13 18:12:30+00:00
The Twitch platform combines vibrant energy because its streamers upload their forms of expression, including gameplay as well as creative interests, alongside casual conversations with worldwide viewers. Starting streamers face extensive challenges to stand out on the heavily populated Twitch platform. Virtual stream bots offered by viewer services aim to enhance visibility by creating fake viewers to boost stream popularity, even though this violates Twitch rules. For users of these tools, there exists an increased probability of being banned by Twitch as they violate the platform's Terms of Service, even though these tools promise to increase organic growth.

This article reviews five top Twitch viewer bot services in 2025, based on their features and reputation, while emphasizing safer, authentic strategies to grow your stream organically.
by SkiFire13 | 2025-07-13 18:12:37+00:00
> C3 not having to implement any recently popular language features in order to solve the problem of memory lifetimes for temporary objects as they arise in a language with C-like semantics.

But you said it yourself in your previous message:

> A dangling pointer will generally still possible to dereference (this is an implementation detail, that might get improved – temp allocators aren't using virtual memory on supporting platforms yet)

So the issue is clearly not solved.

And to be complete about the answer:

> in safe more that data will be scratched out with a value, I believe we use 0xAA by default. So as soon as this data is used out of scope you'll find out.

I can see multiple issues with this:

- it's only in safe mode

- it's safe only as long as the memory is never used again for a different purpose, which seems to imply that either this is not safe (if it's written again) or that it leaks massive amounts of memory (if it's never written to again)

> Now clearly people are misreading the title when it stands on its own as "borrow checkers suck, C3 has a way of handling memory safety that is much better". That is very unfortunate, but chance to fix that title already passed.

Am I still misreading the title if I read it as "C3 solves the same issues that the borrow checker solves"? To me that way of reading seems reasonable, but the title still looks plainly wrong.

Heck, even citing the borrow checker *at all* seems wrong, this is more about RAII than lifetimes (and RAII in Rust is solved with ownership, not the borrow checker).