MurphyA/hacker-news huggingface dataset:
by 9rx | 2025-11-15 09:54:31+00:00
> Well, then they look awkward and have give a feel like it's a syntax abuse.

So nothing to worry about?

> how do I insert an element in the middle of an array?

Same as in C. If the array allocation is large enough, you can move the right hand side to the next memory location, and then replace the middle value.

Something like:

replaceWith := 3 replaceAt := 2 array := [5]int{1, 2, 4, 5} size := 4 for i := size; i > replaceAt; i-- { array[i] = array[i-1] } array[replaceAt] = replaceWith fmt.Println(array) // Output: [1 2 3 4 5]

If the array is not large enough, well, you are out of luck. Just like C, arrays must be allocated with a fixed size defined at compile time.

> The docs on the internet suggest that slices in go are exactly like in Rust, a contiguous sequence of array's elements.

They're exactly like how you'd implement a slice in C:

struct slice { void *ptr; size_t len; size_t cap; };

The only thing Go really adds, aside from making slice a built-in type, that you wouldn't find in C is the [:] syntax.

Which isn't exactly the same as Rust. Technically, a Rust slice looks something like:

struct slice { void *ptr; size_t len; };

There is some obvious overlap, of course. It still has to run on the same computer at the end of the day. But there is enough magic in Rust to hide the details that I think that you lose the nuance in that description. Go, on the other hand, picks up the exact same patterns one uses in C. So if you understand how you'd do it in C, you understand how you'd do it in Go.

Of course, that does mean operating a bit lower level than some developers are used to. Go favours making expensive operations obvious so that is a tradeoff it is willing to make, but regardless if it were to make it more familiar to developers coming from the land of magic it stands that it would require more magic, not less.
by Jensson | 2025-11-15 09:55:08+00:00
You are right, which is why the workers get so much more than the CEO. Basically no CEO makes more money than his workers combined, he adds a small percentage of the value so he gets a small percentage of the revenue. In a typical company most revenue goes to workers, then a smaller part to leaders for organizing the workers and payback to investors who invested in the equipment for the workers.

If you don't pay leaders to organize or investors for equipment then workers wont have organization or equipment and will be much less productive, it is better this way. This makes workers richer under capitalism than any other economic system tried.
by kure256 | 2025-11-15 09:55:20+00:00
More and more people now start with an AI assistant instead of traditional browsing — not because they love AI everywhere, but because it’s simply faster than navigating websites. The shift is already visible: assistants can surface structured information directly, and they’re beginning to prioritize citations, so sources that are clear and machine-readable get more visibility.

If the web doesn’t adapt, a lot of high-quality content will slowly disappear from the “AI layer” of discovery.

We’re trying to document this shift here: https://github.com/ai-first-guides/first.ai/blob/main/docs/i...
by mytailorisrich | 2025-11-15 09:55:41+00:00
The Agile manifesto states exactly what I wrote. It's not that comprehensive documentation isn't valuable, it's that working software is more valuable.

In addition, the big issue is when the comprehensive documentation is written first (as in waterfall) because it delays working software and feedback on how well the design works. Bluntly, this does not work.

That's why I think it is best to feed LLMs small chunks of work at a time and to keep the humam dev in the driving see to quickly iterate and experiment, and to be able to easily reason with the AI-generated code (who will do maintenance?)

The article seems to miss many of those points.

IMHO a good start is to have the LLM prompt be a few lines at most and generate about 100 lines of code so you can read it and understand it quickly, tweak it, use it, repeat. Not even convinced you need to keep a record of the prompt at all.
by hdgvhicv | 2025-11-15 09:57:06+00:00
https://www.bbc.co.uk/news/articles/cn438z3ejxyo

https://www.bbc.co.uk/news/articles/c0epennv98lo

https://www.lbc.co.uk/article/digital-id-cards-ill-stop-ille...

Terrorism still crops up occasionally but the rhetoric has certainly expanded.
by DutchBytes | 2025-11-15 09:58:40+00:00
Hi all! I'm building Vigilant, a source available and self hostable monitoring application that focusses on websites.

I've recently implemented a feature that makes it possible to monitor uptime from multiple locations. In a nutshell this works by deploying remote Docker containers that perform the actual uptime checks, I've written a short article explaining the entire architecture and the choices I made.
by thomascountz | 2025-11-15 09:58:45+00:00
Thanks! With Spec-Kit and Claude Sonnet 4.5, it wanted to design the whole prod-ready CLI up front. It was hard, if not impossible, to try to scope it to just a single feature or POC. This is what I struggled with most.

Were I to try again, I'd do a lot more manual spec writing or even template rewrites. I expected it to work more-or-less out-of-the-box. Maybe it would've for a standard web app using a popular framework.

