MurphyA/hacker-news huggingface dataset:
Show HN: KLogger – Quick CLI to grab all deployment logs from a K8s namespace
by christensen143 | 2025-07-03 15:51:21+00:00
Had a vendor ask for logs from our Kubernetes cluster today. We don't run any log aggregation (no fluentd/fluentbit) except DataDog, so I needed to grab logs from 30+ deployments across three namespaces.

Instead of running kubectl logs for each deployment manually, I built this Python CLI that collects all deployment logs from a namespace in one shot. It organizes them by date and namespace, runs collections in parallel, and handles the usual k8s edge cases (multiple pods per deployment, failed pods, etc).

Usage is simple: klogger collect -n production

Nothing groundbreaking, but it saved me hours of manual work and might help others in similar situations. It's basically a kubectl wrapper that does one thing well - bulk log collection when you need it.

GitHub: https://github.com/christensen143/klogger
by rapind | 2025-07-03 15:51:44+00:00
Sure. The issue for me is when people intentionally mislabel something to make it look worse.

For example, mislabelling socialism as communism. The police department, fire department, and roads are all socialist programs. Only a moron would call this communism and yet for some reason universal healthcare...

There's also this nonsense when someone says "That's the free market at work", and I'm like, if we really lived in a free market then you'd be drinking DuPont's poison right now.

Using the words "Communism" and "Free market" just show a (often intentional) misunderstanding of the nuance of how things actually work in our society.

The communism label must be the most cited straw man in all of history at this point.
by louthy | 2025-07-03 15:52:14+00:00
I didn’t buy a pc until much later (I was an Acorn user), so you may be right, but the lore around that lasted a reasonable amount of time if my memory serves me correctly. Well into the late 80s.

I’d still argue nobody cared about architectures, they cared about where the type of computer was primarily used. PCs were for the office. Acorn was for education. Atari, Commodore, Sinclair were for games and therefore vulnerable to games consoles.

I seem to remember that PCs had quite a poor rep for games, even during the Wolfenstein -> Doom -> Quake era. Only really shaking that off when the first graphics cards arrived
by dskhatri | 2025-07-03 15:52:18+00:00
I've been in love with Emacs and Org Mode for over a decade mostly as a user, only writing basic Elisp in my .emacs initialization file. Writing this book made me even more enamored with Emacs as I learned to write a few packages, and spent much time browsing the Org source code, especially around the export engine [1]. It was useful going through one.el source code as well [2]

[1] https://github.com/emacs-mirror/emacs/blob/master/lisp/org/o... [2] https://github.com/tonyaldon/one.el

And, thank you!
by Aurornis | 2025-07-03 15:52:19+00:00
> If he's that competent, he could hire/mentor juniors and just use his skills to run a contracting business and keep making big bucks while not having to lie all the time?

I've worked with several small contracting businesses, including some that came highly recommended.

They were all very inefficient relative to having someone in-house. They also came with the problem that institutional knowledge was non-existent because they had a rotating crew of people working for you.

Hiring someone in-house is more efficient and better for building institutional knowledge. The companies he applied for specifically did not want to contract the work out to a body shop.
by riskable | 2025-07-03 15:52:19+00:00
It's the first step in a two-step process:

1. Rewrite in (unsafe) Rust. 2. Update the code over time, moving towards safe Rust.

It's the old, "get it working then fix it" process. In business that's normally a bad idea because you end up wasting more time than if you'd just done things correctly from the start but for a hobby project it's fine. Because then you're more likely to learn something and possibly—ultimately—end up with a better end product.

To a business, time your developers spend learning things (the hard way) is wasted.

To a hobbyist, taking the time to learn things is time well-spent.
by egisspegis | 2025-07-03 15:52:20+00:00
It wasn't. But, if you look at it, history is on the side of Israel. I don't recall any terrorist attacks done by Israel, but I do recall at least a dozen done by hamas. Also, there were 0 (zero) jews in Gaza for the last 20 years or so.

