frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
473•klaussilveira•7h ago•116 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
812•xnx•12h ago•487 comments

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

https://github.com/valdanylchuk/breezydemo
157•isitcontent•7h ago•17 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
156•dmpetrov•7h ago•67 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
32•matheusalmeida•1d ago•1 comments

A century of hair samples proves leaded gas ban worked

https://arstechnica.com/science/2026/02/a-century-of-hair-samples-proves-leaded-gas-ban-worked/
91•jnord•3d ago•12 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
50•quibono•4d ago•6 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
260•vecti•9h ago•123 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
207•eljojo•10h ago•134 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
328•aktau•13h ago•158 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
327•ostacke•13h ago•86 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
411•todsacerdoti•15h ago•219 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
337•lstoll•13h ago•241 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
22•kmm•4d ago•1 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
52•phreda4•6h ago•9 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
4•romes•4d ago•0 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
195•i5heu•10h ago•144 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
115•vmatsiiako•12h ago•38 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
152•limoce•3d ago•79 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
244•surprisetalk•3d ago•32 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
996•cdrnsf•16h ago•420 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
46•rescrv•15h ago•17 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
25•gfortaine•5h ago•3 comments

I'm going to cure my girlfriend's brain tumor

https://andrewjrod.substack.com/p/im-going-to-cure-my-girlfriends-brain
67•ray__•3h ago•28 comments

Evaluating and mitigating the growing risk of LLM-discovered 0-days

https://red.anthropic.com/2026/zero-days/
38•lebovic•1d ago•11 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
78•antves•1d ago•59 comments

How virtual textures work

https://www.shlom.dev/articles/how-virtual-textures-really-work/
30•betamark•14h ago•28 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
41•nwparker•1d ago•11 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
7•gmays•2h ago•2 comments

Evolution of car door handles over the decades

https://newatlas.com/automotive/evolution-car-door-handle/
41•andsoitis•3d ago•62 comments
Open in hackernews

PortablE

https://cshandley.co.uk/portable/
10•BruceEel•7mo ago

Comments

postexitus•7mo ago
I remember using Amiga E, from a cover disk of CU Amiga.

Do I remember correctly that Amiga E had a "but" operator, which executes one statement but returns the value of the other? Never understood its point.

I thought it was one of those things that put Amiga ahead of competitors (because other systems had C/D). Oh my teenager brain.

Edit: looks like I remember correctly!: https://cshandley.co.uk/JasonHulance/beginner_93.html

tialaramex•7mo ago
That's some real esolang brain damage. Did somebody see the (four!) needlessly confusing increment and decrement operators in C and think this hadn't gone far enough?

It's not quite COME FROM but it sure is close for a supposedly useful language.

amiga386•7mo ago
It's only doing what the https://en.wikipedia.org/wiki/Comma_operator does in C

Why you'd use it? Probably for reducing statements to expressions, e.g.

   PROC lower_delta(a1,a2,b1,b2) IS (da:=a2-a1) BUT (db:=b2-b1) BUT (IF da<db THEN da ELSE db)
tialaramex•7mo ago
That's just "I wish this was an expression language". Yeah, good idea, why isn't it?

    type Num = i32; // Or whatever your preferred numeric type is
    fn lower_delta(a1: Num, a2: Num, b1: Num, b2: Num) -> Num {
      let da = a2 - a1;
      let db = b2 - b1;
      if da < db { da } else { db }
    }
amiga386•7mo ago
A more useful example I found:

  REPEAT
      ...
  UNTIL CtrlC() OR (IF m:=GetMsg(wnd.userport) THEN ReplyMsg(m) BUT 1 ELSE 0)
Which means loop until Ctrl-C is pressed, or an IDCMP message comes to the window (which must be replied to allow the sender to reuse/free the message, but otherwise we don't care what's in the message, because we know it's either a keypress or a mouseclick, and both end the loop).

The comma operator, or "BUT", lets us capture the result of GetMsg(), go down a positive "we got a message so end the loop" path, but also fits in a ReplyMsg() so we don't have to deal with it anywhere else

tialaramex•7mo ago
Like I said though, you wanted an expression language, just have an expression language

    loop {
      // ...
      if ctrl_c() ||
         match get_msg(wnd.userport) { None => false,
                                     Some(m) => { _ = reply_msg(m);   true } } {
         break;
      }
    }