It was also difficult to know where one "spec" ended and the next began; should I iterate on the existing one or create a new spec? This might be a solved problem in other SDD frameworks besides Spec-Kit, or else I'm just over thinking it!
by Zopieux | 2025-11-15 09:59:07+00:00
I think this is doomed by the fact tweaks will break in subtle and unpredictable ways every time a website updates, and since you can't reliably detect that an existing tweak is now broken, you can't regenerate it automatically. Once the user notices something is broken, they'll regenerate, and since an LLM is writing the code, the result will be slightly different (layout, colors, positions, ...) than the previous iteration the user got accustomed to. This sounds maddening after a while, and frustration scales linearly with the amount of tweaks.

Sadly (?) the only reliable way to website unfuckery is and will remain crowdsourcing by a bunch of nerds (see: Easylist) for the foreseeable future. This product is the opposite of that, with everyone having their private collection of prompts/tweaks, which they will have to individually fix every two weeks.
by ACCount37 | 2025-11-15 09:59:08+00:00
First: generalization. The failure modes extend to unseen tasks. That specific way to fail at "1kg of steel" sure was in the training data, but novel closed set logic puzzles couldn't have been. They display similar failures. The same "vibe-based reasoning" process of "steel has heavy vibes, feather has light vibes, thus, steel is heavier" produces other similar failures.

Second: the failures go away with capability (raw scale, reasoning training, test-time compute), on seen and unseen tasks both. Which is a strong hint that the model was truly failing, rather than being capable of doing a task but choosing to faithfully imitate a human failure instead.

I don't think the influence of human failures in the training data on the LLMs is nil, but it's not just a surface-level failure repetition behavior.
by Fargren | 2025-11-15 09:59:21+00:00
"rapid, iterative Waterfall" is a contradiction. Waterfall means only one iteration. If you change the spec after implementation has started, then it's not waterfall. You can't change the requirements, you can't iterate.

Then again, Waterfall was never a real methodology; it was a straw man description of early software development. A hyperbole created only to highlight why we should iterate.
by somat | 2025-11-15 09:59:47+00:00
Here is my rather naive take on the same subject. But I had a very different motivation than the author. See I actually quite like SQL and enjoy programming in it, but what I don't like is mixing sql and python. So one night in a flash of inspiration or perhaps a fever dream I wrote this thing that lets you have stand alone parameterized sql queries and you call them like a python function or generator. It is one of those overly clever things where I sort of hate the magic, but I find myself using it more and more which I will probably regret one day.

https://nl1.outband.net/fossil/query/file?name=query.py&ci=t...

In short you have your query in file sql/dept_personal.sql and you call it like

for row in q.dept_personal(db_cursor, department='manpower'):
by ErrantX | 2025-11-15 10:00:57+00:00
I did this first too. The trick is realising that the "spec" isn't a full system spec, per se, but a detailed description of what you want to do.

System specs are non trivial for current AI agents. Hand prompting every step is time consuming.

I think (and I am still learning!) SDD sits as a fix for that. I can give it two fairly simple prompts & get a reasonably complex result. It's not a full system but it's more than I could get with two prompts previously.

The verbose "spec" stuff is just feeding the LLMs love of context, and more importantly what I think we all know is you have to tell an agent over and over how to get the right answer or it will deviate.

Early on with speckit I found I was clarifying a lot but I've discovered that was just me being not so good at writing specs!

Example prompts for speckit;

(Specify) I want to build a simple admin interface. First I want to be able to access the interface, and I want to be able to log in with my Google Workspaces account (and you should restrict logins to my workspaces domain). I will be the global superadmin, but I also want a simple RBAC where I can apply a set of roles to any user account. For simplicity let's make a record user accounts when they first log in. The first roles I want are Admin, Editor and Viewer.

(Plan) I want to implement this as a NextJS app using the latest version of Next. Please also use Mantine for styling instead of Tailwind. I want to use DynamoDB as my database for this project, so you'll also need to use Auth.js over Better Auth. It's critical that when we implement you write tests first before writing code; forget UI tests, focus on unit and integration tests. All API endpoints should have a documented contract which is tested. I also need to be able to run the dev environment locally so make sure to localise things like the database.
by teddyh | 2025-11-15 10:01:39+00:00
The volume of LLM output is effectively infinite. Therefore, it is not worth my time or effort reading a single syllable of it. I will not read (nor correct) LLM output, since if I did, I would quickly be doing nothing else with my life. And since LLM output is infinite, but I am finite, my efforts would still be completely without results, comparatively speaking.
by NoMoreNicksLeft | 2025-11-15 10:01:41+00:00
You misunderstand. When they "ban VPNs", it's not that the VPN police will be patrolling your neighborhood trying to catch you using Mulvad or whatever. Instead, the AG will send a letter to the VPN provider, threatening to prosecute them for selling an illegal service. And they will comply and shut down. Once the commercial services are gone, it won't matter that you could hide your own VPN usage in a practical sense, because 1 in 100 people have the resources, technical expertise, and time to set up their own VPN server offshore. Furthermore, it may be cost prohibitive... I'm spending $3/month or so. I can't spend $250/month on this. And if I could, it will just break more often, I won't get the 99% uptime I usually get either.

