MurphyA/hacker-news huggingface dataset:
Show HN: Struxs v1.1 – Visual API builder, now with Enum support
by lucienpeng | 2026-01-07 13:58:21+00:00
Just pushed an update (v1.1) to Struxs.

We had some users asking for a way to constrain the scope of the visual perception. Specifically, they were processing scanned forms where a field like "Gender" or "Payment Mode" would return inconsistent raw text (e.g., "M", "Male", or just a checked box symbol) depending on the document layout.

To solve this, we added an Enum type to the builder.

You can now visually map a region and strictly define the allowed states (e.g., ["Male", "Female"] or ["Sedan", "SUV", "Truck"]). The engine will now force the visual signal into one of those pre-defined buckets instead of returning ambiguous strings.

It’s a small change, but it makes the JSON output deterministic and saves you from writing extra code to normalize the data downstream.

Happy to hear any feedback.
by yashasolutions | 2026-01-07 13:58:43+00:00
I have seen people rewrite entire application from React to htmx.
It works. But the architecture required is a tad different. Also you need Alpine as a complementary library for the reactive parts. (I mean you could do a lot just with htmx but I find Alpine more convenient in many places when I need to work with json - since I don't control all backend and json isn't really a first class citizen of htmx)
by vidarh | 2026-01-07 13:59:24+00:00
I think so too. But in the meantime there is a quiet goldrush for people who spot niches where they can extract decent (or a lot) of value right now, and for long enough to be worthwhile. If they can get scale enough that thinner margins makes for a worthwhile business when the market catches up, great. If they can't, then we stay lean we might make off with decent ROI.

But that is also a reason to be cautious of chasing capital and think hard about whether you can spend it sensibly fast enough to improve your own ROI...

E.g. I have a project right now where I won't consider taking VC cash because I don't think I can spend it fast enough to buy me enough additional leverage to make enough additional money to compensate for the dilution and the other usual shenanigans before I expect margins will be squeezed out of the niche in question. It also means I don't think the opportunity will ever scale above a certain level, but that's fine - it'll be a quick attempt at grabbing what profit I can.

Also, while we of course shouldn't diminish the potential moat created by understanding the product in favour of only value the tech, we need to also consider that AI's are a levelling factor there too. Claude knows (I've verified what it's said) more about the niche I'm vaguely talking about than I do - it knows pricing, it knows positioning/marketing, it knows conventions and requirements of the niche, and while I'm sure I could have found all of it myself starting from scratch too it shortcircuited an enormous amount of effort to get an infodump that let me know precisely what to look for to verify it. A lot of tech companies will find the institutional knowledge they thought would shore up their moat is worth a lot less than they thought.
by vjerancrnjak | 2026-01-07 13:59:24+00:00
Haskell is usually used as a DSL. I believe Haxl is used at Meta and TidalCycles is a good example of another DSL built in Haskell.

Although I agree the usual lens, optics, machines, pipes or other higher kinded libs are completely unnecessary, solving problems you do not want to have and have dire performance implications, but are at least correct and allow you to throw code at problems quickly, even though that code sucks in all ways except correctness.
by HarHarVeryFunny | 2026-01-07 13:59:47+00:00
Yeah... I had a fairly in-depth conversation with Claude a couple of days ago about Claude Code and the way it works, and usage limits, and comparison to say other AI coding tools work, and the extremely blunt advice from Claude was that Claude Code was not suitable for serious software development due to usage limits! (props to Anthropic for not sugar coating it!)

Maybe on the Max 20x plan it becomes viable, and no doubt on the Boris Cherny unlimited usage plan it does, but it seems that without very agressive non-stop context pruning you will rapidly hit limits and the 5-hour timeout even working with a single session, let alone 5 Claude Code sessions and another 5-10 web ones!

