MurphyA/hacker-news huggingface dataset:
K8s Server-Side Package Management with Yoke's Air Traffic Controller
by davidmdm91 | 2025-04-11 13:02:22+00:00
Yoke is often compared to Helm as an alternative package manager.

At a surface level, this comparison is valid because the Yoke core CLI offers functionality very similar to Helm. The key difference, however, lies in the type of packages it manages. Helm uses charts (collections of templated YAML files that, given some values, output resources), while Yoke uses flights (programs compiled to WebAssembly that read input from stdin and write resources to stdout).

However, as a project, Yoke believes that client-side package management is only a stepping stone toward server-side package management.

Client-side package management is not fully aligned with the ethos of Kubernetes. Kubernetes is designed to be extended with APIs that are created, validated, and authorized by the control plane. By deploying on the client side, we forgo many of the capabilities Kubernetes offers, often to our detriment.

In the past year, we have seen a shift toward server-side solutions, with new projects emerging to enable resource and package abstractions built directly on Kubernetes. Examples include KRO, Crossplane Functions, Koreo, and others.

It should come as no surprise, then, that the Yoke project has its own server-side solution for this purpose: the Air Traffic Controller (ATC).

Similar to KRO, the ATC enables server-side package management, but with the same key difference that distinguishes the Yoke CLI from Helm: there's no YAML—just code.

How Does It Work?

1. Define a Custom Resource Definition (CRD): Write a CRD type in your code.

2. Write a Program (Yoke Flight): Create a program that reads an instance of the custom resource from stdin and outputs the desired resources to stdout.

3. Create an Airway: Use an Airway (a custom resource included with the ATC) to define your new CRD and associate it with the program you wrote.

4. Deploy Packages: Use your newly created custom resource to deploy packages via the Kubernetes API.

With this approach, we encapsulate all of our Kubernetes application logic into a single program without the need to build a custom operator. The only logic required is the transformation of our new custom API into a set of Kubernetes resources. This method retains all the advantages of a comprehensive development environment, including type safety, ease of testing, IntelliSense, and the full range of features you would expect from a modern coding environment.

For more information, visit the docs: https://yokecd.github.io/docs/airtrafficcontroller/atc/ or follow along with the examples https://github.com/yokecd/examples written in Go.

We’d love to hear your thoughts and feedback on Yoke’s Air Traffic Controller! Feel free to share your ideas, use cases, or any challenges you encounter. Let us know what you think!
by weard_beard | 2025-04-11 13:02:40+00:00
My brain is waterfall in an agile world.

Strength: Seeing the bigger picture and the ability to hold an entire system in my head along with the context of prior projects and the body of knowledge I've built. I can build large complex enterprise systems in my mind all at once and articulate the principles and patterns involved to my peers and clients.

Weakness: I am often frustrated and upset when I don't have enough information to do this and will wait and procrastinate until I have enough information to form this system fully in my mind, then build or design or document a thing all at once.

I am perceived by my peers to be a, "slow" developer so I got "Peter Principle"'d into a Solution Architect and consultant.

My coping mechanism to handle this when I do agile development with peers is, when working with incomplete information, develop many versions of the same partial system in my head. A/B test them and extrapolate from incomplete information the most likely complete system.

Then build that version.
by matt_s | 2025-04-11 13:02:45+00:00
As a manager, I feel like I can do any tasks my team can do. I usually chip in on non-critical path items or if someone is out, I can "pinch hit" and keep things moving along. I'm typically in planning, status and 1:1 meetings so there isn't a lot of focus time available for me but if needed in crunch time, I'm fully capable to take on critical path work and ditch the meetings.

I have general anxiety about moving up beyond this current role because I have a hard time understanding what those levels contribute. Any person that can do basic math can plan a budget, extra digits don't make it more complicated and typically someone is setting a goal/total for you anyhow. If most of those roles is dealing with internal politics, there are probably ways to avoid some of that work.
by varispeed | 2025-04-11 13:03:16+00:00
It's a critique of the logic embedded in the definition you're using. You said earlier that being a professional or in management is "pretty much the definition of middle class." That is treating class as a static category tied to job role and income, not history, autonomy, or access to power.