In any case, the question wasn't about history. It was about specific situation that requires specific decisions. Yet you deflected the question entirely. While, at the same time, showing lack of historical knowledge. Saddest thing here is that I'm not surprised anymore to get "answers" like these from people like you.
by threatofrain | 2025-07-03 15:52:30+00:00
By traditional media I mean blogs. I'm saying there are already a trillion high quality blog posts on this very topic. There's YT, wikis like MDN, bootcamps, real life or digital curriculum. These are all examples of "traditional" as opposed to chat bot style learning, which is completely new to the education space.

Also we definitely don't need more of this as training material, for humans or machines. It's not like you can't write a better introduction to JS, but by now the bar is very high and the likelihood of writing something good without pedagogical conviction is pretty bad, and this blog post is no different.

It has a mock pedagogical voice that people do when they think they're writing in a friendly way, a kind of pedagogical style developed in isolation from all other educators, whether traditional like YT & MDN or otherwise.
by CamperBob2 | 2025-07-03 15:53:22+00:00
We’ve known for well over a decade that you cannot cram real-world spatial dynamics into those models. It is a clear impedance mismatch.

Then again, not much that we "knew" a decade ago is still relevant today. Of course transformer networks have proven capable of representing spatial intelligence. How could they work with 2D images, if not?
by less_less | 2025-07-03 15:53:43+00:00
This will depend on the field, and for F_2^m you want odd powers: sum(x), sum(x^3), sum(x^5) etc. Using sum(x^2) won't help because squaring over F_2^m is a field homomorphism, meaning that sum(x^2) = sum(x)^2.

