MurphyA/hacker-news huggingface dataset:
by pcfwik | 2025-09-05 02:33:18+00:00
Given the goal is to work with existing C programs (which already have free(...) calls "carefully" placed), and you're already keeping separate bounds info for every pointer, I wonder why you chose to go with a full GC rather than lock-and-key style temporal checking[1]? The latter would make memory usage more predictable and avoid the performance overhead and scheduling headaches of a GC.

Perhaps storing the key would take too much space, or checking it would take too much time, or storing it would cause race condition issues in a multithreaded setting?

[1] https://acg.cis.upenn.edu/papers/ismm10_cets.pdf
by tombert | 2025-09-05 02:33:24+00:00
You might like something like i3 (if using X) or Sway (if using Wayland), or another tiling manager like Xmonad.

They are extremely minimal and really get out of your way. I had to write my own service to power the info on the Sway bar [1] because the entire thing is so minimal.

For me, I have title bars in windows disabled, and the gap between different windows is literally 1 pixel.

[1] First version: https://github.com/tombert/swanbar Rust rewrite: https://github.com/tombert/rs-swanbar
by jfengel | 2025-09-05 02:34:08+00:00
I was surprised that Wikipedia wasn't immediately overrun by trolls, griefers, and spammers. I'm still not entirely sure how it avoids that, though I've got some speculations.

Unlike most user contributed sites it's happy to throw stuff away. It does grow but it doesn't care about growing fast. That's great but it's a hard formula to replicate.
by jchw | 2025-09-05 02:34:21+00:00
Well, I was just curious to hear it from the horse's mouth since they were answering questions in here. The answers are interesting, though I think they're answering a bit of a different question than I am personally asking.

Like, blockchain technology to power distributed ledgers for peer-to-peer payments is pretty interesting and I think I'd prefer it exists, consequences be damned. Stable coins don't really fit the same use cases though, and generally do have at least some reliance on a central party, so it raises the question whether the desired technical properties can't actually be achieved using traditional technology.

Unfortunately, the answers pretty clearly center around not what kind of technology is used to implement the ledger, but rather the choice to implement one versus using existing payment networks. I don't think this is done in bad faith, but rather is the result of very different perspectives.

I think the blockchain skeptics have a point: even if there is something especially technically advantageous about using the blockchain for this purpose that really couldn't be accomplished some other way, so far the only obvious incentive to do things this way appears to be regulatory differences in how the blockchain is regulated versus traditional ledgers.

Very tangential, but seeing major entities and even governments adopt blockchain technology has made me think a lot about potential consequences in the longer term. I really wonder what happens to the properties of various cryptocurrency networks when and if quantum computers scale big enough to start breaking our cryptographic systems. I guess CryptoNote is just toast.
by pcfwik | 2025-09-05 02:35:29+00:00
Also find it interesting that you're allowing out-of-bounds pointer arithmetic as long as no dereference happens, which is a class of UB compilers have been known to exploit ( https://stackoverflow.com/questions/23683029/is-gccs-option-... ). Do you disable such optimizations inside LLVM, or does Fil-C avoid this entirely by breaking pointers into pointer base + integer offset (in which case I wonder if you're missing out on any optimizations that work specifically on pointers)?
by Terr_ | 2025-09-05 02:35:57+00:00
IANAMathematician, but I've tried to come up with a metaphor which I hope isn't too wrong:

1. You've start with a signal fluctuating going up and down, and it's on a strip of little LEDs labeled from -1 to +1.

2. You mount that strip to a motor, and spin it at a certain rate. After a while the afterimages make a blob-shape.

3. For each rotation rate, measure how much the shape appears off-center.