My point is: when you define class that narrowly, it becomes easy to dismiss systemic barriers people face once they gain a bit of success. It makes it seem like they've escaped and no longer face structural disadvantages, which just isn't true for many. Especially when policies like IR35 are designed to push them out of ownership and back into dependency.
by buyucu | 2025-04-11 13:03:19+00:00
https://www.cbc.ca/news/canada/north/canadian-detained-us-bo...

https://www.dw.com/en/german-nationals-us-immigration-detain...

https://lamag.com/latravel/detained-at-the-border-what-forei...

https://www.msn.com/en-us/news/us/tufts-student-grabbed-off-...

I really don't want this kind of nonsense in my life. Why would I visit a country that thinks this kind of treatment is okay?
by gibbitz | 2025-04-11 13:03:22+00:00
Many things about human brains are different than other primates. Our ability for language being most prominent. Many things are not different, however. Alpha seeking and advantage seeking behavior lead to tribalist behaviors seen in many primate communities where alphas fight to the death for leadership privileges and take mates from non-alpha apes. This leads to social structures that give rise to inequality in the group. Just like human society. We suffer because we refuse to all treat each other with dignity, trust and respect. We suffer because we don't let the reasoning and linguistic capabilities of our human brains dominate the animalistic drive of greed. Though it looks like we could fix this overnight ("we have the technology"), much like using tariffs to increase domestic production after globalism, that process can only be won in small steps. The best we can do is to teach our children to treat others as equals and to work together to punish those who victimize for personal gain. Eventually this could lead to a world where inequality fades away, but it will take millennia and who knows what will be left to share by then.
by skydhash | 2025-04-11 13:05:34+00:00
It takes a bit of discipline, but generally all state additions should be scoped to the current context. Meaning, when you enter a subcontext, it has become input and treated as holy, and when you leave to the parent context, only the result matters.

But that particular context has become inpure and decried as such in the documentation, so that carefulness is increased when interacting with it.
by milesrout | 2025-04-11 13:06:36+00:00
No, functions aren't first class in C. When you use a function in an expression it undergoes lvalue conversion and "decays" to a pointer to the function. You can only call, store, etc function pointers, not functions. Function pointers are first class. Functions are not as you can't create them at runtime.

A functional programming language is one with first class functions.
by conductr | 2025-04-11 13:07:13+00:00
Not to gaslight you but sometimes adhd isn’t adhd. My son can’t sit still and is this way. The more I watch it and talk to doctors and reflected on my own memory of youth I realize he’s basically my clone and I have all these symptoms too. Turns out it’s a motor sensory (muscle/balance) issue that he can correct with some occupational therapy and learned coping skills. I developed my own coping skills without a therapist and never really intentionally built my core strength.

Anyways I mention it because if one can focus on selective tasks, like working on a side project, I think adhd is perhaps an easy/lazy diagnosis but maybe not the correct one.
by neutronicus | 2025-04-11 13:07:34+00:00
I assume it's about papering over the gaps in their content library.

You can't provide a seamless UX for turning on the TV and watching The Office if you don't own the rights to The Office. They want to habituate you to scrolling through content Netflix actually owns and picking something, because it's apocalyptic for them if you ever treat the services as fungible content libraries that you hop between month-to-month.
by FinnLobsien | 2025-04-11 13:07:37+00:00
I also dislike the TikTokification of everything, but I also know that all of us on this platform are wrong in the sense that we're not the user being designed for.

Consumer apps at massive scale like TikTok and Netflix don't design for nerds like us, they design for the average person. Actually, they design for the average behavior of the average person.

And most people on this planet are more or less happy with whatever they're presented with because they don't care about technology.

And when you control what's presented to people, not they (and they don't care), you can push them to consume what you want them to consume.