The key to this is the way that Claude Code (the local part) works and interacts with Claude AI (the actual model, running in the cloud). Basically Claude Code maintains the context, comprising mostly of the session history, contents of source files it has accessed, and the read/write/edit tools (based on Node.js) it is providing for Claude AI. This entire context, including all files that have been read, and the tools definitions, are sent to Claude AI (eating into your token usage limit) with EVERY request, so once Claude Code has accessed a few source files then the content of those files will be sent with EVERY subsequent request, regardless of what it is. Claude gave me an example of where with 3 smallish files open (a few thousand lines of code), then within 5 requests the token usage might be 80,000 or so, vs the 40,000 limit of the Pro plan or 200,000 limit of the Max 5x plan. Once you hit limit then you have to wait 5 hours for a usage reset, so without Cherny's infinite usage limit this becomes a game of hurry up and wait (make 5 requests, then wait 5 hours and make 5 more).

You can restrict what source files Claude Code has access to, to try to manage context size (e.g. in a C++ project, let it access all the .h module definition files, but block all the .cpp ones) as well as manually inspecting the context all the time to see what is being sent that can be removed. I believe there is some automatic context compaction happening periodically too, but apparently not enough to prevent many/most people hitting usage time outs when working on larger projects.

Not relevant here, but Claude also explained how Cursor manages to provide fast/cheap autocomplete using it's own models by building a vector index of the code base to only pull relevant chunks of code into the context.
by vjk800 | 2026-01-07 13:59:48+00:00
I've been a huge sceptic of the whole AI hype since the beginning now. Whenever I've tried any of the AI tools, the results have just been underwhelming. However, two weeks ago I tried Gemini (the pro version) and have been using it for various, random tasks and questions since then, and I've been pretty impressed.

There seems to be much less hallucination of facts than in other tools I've tried and whenever Gemini makes assumptions on stuff I didn't explicitly specify in the prompt, it says so. The answers also always have nice structure: it starts with a short and concise version, then gives me options and more details and considerations.

I also like the feature that I can make it remember facts across chats. I'm a physicist by training and I've told Gemini so, so now every time I ask something, it gives me an answer perfectly tailored for a physicist (often with mathematical formulas, etc.).
by lproven | 2026-01-07 14:00:18+00:00
> I am not familiar with how to quote back here.

What @crconrad said. Well, that's how I do it, anyway.

I'm fairly used to doing it since quoting is broken in the majority of webmail apps and web fora anyway. Even Gmail removed its selective-quoting feature.

> GSDE (Screenshot.app), more so NextSpace a lot of things do not work with a lot of modifications on FreeBSD

Ahaa! That makes sense.

> I think each project has a place, and a role in promoting GNUstep

Strongly agreed.

> There is also agnostep now that looks promising by the way

Thanks for that -- this one is new to me.
by mjr00 | 2026-01-07 14:00:39+00:00
This is disingenuous because LLMs were already writing full, simple applications in 2023.

They're definitely better now, but it's not like ChatGPT 3.5 couldn't write a full simple todo list app in 2023. There were a billion blog posts talking about that and how it meant the death of the software industry.

Plus I'd actually argue more of the improvements have come from tooling around the models rather than what's in the models themselves.
by speak_plainly | 2026-01-07 14:00:55+00:00
I was at Apple during the Jobs era and you could really see the Zen influence in how he ran things and his approach. I was a little interested in Buddhism at the time and dug a bit deeper, and then studied at a Zen monastery afterwards to try to and sort out all that I had seen when I was there.

Steve was deep into a specific lineage that went from Kodo Sawaki (the 'Homeless Kodo') to Kobun Chino Otogawa, who was Steve’s long-time mentor and even did his wedding. Sawaki was famous for being a total rebel; he had a column in the Asahi Shimbun in the late '60s filled with these blunt aphorisms that basically told people to stop being so full of themselves. You can definitely see that 'no-BS' attitude in Steve's approach. He also used meditation as a way to work through problems.

I would recommend this book, 'The Zen Teaching of Homeless Kodo,' which features Kodo's aphorisms and various levels of commentary:https://www.simonandschuster.com/books/Zen-Teaching-of-Homel...
by Yuriy_Bakhvalov | 2026-01-07 14:01:00+00:00
Hi HN, I’m the author of this project.

I am an independent researcher working on deriving deep learning architectures from first principles (Random Function Theory) rather than empirical heuristics.