In this way you can figure out how much the underlying signal does (or doesn't) harmonize with a given rotation hertz.
by phil21 | 2025-09-05 02:36:05+00:00
I don't understand why companies don't "get" this bit of it.

I'm fairly amenable to the idea of RTO. Office work with a team is just different, and I've worked almost exclusively remote my entire career.

If I were a high level leader in these giant orgs trying to implement RTO I'd 100% ban any internal Zoom calls for in-office days. If you are in the office you are in the office. Why take the worst possible form of communication ever invented and totally remove the entire point of people being in one spot?

If you absolutely must sacrifice an entire day’s productivity, dedicate one day each week exclusively to video calls.
by armanj | 2025-09-05 02:36:20+00:00
Years ago, I often struggled to choose between Amazon products with high ratings from a few reviews and those with slightly lower ratings but a large volume of reviews. I used the Laplace Rule of Succession to code a browser extension to calculate Laplacian scores for products, helping to make better decisions by balancing high ratings with low review counts. https://greasyfork.org/en/scripts/443773-amazon-ranking-lapl...
by qudat | 2025-09-05 02:37:20+00:00
That was a random show thought I had a couple days ago:

> We’ve managed to convince the biggest tech companies to invest trillions into tech that doesn’t replace SWEs, rather, a new dev tool at our disposal to make some aspects of our job easier: search and tedious coding tasks, saving us time.

https://fosstodon.org/@erock/115112206590198248
by Unai | 2025-09-05 02:37:27+00:00
The idea that every illegitimate copy is a lost sale is old and tired. Most people wouldn't mind enjoying plenty of entertainment products that would otherwise never pay for (regardless of whether a free alternative exists or not).

Since you talk about game developers, just today was "Hollow Knight: Silksong" released, a game with no DRM (which means it will be on every pirate site the minute it releases, something that was known beforehand), and had just a few hours later over half a million concurrent players on Steam, one of the many storefronts where the game is available.

No industry has ever been killed by piracy, not even close, and the cases of musicians, authors, and game developers who have attributed piracy to their success keeps piling up. I really don't get why people who in other aspects of life try to look at the facts of things keep arguing so fervently about something proven to be, at best, a net positive and, at worst, a way for more people to enjoy arts and entertainment that they would never had otherwise.

If you don't get money for your works, you might be unlucky, or you might just not be good enough to make what people want [to pay for]. As a game developer myself, that's certainly my case. I hope to one day make something so many people care about, that they go out of their way to pirate it, because statistically that means I'd sell a lot of copies.
by linksnapzz | 2025-09-05 02:37:34+00:00
I just finished reading "Fortress Rochester" by Frank Soltis, the designer behind the IBM System38/OS400/iSeries sw.

It's a fascinating book, very approachable for the density of the technical detail contained, and shows how very different choices were made w.r.t. how OS/ 400 system software was designed, and how hardware was developed to support it.

As I understand from reading it, there's like three layers to the software-

-->Things you'd think of as applications on Unix, running in user space...this includes the DB/400 database engine, queue systems etc.

-->Machine Interface (MI) components, which include the management of the single-level store, I/O devices (OS/400 still supports dedicated mainframe-style I/O channels to an extent), and compilers/interpreters. All of this layer and above are considered "Technology Independent" software, where programs written in C/C++, RPG IV, COBOL, Java etc. are compiled into 128-bit object code that gets translated into PPC instructions on the fly.

-->the SLIC (System? Licensed Internal Code) which is referring to both some of the iSeries firmware, stuff that might be considered part of the kernel in Unix, as well as the PowerVM hypervisor.

The craziest thing (to me) about the single-level store is that there's no user-visible filesystem to administer; objects created in memory are automatically persisted onto permanent storage, unless you explicitly tell the system otherwise.

The OS/400 objects also have capabilities built-in; i.e. things like executables can only be run, and not edited at runtime; these are flagged during memory access by setting bits in ECC memory using a dedicated CPU instruction on Power CPUs that was added explicitly for OS/400 use.

For someone who is used to Unix, iSeries a really fascinating thing to learn about. Pity that it's not more accessible to hobbyists, but as the Soltis boook makes clear, the purpose of the design was to satisfy a specific set of customers, who had well-defined line-of-business applications to run.
by intermerda | 2025-09-05 02:38:34+00:00
> How about not calling Peter McCullough or Ryan Cole or Pierre Kory misinformation spreaders about covid when they were right the whole time

What were they right about? I'm looking at Peter McCullough's Wikipedia article and some of the things he's claimed include young people don't need the vaccine, there is no evidence of asymptomatic spread of COVID-19, and COVID-19 pandemic was planned, etc.

Is this what you're saying they were right about the whole time? The pandemic was planned?
by jared_hulbert | 2025-09-05 02:39:27+00:00
spdk and I go way back. I'm confident it'd be about the same, possibly ~200-300MB/s more, I was pretty close to the rated throughput of the drives. Io_uring has really closed the gap that used to exist between the in kernel and userspace solutions.

With the Intel connection they might have explicit support for DDIO. Good idea.
by pizlonator | 2025-09-05 02:40:37+00:00
For starters, llvm is a lot less willing to exploit that UB

It’s also weird that GCC gets away with this at all as many C programs in Linux that compile with GCC make deliberate use of out of bounds pointers.

But yeah, if you look at my patch to llvm, you’ll find that:

- I run a highly curated opt pipeline before instrumentation happens.

- FilPizlonator drops flags in LLVM IR that would have permitted downstream passes to perform UB driven optimizations.

- I made some surgical changes to clang CodeGen and some llvm passes to fix some obvious issues from UB

But also let’s consider what would happen if I hadn’t done any of that except for dropping UB flags in FilPizlonator. In that case, a pass before pizlonation would have done some optimization. At worst, that optimization would be a logic error or it would induce a Fil-C panic. FilPizlonator strongly limits UB to its “memory safe subset” by construction.

I call this the GIMSO property (garbage in, memory safety out).
Show HN: Nano Banana Prompt Collection
by jacksonLiu89 | 2025-09-05 02:41:02+00:00
nano banana is hot right now, but how to use it create image as you wish is a problem. so it is what nanobananaprompt.app come help. you can find over 50+ professional prompts across categories (3D rendering, photorealistic, illustrations, etc.), can get this prompt and try it now.
by bawolff | 2025-09-05 02:41:29+00:00
Not as far as i know, i think things are just manual review.

NSFW images on Wikimedia tends to be a very hot button issue when it comes to Wikimedia politics. There obviously some cases where such images are needed, and there is a lot of debate on where the line should be drawn (or if it should be drawn at all). Wikipedia is traditionally very anti-censorship in any form. Fun fact - Wikipedia founder Jimmy Wales lost a bunch of his user rights when he went on a deletion spree of classical art work containing nudity.

There is an automated filter for child sexual abuse images. Its not public what the procedures related to it is, but i assume if it goes off the fbi gets called.
by tombert | 2025-09-05 02:42:55+00:00
I hate Jira like all good people, though in fairness I haven't really found a replacement for it that I actually liked.

The closest I've used was Pivotal Tracker, which I believe is dead now, but I still remember finding stuff annoying about it (though drawing a blank on those facts right now). I wonder if dedicated ticket management stuff at scale is just inherently going to be annoying.

I use Obsidian with the Tasks plugin as a Jira-lite, and for whatever reason it doesn't bother me. I think it's because I can tune it however I want without a bunch of menus and write my own arbitrary queries, but I also think part of the appeal is that the tasks can be part of my notes, instead of a separate application (which is why I couldn't stick with OmniFocus).
by al_borland | 2025-09-05 02:43:52+00:00
I like the idea.

Have you thought of how you might handle people using the +/- options as an agree/disagree ranking? I’d the site is small, it may be self-policing, but as it grows it can be a problem. Reddit ran into this. The upvote/downvote was supposed to be about if something contributed to the conversation, regardless of your opinion on it, but that eventually broke down. While giving the next on the button itself may help, there is still the possibility of abuse there.

Will votes +/- be weighted by the credibility score of the voter?

Another issue Reddit ran into was selling of accounts. Someone could build an account with a high credibility score and sell it to someone looking to spread misinformation.
by brucehoult | 2025-09-05 02:43:55+00:00
As others have pointed out, Apple Pascal was a bytecode interpreter, not compiled to native 6502 code.

Even worse, the bytecode was standard UCSD Pascal, designed for mainframes, and not really how you'd design bytecode if you knew you were going to implement it on a 6502.

We can actually compile Pascal / C style languages to the 6502 pretty well these days. The way to do it is treat it the same as a RISC machine with a lot of registers (let's say 32 2-byte pairs in zero page, leaving 75% of ZP for globals and a handful of important runtime functions that benefit from self-modifying code). Split the 32 pseudo-registers up into A, S, T registers the same as you do for any RISC (or x86_64 for that matter).

It's problem to handle recursion. Just the same as any function call, put anything you still want after the function call into S registers, and in the called function if it needs to use S registers then it needs to save them on a stack (NOT the 256 byte hardware stack) first and restore them after. For more than one or two saved registers it's better to use a runtime function for this -- 12 cycles overhead, but lots of bytes of code saved. RISC-V's -msave-restore provides a good model for this.

You can make a nice set of 2-address arithmetic routines between 16 or 32 bit Zero-Page registers by using the X and Y registers to pass which locations to work on.

add16: clc lda 0,x adc 0,y sta 0,x lda 1,x adc 1,y sta 1,x ret ... ldx #dst ldy #src jsr add16

This reduces the call site from 13 bytes to 7 bytes (and you can often reuse an X or Y), while increasing the execution time for an inline add from 20 cycles to 42 (1 cycle extra per instruction for the indexed addressing = 6, 4 cycles for loading X and Y, 12 cycles for the jsr/ret)

For 32 bit arithmetic the time overhead is much reduced. For floating point it would be negligable!

There is no convenient way to make 3-address routines, but `mov16` is only 5 instructions and 28 cycles. Or just 4 instructions (8 bytes) and 12 cycles if inlined, which might be a better tradeoff i.e.

lda src1 sta dst lda src1+1 sta dst+1 ldx #dst ldx #src2 jsr add16

vs

ldx #dst ldy #src1 jsr mov16 ldy #src2 jsr add16

Stack-based 6502 code is both bigger and slower than (pseudo) register-based code -- a zero-argument `jsr add16` itself is smaller, but it's significantly slower, and loading and storing values between stack and somewhere else will be much more code and much slower.

Stack-based bytecode has a whole lot more overhead again to fetch the next instruction and dispatch to the correct code for it. Register-based bytecode would be a much better idea, as it uses several times fewer bytecode instructions, and is more compact to boot (see Dalvik vs JVM ... sad that webasm didn't pay attention).
by williamDafoe | 2025-09-05 02:45:17+00:00
Multics : everything is a memory segment, just get out your soldering iron and wirecutters to begin porting Multics to your hardware today!

IBM: everything is a record type, we have 320 different modules to help you deal with all 320 system-standard record types, and we can even convert some of them to others. And we have 50,000 unfixable bugs because other pieces of code depend upon the bug working the way it does ...

UNIX: everything is an ASCII byte. Done

I started writing code in the 1970s on TOPS-10, TWENEX, PLATO, and my undergrad thesis advisor helped to invent Multics. The benefits of UNIX are real, folks, the snake oil is the hardware vendors who HATE how it levels the playing field ...
by reval | 2025-09-05 02:45:25+00:00
Snark aside, this is the main topic of Eli Goldratt's "The Goal" - one of my favourite books. Output of the business is constrained by some bottleneck. Improving efficiency away from the bottleneck is just waste. Said differently, enhancing individual productivity has no effect on the business output unless doing so elevates the bottleneck. Sadly, most business don't know what their constraints are or are otherwise blocked from elevating them due to politics and other factors.
by MBCook | 2025-09-05 02:45:36+00:00
It’s typed throws specifically.

Before Swift 6 a function either could throw nothing or could throw anything, like Java’s “throws Exception”.

Now you can mark that a function can only throw a specific error type but nothing else, like Java’s “throws MyCustomException”.

Seems you can’t list multiple types. You’d have to have them in a class hierarchy and mark the base type.

What I like about this idea: if a function is marked like this, Swift can tell that a catch block is exhaustive without needing a “catch all” error case. And if the function starts throwing more possibilities than you coded for, e.g. new case added to an enum, you get a compiler error! Not a submarine bug.
by presentation | 2025-09-05 02:46:54+00:00
In major high cost of living American cities, the majority of cost is in land and regulatory uncertainty especially in California - years of lawsuits and public comment hearings etc for any changes to the built environment, zoning restrictions, large parking requirements causing more land to be needed, inability to produce dense housing (and therefore more units to rent out) on any parcel of land, and so on.

It’s hard to change these policies in part because the basis of American wealth for most people IS the value of their real estate, so anything that would reduce the cost of a house will also reduce the wealth of a large swath of society. And rent control warps thing, by making existing renters also benefit from the status quo by locking in their rents, leaving only new renters as those who demand cheaper housing - the very people with the least electoral influence given that they’re usually younger and not established in the communities they’re moving into.

We need ways to align incentives so that these people can clearly understand their personal benefit from the good that densification would bring, alongside a reorientation to base their wealth on something that isn’t shelter.

USA is not the only place with inflation, but it still ends up with housing far more expensive than other countries. That’s because of policy primarily, material costs secondarily.
by _mlbt | 2025-09-05 02:47:11+00:00
Article II, Section 2 of the Constitution states…

> The President shall be Commander in Chief of the Army and Navy of the United States, and of the Militia of the several States, when called into the actual Service of the United States

That being said, I think it is silly to rename it, but I think a case can be made that he has the Constitutional authority to do so.
by dcrazy | 2025-09-05 02:47:47+00:00
The new feature here is typed throws, which I referred to as statically typed errors. You’ve always been able to throw a subtype of Error and then dynamically downcast it at runtime, but function signatures were limited to “throws any subtype of Error” or “doesn’t throw at all.”

Sealed classes fall into the realm of things that the Swift language designers would leave up to convention. For example, using underscored public methods for internal methods that need to have external linkage, rather than inventing a new keyword for this purpose.
by aspenmayer | 2025-09-05 02:48:10+00:00
I think I heard about Jimmy getting his privs revoked, but had no idea what precipitated that to occur. Some kind of misguided heading-off-at-the-pass of future naysayers and potential lawfare, I guess. Heavy hangs the head that wears the crown, and I guess he’s a figurehead as much as he’s a lead of operations. It makes sense to tie his hands so he can say he tried I guess. Interesting interplay of authority, both individual and collective.

No means or methods are necessary. I am familiar with the work of the NW3C and other groups who do important work in that area. My sympathies to the janitors. Truly difficult and important work.
by nradov | 2025-09-05 02:48:57+00:00
Even if CAHSR is built as planned (I have my doubts about that) it won't be practical for people to live in the Central Valley and commute to the Bay Area for work. It will just take too long to drive to the local rail station, ride to one of the three planned Bay Area stations, and then transfer to some other public transit to get to work.

https://hsr.ca.gov/communications-outreach/maps/

What we ought to do is encourage more economic development and business growth in the Central Valley instead of trying to cram more and more stuff into the Bay Area. The infrastructure there is already overloaded, and it's geographically constrained by water and mountains.
by ethbr1 | 2025-09-05 02:49:08+00:00
Exhibit A for how US political discourse has become dumber: presidential debates.

2020: https://m.youtube.com/watch?v=wW1lY5jFNcQ

2004: https://m.youtube.com/watch?v=WYpP-T0IcyA

1988: https://m.youtube.com/watch?v=w2OIGH710aY

1960: https://m.youtube.com/watch?v=AYP8-oxq8ig (skipping over a few weird years there in 1972, 68, 64)
by BoorishBears | 2025-09-05 02:49:10+00:00
> This smells like middle manager puedo justification

Feel free to read up on my path so far, but you'll be disappointed: https://news.ycombinator.com/item?id=45134398

> Someone stuck their gum under the desk so the school banning gum is entirely fair and reasonable?

Assume you mean gum, and yes if we're scraping gum off the underside of desks every night, please for the love of Christ ban the gum: https://www.bbc.com/news/magazine-32090420

> What if, and this is crazy, you fired them for bad performance the same way you would if they started slacking coming into work.

I don't know if you're in the Bay Area and talk to people in tech, but they're increasingly doing that.

But firing is disruptive and expensive, and it's not like all these people are inherently incapable of doing their jobs. It just turns out some aspect of the office thing everyone (even myself if you read the first post) thought was unimportant turned out to matter a bit more than expected.

-

Honestly it's crazy this is even contentious 5 years post-COVID: saying WFH works for some people, works for orgs where there's good alignment-and works better at smaller scale while properties inherent to larger organizations cause WFH to break down specifically in large orgs really shouldn't be controversial.

But if the mentality that thinking about more than collecting a check makes you a middle-manager is as common as these replies imply, it makes sense.