I heard a YC group partner once that he's worked with a ton of delivery apps. Many of them start out as differentiated apps for ordering from the best "hole in the wall" places or the app for authentic foreign cuisines, only to discover that the best growth hack is getting McDonald's on the app, because that'll be your top seller, instantly.

Most people just do the default thing everyone does—and we're probably all like that in one aspect or another of our lives, and that's who many experiences are designed for.
Ask HN: What can I do as a U.S. citizen to stop this?
by crusade_not_now | 2025-04-11 13:08:32+00:00
We need to put an end to "Yes" and "Not now" being the only options presented when prompted for consent on the web, in apps, etc.

It's an attack on autonomy and consent.

Sure, there's cases where it's warranted, but it is very clearly not used wholesomely in the general sense.

I've had a weird week, so maybe this is an over-reaction, but this is a hill I am willing to die on. This, and making it so if I can sign up for an account online, I should be able to close my account online (looking at you, Planet Fitness... despicable).

Please help me find a way to drive change.

Edit: I am a US citizen, but I want global change
by JKCalhoun | 2025-04-11 13:08:34+00:00
I'm retired as well, dislike what we have for the internet these days.

In reflecting on my career I can say I got into it for the right reasons. That is, I liked programming — but also found out fairly quickly that not everyone could do it and so it could be a career path that would prove lucrative. And this in particular for someone who had no other likelihood, for example, of ever owning a home. I was probably not going to be able to afford graduate school (had barely paid for state college by working minimum wage jobs throughout college and over the summers) and regardless I was not the most studious person. (My degree was Education — I had expected a modest income as a career high school teacher).

But as I say, I enjoyed programming at first. And when it arrived, the web was just a giant BBS as far as I was concerned and so of course I liked it. But it is possible to find a thing that you really like can go to shit over the ensuing decades. (And for that matter, my duties as an engineer got shittier as well as the career "evolved". I had not originally signed up for code reviews, unit tests, scrum, etc. Oh well.)

Money as a pursuit made sense to me after I was in the field and saw that others around me were doing quite well — able as I say, to afford to buy a home — something I had assumed would always be out of reach for me (my single mother had always rented, I assumed I would as well — oh, I still had a modest college loan to pay off too). So I learned about 30-year home loans, learned about the real estate market in the Bay Area, learned also about RSUs, capital gains tax, 401Ks, index finds, etc.

But as is becoming a theme in this thread (?) at some point I was satisfied that I had done enough to secure a home, tools for my hobbies, and had raised three girls — paid for their college. I began to see the now burdensome career I was in as an albatross around my soul. The technology that I had once enjoyed, made my career on the back of, had gone sour.
by nthingtohide | 2025-04-11 13:08:45+00:00
Earlier people used to spend 2-3 hrs watching and absorbing a single movie. Now people spend 5 hrs scrolling tiktok. So in a sense time spent on content has actually increased. People don't need filler and lengthy buildups. People have been exposed to so much culture they can almost predict the general plotline so no need to spend time on that. Give me the plot twist or the drop (in case of spotify) with short relevant context. I remember Balaji saying something to this effect. He said don't give me filler content, just give me "fixed point" content which doesn't change after successively summarization and pruning.
by ramses0 | 2025-04-11 13:09:03+00:00
There is hope! I was going to point to my favorite example of the [menu] element being deprecated, but it looks like it's been un-deprecated!

I've tried to find better references, but mostly coming up with tutorial-trash and random `.edu` sites.

Menu Deprecation Notice: https://www.w3.org/TR/WD-html40-970708/appendix/changes.html

Menu Deprecated in HTML 4: https://www.w3.org/TR/html401/struct/lists.html#h-10.4

Menu Part of HTML 5 Spec: https://www.w3.org/TR/2011/WD-html5-20110405/interactive-ele...

Other Commentary: https://dpogue.ca/articles/html5-menu.html

Random bug report: https://github.com/IBMa/equal-access/issues/752#issuecomment...
by perrygeo | 2025-04-11 13:09:09+00:00
> Even if you do, it's quite often a very small part of the entire project.

