MurphyA/hacker-news huggingface dataset:
by jll29 | 2025-09-22 20:13:57+00:00
> Most of us have never written a real application in Forth, and we've never had the religious-conversion experience where Forth made it possible to write something we couldn't have written without Forth.

Perhaps someone will upload some Forth source code for a few larger systems e.g. "Fmacs", an Emacs-like editor written in mostly Forth with Forth instead of ELISP being the embedded language.

Then it would be interesting to compare speed and readability (important today and every day) as well as memory requirements in RAM and on disk etc. (not so important anymore, used to be very important in the past).

I had a look at the little Forth-based operating system's source code and of course couldn't comprehen much, which is obvious because looking at the code doesn't tell you, you need to imagine what's going on with the stack.
by RobinL | 2025-09-22 20:16:21+00:00
I largely agree. As a counterpoint, today I delivered a significant PR that was accepted easily by the lead dev with the following approach:

1. Create a branch and vibe code a solution until it works (I'm using codex cli)

2. Open new PR and slowly write the real PR myself using the vibe code as a reference, but cross referencing against existing code.

This involved a fair few concepts that were new to me, but had precedent in the existing code. Overall I think my solution was delivered faster and of at least the same quality as if I'd written it all by hand.

I think its disrespectful to PR a solution you don't understand yourself. But this process feels similar to my previous non-AI assisted approach where I would often code spaghetti until the feature worked, and then start again and do it 'properly' once I knew the rough shape of the solution
by fuzzfactor | 2025-09-22 20:16:55+00:00
Good to see your replies as well as more comments. Even more comments would be good from people conferencing all the time. I definitely didn't want your message to drop too far down.

I don't think overcomplication is the problem. Once the core code is good enough, that could all be smoothed out by UI refinement. I would pick one single computer language to make the entire thing fully functional at least under CLI, then in case any other language was better for UI that could be layered on afterward.

What's really missed badly is something that can stand the test of time on its own, with only the most minimal dependencies, and from the ground up is peer-to-peer without any need for an "account" or reliance on email to do everything that is needed.

Everybody in the meeting should be able to download the same app, populate their "phone" directory manually or from a standard text config file (intial config layout MUST be well standardized to begin with, to withstand any possible update anticipated, and then some). This is where you really get to write the rules from the ground up so take advantage of it. Especially your "standardization" role.

The only reason this is still needed is that nobody else has stepped up to the plate to serve in that role, and it's been since 1997.

There's webcam standards, video standards, audio standards, all which didn't exist back then or were different than today.

Ideally anybody on the internet with a cam, mic and speakers should be able to simply run the app locally without "installation" even, choose the local cam and audio devices they want to use as provided by the OS, then take the position as either moderator or participant. With a phone book built from simple text that could easily be communicated orally over cellphones for small meetings, everyone could actually maintain the same directory at all times, but it would be the moderator or initiator who clicked on each of the intended participants to build the group communication. Then each of the participants would only have to respond-click to that one moderator's "phone" number. Not much different than Intel started out doing, with either person initiating the videocall, and the other party answering. Then "everybody" pops up on everybody's screen at the same time, but there was only a single other party back then.

Or it might make sense for the underlying code to allow for or require participants to click (or autoconfig) their "choice" of other participants they want to allow the peer-to-peer communication with during a particular meeting, and no others.

Until you get going and depend on decorum from there . . .

Edit: I guess worthwhile design criteria I would use is that there should be no need for internet communication between parties to begin with, until the meeting is actually joined, serverless between peers only. Although getting a little private network going from something like Wireguard beforehand might be a good option, after which your app would behave the same way whether it was Wireguard, something else, or nothing at all.
by wojtek1942 | 2025-09-22 20:17:11+00:00
Why build a new browser in C++ when safer and more modern languages are available? [1]

> Ladybird started as a component of the SerenityOS hobby project, which only allows C++. The choice of language was not so much a technical decision, but more one of personal convenience. Andreas was most comfortable with C++ when creating SerenityOS, and now we have almost half a million lines of modern C++ to maintain.

> However, now that Ladybird has forked and become its own independent project, all constraints previously imposed by SerenityOS are no longer in effect.

> We have evaluated a number of alternatives, and will begin incremental adoption of Swift as a successor language, once Swift version 6 is released.

[1] https://ladybird.org/#faq:~:text=Why%20build%20a%20new%20bro...?
by youngtaff | 2025-09-22 20:17:37+00:00
> It isn't hard to objectively gauge. The annual tax revenue shortfall is running at nearly £10bn this year, this is despite a high levels of earnings growth due to Labour agreeing to huge pay increases for the public sector.

They weren’t huge pay rises they were in line with inflation

Much of the issue with government finances relates to Hunt introducing NI cuts that weren’t affordable, the Tories giving billions to the mates during Covid, reduced GBP from Brexit and a huge hangover from the financial crisis where the public as still paying for the bankers failures
by Nevermark | 2025-09-22 20:17:53+00:00
One of my first experiences with ChatGPT was seeing how well it could dungeon master.

I still have the script, it was quite incredible, for a short while. A record of my wonder upon first encountering language models.

The golden days of open ended coherent consistent real-time dungeon mastering/world building are in the not too distant future.
by ossm1db | 2025-09-22 20:18:19+00:00
The author of the article, James Thompson, has "more than a decade of science journalism experience" yet fails to provide sources for his articles, something a high-school student would understand. Another "AI-Generated" article on the "Alabama Gazette" names the planet "Nomad-X." The lack of information leads me to believe it is entirely an AI hallucination and a completely fake story.
by maxbond | 2025-09-22 20:18:20+00:00
> Software usability, in this context, is measured objectively, there is no interpretation.

What is the objective measure of usability to which you are referring? I'm not aware of any such metric.

> As for your high standards vs tendonitis distinction, I'd say these things are not mutually exclusive, and the comparison is not related to what we're talking about.

The connection is that I have different needs in HIDs, just like some people have different needs in Obsidian. There are great ergonomic keyboards available for $50. I just can't use them.

Generally I buy the cheapest peripherals available. My standards are not all that high. Several of them have bugs I've learned to work around.
by seanhunter | 2025-09-22 20:18:24+00:00
A formal proof really can’t have a specification bug. You say in the declaration what proposition you intend to prove and if you succeed in instantiating that type then you have succeeded in your proof.

The system also will only allow that proof to be used for the proposition you have declared so even if you somehow declared the wrong thing and proved it without realising, that wouldn’t affect the consistency of the system at all.
by dadie | 2025-09-22 20:19:06+00:00
Honestly, the second to last paragraph reminded me a lot of my experience with eclipse back in 2011 to 2014. I think it was called the eclipse dance back than. A random order of clearing the cache, rebuilding, disabling/enabling plugins, creating a new workspace and restarting the ide would solve most problems. It is one of the reasons I developed a disdain for eclipse. I later even switched jobs mostly to get away from it.
by mikhmha | 2025-09-22 20:19:16+00:00
Its not a good argument against him. I read his articles and he is absolutely correct about the state of things. Predicting the crash is a fools errand. I don't use that as a argument to discredit what he actually writes regarding the raw economics of the AI industry.

I say this as someone who has been holding NVDA stock since 2016 and can cash out for a large sum of money. To me its all theoretical money until I actually sell. I don't factor it into financial planning.

You don't see me being a cheerleader for NVDA. Even though I stand to gain a lot. I will still tell you that the current price is way too high and Jensen Huang has gotten high off his own supply and "celebrity status".

After all, we all can't buy NVDA stock and get rich off it. Is it truly possible for all 30,000+ NVDA employees to become multi-millionaires overnight? That's not how capitalism works.
by GoldenMonkey | 2025-09-22 20:19:20+00:00
It is a very tough job market. I have been looking for 11 months myself with zero interviews. And 500+ applications to jobs I am qualified for.

The summary of your resume is very dense. Opening it felt like a wall of text, I wanted to immediately close.

Have chatgpt rewrite it.

Because of ATS resume systems, your resume may be getting screened out. After chatgpt has rewritten it.

Throw it into an ATS resume checker like https://www.jobscan.co to see how it is performing for ATS filters.

I particularly like https://simplify.jobs that can tailor your resume and autofill for applications. Will save a lot of time if you do not have this already.

Best of luck. It is extremely tough and unusual. Apply for jobs in your immediate city or a place you could relocate to, as a priority... as the remote ones are extremely competitive.
by mgh95 | 2025-09-22 20:19:30+00:00
This only applies if you think one of two things; First, that it is guaranteed that this specific line of inquiry will lead to development of a form of superintelligence or otherwise broadly applicable development; or second, the form of machine learning technologies that unlocks or otherwise enables a market which would otherwise be inaccsesible that justifies this investment.

To date, no evidence of either even exists. See Zuckerbergs recent live demo of Facebooks Ray Bans technology, for example.
by kazinator | 2025-09-22 20:20:02+00:00
Common Lisp has this (and other dialects that imitate the Circle Notation; I think Scheme has it now, Emacs Lisp, TXR lisp, ):

E.g.

(#1=(a b) c d e #1#)

encodes

((a b) c d e (a b))

where the two (a b) occurrences are one object. It can express circular structures:

#1=(a b c . #1#)

encodes an infinite circular list

(a b c a b c a b c ...)

The object to be duplicated is prefixed with #<decimal-integer>=. This associates the object with the integer. The integer is later referenced as #<decimal-integer># to replicate it.

The thing is, you don't see a lot of this in human-written files, whether they are source code or data.

This is not the primary way that Lisp systems use for specifying replicated data in configurations, let alone code.

Substructure sharing occurs whether you use the notation or not due to interned symbols. (Plus compilers can deduplicate strings and such.) In (a a a) there is only one object a, a symbol.

If you feed the implementation circular source code though, ANSI CL says the behavior is undefined. Some interpreters can handle it under the right circumstances. In particular ones that don't try to do a full macro-expanding code walk before running the code. Compilers, not so much.
by rvz | 2025-09-22 20:20:07+00:00
"It's open source, build it yourself" - Can't build it for my machine, but will try prebuilt executable.

"It works everywhere" - Doesn't run on my GPU, OS combination, will tweak settings for a bit.

"Add your API Key here" - Won't do it. "privacy reasons"

"You can run it locally then" - I'm really GPU poor and it runs 5 tok/s.

#1 Reason? - Lots of friction.
by yelirekim | 2025-09-22 20:20:13+00:00
You're asking Claude to refactor multiple different job types all at once, which creates too much complexity in a single pass. The prompt itself is also somewhat unclear about the specific transformations needed.

Try this:

1. Break it down by job type. Instead of "refactor the codebase to make use of the new JobDefinition.create", identify each distinct job type and refactor them one at a time. This keeps the context focused and prevents the agent from getting overwhelmed.

2. For many jobs, script it. If you have dozens/hundreds of jobs to refactor, write a shell script that:

for job_type in "EmailJob" "DataProcessingJob" "ReportJob"; do claude --dangerously-skip-permissions -p "Refactor only ${job_type} to use the new JobDefinition.create signature: make it async, pass databaseClient at creation, remove return value and 'Job created' logs. Change ONLY ${job_type} files." git add -A && git commit -m "Refactor ${job_type} to new signature" done

This creates atomic commits you can review/revert individually.

3. Consider a migration shim. Have Claude create a compatibility layer so jobs can work with either the old or new signature during the refactor. This lets you test incrementally without breaking everything at once.

4. Your prompt needs clarity. Here's a clearer version:

Refactor ONLY [SpecificJobName] class to match the new JobDefinition.create signature: - OLD: create(batch) returns result, synchronous - NEW: create(queue, databaseClient) returns void, async - Remove any "Job created" console.log statements - Do NOT modify unrelated code, reorder parameters, or rename variables

The issue with your original prompt is it doesn't clearly specify the before/after states or which specific files to target. Claude Code works best with precise, mechanical instructions rather than contextual descriptions like "Previously... Now it takes..."

Pro tip: Use Claude itself to improve your prompts! Try:

claude -p "Help me write a clearer prompt for this refactoring task: [paste your original prompt]"

and save the result to a markdown file for reuse.

The key insight is that agentic tools excel at focused, well-defined transformations but struggle when the scope is too broad or the instructions are ambiguous. "Don't do anything else" is not an instruction that Claude does a good job of interpreting. The "going off the rails" behavior you're seeing is Claude trying to be helpful by "improving" code it encounters, which is why explicit constraints ("ONLY do X") are crucial rather than specifying a broad directive concerning what it shouldn't do.
by ModernMech | 2025-09-22 20:20:50+00:00
LiDAR is also good for that because you can measure light remission and figure out how much of the LiDAR energy the material absorbed. Different materials have different remission properties which can be used to discriminate. Which is a compounding advantage because we tend to paint road line markers with highly reflective paints. This makes line markers blindly obvious to a LIDAR.
by billforsternz | 2025-09-22 20:21:07+00:00
One problem I remember from (briefly, fortunately) dealing with Apple APIs is wondering incessantly why every API (I was looking at) started with NS. Admittedly these days any AI would tell me it stands for Next Step. But if you are creating a new thing with a quirk like this please explain it once, in a place that's easy for the student to find.
by EasyMark | 2025-09-22 20:21:12+00:00
I was dropped into one such system after it failed after like 20 years and learned forth on the fly while managers breathed down my neck lol. Not a fun experience, and it took about 3X as long as I thought it would take, so Forth is not my favorite language, but I do see why it was useful at the time, and as an exercise in a way of thinking about languages rather than the mode I usually operate in c/c++/rust/little javascript
by hluska | 2025-09-22 20:21:31+00:00
I don’t know why the funder matters. RC agreed to a contract that provided a fixed date by which these issues needed to be resolved or funding would be terminated. Exploding terms are rare in funding agreements because they don’t make the funder look good when they explode. Back in my non profit board days, I learned that contracts with exploding terms need to go in front of the entire board instantly for action or lawyers will get paid.
by verzali | 2025-09-22 20:22:05+00:00
We once had a customer on a project that we'd messed up. I told the customer I was sorry about that and that I'd make an effort to fix the problem. I could see they were happy to hear that. But afterwards my manager called me at home and got mad I'd said sorry to them. His philosophy was never to apologize. Funny thing, later on that customer offered me a better paid position...
by Nevermark | 2025-09-22 20:22:12+00:00
The plain reading of quantum field theory, is that we don't always end in the same place, but that we get to go down all the paths.

I believe that is true, both in the technical physical sense, and as having a solid implication for the experience of existence.

That was the best thing about those books. We got to go down all the paths. Have all those lives.
by losvedir | 2025-09-22 20:23:00+00:00
Babe get in here, a new kentonv library just dropped!

I'm surprised how little code is actually involved here, just looking at the linked GitHub repo. Is that really all there is to it? In theory, it shouldn't be too hard to port the server side to another language, right? I'm interested in using it in an Elixir server for a JS/TS frontend.

For that matter, the language porting seems like a pretty good LLM task. Did you use much LLM-generated code for this repo? I seem to recall kentonv doing an entirely AI-generated (though human-reviewed, of course) proof of concept a few months ago.
by kentonv | 2025-09-22 20:23:50+00:00
I don't think you could make filter() work with the same approach, because it seems like you'd actually have to do computation on the result.

map() works for cases where you don't need to compute anything in the callback, you just want to pipeline the elements into another RPC, which is actually a common case with map().

If you want to filter server-side, you could still accomplish it by having the server explicitly expose a method that takes an array as input, and performs the desired filter. The server would have to know in advance exactly what filter predicates are needed.
by jerjerjer | 2025-09-22 20:24:29+00:00
> include

Interesting, although to me it looks more like a way to split one file into several (which is rather useful).

> extends

What's the difference with anchors? Looks the same, except works with include (and doesn't work with any other yaml tool).

> dynamic pipeline generation

Which is even harder to reason about compared to anchors, although certainly powerful.
by state_less | 2025-09-22 20:24:40+00:00
Interesting, the pacing seemed very slow when conversing in english, but when I spoke to it in spanish, it sounded much faster. It's really impressive that these models are going to be able to do real time translation and much more.

The Chinese are going to end up owning the AI market if the American labs don't start competing on open weights. Americans may end up in a situation where they have some $1000-2000 device at home with an open Chinese model running on it, if they care about privacy or owning their data. What a turn of events!
by jgrahamc | 2025-09-22 20:25:01+00:00
Huh. This is back on the front page after a hiatus of many hours. A bunch of people here question why I'd use a paper bag to carry a laptop from one place to another. As I said in the post it is "inconspicuous". That can be interpreted in a couple of ways.

One is simply not carrying something obviously containing expensive electronics which might be a target for theft. But having thought about this for a while that's not my biggest motivation. I hate ostentation. That's the reason I wear a Casio watch, would never wear clothes with a brand name plastered all over them, and drive a very boring car.

I do have a laptop sleeve that I use to protect the laptop and it slips easily into a bag. Prior to my silent bag purchase I did use random shopping bags (including canvas bags that seem to have sprouted like weeds in my cupboard), but after the board meeting situation mentioned I decided I'd try to find a long-lasting "paper" bag for the hell of it.

And I stumbled upon movie prop bags! Oh, and I hate backpacks.
by baobun | 2025-09-22 20:25:07+00:00
> Cloudflare Tunnels or wildcard domains

For the purpose of cloaking IP address associations, any proxy will do - doesn't have to be Cloudflare. Note that in case you use HTTP-01 challenges, this approach still exposes you to the proxy operator and gives them an MitM opportunity.

You can do both approaches combined, fwiw. Wildcards have the benefit of not leaking subdomain names in transparency logs at all.

If you provision via ACME, you should use DNS-01 instead of HTTP-01. It removes the need to associate a public IP in the first place and reduces the MitM vector (which can be mitigated with DNSSEC).
by krabizzwainch | 2025-09-22 20:25:28+00:00
For my all AMD ASUS TUF 16, I am having a great experience with sleep and battery drain. I’m running Nobara, a Fedora gaming spinoff. I can 100% treat it like my apple devices where I can close it and ignore it for several days, and maybe lose 1-5% battery over that time.

My understanding is that it being all AMD makes a difference, but I don’t know for sure.
by coldtea | 2025-09-22 20:26:58+00:00
>is a grassroots efforts of the populace

Oh, sweet summer child. It's as "grassroots" as the Cultural Revolution (party elites encouraging and directing mobilized workers and farmers to play out their power plays) was grassroot.

The FBI and others telling Twitter what to censor, the goverment agencies threating companies to comply, academics and prestigious news media on lockstep, nebulous NGOs and "think tanks" suggesting what's fake news and what's not, tech behemoths collaborating, even banks having a go at it.

In other words, it's as top down as the current Republican shit is.