News for hackers. Stuff that matters.

flaghacker

Re:Solving the Jane Street Reverse Engineering Challenge on Friday September 04, 2026 @07:54AM (#49563353)
Degate is even a bit overkill, it is meant for when you only have images of the physical chip. This challenge has the full GDS files, which are the files that are sent to the fab for manufacturing. They still contain information about all of the separate layers. In this case they even contained the stdcell names, making even full transistor and logic function extraction unnecessary.
Re:Solving the Jane Street Reverse Engineering Challenge on Friday September 04, 2026 @07:36AM (#49563210)
Yeah I briefly considered switching to a simulator to get the final output, but then luckily realized the Z3 setup I had was already acting as a super-powered simulator anyway!

I'm not actually using formal verification at $DAYJOB, there we're using MILP solvers (which are closely related to SAT solvers) as part of the compilation flow when scheduling operations onto hardware accelerators.

I have been interested in formal verification for hardware for a while, but so far haven't found an opportunity to apply it. There are some great resources online though: the ZipCpu blog at https://zipcpu.com/formal/formal.html and SymbiYosys website at https://symbiyosys.readthedocs.io/en/latest/. I hindsight I could probably have used SymbiYosys instead of Z3, it would have saved me from having to walk the graph and map the gates to equations myself.

Re:Solving the Jane Street Reverse Engineering Challenge on Friday September 04, 2026 @07:09AM (#49563005)
Congrats on solving the challenge!

I also briefly wrote about my approach here, with less pictures but going into slightly more detail about how to convert circuits to z3 equations: https://gist.github.com/KarelPeeters/dba417c2690cf0505ac9079...

Re:Claude Fable 5.1 and Claude Mythos 5.1 on Tuesday September 01, 2026 @04:22PM (#49527615)
Text watermarking has no effect on output quality, it just works by changing the explicit source of randomness that is in practice always present in LLM output sampling. See for example https://www.seangoedecke.com/ai-text-watermarking-is-not-a-b....
No, I think the comment you're responding to is actually correct. Look at this quote from the Anthropic blog post again:

> The design should have been simple: if a session has been idle for more than an hour, we could reduce users’ cost of resuming that session by clearing old thinking sections. Since the request would be a cache miss anyway, we could prune unnecessary messages from the request to reduce the number of uncached tokens sent to the API. We’d then resume sending full reasoning history. To do this we used the clear_thinking_20251015 API header along with keep:1.

They clearly make the same distinction between the cache and the context. They're saying "we could reduce users’ cost of resuming that session by clearing old thinking sections". They intentionally created a behavior different between cached and uncached requests, specifically they clear thinking sections from the context for requests that miss the cache.

What would be the point of embedding Redis into an application? What's the advantage of using Redis over using the builtin (or third party) data structures of the language the application is developed in?

I'm asking as a non-webdev who never quite got what Redis actually does, but would love to learn.

Re:Uncertain<T> on Friday August 29, 2025 @06:45AM (#45062423)
Using this sampling-based approach you get correct covariance modeling for free. You have to only sample leaf values that are used in multiple places once per evaluation, but it looks like they do just that: https://github.com/mattt/Uncertain/blob/962d4cc802a2b179685d...
Re:Adding lookbehinds to rust-lang/regex on Tuesday July 15, 2025 @12:49PM (#44573199)
Yes, the `regex` crate is also the regex engine used by ripgrep, both were developed by https://github.com/burntsushi.
Re:QBE – Compiler Back End on Tuesday May 14, 2024 @07:26AM (#40353982)
Out of curiosity, why are you still using 32-bit architectures?
That switch-case gets optimized and compiled down to logic gates by the synthesis tools. It'll be a different set of gates from the original netlist (which might also have used a more regular grid structure for this), but it won't be _that_ different. It's not somehow running this switch-case in software emulation on a different CPU instantiated in this design.
Matlab is one language that chooses the second. Every assignment a=b where b is a matrix creates a distinct copy of the matrix.

The interpreter is slightly more clever and instead implements this as a copy-on-writr mechanism, but that's just an implementation detail .

Re:Who uses Google TPUs for inference in production? on Monday March 11, 2024 @04:00PM (#39672637)
Look like this was generated by an LLM.
Re:Stable Video Diffusion on Tuesday November 21, 2023 @06:01PM (#38371785)
It means that instead of (only) doing convolution in spatial dimensions, it also(/instead) happens in the temporal dimension.

A good resource for the "instead" case: https://unit8.com/resources/temporal-convolutional-networks-...

The "also" case is an example of 3D convolution, an example of a paper that uses it: https://www.cv-foundation.org/openaccess/content_iccv_2015/p...

Re:We Don't Generate Elliptic Curves Every Day on Tuesday October 24, 2023 @06:48PM (#38006746)
Could you share the paper(s) about "backdoors" in physical constants? That doesn't make much sense at first sight.
Sure, it's all slightly fuzzy. I don't think that detracts much from the my point though.
For all emails sent to/from any Seattle owned email address in 2017, please provide the following information:

1. From address 2. To address 3. bcc addresses 4. cc addresses 5. Time 6. Date

Is this really a reasonable request that the government is expected to answer? Doesn't this expose a bunch of private information about government employees and the people they interact with? I understand this post (and apparently the law) takes this as completely normal thing, but it seems really weird to me.

Some examples:

* exact times people are getting in/out the office (eg. the time in the morning when a person first answers an email from their boss)

* full information about holidays taken by all employees (eg. days/weeks during which no emails are sent)

* friendships or relationships (eg. any communication between employees that doesn't follow from the hierarchy or from team delineations)

* information from criminal investigations (eg. an investigator sending an email to the parking fine department probably means one of the cases they're working on is related to parking fines)

This all seems a huge privacy leak? Should this stuff even be called "metadata" if so much can be derived from it?

Interesting, what could power companies use this for? Checking for overgrown power lines? Checking for roofs to place solar panels one?
Could you share the repo? I've been curious what nontrivial parsers look like woth nom, I always lose the overview pretty quickly.
It's important to note that these probe models are very simple - they're "trained" by just doing a linear regression between the hidden activations and the desired output. This means that the probes can barely do any computation themselves, so if they work at all this is a strong indication that the signal they predict was already in the hidden activations.

For even more proof, see "Figure 5: Space and time neurons in Llama-2 models" for single neurons in LLMs that already encode this information, without even having to use a probe model to extract it.

What value does this label have for English localization?
Re:We Built an AI-Powered Magic the Gathering Card Generator on Friday September 08, 2023 @08:36AM (#37432706)
That sounds interesting, can you give some examples? Is this limited to classical RL Q-learning type stuff for turn based games, or full AlphaStar-level agents for RTS games?
Re:Introduction to Vector Similarity Search on Wednesday July 12, 2023 @02:27PM (#36699443)
I'm not an expert, but some thoughts:

* The problem with large vectors is that they have large dot products with every other vector, which would imply that they are more similar to everything which doesn't make sense.

* Adding the requirement that "length==1" doesn't matter much in high-dimensional spaces, since that only removes one degree of freedom. Don't try to use too much 3D intuition here.

* It might be intuitive to think that "large" should have implications for the size of the vectors, but that really only applies to a couple of examples. We want vectors to represent thousands of unrelated concepts, so this one case is really not that relevant or important.

* In reality what ends up happening is partially the "very" dimension you're suggesting, but also just a "largeness" dimension. Individual dimensions can still have a scale!

What scene in the expanse is that?
That sounds interesting, what does the JVM do for tree structures and linked lists? Is that just about compacting memory?
Tokio is using the Rust async features, which are not green threads. In the former code has to explicitly mark potential yield points, in the latter green threads can be scheduled by the runtime without any help from the code itself.

As a historical note, Rust used to have green threads but they were abandoned a long time ago. This is a good talk about both the differences between different forms of concurrency/async and Rusts history with them: https://www.infoq.com/presentations/rust-2019/ (includes a transcript)

Re:Our brain is a prediction machine that is always active on Tuesday August 09, 2022 @09:19AM (#32397416)
That's the idea behind the Hutter prize: https://en.wikipedia.org/wiki/Hutter_Prize
Yes, a perfect recording of the amplitude of a function at a frequency of at least 2B contains enough information to perfectly reconstruct that function. Reaching this frequency is not that hard, but getting a perfect amplitude measurement is. This is where "noise, distortion and dynamic range" come in, they act as disturbances to the amplitude.
Re:Programming in the Apocalypse on Tuesday May 31, 2022 @05:30AM (#31567534)
They're talking about the fact that recompiling the rustc compiler itself is very complex and resource intentisive.

That may not actually be a problem though, since the current compiler executable is already good enough for almost any project.

This has always seemed so strange to me, where are all of these applications that allocate a bunch of memory and then never use it? Isn't this just a chicken-and-egg thing where linux allowed this and then programs started depending on it?

Older »