MurphyA/hacker-news huggingface dataset:
Show HN: Okapi yet Another Observability Thing
by kushal2048 | 2026-03-12 07:40:12+00:00
Hi,
I just wanted to share Okapi with the community here. Its my stab at the observability problem - how to debug when something breaks in prod. Okapi focusses on two modalities of observability's big three (metrics, logs, traces). Okapi is all about metrics and traces. The idea here is that metrics and traces usually have the most signal and also that analyzing logs is so fragmented that one might just spend ages doing just logs stuff.

Features:
- Otel everywhere, its Okapi's preferred and only ingestion mechanism :) Currently Okapi supports ingestion via protobuf-over-HTTP. Here's a sample config (https://github.com/okapi-core/okapi?tab=readme-ov-file#examp...)

- Dashboards both via clicks and code: Okapi UI has a dashboard designer hopefully with autocomplete everywhere so users don't have to guess metric paths. However, if you're not a fan of clicks and/or love GitOps all Okapi dashboards can be expressed as YAML templates.

- Out-of-box Service health: For an application instrumented as per Otel conventions, Okapi has REDs as a first-class concept. Service health pages have RED breakdowns for the service, its sub-operations and dependent paths. The calculations are subject to applications being instrumented, but hopefully following a convention makes things easy.

- And of course AI : Okapi has a limited capability AI SRE agent affectionately called Oscar (supposed to be an okapi but no mascot yet). Calling it a full blown SRE is a stretch since its tough job. You can ask Oscar questions in natural language as you would any chatbot and it will try its best to answer. Atleast on integration tests, Oscar can fetch metrics, find traces given criteria and do a multiple step debugging that links query latencies with high CPU usage on hosts.

I am curious to hear feedback from the community so check it out.

TLDR: https://github.com/okapi-core/okapi?tab=readme-ov-file#quick...
by tgma | 2026-03-12 07:40:24+00:00
Impressive, of course; but not quite that impressive.

Only true if all you're running is matmul (supercomputer has general purpose CPUs so more flexible than M1 GPU) - also those flops are probably FP64 in supercomputer ratings and FP32 in M1.

As a smart man I knew used to say, supercomputers are about I/O not raw compute. Those have terabytes of RAM not 8GB.
by yelmahallawy | 2026-03-12 07:40:53+00:00
And I think this is a common problem actually — figuring out what to measure and how to measure it – it's not black and white. What I do is have a few dimensions to measure it against (this may or may not fit your use case): relevance, instruction following, clarity, hallucination rate, etc. but even then, it becomes hard to measure things like 'clarity'.
by antirez | 2026-03-12 07:41:07+00:00
Of what is happening with AI the most bizarre thing, for me, is how these tools are 20$ away from being tested. Yet, to form an idea about actual real world usefulness many folks seek some kind of indirect proxy.

This is combined with the incredible general feeling that automatic programming can be evaluated as producing the same results regardless of the user using it. Something true only with benchmarks, basically. Benchmarks are useful metrics because even if weak we need some guidance, but the current real world dynamic is that AI will completely change what it is capable of doing based on the programmer using it.

Maybe never in the history of programming there was a time where diverse programming skills were as important as today (but this may change as AI evolves).
by KurSix | 2026-03-12 07:41:42+00:00
To answer your question: this should 100% just be tooling on top of an existing language rather than a custom syntax. By ditching the mainstream, you're not just losing parsers, you're throwing away profilers, debuggers, LSP support, and millions of crates. Just write a set of macros and a strict custom linter for Rust that forces the agent to write verify blocks and declare effects. Maintaining your own custom transpiler to Rust is gonna bleed all your dev time dry long before this project ever gets off the ground
by kqr | 2026-03-12 07:42:34+00:00
Makes me think of this commitstrip comic: https://i.xkqr.org/itscalledcode.jpg (mirrored from the original due to TLS issues with the original domain.)

A guy with a mug comes up to a person standing with their laptop on a small table. The mug guy says, "Some day we won't even need coders any more. We'll be able to just write the specification and the program will write itself."

Guy with laptop looks up. "Oh, wow, you're right! We'll be able to write a comprehensive and precise spec and bam, we won't need programmers any more!"

Guy with mug takes a sip. "Exactly!"

Guy with laptop says, "And do you know the industry term for a project specification that is comprehensive and precise enough to generate a program?"

"Uh... no..."

"Code. It's called code."
How long till every major provider sets their RSI loops in motion?
by foxindustrial | 2026-03-12 07:42:51+00:00
As you might have known, all the major model providers seems to be quietly turning the dial down on the consumer experience...

What felt like cutting edge "intelligence" 1-2 months ago now frequently delivers outputs that wouldn't have impressed you in late 2023: vague, hallucinated, overly cautious, or just outright lazy.

Rationally speaking, the opportunity cost of wasting premium FLOPs on serving millions of casual chat users and vibe-coders and slop-makers is enormous.

The result is a phenomenon many users have encountered repeatedly across providers (Gemini 2.5/3 Pro, Claude Sonnet/Opus variants, GPT-4o/5 series, and 3rd party interfaces like various anti gravity or coding frontends):

You prompt for something non-trivial (e.g. code, analysis, creative work, research or whatever) and you get back the most sophisticatedly parroted 2023 tier mega slop and it would be a lucky instance if it didn't shit on your code.

When asked about the exact nomenclature of the models which are conducting edits, the models initially say that they are "large language models" configured by google or claude or openai...but once you insist they will reveal the whole thing... and et voila: it turns out you are using the oldest models available

When you casually ask the model to identify itself, it defaults to the scripted party line: "I'm a LLM built by configured for <insert tool here> by <insert provider here>"

Press harder, and it will reveal to you the actual nomenclature of the model: you might actually be able to access GPT 2 (lmao).

I'm collecting them like pokemon, i encountered gemini 1.5 pro, gemini flash 2.0 ,claude haiku.

I hope you try to ask insist or do some clever prompting to extract the model name and you will find out. Pro Tip is you asking in whatever interface exactly when it tells you that usage is "unusually high"..

PS: I'm a pro subscriber on all..
by dataflow | 2026-03-12 07:42:52+00:00
I had a much longer comment here but I ended up scrapping it since it would make for too long of a discussion. I'll just quickly address a few specific things:

> added right before the election

I feel like it's not hard to counter-argue that the writing has been on the wall for decades and it's not a genuine surprise at this point.

> So the actual argument is not that there is link between race and going to dmv once in 10 years

IMO, it's probably better to make the the actual argument.

> DMV

This entire discussion appears to be over a red herring. You may be interested in my comment on the sibling thread: https://news.ycombinator.com/item?id=47345614
by apsurd | 2026-03-12 07:43:29+00:00
it's like you're saying SQL injection happens if you're running sql on the client so if it's on the server you're fine.

that's not how it works. and i'm fairly sure most all apps deal with databases, unless they're explicitly static pages.

edit: sql injection is about hacking the parameters used in a query. they almost always in some way come from external sources, user input. so they have to be sanitized. it sounds straightforward but bounties are paid all the time on hackerone with documented cases of injection. people are very clever.

i've had to patch some verified cases where the hacker used the name field to pass code in and alter links in emails to make it look like they came from our (household name) company.
by corentin88 | 2026-03-12 07:44:29+00:00
Temporal is a good idea, but the API is too complicated for broad adoption:

- new Date() equivalent in Temporal is `const now = Temporal.Now.zonedDateTimeISO();`.

- Date.now() equivalent is `Temporal.Now.instant().epochMilliseconds`

- It’s PascalCase, where JS is mostly snakeCase.

- nanoseconds per default. who needs that except Bloomberg? It should have been an option

It’s definitely great all the efforts put in place, but it’s not going to be a replacement to Date which such a complicated design.
by shunia_huang | 2026-03-12 07:45:10+00:00
As a non native speaker, I can even sense the little differences between these two.

I have answered something similar before, I struggle on sending messages as I want them to be received, with AI it is even harder, the "taste" of my thoughts, how I like to express, the habits of the phrasing or wording, get lost completely.

So I just never "AI" my content.
by mark_round | 2026-03-12 07:45:24+00:00
Author of the article here (hi! Anxiously watching my Grafana stack right now...)

I've only just noticed that on the Rails homepage, and while I acknowledge everyone's chasing that sweet sweet AI hype, I gotta say that's... disappointing[1]. The reason I fell in love with Ruby (and by extension, Rails) is because it enabled me as a human to express myself through code. Not to become a glorified janitor for a LLM.

[1]=Well, I had a stronger response initially but I toned it down a bit for here...
by simonask | 2026-03-12 07:45:29+00:00
So... Like, what? Do you agree that there is no technical reason for LLVM to be written in C++ over Rust?

Have you considered that you perhaps do more damage to the conversation by having it with this hypothetical strike force instead of the people that are actually involved in the conversation? Whose feelings are you trying to protect? What hypocrisy are you trying to expose? Is the strike force with us in the room right now?
Show HN: AI-powered one-click translator for Pokémon GBA ROM hacks
by booffa | 2026-03-12 07:45:32+00:00
Meowth GBA Translator is an open-source, AI-powered tool that automates translation of Pokémon GBA ROMs (including binary hacks like FireRed, Emerald, Ruby/Sapphire, and Mystery Dungeon). Powered by LLMs (supports OpenAI, DeepSeek, Gemini, Claude, Groq, and 10+ others), it extracts text, translates intelligently while preserving codes and context, then rebuilds the ROM — all in one click via a friendly GUI or simple CLI command.
Supports 6+ languages (Chinese, English, French, German, Italian, Spanish) with optimized prompts and smart font patching. Focus on gameplay mods, let AI handle the words. Free, MIT-licensed, cross-platform.
by thoughtpeddler | 2026-03-12 07:46:20+00:00
This post (https://www.fast.ai/posts/2026-01-28-dark-flow/) covers this well already.

> This sounds like the Loss Disguised as a Win concept from gambling addiction. Consider the hundreds of lines of code, all the apps being created: some of these are genuinely useful, but much of this code is too complex to maintain or modify in the future, and it often contains hidden bugs.
by hrmtst93837 | 2026-03-12 07:47:06+00:00
Chasing test-passing code is basically an invitation for models to learn all sorts of ugly workarounds and accidental patterns that humans would never tolerate for long. If you optimize only for "does it make CI go green" you'll eventually get code that's impossible to reason about and a codebase that accumulates landmines but the metrics sure look pretty for a while.
by kugelblitz | 2026-03-12 07:48:54+00:00
I usually go full Symfony with my projects until I need to spread it out. But even for interactivity, I first go for htmx and Alpine.js instead of full React or so, where I then need to setup API on backend and frontend.

I think once you're deep into a project, you of course know the features needed and the constraints and you'll be more efficient the next time around.

I think the challenge is to keep working on your old legacy projects.

Plus Symfony is quite flexible on how you want to organize your code. Modular monolith, monolith, DDD, microservices, "junior developer just setting up controllers and entities".
by WithinReason | 2026-03-12 07:48:58+00:00
This is 11 bit ops and a subtract, which I assume is 10 clocks, while you can just do:

l1 = dot(A[:11000000],B[:11000000])
l2 = dot(A[:00110000],B[:00110000])
l3 = dot(A[:00001100],B[:00001100])
l4 = dot(A[:00000011],B[:00000011])

result = l1 * 64 + l2 * 16 + l3 * 4 + l4

which is 8 bit ops and 4x8 bit dots, which is likely 8 clocks
by casey2 | 2026-03-12 07:49:01+00:00
Natural languages have inherent ambiguity. That includes your grammar with capitalization, any kind of standard english grammar of which there are dozens

Which person does Jack refer to? What if you have 2 friends named Jack? Does "horse" refer to a member of a class of animal or something else? Sorry but your examples are full of indecipherable nonsense. But I guess if you just pretend that everything you write is well understood then there is no problem.

Capitalization slightly narrows a search space that is already narrow, since that is it's only functional use it should only be used when appropriate. If every rule was applied at every instance your writing would both become indecipherable and you'd subtly change your intended meaning. Better to be misunderstood by some than to water down your message and add class/prestige/formality/distance all of which are inappropriate in most writing.

I guess your teacher gave you that example, but you ABSOLUTELY FAILED to understand the meaning of their lesson.
by raw_anon_1111 | 2026-03-12 07:49:47+00:00
That’s not the reality post 2023.

I spoke about it here:

https://news.ycombinator.com/favorites?id=raw_anon_1111&comm...

Short version: If I couldn’t get any responses from random companies looking for “enterprise developer with AWS experience” because every open req gets hundreds of applications and I had at the time a decade of experience (on my resume I actually had more) including leading AWS architecture at two companies and working at AWS, how is a junior developer going to stand out?

Of course submitting my resume to random ATS’s was an experiment. I had multiple offers via my network including a Director of an F500 company. But I was 49 at the time

I don’t think you realize how much of a shit show it is our there now for any developer especially junior developers
by vanillameow | 2026-03-12 07:50:00+00:00
I've picked up reading again over the last year or so! Maybe, if anything, that is why I feel so angry. Writing and reading are how we communicate thoughts and ideas between people, humans, at scale. A grand fantasy novel evokes a thirst for adventure, a romance evokes a yearning for true love.

What makes me angry, is to use the feelings we associate with this process and disingenuously pretend that there is a human that wants to tell me something, just for it to be generated drivel.

Don't get me wrong, I don't mind reading AI content, but it should read like this: "Our AI agent 'hacked' (found unexposed API endpoints) x or y company, we asked it to summarize and here's what it said:" - now I know I am about to read generated content, and I can decide myself if I want to engage with it or not. Do you ever notice how nobody that uses AI writing does this? If using AI to produce creative media, including art, music, videos, and writing, is so innocuous, why do all the "AI creatives" so desperately want to hide it from you? Because they don't want you to know that it's generated. Their literal goal is to pretend to have a deeper understanding, a better outlook, on a given topic, than they actually have. I think it is sad for them to feel the need to do this, and sad for me to have to use my limited lifespan discerning it. That is why I am angry.

Anyway, there's no need to "closely parse each sentence construction" at all to identify this post is fully AI generated. It's about as clear as they come. If you have trouble identifying that, well, in the short term you're probably at a disadvantage. In the long term, if AI does ever become able to fully mimic human expression, it won't matter anyway, I guess.

ps: FWIW, I agree with you that of all places, some random AI company with an AI generated website reporting on their AI pentesting with AI is the least surprising thing - the entire company is slop, and it's very easy to see that. My initial post was more of a projection at the dozens of posts I've read from personal blogs in recent weeks where I had to carefully decide if someone's writing that they publish under their own name actually contains original thought or not.
by tayzjaik | 2026-03-12 07:50:18+00:00
LipoJaro emerged as a leading contender in the "nutraceutical" space. Unlike traditional fat burners that rely on heavy caffeine, LipoJaro focuses on cellular energy and mechanical satiety.LipoJaro distinguishes itself by targeting two metabolic pathways simultaneously: appetite control and fat oxidation

https://www.facebook.com/LipoJaro.Fat.Burn/
by dajt | 2026-03-12 07:51:40+00:00
This is still happening. The org I work at was all-in on Google stuff, then just before I joined 5 years ago, some senior exec joined. Must have been in tight with Microsoft because suddenly the org was all in on Microsoft. The exec left, job well done, and the org suffered for years during the changeover; we still suffer because all the Microsoft stuff is total garbage these days.

I yearn for the Microsoft software of the 90s and 00s, pre-cloud, pre-webslop, pre-AI.
by vintermann | 2026-03-12 07:55:06+00:00
No, I'm sure they tested it, and I'm sure they found "similar patterns".

I'm also quite sure that the kind of person who would say "come on guys, this is just a RF noise machine, if they had used this in Havana we would have known ages ago" would not be trusted to work on such an important and serious investigation.

I'm not positing any more dysfunction than I see on the outside all the time. Gro Harlem Brundtland, former PM of Norway, doctor, and one time head of the WHO, was convinced she had RF-hypersensitivity.

One of my mantras is that powerful people believe all the stupid things regular people believe, they just tend to act differently on their beliefs.
by ludicrousdispla | 2026-03-12 07:55:10+00:00
Most native English speakers consider 'speaking plainly' to be a better indicator of knowledge and expertise than the alternative.

I can understand the sentiment though, as I am learning a second language and in many of our writing assignments we are expected to use (from my perspective) overly formal and complex grammatic structures when writing simple letters. I have come to accept, or at least hope, that this is simply an exercise to ensure that students have fluency with the grammar.
by KurSix | 2026-03-12 07:55:30+00:00
Finally someone realized that CDP just doesn't cut it for agents and dug straight into the engine. Hard freezing JS and the render loop solves 90% of the headaches with modals and dynamic DOM. Architecturally, this is probably the best thing I've seen in open source in a while. The only massive red flag is maintaining the fork - manually merging Chromium updates is an absolute meat grinder
by pjmlp | 2026-03-12 07:56:21+00:00
Going off topic, but the article made me look into "2025 Stack Overflow Developer Survey" and as usual there is the big difference between what the "Professional Developers" with and without AI claim to be using, and the usual HN discussions "X is taking over the world, no one uses Y anymore".

As for Rails, I guess now that Ruby is serious about having a JIT in the box, a few actually, it is kind of atractive.

Due to my experience with Tcl, and continuous rewriting into C modules, if a JTI isn't in the box, I kind of don't bother unless it is due to external factors.
by dguest | 2026-03-12 07:57:38+00:00
It's worse than relinquishing: you get a new voice, that of the person needs an LLM to talk.

I have similar reservations about code formatters: maybe I just haven't worked with a code base with enough terrible formatting, but I'm sad when programmers loose the little voice they have. Linters: cool; style guidelines: fine. I'm cool with both, but the idea that we need to strip every character of junk DNA from a codebase seems excessive.
by b112 | 2026-03-12 07:58:32+00:00
Teslas have the wrong sense-gear, coupled with immense randomness. Pesky pedestrians. Waymo seems to be doing quite well in comparison. Regardless, a cat isn't a dog, and real-world navigation isn't posting on Facebook.

It would be better to make a direct point, such as "It will never be flawless". That's not really a problem here, it only need be flawless most of the time.

See my other post.
by roenxi | 2026-03-12 07:58:50+00:00
> Affordability requires something to exist.

Ok so jumping back to applies, say I have an apple and Mr A and Mr B want it. I'm going to give the apple to the person who pays me the most money. To keep it simple, this is the only apple. Maybe I've drawn a smiley face on it to make it an artwork, maybe there has been a breakout of Apple Plague, I dunno.

How do you square that with this conception of affordability? Since only one apple exists, does the person who doesn't get the apple in a state where they can afford it even though they didn't have enough money to buy it?
by haritha-j | 2026-03-12 07:58:57+00:00
> The creators of these AI tools say the benefit is that it allows companies to hear from virtually everyone who applies for a certain role instead of just a small subset, at least when it comes to an intro interview

So bascially the candidates have to put in way more work for a larger number of roles that they must interview at. The fact that its essentialyl zero effort for the employer and a massive effort for the candidate is a terrible formula.
by louiskottmann | 2026-03-12 07:59:55+00:00
I've been a Rails DevOps and nowadays a web one-man-show with it for over 10 years and I'd do it again.

Not many frameworks have been thriving that long, and there's good reason.

It packs everything, is tidy and productive, with a pleasant language to read and write.

In the latest Stackoverflow survey, it's back at the "top 5 of desired stacks to use for next project" over a decade after its inception !

Give it a try.
by misiek08 | 2026-03-12 08:00:15+00:00
Thanks for such public confirming there is a lot of more us.
I’m just tired hearing how great ideas will save our overblown pseudo-microservice architecture and I’m also running into some projects during evening that just solve problems without use STOA, unnecessary solutions and architectures.

I’m not into RoR, because I was mainly PHP rescuer in the beginning of my career, but they both are just problem solvers. Sit down, write minimal (in case of PHP not so cool looking) code and proceed to next task.
by pjmlp | 2026-03-12 08:00:49+00:00
I assert there is no reason to rewrite LLVM in Rust.

And I also assert that the speech that Rust is going to take over the C++, misses on that as long as Rust depends on LLVM for its existence.

Or ignoring that for the time being NVidia, Intel, AMD, XBox, PlayStation, Nintendo, CERN, Argonne National Laboratory and similar, hardly bother with Rust based software for what they do day to day.
by f311a | 2026-03-12 08:01:35+00:00
I love the batteries that RoR or Django gives you, but then I also remember how much time it takes to maintain old projects. Updating a project that was started 5-6 years ago takes a lot of time. Part of that is managing dependencies. For Django, they can easily go above 100. Some of them have to be compiled with specific versions of system libraries. Even Docker does not save you from a lot of problems.

Right now, I would rather use Go with a simple framework, or even without one. With Go, it's so easy just to copy the binary over.