Something that's extraordinarily low effort will become exceedingly high effort, and this will achieve their goals.
Ask HN: Anyone else hate the GitHub Android app
by raffraffraff | 2025-11-15 10:01:59+00:00
I know I know. But I'm only asking because I've found myself unwillingly looking at it, cursing is existence and then forcing my browser to show me "the real damn GitHub project". I need the app for work 2FA hence I haven't ditched it. But every time I click a link (eg on HN) for a git project, what I'm interested in is the code with the last update date on the right. Instantly see how "dead" a project is. What happens when I have the GitHub app installed? It hijacks the URL and shows me stupid crap I don't care about. And if I click on "code" it shows me the kind of low-info list of files and folders I'd expect to see on my grandmother's windows explorer. Aaaaaaaaaa
by dwb | 2025-11-15 10:02:08+00:00
I have similar feelings. I’m willing to believe there are scenarios where this kind of thing makes sense, maybe – a colleague has had great success on a small, predictable greenfield project with it. I don’t work on many of those. My main objections are that I’ve had plenty of success with LLMs without intermediate detailed specs (and I don’t think my failures would have been helped by them), and I just don’t like the idea of primarily reviewing specs. Some sort of plan or research document is a different matter - that’s fine. But the kind of code-like formalised spec thing? I want to look at code, it’s just easier. Plus, I’m going to be reviewing the code too (not doing so is irresponsible in my opinion), so having spec AND code is now double the text to read.

The part of the process the actually needs improving, in my experience in larger codebases, is the research phase, not the implementation. With good, even quite terse research, it’s easy to iterate on a good implementation and then probably take over to finish it off.

I really think LLMs and their agent systems should be kept in their place as tools, first and foremost. We’re still quite early in their development, and they’re still fundamentally unreliable, that I don’t think we should be re-working over-arching work practices around them.
by lavela | 2025-11-15 10:02:23+00:00
"Gzip only provides a compression ratio of a little over 1000: If I want a file that expands to 100 GB, I’ve got to serve a 100 MB asset. Worse, when I tried it, the bots just shrugged it off, with some even coming back for more."

https://maurycyz.com/misc/the_cost_of_trash/#:~:text=throw%2...
by canterburry | 2025-11-15 10:02:41+00:00
I vibe coded for months but switched to spec driven development in the last 6 months

I'm also old enough to have started my career learning the rational unified process and then progressed through XP, agile, scrum etc

My process is I spend 2-3 hours writing a "spec" focusing on acceptance criteria and then by the end of the day I have a working, tested next version of a feature that I push to production.

I don't see how using a spec has made me less agile. My iteration takes 8 hours.

However, I see tons of useless specs. A spec is not a prompt. It's an actual definition of how to tell if something is behaving as intended or not.

People are notoriously bad at thinking about correctness in each scenario which is why vibe coding is so big.

People defer thinking about what correct and incorrect actually looks like for a whole wide scope of scenarios and instead choose to discover through trial and error.

I get 20x ROI on well defined, comprehensive, end to end acceptance tests that the AI can run. They fix everything from big picture functionality to minor logic errors.
by pas | 2025-11-15 10:02:49+00:00
logs, spans and metrics are stored as time-stamped stuff. sure simple fixed-width columnar storage is faster, and makes sense to special case for numbers (add downsampling and aggregations, and histogram maintenance and whatnot), but any write-optimized storage engine can handle this, it's not the hard part (basically LevelDB, and if there's need for scaling out it'll look like Cassandra, Aerospike, ScyllaDB, or ClickHouse ... see also https://docs.greptime.com/user-guide/concepts/data-model/ and specialized storage engines https://docs.greptime.com/reference/about-greptimedb-engines... )
by tov_objorkin | 2025-11-15 10:03:19+00:00
Bold plus, making PLs is a lifestyle, not a business. Most PLs clones each other and absorb features. The only difference is QOL and tooling. Users expect to have a full set of batteries, an IDE/LSP, jobs, OOP style, and minimal effort to learn. Being popular contradicts with the idea of pushing the boundaries and shifting paradigms.
by hnlmorg | 2025-11-15 10:05:22+00:00
I didn’t miss his point. Back in the 70s, many of the new languages were just a subtle variation on the previous one. It’s only later they evolved into something distinctive.

Which is why I said we’d still be using FORTRAN.

Languages that start out radically different don’t tend to gain momentum. Whereas languages that are familiar tend to grow and introduce new ideas.

Nothing is invented in a vacuum.

