frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Tiny C Compiler

https://bellard.org/tcc/
141•guerrilla•5h ago•63 comments

Show HN: LocalGPT – A local-first AI assistant in Rust with persistent memory

https://github.com/localgpt-app/localgpt
20•yi_wang•1h ago•4 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
222•valyala•9h ago•42 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
128•surprisetalk•8h ago•138 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
161•mellosouls•11h ago•319 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
896•klaussilveira•1d ago•273 comments

Brookhaven Lab's RHIC concludes 25-year run with final collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
51•gnufx•7h ago•52 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
145•vinhnx•12h ago•16 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
170•AlexeyBrin•14h ago•30 comments

Show HN: Craftplan – Elixir-based micro-ERP for small-scale manufacturers

https://puemos.github.io/craftplan/
15•deofoo•4d ago•3 comments

FDA intends to take action against non-FDA-approved GLP-1 drugs

https://www.fda.gov/news-events/press-announcements/fda-intends-take-action-against-non-fda-appro...
83•randycupertino•4h ago•167 comments

First Proof

https://arxiv.org/abs/2602.05192
110•samasblack•11h ago•70 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
282•jesperordrup•19h ago•92 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
62•momciloo•9h ago•12 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
93•thelok•11h ago•20 comments

The F Word

http://muratbuffalo.blogspot.com/2026/02/friction.html
104•zdw•3d ago•52 comments

Show HN: A luma dependent chroma compression algorithm (image compression)

https://www.bitsnbites.eu/a-spatial-domain-variable-block-size-luma-dependent-chroma-compression-...
31•mbitsnbites•3d ago•2 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
560•theblazehen•3d ago•206 comments

IBM Beam Spring: The Ultimate Retro Keyboard

https://www.rs-online.com/designspark/ibm-beam-spring-the-ultimate-retro-keyboard
5•rbanffy•4d ago•0 comments

Eigen: Building a Workspace

https://reindernijhoff.net/2025/10/eigen-building-a-workspace/
9•todsacerdoti•4d ago•2 comments

Microsoft account bugs locked me out of Notepad – Are thin clients ruining PCs?

https://www.windowscentral.com/microsoft/windows-11/windows-locked-me-out-of-notepad-is-the-thin-...
109•josephcsible•7h ago•128 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
264•1vuio0pswjnm7•15h ago•445 comments

Selection rather than prediction

https://voratiq.com/blog/selection-rather-than-prediction/
28•languid-photic•4d ago•9 comments

I write games in C (yes, C) (2016)

https://jonathanwhiting.com/writing/blog/games_in_c/
175•valyala•9h ago•165 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
114•onurkanbkrc•14h ago•5 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
142•videotopia•4d ago•47 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
223•limoce•4d ago•124 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
133•speckx•4d ago•210 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
297•isitcontent•1d ago•39 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
579•todsacerdoti•1d ago•280 comments
Open in hackernews

Structuring large Clojure codebases with Biff

https://biffweb.com/p/structuring-large-codebases/
98•PaulHoule•6mo ago

Comments

4b11b4•6mo ago
If I understand correctly... keep denormalized data in views?
jacobobryant•6mo ago
yes, that's part of it.
tiffanyh•6mo ago
OT: really appreciate the web design of the site. Simple, clean, info dense, and good contrast.
jacobobryant•6mo ago
Thanks! It's all from scratch.
aboardRat4•6mo ago
With biff, but without comsat?
codemonkey-zeta•6mo ago
Maybe I don't understand, but I thought the whole point of datomic (and XTDB by extension) was to avoid denormalization.

I am surprised the author says:

> "Old Yakread" has a lot of slow queries. For example, loading the subscriptions page on my account takes more than 10 seconds: for each of my hundreds of subscriptions, it has to run a query to figure out how many unread posts there are and when the most recent post was published.

I would have thought you would grab all this data in a single query roughly like this:

  ;; Assuming XTDB v1.19+ or v2
  (def q
    '{:find  [?sub-id ?unread-count ?last-pub]
      :in    [user-id]
      :where [[?sub :subscription/user user-id]
              [?sub :subscription/feed feed-id]
              ;; join to posts in that feed
              [?post :post/feed feed-id]
              [?post :post/published timestamp]
              (not [?post :post/read-by user-id])
      ]
      :find  [(count ?post) ?unread-count
              (max timestamp) ?last-pub]
      :order-by [[?last-pub :desc]]})

^ AI disclaimer, but I think it gets the gist, you do your logical joins right in the query
jacobobryant•6mo ago
You can do that, it's just slow if there are a lot of results.

Agreed you want to keep data in your main database normalized since it's easier to reason about and avoid bugs/inconsistencies in the data. The inherent trade-off is just that it's more computationally expensive to get the denormalized data.

The idea of materialized views is to get the best of both worlds: your main database stays normalized, and you have a secondary data store (or certain tables/whatever inside your main database, depends on the implementation) that get automatically precomputed from your normalized data. So you can get fast queries without needing to introduce a bunch of logic for maintaining the denormalized data.

The hard part is how do you actually keep those materialized views up to date. e.g. if you're ok with stale data, you can do a daily batch job to update your views. If you want to the materialized views to be always up-to-date then things get harder; the solution described in the article is one attempt at addressing that problem.

refset•6mo ago
Datomic offers the ability to declare a "composite index" which can help to accelerate some kinds of access patterns but can't solve 6NF join overheads entirely. If you want guaranteed read performance then denormalized views are the way to go, and perhaps even an IVM engine like Materialize - or this looked promising at one time: https://github.com/sixthnormal/clj-3df