MurphyA/hacker-news huggingface dataset:
Show HN: SICore – Lightweight Java framework for beginners and AI codegen
by sugaiketadao | 2026-01-24 15:02:06+00:00
Hi HN,

I've been working on SICore, a lightweight Java web framework designed for two audiences: programming beginners and AI coding assistants.

Unlike feature-rich frameworks like Spring, SICore removes annotations and complex configurations. Here are some core design choices:

• URL = Class name – No routing config needed. `/services/example/UserSearch` directly maps to `com.example.services.example.UserSearch`.

• JSON-centric – Browser-server communication is JSON only. HTML files are static; no template engines involved.

• AI-native – Includes `.github/copilot-instructions.md` so AI coding assistants understand framework conventions.

• Traceable – Entire framework is fully open source, making execution flow easy to follow for humans and AI.

It also includes a small custom CSS library, robust `Io` class for NULL-safe data handling, and standardized UI/business logic patterns that help AI generate accurate code.

In tests with Claude Opus 4.5, it generates complete screens (HTML/JavaScript/Java) from requirement documents. Core features work well though still under development.

Try it yourself:

• Sample screens (VS Code): https://github.com/sugaiketadao/sicore#%EF%B8%8F-how-to-veri...

• AI development guide: https://github.com/sugaiketadao/sicore#-getting-started-with...

I'd love feedback, especially on the AI-assisted development approach!

GitHub: https://github.com/sugaiketadao/sicore
by mcny | 2026-01-24 15:02:21+00:00
I'm still hopeful.

The next version of html should be able to do all the http verbs -- get, put, patch, post, delete online, reactively without having to use a form.

There has to be a way to figure this out, even if it requires a transition period. The best time to plant a tree was twenty years ago, the second best time is now. These things belong in the core HTML standards, not a js library you need to include in your code.