Also I completely disagree that one shouldn’t create a hobby project need to be innovative. Sometimes people do create things just because they can. And it’s a good thing too because otherwise we wouldn’t have half the open source software available to us today. Many of which was originally intended for personal use, including Linux.

The problem these days is we’re so brainwashed by stories of unicorn start ups pumped with VC money that now everyone thinks every hobby needs to has a viable business plan underneath. It’s like people have forgotten how to play for fun.

So people should go out and create new programming languages. The worst that would happen is they learn to be a better programmer in their day to day language.
by pavas | 2025-11-15 10:05:23+00:00
> As noted, consciousness seems to just be the ability to self-observe, which is useful as another predictive input.

As far as I know, consciousness is referring to something other than self-referential systems, especially with regards to the hard problem of consciousness.

The [philosophical zombie](https://en.wikipedia.org/wiki/Philosophical_zombie) thought experiment is well-known for imagining something with all the structural characteristics that you mention but without conscious experience as in "what-its-like" to be someone.
by ACCount37 | 2025-11-15 10:07:01+00:00
Intuitively, yes. But is it really true in practice?

Thinking about it, I'm reminded of various "additive training" tricks. Teach an AI to do A, and then to do B, and it might just generalize that to doing A+B with no extra training. Works often enough on things like LLMs.

In this case, we use non-robot data to teach an AI how to do diverse tasks, and robot-specific data (real or sim) to teach an AI how to operate a robot body. Which might generalize well enough to "doing diverse tasks through a robot body".
by ErrantX | 2025-11-15 10:08:38+00:00
Yeh I think you are right and I am also finding larger apps built using SDD steadily get harder to extend.

> For large existing codebases, SDD is mostly unusable.

I don't really agree with the overall blog post (my view is all of these approaches have value, and we are still to early on to fnd the One True Way) but that point is very true.
by Lerc | 2025-11-15 10:10:00+00:00
I feel like it did, it was always a weird combination of hacky things and entrepreneur things, and people writing to learn how to write.

I find the tone of the posts also changes by time of day. I often wake up in the middle of the night for about an hour or two, if I browse HN then I find the new posts to be completely different (and a little antagonistic)There's a bunch of stuff that briefly climbs the page between the hours of 2am and 4am for me. It's usually gone by morning. I often wonder what time it is in what part of the world influences that tone.
by austin-cheney | 2025-11-15 10:13:15+00:00
I taught myself to write an original software application in JavaScript while living in Afghanistan about 16 years ago.

I suspect Gaza is maybe 10x, or much more, challenging environment. I often didn’t have access to internet, but in Gaza I suspect electricity is universally hard to find. I was only out of pocket on electricity while waiting for flights, which is a lot more time than you would imagine. I also had reliable access to food and water even when my travel and living situation was completely mysterious.

Based on my own experiences danger is far less distracting than hunger and fatigue. You can generally get through danger and still be interested in learning, but it’s hard to learn if your brain doesn’t have the rest and resources it needs.
by nchmy | 2025-11-15 10:14:04+00:00
I kept waiting for the guy to share some lesson that was learned, and it never came. The self-satisfied writing was less interesting than his complete disinterest in two other humans and the entire event.

What a sad existence he leads. It's as if he's stuck in the 1990s, and proud of it.

And the date wasn't even "stolen" - though smooth guy probably did steal that girl after the exceedingly low bar set by this dude.
by conradludgate | 2025-11-15 10:14:37+00:00
When it comes to QUIC, QUIC works best with unstable end-user internet (designed for http3 for the mobile age). Most end-user internet access is behind various layers of CGNAT. The way that NAT works is by using your port numbers to increase the address space. If you have 2^32 IPv4 addresses, you have 2^48 IPv4 address+port pairs. All these NAT middleboxes speak TCP and UDP only.

Additionally, firewalls are also designed to filter out any weird packets. If the packet doesn't look like you wanted to receive it, it's dropped. It usually does this by tracking open ports just like NAT, therefore many firewalls also don't trust custom protocols.
by jerome-jh | 2025-11-15 10:19:19+00:00
I would tend to think it uses Earth's magnetic field. Magnetizing or demagnetizing a moving mass would make its potential energy vary inside Earth's magnetic field. This may occur without reaction (I am not sure about this, my physics courses are far away and magnetic material physics is not that easy). Once they varied the potential energy of the moving mass, they would actually move it inside Earth's magnetic field, leading to a reaction force. The reaction force would be greater in one direction because of the cyclic magnetization/demagnetization.
by re-thc | 2025-11-15 10:19:59+00:00
> "circular" risk more refers to the recent 100B "investment", and that is quite misleading

No it's not. It refers to a web of companies sending money back and forth. Nvidia investing in OpenAI, OpenAI investing Coreweave and that goes back to Nvidia except recently 10x the scale. Amazon, Broadcom, Intel and many more are now all in on it.