frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Doing gigabit Ethernet over my British phone wires

https://thehftguy.com/2026/01/22/doing-gigabit-ethernet-over-my-british-phone-wires/
119•user5994461•2h ago•64 comments

Show HN: I built a space travel calculator using Vanilla JavaScript

https://cosmic-odometer.vercel.app/
32•captainnemo729•2h ago•20 comments

Internet Archive's Storage

https://blog.dshr.org/2026/01/internet-archives-storage.html
181•zdw•3d ago•41 comments

Show HN: Coi – A language that compiles to WASM, beats React/Vue

64•io_eric•3d ago•25 comments

Unrolling the Codex agent loop

https://openai.com/index/unrolling-the-codex-agent-loop/
356•tosh•15h ago•164 comments

80386 Multiplication and Division

https://nand2mario.github.io/posts/2026/80386_multiplication_and_division/
54•nand2mario•6h ago•9 comments

Proof of Corn

https://proofofcorn.com/
401•rocauc•18h ago•276 comments

Modetc: Move your dotfiles from kernel space

https://maxwell.eurofusion.eu/git/rnhmjoj/modetc
20•todsacerdoti•4h ago•8 comments

Traintrackr – Live LED Maps

https://www.traintrackr.co.uk/
58•recursion•5d ago•22 comments

Extracting verified C++ from the Rocq theorem prover at Bloomberg

https://bloomberg.github.io/crane/
63•clarus•4d ago•4 comments

Gas Town's agent patterns, design bottlenecks, and vibecoding at scale

https://maggieappleton.com/gastown
346•pavel_lishin•20h ago•352 comments

“Let people help” – Advice that made a big difference to a grieving widow

https://www.npr.org/2026/01/20/nx-s1-5683170/let-them-the-small-bit-of-advice-that-made-a-big-dif...
72•NaOH•9h ago•11 comments

Management Time: Who's Got the Monkey? [pdf]

https://www.med.unc.edu/uncaims/wp-content/uploads/sites/764/2014/03/Oncken-_-Wass-Who_s-Got-the-...
6•rintrah•4d ago•1 comments

Banned C++ features in Chromium

https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++-features.md
188•szmarczak•15h ago•156 comments

Telli (YC F24) is hiring eng, design, growth [on-site, Berlin]

https://careers.telli.com/
1•sebselassie•5h ago

Comma openpilot – Open source driver-assistance

https://comma.ai
292•JumpCrisscross•11h ago•158 comments

Microsoft gave FBI set of BitLocker encryption keys to unlock suspects' laptops

https://techcrunch.com/2026/01/23/microsoft-gave-fbi-a-set-of-bitlocker-encryption-keys-to-unlock...
884•bookofjoe•18h ago•569 comments

Some C habits I employ for the modern day

https://www.unix.dog/~yosh/blog/c-habits-for-me.html
167•signa11•5d ago•99 comments

Ask HN: What's the current best local/open speech-to-speech setup?

175•dsrtslnd23•1d ago•42 comments

New YC homepage

https://www.ycombinator.com/
262•sarreph•18h ago•130 comments

Booting from a vinyl record (2020)

https://boginjr.com/it/sw/dev/vinyl-boot/
323•yesturi•1d ago•110 comments

Unveiling Firestore Pipeline operations – Firestore's powerful new query engine

https://firebase.blog/posts/2026/01/firestore-enterprise-pipeline-operations
6•reimertz•5d ago•2 comments

Mental Models (2018)

https://fs.blog/mental-models/
104•hahahacorn•15h ago•14 comments

Proton spam and the AI consent problem

https://dbushell.com/2026/01/22/proton-spam/
523•dbushell•1d ago•372 comments

KORG phase8 – Acoustic Synthesizer

https://www.korg.com/us/products/dj/phase8/
239•bpierre•21h ago•105 comments

The tech monoculture is finally breaking

http://www.jasonwillems.com/technology/2025/12/17/Tech-Is-Fun-Again/
205•at1as•21h ago•270 comments

Route leak incident on January 22, 2026

https://blog.cloudflare.com/route-leak-incident-january-22-2026/
150•nomaxx117•18h ago•48 comments

Air traffic control: the IBM 9020

https://computer.rip/2026-01-17-air-traffic-control-9020.html
41•pinewurst•5d ago•4 comments

Show HN: Whosthere: A LAN discovery tool with a modern TUI, written in Go