Oh that and better controls and better defaults but I guess that is something individual web browsers can implement on their own?
by PaulHoule | 2026-01-24 15:02:22+00:00
I ask you then: (1) how do you deal with the template that surrounds a large number of pages on a site? (2) how do you deal with the fact that the average web form might want to display something different based on the form contents (e.g. redraw the form if there's an error, draw something different on success?) (3) do you write anything that returns JSON or other results for AJAX or web services?
by jrockway | 2026-01-24 15:02:25+00:00
A similar question is what happens if you get up to go to the bathroom, some software on your machine updates and requires you to accept the new ToS, and your cat jumps up on the keyboard and selects "accept". Are you still bound by those terms? Of course. If licenses are valid in any way (the argument is they get you out of the copyright infringement caused by copying the software from disk to memory) then it's your job to go find the license to software you use and make sure you agree to it; the little popup is just a nice way to make your aware of the terms.
by 3D39739091 | 2026-01-24 15:03:16+00:00
Seems like the author's only talking about the extreme end of the spectrum. Not every fork is attempting to replace the forked project. There are so many other lesser degrees.

You can fork something just for a fun or experimentation. You could have a use case that the project doesn't handle and you aren't ready or interested in contributing that solution (especially if you only need this for a one-off scenario or a short-lived project).

This could also apply to needs that your client or company has, but it's out of scope for the original project, so you make a private fork that you and your team maintain internally. It could be that you DO actually make this public (either initially or eventually) so other people who have the same need can benefit and possibly contribute.

It could even be that, over time, the amount of users of your fork convince the upstream project that there is a need for this use case. Maybe they decide to handle it themselves or maybe your fork merges back in with the upstream. Sometimes projects just can't say yes to certain things because they wouldn't want to/be able to implement, maintain and support it. Seeing that you and others maintain a fork for a non-trivial amount of time can establish the credibility that there is indeed someone who will maintain this.
by jhasse | 2026-01-24 15:03:17+00:00
Of course it can be made UTF-8. Just add a codepoints_size() method and other helpers.

But it isn't really needed anyway: I'm using it for UTF-8 (with helper functions for the 1% cases where I need codepoints) and it works fine. But starting with C++20 it's starting to get annoying because I have to reinterpret_cast to the useless u8 versions.
by 1vuio0pswjnm7 | 2026-01-24 15:04:00+00:00
"We cannot issue an IPv4 address to each machine without blowing out the cost of the subscription. We cannot use IPv6-only as that means some of the internet cannot reach the VM over the web."

This "some of the internet" must be significant

What about HN commenters who think IPv6 use by mobile carrier networks is a justication for others to use it

According to this blog, there is more to the internet than mobile carrier networks and other IPv6 users
by martinald | 2026-01-24 15:04:19+00:00
It's actually very well covered now. The problem is apartment buildings. The buildings owner has to give approval to allow openreach/virgin/hyperopic to run new fibre thru the building, and it's extremely time consuming for network providers to negotiate these individually per building.

If you're not in an apartment building you'll almost certainly have FTTH coverage from someone in London.

The govt is consulting on new laws which would give apartment building residents the power to demand the freeholder of the apartment building allow fibre installs, which would make this far easier.
by ImPostingOnHN | 2026-01-24 15:04:39+00:00
If almost everybody thinks you're so insufferable that they don't want to interact with you, chances are, you are.

This has been a function of societies for as long as societies have existed, and addressing it requires honest reflection. In this case: "why is there such a huge overlap between people competent and willing to host federated social media servers, and people who don't want to be around me?"

Unfortunately there is a pervasive attitude amongst a certain personality type, that if someone criticizes them, then that someone must be wrong, and must be fought, no matter what. It's common enough to have ICS-10 diagnosis codes for it: Narcissistic Personality Disorder and/or Oppositional Defiant Disorder.

This is why I rarely try to change people's minds anymore unless they appear receptive to it: there's a good chance an overactive amygdala will see it as an attack and just make more work for me. It's easier to just talk to them, or if they're being unnecessarily rude to people: not talk to them.

You might reflect upon your own short comment history and judge for yourself what proportion of your posts are agreeable vs. belligerent, and consequently whether folks would like to have a nice conversation with you.
by cornholio | 2026-01-24 15:05:52+00:00
Beyond the crypto architecture debate, I don't really understand how could anyone imagine a world where MS could just refuse such a request. How exactly would we draft laws to this effect, "the authorities can subpoena for any piece of evidence, except when complying to such a request might break the contractual obligations of a third party towards the suspect"?

Do we really, really, fully understand the implications of allowing for private contracts that can trump criminal law?
by mark_l_watson | 2026-01-24 15:05:55+00:00
I have been enjoying reading this thread, but with some irony: sure the email spams pushing their Lumo LLM private chatbot were a mistake, and I bet they stop doing that fast.

The irony is that Lumo is a separate product, not really tied to the rest of their products except for a common login. Lumo works fine for the simple quality of life search and question answering stuff.

Off topic, but have you tried avoiding the big corporate LLM providers and run local models? The small models just keep getting better and I find it fun and satisfying to do as much as I can locally.
by tim333 | 2026-01-24 15:06:23+00:00
They seem to be being a bit naughty with the attribution. This is all based of the ideas of Charlie Munger who featured more prominently if you look at an archive version of the same page https://web.archive.org/web/20180215045353/https://fs.blog/m...

A transcript of Charlie's speech is still up https://fs.blog/great-talks/a-lesson-on-worldly-wisdom/

I guess Shane Parrish is trying to carry the torch on now that Charlie has passed.
by beepbooptheory | 2026-01-24 15:07:04+00:00
I hear you but still just struggle what we are supposed to take from this. If I worked for McDonalds and came up with a way to make 1000 bad hamburgers in the time it takes for them to currently make 10 good ones, no one would be that impressed.

"Hello world" is self-justifying, you know it when you see it, and it is what it is because it shows something unambiguous and impossible to mistake.
by adzm | 2026-01-24 15:07:05+00:00
as an in memory database, I got around 40,000,000 reads per second. Using WAL and a file rather than in memory, around 900,000 reads per second. This is single threaded, for a simple integer ID to string Value query, and a few years old at this point, and only minor config optimizations eg not even using memory mapped io and a ~3gb database with a million or so rows on a Windows machine. The performance really is amazing.
by vanderZwan | 2026-01-24 15:07:14+00:00
I too feel like Emscripten is doing way more than it should for the vast majority of actual use-cases for WASM on the web out there. It's too heavy to install, too much of a hassle to get running, produces way bigger output than it should if the main target is a website, and adds needless friction by being largely oblivious to how the web works from the C++ side of things. The shared memory architecture + batched calls also aligns with hunches I had about unlocking fast WASM for web dev. So this sounds extremely interesting!

Coi looks pretty nice! But honestly I think WebCC might actually be the thing I have been waiting for to unlock WASM on the web. Because if I understand correctly, it would let me write C++ code that compiles to tiny WASM modules that actually integrates with generic JS code very efficiently. Which would make it much easier to add to existing projects where there are some big bottlenecks in the JS code.

Looking forward to giving it a spin!
by bramhaag | 2026-01-24 15:07:28+00:00
Forgejo has an integrated CI/CD solution, Forgejo Actions [1], that is very similar to GitHub Actions (and thus not so similar to GitLab CI). This is what you'll probably use if you self-host.

Codeberg (a public Forgejo-based forge) also offers Woodpecker CI. Their hosted Forgejo Actions is still in beta AFAIK, but you can also use your self-hosted runners.

[1] https://forgejo.org/docs/next/user/actions/quick-start/
by notnullorvoid | 2026-01-24 15:07:55+00:00
I highly recommend everyone involved in web development to read at least a small proportion of the horrors that are the HTML parser specification. It will leave you yearning for the return of XHTML.

Or you could also read web proposals where the reason for avoiding the ideal implementation is complication of updating HTML parser rules.

Or attempt to use the web features that are already hindered by the HTML parser (custom element table rows).
by robin_reala | 2026-01-24 15:08:06+00:00
XHTML survives in ePub. Recently there was a survey to gather industry feedback for a potential addition of an HTML flavour of ePub to be added to the next version of the spec, but it soon became fairly clear that people saw a lot of value in remaining XHTML-only: https://www.w3.org/blog/2026/epub-and-html-survey-results-an...
by t-3 | 2026-01-24 15:08:55+00:00
> It would be nice to read about the differences between genuine hallucinations and mental imagery or sound from someone familiar with both. Obviously there are differences but people just get offended or simply weirded out most of the time when you ask.

I thought the same, but after reading this I'm beginning to wonder whether or not there is actually a difference: http://www.sciencedaily.com/releases/2026/01/260122074033.ht...

It seems like the "voice in the head" is distinguished from real voices by a mechanism similar to how tickling yourself doesn't cause the same sensation as another doing the tickling. People with inner voices and visualizations might actually be hallucinating all the time, they're just aware of it and not being misled by their senses like a schizophrenic would be.
by polyglotfacto | 2026-01-24 15:09:22+00:00
> it's very much intended as a research project

If so then the failure of the experiment should be acknowledged.

Failure described among others at: https://news.ycombinator.com/item?id=46705625

> It's functional enough to render web pages

> FastRender may not be a production-ready browser, but it represents over a million lines of Rust code, written in a few weeks, that can already render real web pages to a usable degree.

This is something that can be done in much less than a million lines of code. There must be a core somewhere in Fastrender--probably just a few thousands lines--which is putting together existing layout and graphics libraries and makes it render something to the screen.

Doing that in a few weeks isn't impressive, especially not when buried in a million lines of spaghetti code.

If you want an example of a real prototype web engine build along radical design choices, head over to https://github.com/DioxusLabs/blitz

I'm pretty sure it renders far better than Fastrender(the edits the agents made to Taffy are probably nonsense), and I'm guessing it is at most 50k lines.

Conclusion:

In the light of the efforts to paper over failures, I'm calling Fastrender not a research project but propaganda.
by alexfoo | 2026-01-24 15:09:23+00:00
As others have said, Fibre is a postcode lottery.

A&A is expensive for me. 1Gbps down and 115Mb/s up with a 1TB/mo quota for £75/mo. I get similar speeds (with no download limit) from BT for £34.99/mo.

Community Fibre is £63/mo for symmetric 5Gbps and "unlimited data".

I'm locked into a contract with BT for another year but I don't have any real need for anything faster than 500Mbps right now.

I'm focusing on making my homelab network 10GbE to cover the day that I do manage to get >1Gbps broadband.
by pocketarc | 2026-01-24 15:09:37+00:00
I'm a dev, not a salesperson, but let's be realistic. A company tells you "yeah we're interested in signing at $1M/yr, but we really need this feature, when will you have it by?", to which saying "eh we don't know - it'll be done when it's done" will lead to the company saying "ok well reach out when you have it, we can talk again then" (or just "eh ok then not a good fit sorry bye"), and in the meantime they'll go shopping around and may end up signing with someone else.

Having a promised date lets you keep the opportunity going and in some cases can even let you sign them there and then - you sign them under the condition that feature X will be in the app by date Y. That's waaaay better for business, even if it's tougher for engineers.
by pavel_lishin | 2026-01-24 15:10:17+00:00
> In a lot of cases, there will be something going on in their private life they are struggling with. If you help them with that, or at least help them navigate work around this, you will end up with a great team member.

Note that there already has to be a pretty high level of trust between that employee and their manager for this to work; if I don't feel like I can trust my manager, I will absolutely keep my lips zipped about anything not directly work related.
by chrismorgan | 2026-01-24 15:10:22+00:00
The things that are invalid should all have defined behaviour. For example, a <label> is not allowed to contain two form controls, but is defined as applying to the first such control.

As far as parse errors is concerned, https://html.spec.whatwg.org/multipage/parsing.html#parse-er... says:

> This specification defines the parsing rules for HTML documents, whether they are syntactically correct or not. Certain points in the parsing algorithm are said to be parse errors. The error handling for parse errors is well-defined (that's the processing rules described throughout this specification), but user agents, while parsing an HTML document, may abort the parser at the first parse error that they encounter for which they do not wish to apply the rules described in this specification.
by ripped_britches | 2026-01-24 15:10:29+00:00
I don’t do a ton of estimation but an interesting new thing is asking a cli agent to estimate for you.

First impressions with this is they give really long estimates.

Also, due to coding agents, you can have them completely implement several different approaches and find a lot of unknown unknowns up front.

I was building a mobile app and couldn’t figure out whether I wanted to do two native apps or one RN/Expo app. I had two different agents do each one fully vibe coded and then tell me all the issues they hit (specific to my app, not general differences). Helped a ton.
by jawns | 2026-01-24 15:10:49+00:00
Here's my (somewhat tongue-in-cheek) rubric:

- If it's an internal project (like migrating from one vendor to another, with no user impact) then it takes as long as I can convince my boss it is reasonable to take.

- If it's a project with user impact (like adding a new feature) then it takes as long as the estimated ROI remains positive.

- If it's a project that requires coordination with external parties (like a client or a partner), then the sales team gets to pick the delivery date, and the engineering team gets to lie about what constitutes an MVP to fit that date.
by echelon | 2026-01-24 15:11:21+00:00
> In the case of Google, geeks,

Google was open for everyone almost immediately

> in the case of Facebook, the sort of men who browse "HotOrNot" websites,

Facebook was for every college student almost immediately after it started growing. And shortly after the on-campus growth phase, it was opened up for everyone.

Reddit skews mildly liberal, but not overtly so. It was able to grow usage amongst all demographics. X, on the other hand, is increasingly becoming conservative, but it still has a large audience on all sides of the spectrum. Neither has to jumpstart growth.

Bluesky started out almost entirely polarized to the point it will be nearly impossible to be inclusive of anyone else. This will kill its ultimate growth potential. Threads basically skipped right over it.
by storystarling | 2026-01-24 15:11:43+00:00
I ran into this building a similar workflow with LangGraph. The prompt engineering is definitely a pain, but the real bottleneck with the coordinator model turns out to be the compounding context costs. You end up passing the full state history back and forth, so you are paying for the same tokens repeatedly. Between that and the latency from serial round-trips, it becomes very hard to justify in production.
by dahart | 2026-01-24 15:12:09+00:00
Depends. Throughput is probably higher, but the latency of a big scan might be larger than a small one, so many small lookups might feel more responsive if they’re each rendered independently. The example on the page doesn’t look like it can be merged into a single scan. I’m not a SQL expert but at a glance it does look like it could maybe be compressed into one or two dozen larger lookups.
by mariusor | 2026-01-24 15:12:16+00:00
Open-Source in its actuality is not a lot about community. It's about making sure other people have everything they need to be able to run and modify a specific piece of software. The fact that, usually communities form around this paradigm is a happy coincidence in my opinion. Additionally, another point on both you and OP are missing the point, is that the communities that are relevant to open-source are not communities of users, but communities of contributors.

And what OP is proposing is actually forced labour. Instead of people being free to work (and fork) to their heart contents, the implication exists that they're losing their time, and instead, should focus on "collaborating" with the existing community. Which frankly nobody in the history of open-source ever denied. Forks are last instance measures, where the steering of a project gets off the rails to a high enough degree to justify such a drastic measure.
by dagmx | 2026-01-24 15:13:31+00:00
I think it’s a reasonable default if Microsoft weren’t able to access your encryption keys.

Apple has that figured out. Your keys can be stored in your cloud synced keychain but only you can decrypt that keychain.

That’s why they couldn’t help the FBI to decrypt devices even when compelled.

Microsoft should have done the same. They should never find themselves in a place where they can be compromised like this.
by sph | 2026-01-24 15:13:34+00:00
> I’d take “slightly below average but is generally good to work with and tries hard” over “genius asshole” almost any day.

I'd take either before the utterly dangerous "below average hard-working asshole" which tend to quickly rise to managerial positions and cause untold damage with their ineptitude.

"I distinguish four types. There are clever, hardworking, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and hardworking; their place is the General Staff. The next ones are stupid and lazy; they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the mental clarity and strength of nerve necessary for difficult decisions. One must beware of anyone who is both stupid and hardworking; he must not be entrusted with any responsibility because he will always only cause damage."

— Kurt von Hammerstein-Equord
by huhkerrf | 2026-01-24 15:13:47+00:00
Trees are big in the Torah and Bible generally. The Bible Project did a whole series on trees in the Bible. You've got the Tree of Life, the Tree of the Knowledge of Good and Evil, the cross, the tree in the book of Jonah, the fig tree, the parable of the vine and the branches, etc..

It all makes sense for a religion steeped in a desert culture. Trees are (relatively) rare, and what they offer is incredibly important and life giving.
by NoGravitas | 2026-01-24 15:14:03+00:00
"Open" is an overstatement when it comes to RCS. You can't go out and write a new RCS client for Android, and you can't provide RCS on a new platform (or even unGoogled Android). It's open to the extent that both Google and Apple can use it; other major hardware vendors and carriers could, but don't (Samsung used to, and dropped it earlier this year).
by MiddleEndian | 2026-01-24 15:14:04+00:00
Right, and I think that if they send spam, all email providers (especially gmail, the largest provider) should mark all their emails as spam by default. They are doing what is described above at a large scale, so large-scale reactions are needed.

Of course, if you manually mark them as not-spam, then gmail should respect your choice as a user.
by chrisss395 | 2026-01-24 15:14:13+00:00
Yes to Maggie & Steve's amazingly well written articles...and:

I would love to see Steve consider different command and control structures, and re-consider how work gets done across the development lifecycle. Gas Town's command and control structure read to me like "how a human would think about making software." Even the article admits you need to re-think how you interact in the Gas Town world. It actually may understate this point too much.

Where and how humans interact feels like something that will always be an important consideration, both in a human & AI dominated software development world. At least from where I sit.