The core idea: Instead of choosing kernels (like RBF) arbitrarily, I derive the optimal kernel analytically from symmetry postulates (translation, rotation, scale invariance). This leads uniquely to the Polyharmonic Spline.

Key features of this architecture:

1. No Gradient Descent: Training uses a synchronized global linear solver (Lagrange multipliers) to update function values.
2. Deep & Stable: Can scale to 500+ layers without skip connections or normalization, avoiding vanishing gradients.
3. Results: Achieves ~98.3% on MNIST (using flat vectors) and competitive results on HIGGS (11M examples), training very fast on GPU.
I’ve just released the full cycle of 4 papers on arXiv explaining the math and the algorithm.

Papers: https://arxiv.org/abs/2512.12731 (theory + 3 follow-ups)

The code is PyTorch-based. I’d love to hear your feedback on the math or the implementation!
by stevage | 2026-01-07 14:01:38+00:00
It's such an interesting document full of fascinating tidbits, even if the overall structure is a bit dense and confusing.

>The first paragraph under Perform Main Ac�on says:

>To perform the Main ac�on of an Ac�on Board, first count the number of different coloured unlocked workers
already present on the board. You must pay this much cocoa before performing the Main ac�on. If you cannot, you
may not take the Main ac�on.

>In other words, you need to pay extra resources to use an ac�on space that already contains players' dice. The teacher didn't see this rule while scanning the rulebook, so we weren't paying this extra cost. Since our ac�ons had lower costs than they should have, we were taking lots of high-level ac�ons. We decided to finish the game with the same rules that we started with.

This exact same thing happened to me in Teotihuacan. Got to the end of the game wondering what cocoa was for.
Show HN: Slack bot for channel-owned mention aliases (not org-wide user groups)
by sidchilling | 2026-01-07 14:02:12+00:00
Teams in Slack often end up pasting long @mention chains, and someone gets missed (or the wrong person gets pinged). It’s worse for rotating groups like on-call, releases, incident response.

We built Alias Bot: each channel can define aliases like `!oncall` / `!reviewers`. When someone uses an alias, the bot replies with the expanded mentions and lists exactly who was notified (so there are no hidden pings).

This is intentionally channel-scoped (vs Slack user groups being workspace-wide), so the same alias can mean different things in different channels without admin overhead.

Privacy note: the backend stores alias configuration (alias → member IDs per channel), processes message text to detect alias usage, and does not store or log message bodies ever.

Free plan includes up to 3 aliases; pricing is flat. You purchase number of aliases you could create and is not seat-based (user-based).

Would appreciate feedback from EMs/TLs/SREs: is this a real pain for your teams, and what would block adoption (noise, permissions, governance, drift)?
by p_ing | 2026-01-07 14:02:37+00:00
One user's stupidity becomes Internet bait for something that's saved so, so much time.

I remember playing the backup & restore game when rebuilding my PC, which I just happened to do last night as I received a new SSD. I didn't have to worry about documents and thanks to a separate volume, redownloading my Steam library, either. That was a massive time save. And it didn't have to be OneDrive, it could have been any cloud sync service -- but OneDrive works just fine.

The user just fucked up and had a conniption fit on Tiktok.
by paulhallett | 2026-01-07 14:03:07+00:00
For a start, it doesn't have to be a replacement. You can progressively add it in. I work at a very very large organisation with a multi-million line codebase and we splash htmx here and there where it is useful (and where a full blown SPA would be too much to set up). We don't have to ditch any other FE tooling in favour of htmx - htmx "just works" nicely alongside everything else.
by tonyarkles | 2026-01-07 14:03:30+00:00
Additional Anecdata: I head about BioGaia's Gastrus tablets here on HN a couple of years ago and they have dramatically improved my wife's quality of life as well. She suffered from significant GI problems. We bought a pack of the BioGaia tablets based on an anecdote here. Within about 3 weeks her year-long GI problems were gone. She discontinued the tablets and the GI issues stayed away. About 18 months later, after a period of heavy stress and travel, her GI issues returned and then disappeared again after another round of BioGaia tablets.
by bradleyy | 2026-01-07 14:03:37+00:00
Why are you tracking when it's an undisputed evil? Reality distortion indeed.