So your projects are only moving bits from one place to another? I've literally never seen that in 20 years of programming professionally. Even network systems that are seen as "dumb pipes" need to parse and interpret packet headers, apply validation rules, maintain BGP routing tables, add their own headers etc.

Surely the program calculates something, otherwise why would you need to run the program at all if the output is just a copy of the input?
by vkazanov | 2025-04-11 13:09:20+00:00
In a way this is true.

A function pointer is already half way there. What it lacks is lexical environment capture.

And things that are possible to do with closures never stop amazing me.

Anyways, functional programming is not about purity. It is something that came from the academia, with 2 major language families: ML-likes and Lisp-likes, each focusing on certain key features.

And purity is not even the key feature of MLs in general.
by 7thaccount | 2025-04-11 13:09:56+00:00
We may be talking past each other.

I don't think it is harder on programmers now (or easier for programmers in the past). I can do things in Python that would make me a 10x programmer 40 years ago if the hardware could have supported it. They also didn't have stack overflow back then...just a dog-eared copy of some old C book. They didn't have hardware like we do that would've made a supercomputer back then look like something you'd put in a toaster today (that was a poorly worded sentence...sorry). The challenges they faced were numerous.

My point is that the actual complexity layers are much worse now. Back in the Commodore 64 days, many users knew the machine inside and out. They could program in assembly, do graphics on the display...etc, all while understanding exactly what is going on. None of that was easy or as efficient as what I can do in Excel today or some 3D graphics program, but it was something you could wrap your head around. Today, we have huge monolithic amounts of code or hardware for everything. I don't understand anything about my hardware, I don't understand the millions of lines of windows, I don't understand the millions of lines in Microsoft Office, or how my web browser works or how Unreal engine was built...etc. It's the product of millions of people working together to create something beyond the limits of a single human.

If we wanted to truly start from scratch, there's no way (that I can see) where we can reinvent all of that and actually get a large amount of users. It's not impossible, but Herculean. You could do something if the to-do list was MUCH smaller, like what was done with Temple OS or Collapse OS.
by BobbyTables2 | 2025-04-11 13:11:59+00:00
I think it still makes sense if one wants all the fancy bells & whistles of Apache without reimplementing them in their own webserver.

In some sense, implementing a full webserver just because the world standardized on a horribly inefficient way of handling CGI is pretty silly.

We don’t rewrite “cp” and such just because we want to copy multiple files quickly…

Of course, if the sole purpose is just to handle CGI types of things, then the custom embedded webserver likely makes more sense. Apache is a horribly complex beast.
by larve | 2025-04-11 13:12:01+00:00
It's always hard to parse if people mean functional programming when bringing up Lisp. Common Lisp certainly is anything but a functional language. Sure, you have first order functions, but you in a way have that in pretty much all programming languages (including C!).

But most functions in Common Lisp do mutate things, there is an extensive OO system and the most hideous macros like LOOP.

I certainly never felt constrained writing Common Lisp.

That said, there are pretty effective patterns for dealing with IO that allow you to stay in a mostly functional / compositional flow (dare I say monads? but that sounds way more clever than it is in practice).
by yndoendo | 2025-04-11 13:12:50+00:00
Einstein died before we learned that quantum entanglement was not local and occurs over distance. The book "Einstein's Unfinished Revolution"[0] talks about what he knew and what was found after his death. It also talks about where and why modern quantum mechanics diverge from his theories.

[0] https://en.m.wikipedia.org/wiki/Einstein's_Unfinished_Revolu...
by Lebu | 2025-04-11 13:12:57+00:00
Location: Nairobi,Kenya

Remote: Yes

Willing to relocate: Yes

Technologies: React js, react native, C, Python, Php laravel.. Code igniter , Java, HTML, CSS, Git, MySQL..... And open to learn new technologies

Resume/CV:https://www.linkedin.com/in/lebu-ayiga-1b93261b6