https://github.com/ramonvermeulen/whosthere
252•rvermeulen98•1d ago•84 comments

Wilson Lin on FastRender: a browser built by parallel agents

https://simonwillison.net/2026/Jan/23/fastrender/
62•lumpa•13h ago•25 comments
Open in hackernews

Show HN: Coi – A language that compiles to WASM, beats React/Vue

64•io_eric•3d ago
I usually build web games in C++, but using Emscripten always felt like overkill for what I was doing. I don't need full POSIX emulation or a massive standard library just to render some stuff to a canvas and handle basic UI.

The main thing I wanted to solve was the JS/WASM interop bottleneck. Instead of using the standard glue code for every call, I moved everything to a Shared Memory architecture using Command and Event buffers.

The way it works is that I batch all the instructions in WASM and then just send a single "flush" signal to JS. The JS side then reads everything directly out of Shared Memory in one go. It’s way more efficient, I ran a benchmark rendering 10k rectangles on a canvas and the difference was huge: Emscripten hit around 40 FPS, while my setup hit 100 FPS.

But writing DOM logic in C++ is painful, so I built Coi. It’s a component-based language that statically analyzes changes at compile-time to enable O(1) reactivity. Unlike traditional frameworks, there is no Virtual DOM overhead; the compiler maps state changes directly to specific handles in the command buffer.

I recently benchmarked this against React and Vue on a 1,000-row table: Coi came out on top for row creation, row updating and element swapping because it avoids the "diffing" step entirely and minimizes bridge crossings. Its bundle size was also the smallest of the three.

One of the coolest things about the architecture is how the standard library works. If I want to support a new browser API (like Web Audio or a new Canvas feature), I just add the definition to my WebCC schema file. When I recompile the Coi compiler, the language automatically gains a new standard library function to access that API. There is zero manual wrapping involved.

I'm really proud of how it's coming along. It combines the performance of a custom WASM stack with a syntax that actually feels good to write (for me atleast :P). Plus, since the intermediate step is C++, I’m looking into making it work on the server side too, which would allow for sharing components across the whole stack.

Example (Coi Code):

component Counter(string label, mut int& value) {

    def add(int i) : void {
        value += i;
    }

    style {
        .counter {
            display: flex;
            gap: 12px;
            align-items: center;
        }
        button {
            padding: 8px 16px;
            cursor: pointer;
        }
    }

    view {
        <div class="counter">
            <span>{label}: {value}</span>
            <button onclick={add(1)}>+</button>
            <button onclick={add(-1)}>-</button>
        </div>
    }
}

component App { mut int score = 0;

    style {
        .app {
            padding: 24px;
            font-family: system-ui;
        }
        h1 {
            color: #1a73e8;
        }
        .win {
            color: #34a853;
            font-weight: bold;
        }
    }

    view {
        <div class="app">
            <h1>Score: {score}</h1>
            <Counter label="Player" &value={score} />
            <if score >= 10>
                <p class="win">You win!</p>
            </if>
        </div>
    }
}

app { root = App; title = "My Counter App"; description = "A simple counter built with Coi"; lang = "en"; }

Live Demo: https://io-eric.github.io/coi

Coi (The Language): https://github.com/io-eric/coi

WebCC: https://github.com/io-eric/webcc

I'd love to hear what you think. It's still far from finished, but as a side project I'm really excited about :)

Comments

hans2002•3d ago
Binary size alone got me interested. What's missing before 1.0?
merqurio•2h ago
Nice work ! Thanks for shating

It reminds me of https://leptos.dev/ in Rust, although the implementation might be very different

zedai00•1h ago
would love to try it soon!
orphea•1h ago
Did you compare with Svelte?
k__•1h ago
Came to ask this.

React and Vue aren't exactly known for their performance and Svelte does compile time optimizations.

embedding-shape•1h ago
Heh, not an argument against you or any point you made, today you are right. But when React first made an appearance, basically the two big selling points was 1) use same state in multiple places and 2) better performance.

Fun how with time, the core purpose of a library ever so slightly change :)

k__•48m ago
I mean, that was a decade ago and back in the day the only reasonable contenders were Angular and maaaaybe ExtJS.
embedding-shape•5m ago
Backbone.js, Knockout.js, Ember, Dojo, Prototype, YUI all were reasonable alternatives at the time. Although all with their own warts and highlights, as is tradition.
mirekrusin•12m ago
It appears in comparison chart on the linked page.
rthrfrd•1h ago
Sounds interesting!