Is getting consent interruptive? yes. Is that worse than not getting consent? Also yes.

Since you don't appear to want to give up the undisputed evil of tracking, then consent is what's left to you. You've made the same choice as everyone else.

I'd encourage you to respect GPC and DNT, so the (roughly 20%, depending on audience) of users that have it enabled can automatically opt out of your tracking without the "crystal clear evil" of a consent banner. Remember that in California you need to show some display that their consent choices have been observed.
by CuriouslyC | 2026-01-07 14:03:42+00:00
The problem isn't generating requirements, it's validating work. Spec driven development and voice chat with ticket/chat context is pretty fast, but the validation loop is still mostly manual. When I'm building, I can orchestrate multiple swarm no problem, however any time I have to drop in to validate stuff, my throughput drops and I can only drive 1-2 agents at a time.
by sunrunner | 2026-01-07 14:03:52+00:00
Personally I make sure to always carry around a string and some scissors, so any time I need an arbitrary measurement I can just cut the string to the length of the thing I want to measure (making sure to label it in case of multiple required measurements), then measure the cut string later. Simple.

Although I still haven't figured out the best way to do that in reverse (when someone wants a specific measurement and I cut the string from that number), though I was considering a scheme where I start with strings of known length up-front then repeatedly cut successive halves until I converge on the desired number, accounting for cut accuracy and require precision.
by Verdex | 2026-01-07 14:04:21+00:00
You may be thinking of turing completeness. All turing complete languages can compute the same functions. And in that way they are equivalent.

However, not all languages are turing complete. See, for example, charity: https://github.com/dobesv/charity

Furthermore, turing completeness says nothing about expressiveness or capability. Imagine a language that has no IO. Such a language would be able to compute any function any other language can but not do anything viewable by the rest of the world. So obviously not equivalent.

And w.r.t. expressiveness, there is some academic research into how to quantify that: https://www2.ccs.neu.edu/racket/pubs/scp91-felleisen.pdf
by bflesch | 2026-01-07 14:04:25+00:00
I feel you have good intentions and I appreciate your warnings but it's not like people go down these rabbit holes because they want to. They get pushed away and invalidated all the time by people like you who have the best intentions. Their appearance is uncomfortable, their symptom descriptions are vague and conflicting, and due to limited financial and intellectual resources they cannot express their disease in an optimal way, especially to stressed medical professional.

Doctors WANT to help people, but their diagnostic tools are still very limited and they can't/won't do home visits and see in what kind of unhealthy environment people are living in. For healthy people from a stable environment many homes of sick people smell horrible. But if you're financially tied to such a place, and never lived somewhere else you might feel that you're not well but you cannot pin it down.

The whole candida thing feels like a strawman to me. For my industry it would be a layperson coming to me with a defective computer and saying they have a trojan on their computer but in fact it is a spyware instead. I wouldn't send them home and be angry at social media to talk about trojans so much, I would help them diagnose the issue "computer problem" and then we see it is technically a spyware.

50% of population has below-average intelligence, 50% of population has below-average education, 50% of population has below-average wealth. The medical system makes it too easy to send these people back home and invalidate their symptoms just because they come with the wrong "tagline" into the meeting.

And what doctors are reporting as bad influence of social media is actually that patients know of thousands of others with similar symptoms, so they will be giving more push back against gaslighting attempts by doctors. For doctors it's easier to blame "misinformation" than to actually accept the symptoms listed by the patients and see that the medical profession is far from perfect and that the current lab methods have a lot of room for improvement.
by jazzypants | 2026-01-07 14:04:48+00:00
I mean, there's a reason people made client-side frameworks in the first place. Distributed state synchronization is really, really hard to do manually.