https://lebuayiga.vercel.app/

Email: lebu.a.7@gmail.com

Graduated with a certificate on MIT from Emobilis Training institute then pursued a diploma in computer science and am currently continuing with my bachelors degree. Am open to full-time or internship remote jobs that would help me build my experience. I have no professional experience but i have worked on personal projects as well as group projects from our schools Google Developer Student Club

I would love to work in an organisational level so i canbe able to contribute my skills
by nthingtohide | 2025-04-11 13:13:07+00:00
Why don't companies have multiple recommendation strategies. One for power-users. One for casual users etc. Have the router infront of these models to intelligent switch between the different styles. In fact, there are times when I want indepth analysis. But after understanding the topic, I need short form content or memes which "update" or "entertain" the same topic in ongoing manner.
by atonse | 2025-04-11 13:13:26+00:00
I had to scale a high profile Wordpress site during the pandemic. It got huge spikes daily during a press conference. It got 150k hits per second.

Apart from moving it from windows to Linux, I put it in front of varnish and spent a few hours tweaking the config to make sure everything still worked. It was my first time using varnish so it took longer.

It performed flawlessly for years.

Varnish was a real workhorse.
by bayindirh | 2025-04-11 13:13:55+00:00
> Qt later got relicensed, but both projects kept pulling in different directions.

Both desktop environments pull in different directions in appearance only. Esp. KDE team works their heads off to be compatible with GNOME and to support/build standards which work equally well on both systems. For example, ".desktop" file specification. Another notable example is, every KDE release comes with identical GTK themes for flagship Qt theme, plus numerous others which I can't remember now.

So, the underlying standards of many Desktop Environments are the same, because there are standards which many don't see, know, care (and this is a good thing). Vaxry is a case study here, and I exclude his creations.

I know this, because, I took part in developing a Debian derivative distro for ~5 years or so.

> FWIW it managed to pull most distros in a single direction, decreasing ecosystem fragmentation. The outliers are well, outliers.

On the other hand, every distribution selects parts of systemd, patches part of the selected set and configures this set, hence integrates systemd differently in different levels. This creates behavioral differences in systems and their systemd installations.

IOW, systemd didn't reduce fragmentation to the level people wanted them to believe.

Moreover, pulling from that 20+ experience with Linux systems, their behavior was already this consistent since forever. RedHat had a wrapper called "service" on top of "/etc/init.d" system, but the scripts were portable. Some config files unrelated to systemd/init.d were in different places (and still are). e.g. apache/httpd, /etc/network/interfaces vs. /etc/sysconfig/network-scripts, etc.

So, the defragmentation by systemd is an illusion. Since forever, I had to either look for /etc/{redhat,debian}_version or type apt/yum/dnf and press enter to see which distro I'm on. The rest is basically the same, across hundreds of installations.
by rollcat | 2025-04-11 13:13:56+00:00
> Either way, it's good that there are alternatives. I like how heterogenous the whole Linux ecosystem can be, it helps mitigate large scale security issues.

IMHO all it does is drive fragmentation and marginalisation. Either your alternative is successful enough that third parties are compelled to care about it (making the integration work on their part more painful, which is often "solved" by using Electron); or it isn't, so you have to bring in your own integration (aka glue).

Sorry but Ballmer was right: developers, developers, developers. Users add value, developers multiply it.
by gardnr | 2025-04-11 13:14:08+00:00
Apple faces lawsuit over Apple Intelligence delays

From March 20th:

Apple has been sued in federal court over what plaintiffs allege is false advertising of several Apple Intelligence features.

Filed Wednesday in U.S. District Court in San Jose, the suit seeks class-action status and damages on behalf of those who purchased Apple Intelligence-capable iPhones and other devices. Plaintiffs claim that device owners haven’t received the Apple Intelligence features they were promised.

https://news.ycombinator.com/item?id=43431118

https://techcrunch.com/2025/03/20/apple-faces-lawsuit-over-a...