HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jart
blink
C2022–2026
jart / blink

blink

tiniest x86-64-linux emulator

22Distinct people
36Mentions
0Explicit recommenders
7.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

tiniest x86-64-linux emulator

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year36 dated mentions

Observed mentions: 2022-11-19 22:25:49 UTC to 2026-07-24 04:58:02 UTC.

051015202022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 20 mentions; 1 submissions, 19 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC211
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC20119
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC927
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

36 sources
Just tried it! The lone interpreter itself runs flawlessly: lone <<<'(import (lone print)) (print "Hello, world!")' blink lone <<<'(import (lone print)) (print "Hello, world!")' blink lone <<<'(import (lone print) (math +)) (print (+ 1 1))' It failed to load an interpreter with a lone-embedded lisp program though. Rejected it as an invalid ELF because of a bug in my ELF editor. The embedded segments my tool generates are page aligned and end up extending past the end of the file. Linux doesn't care, it mmaps those non-existent file regions just fine as zero filled pages. Blink rejects the ELF as invalid instead. I'd say blink's behavior is correct but divergent from the Linux it's supposed to be emulating. Created issue #215 about it: https://github.com/jart/blink/issues/215 Nevertheless, I plan to push out a fix for this issue as
Read the rest
soon as I'm done with the last rounds of code review. Thanks for your interest in lone lisp!!
In Interview with Matheus Moreira about Lone Lisp and Linux Kernel
Nice to see my playground trending! All of this is essentially made possible by the blink engine by @jart: https://github.com/jart/blink/ Which is an x86-64-linux emulator written in a few kb of c code. There is no Backend server, everything runs locally in the browser in a runtime that weights less than a screenshot of the website itself! To implement it I modified the blink emulator to run as a C library, and compiled it into a Typescript + WASM module that exposes an emulator API. Then I built a regular web app on top of it.
In x86-64 Playground – An online assembly editor and GDB-like debugger
Right (on x86-32 and -64, because you can’t have 64KB pages there, though larger page sizes do exist and get used). You still cannot (e.g.) MapViewOfFile() on an address not divisible by 64KB, because Alpha[1]. As far as I understand, Windows is mostly why the docs for the Blink emulator[2] (a companion project of Cosmopolitan libc) tell you any programs under it need to use sysconf(_SC_PAGESIZE) [aka getpagesize() aka getauxval(AT_PAGESZ)] instead of assuming 4KB. [1] https://devblogs.microsoft.com/oldnewthing/20031008-00/?p=42... [2] https://github.com/jart/blink/blob/master/README.md#compilin...
In Adding 16 kb page size to Android
Why does everyone keep repeating this mantra? I wrote the x86 decoder for https://github.com/jart/blink which is based off intel's xed disassembler. It's so tiny to do if you you have the know-how to do it. master jart@studio:~/blink$ ls -hal o/tiny/blink/x86.o -rw-r--r-- 1 jart staff 23K Jun 22 19:03 o/tiny/blink/x86.o Modern microprocessors have 100,000,000,000+ transistors, so how much die space could 184,000 bits for x86 decoding really need? What proof is there that this isn't just some holy war over the user-facing design. The stuff that actually matters is probably just memory speed and other chip internals, and companies like Intel, AMD, NVIDIA, and ARM aren't sharing that with us. So if you think you understand the challenges and tradeoffs they're facing, then I'm willing to bet it's just false confidence and peanut gall
Read the rest
ery consensus, since we don't know what we don't know.
In Testing AMD's Bergamo: Zen 4c
There are separate static builds for aarch64 and x86_64, those are put into a "fat binary" that runs on current generation hardware/software combos (osx with aarch64, win with x86_64 and linux with both). Just building for two things is better than figuring out the whole matrix of OS vs architectures which was the other option. For other architectures like Power/armv7/i686 the software can run using the Blink project [0] [0] https://github.com/jart/blink
In A proof-of-concept Python executable built on Cosmopolitan Libc (2021)

Showing the 15 most recent of 36 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.