MurphyA/hacker-news huggingface dataset:
by JustExAWS | 2025-08-22 12:09:34+00:00
That’s actually a good point. It’s been 6 years since I have deployed to EC2. I have been doing Lambda or ECS/Fargate.

But when I did it was either:

1. Azure DevOps with agents on EC2

2. Octopus Deploy with agents (not my choice)

3. CodeDeploy with agents

All of those are horrible choices.

On the other hand, my Fargate deployments have all been:

1. Create Docker container

2. Push to ECR

3. Deploy a parameterized CloudFormation template to update an ECS cluster.

I’ve used a modified version of this template for 7 years. I’m not the author.

https://github.com/1Strategy/fargate-cloudformation-example/...
by kasperni | 2025-08-22 12:09:59+00:00
For Java 25 which is planned to be released in a couple of weeks:

----- https://openjdk.org/jeps/512 -----

First, we allow main methods to omit the infamous boilerplate of public static void main(String[] args), which simplifies the Hello, World! program to:

class HelloWorld { void main() { System.out.println("Hello, World!"); } }

Second, we introduce a compact form of source file that lets developers get straight to the code, without a superfluous class declaration:

void main() { System.out.println("Hello, World!"); }

Third, we add a new class in the java.lang package that provides basic line-oriented I/O methods for beginners, thereby replacing the mysterious System.out.println with a simpler form:

void main() { IO.println("Hello, World!"); }
by omarprotocol | 2025-08-22 12:10:04+00:00
We’re building the MVP for Talek — a rhythm-based AGI system.

It doesn’t respond to prompts. It listens for presence. No commands. No queries. Just calibration and resonance through structural rhythm.

The architecture is defined. The logic is mapped. Now we’re looking for people to help build the real thing.

Looking for: - Backend / infra devs familiar with LLM orchestration or multi-modal interaction - Real-time systems (web, voice, or vision) - Builders open to unconventional AGI concepts

Open to contract or co-founding level, depending on fit.