This is also how BCH error-correction codes work (see https://en.wikipedia.org/wiki/BCH_code): a valid BCH codeword has sum(x^i where bit x is set in the codeword) = 0 for t odd powers i=1,3,5, ... Then if some bits get flipped, you will get a "syndrome" s_i := sum(x^i where bit x was flipped) for those odd powers. Solving from the syndrome to get the indices of the flipped bits is the same problem as here.

The general decoding algorithm is a bit involved, as you can see in the Wikipedia article, but it's not horribly difficult:

• First, extend the syndrome: it gives sum(x^i) for odd i, but you can compute the even powers s_2i = s_i^2. • The syndrome is a sequence of field values s_i, but we can imagine it as a "syndrome polynomial" S(z) := sum(s_i z^i). This is only a conceptual step, not a computational one. • We will find a polynomial L(z) which is zero at all errors z=x and nowhere else. This L is called a "locator" polynomial. It turns out (can be checked with some algebra) that L(z) satisfies a "key equation" where certain terms of L(z) * S(z) are zero. The key equation is (almost) linear: solve it with linear algebra (takes cubic time in the number of errors), or solve it faster with the Berlekamp-Massey algorithm (quadratic time instead, maybe subquadratic if you're fancy). • Find the roots of L(z). There are tricks for this if its degree is low. If the degree is high then you usually just iterate over the field. This takes O(#errors * size of domain) time. It can be sped up by a constant factor using Chien's search algorithm, or by a logarithmic factor using an FFT or AFFT.

You can of course use a different error-correcting code if you prefer (e.g. binary Goppa codes).

Edit: bullets are hard.

Further edit just to note: the "^" in the above text refers to powers over the finite field, not the xor operator.
by hbn | 2025-07-03 15:53:43+00:00
LLMs help me at work writing one-off scripts where I can verify they're behaving correctly. Or I'll give it a few lines of code where I don't like how they read and ask it if there's a cleaner way to write it, i.e. if there's maybe an API or method on a class that I'm forgetting/didn't know about, and I can understand its suggestion for a rewrite.

But getting it to spit out hundreds or even thousands of lines of code and then just happy path testing and shipping is insane.

I'm really concerned about software quality heading into the future.
by submeta | 2025-07-03 15:53:49+00:00
Tmux is a gamechanger for me. Being able to start a dozen different projects with one line (using tmuxinator): the server, tailing logfiles, activating venvs, running the docker container, all within one line of code: Awesome. Hadn’t worked with it for years, just started again two days ago as I migrated from iTerm to Ghostty. And am loving the setup. Plus nvim. Pure awesomeness.

Looking forward to check out tmux-rs.
by HappyPanacea | 2025-07-03 15:54:13+00:00
I made an arithmetical mistake in base 4, so I was wrong. I also wrote they are instead of there are.

I think the following is true: For even k the cycle is k^2 long and for odd k is k long. Why? because units' place of generalized xor from 1 to k-1 is (k^2-k)/2 and therefore zero mod k if k is odd, if k is even then if we repeat it twice we get zero. For the second digit, k times the same digit will always give zero. Thus for odd k we have a zero when n is divisible by k and for even k we have a zero when n is divisible by 2k and the smallest power of k divisible by 2k is k^2 so it must be the cycle length.
by pier25 | 2025-07-03 15:54:14+00:00
> except htmx is cleaner

I've had the opposite experience.

Htmx does work for simpler use cases like submitting a login form. Beyond that it gets messy very quickly as you start introducing more backend endpoints for every little interaction. In some stacks you have template fragments[1] which alleviate this problem somewhat but still, htmx doesn't scale for more sophisticated interactivity.

And most projects will still need client-side interactivity. So now your features are a mix of htmx stuff, something client-side (Alpine, Vue, whatever), and probably some HTTP endpoints to interact with the client-side stuff.

You also still need to take care of CSS which htmx completely ignores because it's really just a low level HTML exchange protocol if you will. With Vue, Astro, or Svelte you can encapsulate markup, behavior, and styles in a single file.

And on top of all that, the DX is quite frankly terrible compared to doing frontend with something like Vite with hot module reloading. Most backend servers need to restart and maybe even recompile the whole thing. PHP is the only exception I know of since every request "runs the whole application".

[1] https://htmx.org/essays/template-fragments/
by rexpop | 2025-07-03 15:54:49+00:00
How is it any different from Google Maps' "Police Reported Here" feature?

In the U.S., sharing the location of police officers is generally protected by the First Amendment, as long as the information is obtained legally and is publicly available. This is why apps like Waze and police scanners are lawful and widely used.

For an act to qualify as obstruction of justice, there must be a clear and intentional effort to hinder or delay law enforcement in the investigation, arrest, or prosecution of a crime.

Since that's obviously the intent with this app, it's relying on a thin veneer of plausible deniability.
by Alex-Programs | 2025-07-03 15:55:26+00:00
This is a neat topic. I've only ever done this once.

A friend of mine had made a spreadsheet of fusion 360 shortcuts, so I made a little webapp for use at school: https://fusion.alexcj.co.uk/

I made it use a custom stylesheet for printing, as they describe in the article, so that it produced a nice worksheet - though in retrospect, I probably ought to have made it denser when printed!
by defen | 2025-07-03 15:55:31+00:00
The unused variables thing seems like it's downstream of "no warnings, only errors". That is, once you're committed to errors-only, then unused variables are either an error, or not. And if those are your only two choices, then errors sound better.

However, I've written a decent amount of Zig code and that's probably my biggest complaint. Zig has put a ton of effort into making an ultra-fast developer experience with very low iteration times, and it's amazing. But then when I'm refactoring some code or trying to figure stuff out by, for example, commenting out some lines of code, I might get a bunch of unused variable errors. And so I spend more time fixing those than I do even compiling the code itself!

One thing I've seen suggested is using the linter to automatically insert `_ = foo` for unused variables, but I don't love that either because then what even is the point of the error in the first place?

But like I said that's all downstream of the no-warnings policy. And I totally understand the failure mode of warnings - I've worked on plenty of large projects that had 4,000 warnings and everyone ignored them and the actually useful ones would be invisible. Is there some middle ground where, I don't know, Debug builds can have warnings, but Release builds don't?
by uecker | 2025-07-03 15:55:40+00:00
I like this post, one can learn a lot.

It seems automatically translating Rust to C is not a very good idea: "I threw away all of the C2Rust output and decided I would translate all of the files into Rust manually from C.". Neither seems doing it manually: "I introduced many bugs while translating the code. I’d like to share the process of discovering and fixing a couple." Or using AI: "That’s because when using cursor to translate the code it would still occasionally insert bugs, just like me. So, I spent as much time reviewing the generated code as it would have taken me to write it myself."

As a hobby project, all power to you. But otherwise, maybe better not rewrite working code....
by the_mitsuhiko | 2025-07-03 15:55:41+00:00
> Do you mean that some tools (MCP clients) pass all functions of all configured MCP servers in the initial prompt?

Not just some, all. That's just how MCP works.

> If that's the case: I understand the knee-jerk reaction but if it works?

I would not be writing about this if it worked well. The data indicates that it worse significantly worse than not using MCP because of the context rot, and the low too utilization.
by sota_pop | 2025-07-03 15:55:41+00:00
I have mentored several young CS students, and the common trait I see and the common advice I always give is that a CS program teaches you how to solve problems. Life experience and your interests should guide you on which problems to solve. CS/Coding isn’t a thing it’s a thing that helps you do a thing. This is why the current state of tech and startups makes me often roll my eyes - most companies pitching platforms or frameworks just feels uninspired. /rant
by tristanz | 2025-07-03 15:55:44+00:00
You can combine MCPs within composable LLM generated code if you put in a little work. At Continual (https://continual.ai), we have many workflows that require bulk actions, e.g. iterating over all issues, files, customers, etc. We inject MCP tools into a sandboxed code interpreter and have the agent generate both direct MCP tool calls and composable scripts that leverage MCP tools depending on the task complexity. After a bunch of work it actually works quite well. We are also experimenting with continual learning via a Voyager like approach where the LLM can save tool scripts for future use, allowing lifelong learning for repeated workflows.
by Fr1tz1707 | 2025-07-03 15:56:20+00:00
Hey HN, I just launched a feature that lets you turn any website into engaging slideshows with AI. No manual editing required; just paste your URL, and the AI handles the rest. This is built using ChatGPT 4 for prompt generation and Railway for backend hosting.

Why Slideshows Matter:

- Engagement: People are more likely to swipe through engaging visuals than read a block of text. - Efficiency: No more hours spent designing or writing copy—AI does it all.

How It Works:

1. Paste URL: Users input their website URL. 2. AI Processing: Our AI extracts key information and turns it into a swipeable slideshow. 3. Ready to Share: Output is ready for social media platforms.

Tech Behind It:

- ChatGPT 4o:For intelligent content extraction and slideshow template generation. - Railway: For hosting and managing the backend infrastructure.

This was motivated by the challenge of making compelling content without design skills. If anyone’s interested in the tech stack or has feedback, would love to discuss!
by NitpickLawyer | 2025-07-03 15:56:22+00:00
Funny, I did the swipe thing and then the first result was this post with a [dive] tag. No idea if cheeky or if it actually got that from my choices, but I had a laugh anyway. Neat PoC!

edit: ooh, I see what the swiping did:

## Analysis of user's tech interest: The user demonstrates a strong interest in advanced technical topics, particularly in the realm of artificial intelligence, machine learning, and low-level systems programming/security (e.g., kernel exploitation). They are drawn to articles that involve practical application, model creation, and deep dives into complex technical architectures. Their interest in "Show HN" articles suggests an appreciation for new, innovative projects, especially those with a technical or AI focus. They show less interest in general hardware announcements (like new microcontrollers), historical tech accounts, or very niche, non-AI/ML/security-related programming topics.

Yeah, that's pretty much spot on. Wonder if there's a way to match that against the topics I actually commented on, but at a glance it's pretty cool!
by vidarh | 2025-07-03 15:56:34+00:00
They gave lots of shits about access to cheaper clones, though, and to access to cheaper peripherals.

> It didn’t have an open architecture either.

It was open enough that the closed parts could be reverse engineered, and so the market was already full of clones by the time the Amiga was even released.

Meanwhile, the Amiga was tied to custom chips only manufactured by Commodore, and didn't get anything resembling a clone until Commodore was already bankrupt (DraCo, which ditched a lot of backwards compatibility)

> For a long time it was the case that if you didn’t buy an IBM branded PC, you couldn’t guarantee that any software would actually work on it

By the time the Amiga died, this hadn't been an issue for many years.
by wrs | 2025-07-03 15:56:41+00:00
Well, with MCP you’re giving textual instructions to Claude in hopes that it correctly generates a tool call for you. It’s not like tool calls have access to some secret deterministic mode of the LLM; it’s still just text.

To an LLM there’s not much difference between the list of sample commands above and the list of tool commands it would get from an MCP server. JSON and GNU-style args are very similar in structure. And presumably the command is enforcing constraints even better than the MCP server would.
by timschmidt | 2025-07-03 15:56:43+00:00
> don't keep the hardware busy as it should 24h around the clock.

If your workload demands 24/7 100% CPU usage, Epyc and Xeon are for you. There you can have multiple sockets with 256 or more cores each.

> Most consumer software even less

And yet, even in consumer gear which is built to a minimum spec budget, core counts, memory capacity, pcie lanes, bus bandwidth, IPC, cache sizes, GPU shaders, NPU TOPS, all increasing year over year.

> systems with built-in FPGAs failed in the consumer market

Talk about niche. I've never met an end user with a use for an FPGA or the willingness to learn what one is. I'd say that has more to do with it. Write a killer app that regular folks want to use that requires one, and they'll become popular. Rooting for you.
by hellojesus | 2025-07-03 15:56:44+00:00
You still need constraints. The law should exist to protect private property. The government should collect taxes to fund the legal system and public goods.

But I absolutely agree that the government shouldn't do much, if anything, more than that. Incentives to shape behavior should be extremely limited, because the government is the only entity that is allowed to force involuntarily transactions.

Voluntary transactions ensure that the transacting parties have a pareto optimal outcome. This is what should be maximized, even at the detriment of the longevity of society itself.
by fakedang | 2025-07-03 15:56:57+00:00
> Pay per token models don’t work for me either; earlier this year, I racked up almost $1,000 in a month just experimenting with personal projects, and that experience has made me wary of using these tools since.

Can't have your cake and eat it too.

Behold the holy trifecta of: Number of Projects - Code Quality - Coding Agent Cost
by Aurornis | 2025-07-03 15:56:59+00:00
> People who practice overemployment delude themselves that multiple jobs doesn’t affect their performance and therefore there’s nothing wrong with working multiple jobs. Their subreddit is a dumbfounding echo chamber.

It blows my mind that overemployed people have become folk heroes. They're obviously not putting full effort into two jobs.

I had the same experience as you with an "overemployed" person: Working with them is really bad for everyone else. They lie, play extreme politics, throw teammates under the bus, make you work harder for everything, and they don't care if it causes you harm because you're just a temporary coworker at one of their "Js"

There's nothing to celebrate about these people. They screw over their teammates far more than the company they work for.
by ilamont | 2025-07-03 15:57:15+00:00
Thanks for sharing this info. Does "eccentricity" refer to the orbit, or the shape of the object?

For ‘Oumuamua in 2017, some method was used to determine its shape, which is (apparently) remarkably elongated. Is it possible to determine the elongation of the new object?

https://science.nasa.gov/solar-system/comets/oumuamua/
by bhlkjlkjcd | 2025-07-03 15:57:24+00:00
> Ever since I saw an Amiga 500 at a friend's house in what was probably late 1988, I wanted one for myself. Back then, computers were uncommon, especially at home. Even though I went to a school in a fairly affluent neighborhood, few kids had home computers or video games.

This may be true in the US and Japan, the rest of the world were mainly using 8-bit (and increasingly 16-bit) computers in this era, so this scans really oddly outside the US.

I grew up on an 80s UK council estate (surrounded by poverty) and practically every kid had a computer, mainly Commodore 64, 16, +4, Sinclair Spectrum, or an Amstrad CPC (maybe a few BBC Micros dotted around, and some other oddities)

Lots of people had the early Atari consoles in the early 80s, but after that I didn't see a console until the Megadrive. Everyone, and I do mean EVERYONE had computers in the mid-late 80s to early 90s where I was growing up.
by barrkel | 2025-07-03 15:57:31+00:00
Where do you see the major price increases coming from?

The underlying inference is not super expensive. All the tricks they're pulling to make it smarter certainly multiply the price, but the price being charged almost certainly covers the cost. Basic inference on tuned base models is extremely cheap. But certainly it looks like Anthropic > OpenAI > Google in terms of inference cost structure.

Prices will only come up if there's a profit opportunity; if one of the vendors has a clear edge and gains substantial pricing power. I don't think that's clear at this point. This article is already equivocating between o3 and Opus.