I think HTMX is really well designed for what it is, but I struggle to think of an occasion when it would be the best option. If you have any amount of interactivity, you'll get better DX with a full client side framework. If you don't have much interactivity, then you don't even need a JavaScript library in the first place. Just write a static website.
by cpburns2009 | 2026-01-07 14:05:15+00:00
Why would I regret it? I work on open source projects to satisfy a particular itch. I can work on an interesting topic in my free time and drop it if I get bored. I don't have the stress of worrying about deadlines or monetization. The fact that it sits out in the open rather than hidden away on some dusty hard drive is a perk because at least a few people have found them useful. If you can utilize their features to make money yourself, good for you. Why should I care outside of greed or envy?
by jmmcd | 2026-01-07 14:05:24+00:00
The best example of all is Prolog. It is always held up as the paradigmatic representative of logic programming, a rare language paradigm. But it doesn't need to be a language. It is really a collection of algorithms which should be a library in every language, together with a nice convention for expressing Prolog things in that language's syntax.

(My comment is slightly off-topic to the article but on-topic to the title.)
by mjr00 | 2026-01-07 14:05:46+00:00
Just from googling, here's a video "Use ChatGPT to Code a Full Stack App" from May 18, 2023.[0]

There's a lot of non-ergonomic copy and pasting but it's definitely using an LLM to build a full application.

[0] https://www.youtube.com/watch?v=GizsSo-EevA
by niemandhier | 2026-01-07 14:06:38+00:00
25. Of October 1786: Lichtenberg suggested his friend Beckmann a paper format in the aspect ration 1/√2.

»einen Bogen Papier zu finden, bey dem alle Formate … einander ähnlich wären. … Die kleine Seite des Rechtecks muß sich nämlich zu der großen verhalten wie 1:√2 oder wie die Seite des Quadrats zu seiner Diagonale. Die Form hat etwas angenehmes und vorzügliches vor der gewöhnlichen.«
by pjmlp | 2026-01-07 14:06:52+00:00
Ah, ok, that I really don't see the point.

PCs aren't vertically integrated from a single vendor, and thus it isn't as if Microsoft alone can drag a whole ecosystem into ARM, even if the emulation would work out great.

Windows NT was also multi-architecture, and eventually all variants died, because x86 was good enough, and when Itanium came to be, AMD got a workaround to keep x86 going forward.

Even gaming doesn't work that great on Windows ARM.
by lunar_mycroft | 2026-01-07 14:06:53+00:00
As of the middle of the year, there was no increase in publicly available indicators of new startups at all [0]. No change in the trend in steam releases, domain name registrations, app store releases, etc. People might be able to keep the fact that they're a one person team that built the app with AI secret, but they wouldn't be able to keep the fact that they made an app secret. Unless someone has evidence that's changed dramatically in the last six months, I have to conclude that the reason we aren't seeing a wave of AI enabled SaaS startups isn't that they're keeping the fact that they're solo operations with AI a secret, but rather that no such wave actually exists.

[0] https://mikelovesrobots.substack.com/p/wheres-the-shovelware...
by ferguess_k | 2026-01-07 14:07:31+00:00
My professional goal is to get into a paying low level system programming job with a salary of 90K+ CAD. My current job is too high level to make a one shot transition so I'm considering making multiple hops. I did work on some low level system programming projects but I feel I could never compete with college graduates who have a ton of time to grind on the Linux source code. I have 2 hours at best every day. Maybe it is an unrealistic objective but I'm willing to give it a go.
Show HN: A simple way to find open source issues to contribute to
by K-dash | 2026-01-07 14:07:44+00:00
Finding open source issues is easy.
Deciding which ones are worth your time is not.

I built Contrib.FYI as a simple web app to reduce that decision cost.

Instead of relying on static, curated lists, it uses live GitHub API data
and shows issues in chronological order, so discovery stays fresh.

On top of that, it surfaces a few early signals (language, stars,
no comments, no linked PRs) to help you avoid opening issues that are
already being worked on.

The goal is not to find more issues,
but to find better candidates to spend your time on.

Source code is available here:
https://github.com/K-dash/contrib-fyi

Feedback is welcome.
by CuriouslyC | 2026-01-07 14:08:01+00:00
This is mostly correct IMO.

SaaS is extremely vulnerable, companies will be able to modify open source tools to do exactly what they need, and agents will make managing those services easier. This will lead to downward pressure on SaaS prices, and cause them to become more like cloud data management platforms that they let customers build on top of rather than one-size-fits-all apps.