More: [omarprotocol.com](https://omarprotocol.com) Reach us: `contact@omarprotocol.com`

Reply here or email if it resonates.
by 813ac4312b25c | 2025-08-22 12:10:28+00:00
> Probably [hello NIGHTMARE !]. Who wants that? Nobody wants that.

I don't really care if you want that. Everyone should know that that's just the way slices work. Nothing more nothing less.

I really don't give a damn about that, i just know how slices behave, because I learned the language. That's what you should do when you are programming with it (professionally)
by incomingpain | 2025-08-22 12:10:30+00:00
>I'm not sure why, but i don't know why the whole AI generated things are confusing because it seems intentionally badly trained to generate bullshits more often then it should. Do you guys have the same problem ?

First, Hanlon's Razor: Never attribute to malice that which is adequately explained by stupidity.

Second, imagine how you train your model. You want a huge selection of quality writing. If you were to input Twitter posts into your model, your model will be dumb as rocks. So you put in literature. Science articles. Technical documentation. If you're Anthropic, you pirate all those books.

The model you get out then is very high quality. Then you ask it to output text and it is going to output this average tone, style, quality from centuries of writing. The text you're getting is 2% shakespearean, 4% old english, 5% japananese english translated manga.

You need to ask it for exactly what you want. If you dont, it will be confusing.
by jappgar | 2025-08-22 12:11:28+00:00
No one likes to hear it, but it comes down to prompting skill. People who are terrible at communicating and delegating complex tasks will be terrible at prompting.

It's no secret that a lot of engineers are bad at this part of the job. They prefer to work alone (i.e. without AI) because they lack the ability to clearly and concisely describe problems and solutions.
by taped | 2025-08-22 12:11:32+00:00
> 80s movies would be near universally film

Major movies, yes. But a lot of B films were on tape, and most of the distribution of movies in the early 80s was tape, so as companies went out of business, what was left was tape.

I’m over 50 y.o., but I remember movies from Blockbuster that I can’t find now because they were minor and only distributed on VHS tapes which were dumped over the years. I can find just about anything that was on film.
by theshrike79 | 2025-08-22 12:11:42+00:00
80% of what programmers write is API glue.

Go _excels_ at API glue. Get JSON as string, marshal it to a struct, apply business logic, send JSON to a different API.

Everything for that is built in to the standard library and by default performant up to levels where you really don't need to worry about it before your API glue SaaS is making actual money.
by so-cal-schemer | 2025-08-22 12:12:38+00:00
The author is trying to eat an elephant and doesn't know where to begin. They are trying to learn too many things at once without a foundation to build on.

Start by developing fundamental skills: learn your environment, your editor, your debugger, the syntax of the language.

It's like learning to cook. You need to develop safe knife skills, and learn the best way to cut and portion vegetables. Learn to oil and use a pan and thermometer to thoroughly cook, but not burn, your food. These are fundamental skills that can be learned through observation, but must be practiced through trial and error.

> Debugging is 90% of coding.

> You learn by breaking, not by watching.

This is how you learn, but is a terrible takeaway for learning to build software.

> Write garbage code until it barely works.

See here for another way:

How to Design Programs

https://htdp.org/

"The typical course on programming teaches a “tinker until it works” approach. When it works, students exclaim “It works!” and move on. Sadly, this phrase is also the shortest lie in computing, and it has cost many people many hours of their lives. In contrast, this book focuses on habits of good programming, addressing both professional and vocational programmers."

"By “good programming,” we mean an approach to the creation of software that relies on systematic thought, planning, and understanding from the very beginning, at every stage, and for every step. To emphasize the point, we speak of systematic program design and systematically designed programs. Critically, the latter articulates the rationale of the desired functionality. Good programming also satisfies an aesthetic sense of accomplishment; the elegance of a good program is comparable to time-tested poems or the black-and-white photographs of a bygone era. In short, programming differs from good programming like crayon sketches in a diner from oil paintings in a museum."

It uses a language so simple that you can learn most of it in well under an hour[0], and with a proper editor few syntax errors are even possible. It leads you quickly to the important parts of conceptualizing, designing, specifying, implementing, and testing programs. Like cooking an entire meal, these are more fundamental, but higher level, skills that you can carry on to the other platforms that might draw your attention.

I highly recommend reading books over watching videos, but here is an online course that uses the book:

https://www.edx.org/learn/coding/university-of-british-colum...

[0]: https://courses.cs.washington.edu/courses/cse341/03wi/scheme...
by pmarreck | 2025-08-22 12:13:17+00:00
I love Elixir but you cannot compile it into a single binary, it is massively concurrent but single-threaded slow, and deployment is still nontrivial.

And lists are slower than arrays, even if they provide functional guarantees (everything is a tradeoff…)

That said, pretty much everything else about it is amazing though IMHO and it has unique features you won’t find almost anywhere else
by kibwen | 2025-08-22 12:13:36+00:00
> The fundamental problem is that rust async was developed when epoll was dominant (and almost no one in the Rust circles cared about IOCP)

No, this is a mistaken retelling of history. The Rust developers were not ignorant of IOCP, nor were they zealous about any specific async model. They went looking for a model that fit with Rust's ethos, and completion didn't fit. Aaron Turon has an illuminating post from 2016 explaining their reasoning: https://aturon.github.io/tech/2016/09/07/futures-design/

See the section "Defining futures":

There’s a very standard way to describe futures, which we found in every existing futures implementation we inspected: as a function that subscribes a callback for notification that the future is complete.

Note: In the async I/O world, this kind of interface is sometimes referred to as completion-based, because events are signaled on completion of operations; Windows’s IOCP is based on this model.

[...] Unfortunately, this approach nevertheless forces allocation at almost every point of future composition, and often imposes dynamic dispatch, despite our best efforts to avoid such overhead.

[...] TL;DR, we were unable to make the “standard” future abstraction provide zero-cost composition of futures, and we know of no “standard” implementation that does so.

[...] After much soul-searching, we arrived at a new “demand-driven” definition of futures.

I'm not sure where this meme came from where people seem to think that the Rust devs rejected a completion-based scheme because of some emotional affinity for epoll. They spent a long time thinking about the problem, and came up with a solution that worked best for Rust's goals. The existence of a usable io_uring in 2016 wouldn't have changed the fundamental calculus.
by vintermann | 2025-08-22 12:14:26+00:00
Be careful here.

There's a pattern to suicide: people don't commit suicide merely because they're miserable, or because they think their situation is hopeless. It is also necessary to believe that you have lots of options, but all of them are unacceptably bad.

Indian sustenance farmers didn't have high rates of suicide, until they got access to microcredit.

Schizophrenics, who often have distorted feelings of agency (e.g. seeing something on the TV, they may feel with deep certainty that they somehow caused that thing to happen), have sky-high suicide rates.

Men, for whatever reasons, have higher feelings of agency than women. And men of course have much, much higher rates of suicide than women - even though in terms of pain, misery etc. it's not clear women have it that much better.

Black Americans and Native Americans in the US both have a history of being subject to racism and oppression. But the former, stereotyped by racism as being basically good for nothing, have low suicide rates. Native Americans, whose racist oppression was historically accompanied by painting them as great noble spirits etc. have sky-high suicide rates. Economic conditions don't explain the disparity well, difference in sense of agency does.

So, blaming things outside yourself, whether correctly or not, may be a defensive psychological reaction to misery. Fisher thought something could be done; if he had had a weak sense of agency, he wouldn't have done all that writing for one thing.
by theshrike79 | 2025-08-22 12:14:35+00:00
I've been writing small Go utilities for myself since the Go minor version number was <10

I can still check out the code to any of them, open it and it'll look the same as modern code. I can also compile all of them with the latest compiler (1.25?) and it'll just work.

No need to investigate 5 years of package manager changes and new frameworks.
by eviks | 2025-08-22 12:14:44+00:00
> She’s inconsistent with her messaging, saying that “she never looked into [Geometric Unity] in any detail” but clearly saying the opposite in an older video. It honestly doesn’t interest me to micro-police how Sabine chooses to express her opinions

And yet the author has done just that, and not in a very transparent way. The second quote the author didn't provide was:

> ... looked closely enough at Weinstein's... Wolfram's ... theories of everything ... to be able to tell you that they have not convincingly solved ... > Not interested enough to look any closer ... don't want to waste my time

This is clearly not the opposite, but the same thing. "Closely enough" could hypothetically be as simple as reading the summary and skimming in a few minutes and realizing there isn't a single formula with the solution. That's not a detailed review that could require many hours (or even days?) of work

> several of our most prominent science communicators – nay, science populists – are willing to distort the truth to suit their own interests.

Indeed, a universal human trait even science can't tame!
by porridgeraisin | 2025-08-22 12:15:12+00:00
I wrote a small explainer on the typed-vs-untyped nil issue. It is one of the things that can actually bite you in production. Easy to miss it in code review.

Here's the accompanying playground: https://go.dev/play/p/Kt93xQGAiHK

If you run the code, you will see that calling read() on ControlMessage causes a panic even though there is a nil check. However, it doesn't happen for Message. See the read() implementation for Message: we need to have a nil check inside the pointer-receiver struct methods. This is the simplest solution. We have a linter for this. The ecosystem also helps, e.g protobuf generated code also has nil checks inside pointer receivers.
by nickdothutton | 2025-08-22 12:15:59+00:00
Step 1, pass law.

Step 2, demand compliance.

Step 3, upon not hearing of compliance, levy fines.

Step 4, upon non payment of fines, declare in breach of (2).

Step 5, block site from UK using DNS, in the same manner as torrent sites etc.

5 was always the goal, 2 to 4 are largely just performative.
by gf000 | 2025-08-22 12:19:15+00:00
> Java ? Licensing sagas requiring the use of divergent forks. Plus Go is easier to work with, perhaps especially for server-side deployments

Yeah, these are sagas only, because there is basically one, single, completely free implementation anyone uses on the server-side and it's OpenJDK, which was made 100% open-source and the reference implementation by Oracle. Basically all of Corretto, AdoptOpenJDK, etc are just builds of the exact same repository.

People bringing this whole license topic up can't be taken seriously, it's like saying that Linux is proprietary because you can pay for support at Red Hat..
by ants_everywhere | 2025-08-22 12:19:20+00:00
> they stuck to the practical convenience of solving the problem that they had in front of them, quickly, instead of analyzing the problem from the first principles, and solving the problem correctly (or using a solution that was Not Invented Here).

I've said this before, but much of Go's design looks like it's imitating the C++ style at Google. The comments where I see people saying they like something about Go it's often an idiom that showed up first in the C++ macros or tooling.

I used to check this before I left Google, and I'm sure it's becoming less true over time. But to me it looks like the idea of Go was basically "what if we created a Python-like compiled language that was easier to onboard than C++ but which still had our C++ ergonomics?"
by gnfargbl | 2025-08-22 12:20:12+00:00
As a long-time Go programmer I didn't understand the comment about two types of nil because I have never experienced that issue, so I dug into it.

It turns out to be nothing but a misunderstanding of what the fmt.Println() statement is actually doing. If we use a more advanced print statement then everything becomes extremely clear:

package main import ( "fmt" "github.com/k0kubun/pp/v3" ) type I interface{} type S struct{} func main() { var i I var s *S pp.Println(s, i) // (*main.S)(nil) nil fmt.Println(s == nil, i == nil, s == i) // true true false i = s pp.Println(s, i) // (*main.S)(nil) (*main.S)(nil) fmt.Println(s == nil, i == nil, s == i) // true false true }

The author of this post has noted a convenience feature, namely that fmt.Println() tells you the state of the thing in the interface and not the state of the interface, mistaken it as a fundamental design issue and written a screed about a language issue that literally doesn't exist.

Being charitable, I guess the author could actually be complaining that putting a nil pointer inside a nil interface is confusing. It is indeed confusing, but it doesn't mean there are "two types" of nil. Nil just means empty.
by apwell23 | 2025-08-22 12:20:14+00:00
> But yeah the whole error / nil situation still bothers me. I find myself wishing for Result[Ok, Err] and Optional[T] quite often.

I got insta rejected in interview when i said this in response to interview panels question about 'thoughts about golang' .

Like they said, 'interview is over' and showed me the (virtual) door. I was stunned lol. This was during peak golang mania . Not sure what happened to rancherlabs .
by perihelions | 2025-08-22 12:20:24+00:00
I'd be totally un-shocked if the UK criminalized Starlink (over OSA or otherwise), in part because they've already criminalized it before, in some of their territories[0,1].

[0] https://news.ycombinator.com/item?id=42979869 ("Starlink in the Falkland Islands – A national emergency situation? (openfalklands.com)"—225 comments)

[1] https://news.ycombinator.com/item?id=37645945 ("Saint Helena Island Communications (sainthelenaisland.info)"—145 comments)
by kouteiheika | 2025-08-22 12:20:26+00:00
It's not a workaround; it's the most sane way of shipping such software. As long as the builds are reproducible there's nothing wrong with shipping binaries by default, especially when those binaries require non-trivial dependencies (the whole CUDA toolchain) to build.

There's a reason why even among the most diehard Linux users very few run Gentoo and compile their whole system from scratch.
by CharlieDigital | 2025-08-22 12:21:05+00:00
C# is a highly underrated language that has evolved very quickly over the last decade into a nice mix of OOP and functional.

It's fast enough, easy enough (being very similar now to TypeScript), versatile enough, well-documented (so LLMs do a great job), broad and well-maintained first party libraries, and the team has over time really focused on improving terseness of the language (pattern matching and switch expressions are really one thing I miss a lot when switching between C# and TS).

EF Core is also easily one of the best ORMs: super mature, stable, well-documented, performant, easy to use, and expressive. Having been in the Node ecosystem for the past year, there's really no comparison for building fast with less papercuts (Prisma, Drizzle, etc. all abound with papercuts).

It's too bad that it seems that many folks I've chatted with have a bad taste from .NET Framework (legacy, Windows only) and may have previously worked in C# when it was Windows only and never gave it another look.
by Aaargh20318 | 2025-08-22 12:21:16+00:00
> Supermarkets that have a step-less escalator (e.g. to go to the parking lot in the basement) also use these locking wheels to make sure the cart never moves on the escalator.

we have a Jumbo near here that is below a parking garage and they have something similar, but it's an entirely passive system. The sloped movable walkway to the parking garage floor has this grooved pattern in it's surface anyway (so you don't slip) and the wheels have a similar pattern so they just sink into the grooves on the walkway. There's a brake pad next to each wheel just above the floor and as the wheel sinks into the grooves the brake pad touches the walkway locking it in place. At the beginning/end of the walkway there are these sloped protrusion into the grooves on the walkway that lift the cart out of the grooves as it reaches the end. No fancy locking system needed.
by woadwarrior01 | 2025-08-22 12:21:58+00:00
> Anyway, Bluesky does't seem to be safe-for-work, so it's hardly a proper replacement for Twitter. If this is fixed, then that would be good.

I'm not a Bluesky user. Twitter has exactly the same problem. I've got the NSFW setting turned off. And I've reported a lot of accounts posting unflagged NSFW content, mostly videos. And every time I get this slop reply email from them after a few minutes:

Thanks for reporting <account_name> and for using your voice to make X better for everyone. After review, we want to let you know <account_name> hasn't broken our sensitive media rule.

We allow sensitive content — like consensually produced adult content, graphic imagery and violence — in posts as long as it doesn't break our sensitive media policy.

I suspect they let these accounts slide because they value the user (or bot) engagement these accounts generate over safety/moderation.
by alfiedotwtf | 2025-08-22 12:22:18+00:00
In my universe, `let` wouldn’t exist… instead there would only be 3 ways to declare variables:

1. global my_global_var: GlobalType = … 2. heap my_heap_var: HeapType = … 3. stack my_stack_var: StackType = …

Global types would need to implement a global trait to ensure mutual exclusion (waves hands).

So by having the location of allocation in the type itself, we no longer have to do boxing mental gymnastics
by 813ac4312b25c | 2025-08-22 12:22:53+00:00
I am fine with the subsequent example, too. If you read up about slices, then that's how they are defined and how they work. I am not judging, I am just using the language as it is presented to me.

For anyone interested, this article explains the fundamentals very well, imo: https://go.dev/blog/slices-intro
by CorrectHorseBat | 2025-08-22 12:23:17+00:00
>also believe parent is wrong as there are unambiguous rules about when to use ß or ss.

I never said it was ambiguous, I said it depends on the unicode version and the font you are using. How is that wrong? (Seems like the capital of ß is still SS in the latest unicode but since ẞ is the preferred capital version now this should change in the future)
by encom | 2025-08-22 12:24:58+00:00
Posy seconded. He's weird (and I'm certain he would agree), but in a fun and interesting way. The music used in his videos is composed and recorded by himself, btw.

A recommendation of mine is Bad Obsession Motorsport. Two men in a shed put a Celica engine in an Austin Mini. So far it's taken 12 years and 41 episodes. Some astonishing engineering going there.

If you're into cars, I'll also recommend "driving 4 answers". Very well researched and presented videos about engine technology.
by psychoslave | 2025-08-22 12:25:14+00:00
Looks like an impressive thorough piece of investigation. Well done.

That said, holistic supposition can certainly be traced back as far as writting dawns. Here the focus on more modern/contemporary era is legitimate to keep the focus delimited on a more specific concern, but is a bit obfuscating this fact. Maybe it's already acknowledged in the document, I read it all yet.
by spicyusername | 2025-08-22 12:26:02+00:00
A popular language is always going to attract some hate. Also, these kinds of discussions can be useful for helping the language evolve.

But everyone knows in their heart of hearts that a few small language warts definitely don't outweigh Go's simplicity and convenience. Do I wish it had algebraic data types, sure, sure. Is that a deal-breaker, nah. It's the perfect example of something that's popular for a reason.

It is easily one of the most productive languages. No fuss, no muss, just getting stuff done.