But do you think it would be possible to achieve similar results without a new language, but with a declarative API in one of your existing languages (say, C++) instead?

If possible, that would remove a big adoption barrier, and avoid inevitably reinventing many language features.

io_eric•29m ago
A C++ library could wrap DOM APIs (WebCC already does this), but achieving a fine-grained reactive model purely in library code involves major trade-offs

A dedicated compiler allows us to trace dependencies between state variables and DOM nodes at compile-time, generating direct imperative update code. To achieve similar ergonomics in a C++ library, you'd effectively have to rely on runtime tracking (like a distinct Signal graph or VDOM), which adds overhead.

arendtio•55m ago
From a syntax perspective, I prefer the component syntax in Vue / Riot, which is HTML-like. That way, the general structure is clear, and you have to learn only the additional directives. As a bonus, syntax highlighting in most editors just works without an additional plugin.
cap11235•53m ago
https://www.gnu.org/software/stow/manual/stow.html If what you want is an orchestrated symlink farm, here's your dude.
gdotdesign•35m ago
It's nice to see that we are converging on the same syntax I came up for Mint (https://mint-lang.com) 8 years ago (feels strange to write it down). I saw Ripple some time ago its syntax has the same structure more or less (component, style, render, state, etc...)
gethly•24m ago
tl;dr wasm does not have access to dom, so i see no point in reading this.
iamsaitam•23m ago
This looks very interesting! Do you have any tips/pointers on how one could use Coi to generate a component and then integrate it into an existing project which uses a traditional Javascript framework?
frankhsu•21m ago
Gotta say the Shared Memory approach is genius. Finally someone's cutting down the clunky back-and-forth.
zigzag312•20m ago
Well, you claim to combine server interesting features. Type safety, small binary size, high performance, predictable performance (no GC). So, I'm interested how this will turn out.

For web small binary size is really important. Frameworks like Flutter, Blazor WASM produce big binaries which limits their usability on the web.

JS/TS complicates runtime type safety, and it's performance makes it not suitable for everything (multithreading, control over memory management, GC etc.)

I wonder how much/if no GC hurts productivity.

It looks like Coi has potential to be used for web, server and cross-platform desktop.

Since the intermediate step is C++ I have a question what this means for hot-reload (does that make it impossible to implement)?

written-beyond•16m ago
I think this genuinely might be the first time I'm seeing a language rework for UI's that actually makes sense and incorporates all that we've learned in the modern age about UI code.

What I am wondering is how language interop will work? The only way I see this growing is either you can easily import js libraries or you get a $100,000 dono and let Claude or any other LLM run for a few days converting the top 200 most used react packages to Coi and letting it maintain them for a few months until Coi's own community starts settling in.

I would love to use this for non web use cases though, to this date UI outside of the browser(native, not counting electron) is still doggy doo doo when compared to the JS ecosystem.

kccqzy•15m ago
> It’s a component-based language that statically analyzes changes at compile-time to enable O(1) reactivity. Unlike traditional frameworks, there is no Virtual DOM overhead

This itself is quite cool. I know of a project in ClojureScript that also avoids virtual DOM and analyzes changes at compile-time by using sophisticated macros in that language. No doubt with your own language it can be made even more powerful. How do you feel about creating yet another language? I suppose you think the performance benefits are worthwhile to have a new language?

bookofsleepyjoe•15m ago
Awwww.. another language.
skybrian•11m ago
This looks quite promising. How long does it take to compile?
progx•9m ago
I don't like this html-syntax, cause you use a separate syntax-methods for existing js-functions wrapped as html-tags:

  <if text.isEmpty()>
    <div class="preview-text empty">Start typing...</div>
  <else>
    <div class="preview-text">{text}</div>
  </else>
  </if>
As a JS/TS dev it feel unnatural to write language operations as html-tags. That is what i did not like in svelte too.

Here something that looks little more like PHP-Style, better separation, but too much to type:

  <?coi
  if (empty($text)) {
  ?>
    <div class="preview-text empty">Start typing...</div>
  <?coi
  } else {
  ?>
    <div class="preview-text">${text}</div>
  <?coi
  }
  ?>

Shorter with a $-func for wrapping html-content

  if (empty($text)) {
    $(<div class="preview-text empty">Start typing...</div>)
  } else {
    $(<div class="preview-text">${text}</div>)
  }
I don't know, has somebody a better idea?