HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mikewarot
Bitgrid
Pascal2023–2024
mikewarot / Bitgrid

Bitgrid

Bitgrid - a new model of computation

2Distinct people
42Mentions
0Explicit recommenders
23GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Bitgrid - a new model of computation

GitHub

Where it is used

No documented product use has been verified yet.

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:03:16 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 month42 dated mentions

Observed mentions: 2023-06-17 03:26:35 UTC to 2024-12-27 16:26:26 UTC.

02462023-06-01 00:00:00 UTC to 2023-07-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsJun 20232023-07-01 00:00:00 UTC to 2023-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-01 00:00:00 UTC to 2023-09-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-09-01 00:00:00 UTC to 2023-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-01 00:00:00 UTC to 2023-11-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2023-11-01 00:00:00 UTC to 2023-12-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-12-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-03-01 00:00:00 UTC to 2024-04-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsMar 20242024-04-01 00:00:00 UTC to 2024-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-05-01 00:00:00 UTC to 2024-06-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-06-01 00:00:00 UTC to 2024-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-07-01 00:00:00 UTC to 2024-08-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2024-08-01 00:00:00 UTC to 2024-09-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-09-01 00:00:00 UTC to 2024-10-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-10-01 00:00:00 UTC to 2024-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-11-01 00:00:00 UTC to 2024-12-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-12-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsDec 2024

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
Jun 20232023-06-01 00:00:00 UTC2023-07-01 00:00:00 UTC303
Jul 20232023-07-01 00:00:00 UTC2023-08-01 00:00:00 UTC000
Aug 20232023-08-01 00:00:00 UTC2023-09-01 00:00:00 UTC404
Sep 20232023-09-01 00:00:00 UTC2023-10-01 00:00:00 UTC000
Oct 20232023-10-01 00:00:00 UTC2023-11-01 00:00:00 UTC505
Nov 20232023-11-01 00:00:00 UTC2023-12-01 00:00:00 UTC101
Dec 20232023-12-01 00:00:00 UTC2024-01-01 00:00:00 UTC606
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC101
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC101
Mar 20242024-03-01 00:00:00 UTC2024-04-01 00:00:00 UTC303
Apr 20242024-04-01 00:00:00 UTC2024-05-01 00:00:00 UTC000
May 20242024-05-01 00:00:00 UTC2024-06-01 00:00:00 UTC202
Jun 20242024-06-01 00:00:00 UTC2024-07-01 00:00:00 UTC000
Jul 20242024-07-01 00:00:00 UTC2024-08-01 00:00:00 UTC514
Aug 20242024-08-01 00:00:00 UTC2024-09-01 00:00:00 UTC404
Sep 20242024-09-01 00:00:00 UTC2024-10-01 00:00:00 UTC202
Oct 20242024-10-01 00:00:00 UTC2024-11-01 00:00:00 UTC000
Nov 20242024-11-01 00:00:00 UTC2024-12-01 00:00:00 UTC303
Dec 20242024-12-01 00:00:00 UTC2025-01-01 00:00:00 UTC202

What Hacker News says

42 sources
Ok... this is a wall of text, looks like a screed... suggestions welcome for taming it down, and making it reader friendly would be most welcome. Here are the current things in the "Mike invents the future" queue. Everything is open source, and out in the public, and I'm happy to collaborate. BitGrid - a cartesian grid of cells[1], each currently a 4x4 bit look up table, and a latch, so that you have all local connections once programmed (to keep dynamic power low, and clock rates up). Currently it's all ideas that have been bouncing around in my head... and I've been optimizing them "in theory" forever. The main principles I've settled on as absolute are that every cell must be identical, no matter what features you add to it, and every cell must be clocked/latched, to eliminate timing as a concern. Once those are met, new ideas like reu
Read the rest
sing the cell latches as "Isolinear Memory"[2] are optimizations to consider. BitGrid Simulator - I've written Pascal[3] and React[4] based simulators for a basic bit grid. I need to write one in Verilog, and get it running on an FPGA. Even better would be an emulator running on a Raspberry Pi Pico, it would be slow as snot, but you could easily tile them to get more performance at $4/node. BitGrid Tiny Tapeout - I need to build an actual chip, so I can get real world performance numbers to use. It could be either way more efficient than anything else out there, or it could be abysmal... as the man at the start of Dirty Harry says "I've gots to know" BitGrid object format - Bitgrid needs to be programmed from a directed acyclic graph of logical binary operations. I need to settle on a text and binary format that makes sense. How would you write do this? I could really use a push here. BitGrid compiler - I need to figure out how to generate the files above from source code in something more familiar. Eventually I'd like both TinyGrad and LLVM to target BitGrid. BitGrid story - I need to take my blog [5] and various mentions here and elsewhere, and put them into a Book, YouTube videos, etc. The whole BitGrid saga has been out in public for over a decade. Currently the Bus Number is 1, and I'm not in great health... it would be awesome to increase this number. ---- Capability Based Security - Computer Security is a SOLVED problem, I've been trying to keep that knowledge alive and discoverable by pushing it where I can. I'm hoping to run Genode as my daily driver, but I'm not there yet. -- Open source Data Diodes... I think 2 Raspberry Pi computers each with Ethernet, and a unidirectional driver could make an effective open source data diode. -- Phase Coherent SDR - I'd like to build an N channel phase coherent SDR, it should be possible to build it for somewhere around $(100+20N) -- Metamine - briefly there appeared a language called MetaMine, and it was magic. It could mix declarative and imperative code, and had sane rules for doing so. It represented the most powerful language I ever saw. It would be nice to bring those features into a Pascal or Python or Forth/Stoic environment. -- [1] https://esolangs.org/wiki/Bitgrid [2] https://bitgrid.blogspot.com/2024/09/bitgrid-and-isolinear-m... [3] https://github.com/mikewarot/Bitgrid [4] https://github.com/mikewarot/bitgrid-react-app [5] https://bitgrid.blogspot.com/
In Ask HN: What are you working on (December 2024)?
I'm keeping myself busy working on my BitGrid architecture, I aim to route around the 80 years of technical debt started by John von Neumann. One of his first casualties was ENIAC, which was slowed down by about 80% when it was "improved"[1] BitGrid[2] is a green field approach, and I need an accountability buddy to keep me focused. Replacing everything is hard. [1] https://en.wikipedia.org/wiki/ENIAC#Improvements [2] https://github.com/mikewarot/Bitgrid
In Ask HN: What projects are you going to work on if no need to work?
If you've read the article, and thought to yourself... I wonder what it was like back then, and if there might be some other direction it could have gone, oh boy do I have a story (and opportunity) for you! It's my birthday today(61)... I'm up early to get a tooth pulled, and I read this wonderful story, and all I have is a tangent I hope some of you think is interesting. It would be nice if someone who isn't brain-foggy could run with the idea and make the Billion dollars or so I think can be wrung out of it. You get a bowl of spaghetti, that could contain the key to Petaflops, secure computing, and a new universal solvent of computing like the Turing machine, as an instructional model. The BitGrid is an FPGA without all the fancy routing hardware, that being replace with a grid of latches... if fact, the whole chip would consist almost
Read the rest
entirely of D flip-flops and 16:1 multiplexers. (I lack the funds to do a TinyTapeout, but started going there should the money appear) All the computation happens in cells that are 4 bit in, 4 bit out Look up tables. (Mostly so signals can cross without XOR tricks, etc) For the times you need a chunk of RAM, the closest I got is using one of the tables as a 16 bit wide shift register, which I've decided to call isolinear memory[6] You can try the online React emulator I'm still working on [1], and see the source[2]. Or the older one I wrote in Pascal, that's MUCH faster[3]. There's a writeup from someone else about it as an Esoteric Language[4]. I've even written a blog about it over the years.[5] It's all out in public, for decades up to the present... so it should be easy to contest any patents, and keep it fun. I'm sorry it's all a big incoherent mess.... completely replacing an architecture is freaking hard, especially when confronted with 79 years of optimization in another direction. I do think it's possible to target it with LLVM, if you're feeling frisky. [1] https://mikewarot.github.io/bitgrid-react-app/ [2] https://github.com/mikewarot/bitgrid-react-app [3] https://github.com/mikewarot/Bitgrid [4] https://esolangs.org/wiki/Bitgrid [5] https://bitgrid.blogspot.com/ [6] https://bitgrid.blogspot.com/2024/09/bitgrid-and-isolinear-m...
In The Soul of an Old Machine: Revisiting the Timeless von Neumann Architecture
Ugh.... similar to BitGrid[1] (my own hobby horse), but not. I imagine bits marching in parallel across a grid in the ultimate simplification of an FPGA. It's an idea that either has supreme utility (Petaflops for the masses), or doesn't... it's all down to how much energy a DFF takes on an ASIC. (This is a pair of numbers I've been trying to find forever... static power, and energy to load a bit) Oh... and the programming model, nobody likes plopping logic down on a grid, they try to abstract it away as fast as possible. I don't have sufficient focus to be able to do that bit. [edit] Somewhere in exploring this, I came across Von Neumann cellular automaton[2] and Nobili cellular automata[3], which I've not encountered, despite being interested similar ideas for decades. It's frustrating just how little discoverability there is in this p
Read the rest
ortion of computer science. Of course both share the same insane foundation: The set of FSAs define a cell space of infinite size. All FSAs are identical in terms of state-transition function, or rule-set. It's that one "simplification" that relegates them to the domain of code golf. [1] https://github.com/mikewarot/Bitgrid [2] https://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton [3] https://en.wikipedia.org/wiki/Nobili_cellular_automata pps: If anyone wants to run with the idea of a BitGrid, I'd appreciate it
In Λ-2D: An Exploration of Drawing as Programming Language
He's got the kernel of a good idea. Deterministic data flows are a good thing. We keep almost getting there, with things like data flow architectures, FPGAs, etc. But there's always a premature optimization for the silicon, instead of the whole system. This leads to failure, over, and over. He's wrong in the idea of using an LLM for general purpose compute. Using math instead of logic isn't a good thing for many use cases. You don't want a database, or an FFT in a Radar System to hallucinate, for example. My personal focus is on homogeneous, clocked, bit level systolic arrays.[2] I'm starting to get the feeling the idea is really close to being a born secret[1] though, as it might enable anyone to really make high performance chips on any fab node. [1] https://en.wikipedia.org/wiki/Born_secret [2] https://github.com/mikewarot/Bitgrid
In Tinygrad will be the next Linux and LLVM
1) Abstract thinking about Turing Machine Equivalents 2) Turing machine equivalents, Reconfigurable Computing, FPGAs, RetroComputing 3) Windows32 Apps, ASICS, 7400 Series TTL 4) Old retired person time 5) Central Time Zone, US, Chicagoland 6) Fun for me, you can do profit if you want, learning 7) The BitGrid, a Turing machine equivalent which might yield cheap Petaflops, or not. Someone could make billions off of this, or not. I just want to see one actualized. 8) Links: https://github.com/mikewarot/Bitgrid https://esolangs.org/wiki/Bitgrid https://bitgrid.blogspot.com/
In Ask HN: Who wants to collaborate (thread) – 5 Sep 2024
It's simple... the BitGrid[1,3]. Take a simple FPGA fabric, and rip out all of the routing hardware, and specialized modules. This gets you down to a cartesian array of Look Up Tables. (Simulator for one LUT/Cell here[2]) Add a delay after each one, so that you can use the magic of graph coloring to clock them in 2 phases, and eliminate all race conditions. This simultaneously makes it a horrible FPGA, in terms of latency, and the easiest FPGA ever, in terms of general purpose, secure, computing. Most computing problems can be broken down to a directed graph of bitwise operations. Executing all of the graph in lockstep means that you can simply flow data through it. You could get FFTs that window data, then output results at the same rate as the input. For Radar processing, this might be useful. Ideally, you could flow GPT4 tokens through
Read the rest
, the latency for a given stream would be horrible, but you could have millions of parallel streams. To do this, you have to map the directed graph to hardware. In an FPGA this can take days because of the special modules, etc. This makes programming a nightmare. With a BitGrid, you can just use a greedy mapping algorithm, and Bob's your Uncle. Because every cell is essentially the worlds smallest Excel Sheet cell, it's easy to know all of the dependencies for any given cell. You can move cells, rotate them, flip and mirror them if you need to maximize the utilization of hardware, or want to wall off a given graph inside walls for isolation. Until recently, I've always thought of it as a chip, but recently I've come to see that you could just as well take a farm of RP2040 chips and have them all running slow simulators of a fairly huge BitGrid chips, and network them through their I/O pins to make an arbitrary size array, cheap! The BitGrid topology thus becomes a universal computing solvent. Scaling anything that can be expressed as the directed graph can be run very slowly on a CPU with a lot of RAM/Disk, or quickly on silicon, with identical results. I think this could scale to PetaFlops quite cheaply (a few runs through TinyTapeOut then scaling up) [1] https://github.com/mikewarot/Bitgrid [2] https://mikewarot.github.io/Bitgrid_C/bitgrid_sim.html [3] https://esolangs.org/wiki/Bitgrid
In Ask HN: Share your idea that you feel would never be picked by YC?
I'm getting to know the ins and outs of GitHub CoPilot, and exploring languages and technologies I've avoided. I'm hoping to get done with a usable Bitgrid Emulator[1] in Javascript/HTML so that I can let people play with the concept and get used to it. I've got stuff working in Pascal[2], but that's not something most people can deal with. I've also got a ton of other stuff up on GitHub that I should poke a bit. I've spent a lot of time in analysis paralysis and this has given me the kick in the pants to get me going again. As far as new ideas go, I've already spent time learning Verilog, and hope to get a chip design through the TinyTapeout[3] before too long. Also, I found out that it only takes a few lines of Python and a lot of time to have an AI rate all my photos locally. That's a work in progress, should be less than 100 lines all
Read the rest
In Ask HN: What are you working on (August 2024)?
If you took the right half of his CLB from his second entry[1], and connected each input bit to one of it's neighbors, that's enough to have a computing fabric. Latching them in 2 phase adds delay, but removes the need for worry about timing, as it becomes known. If you put 4 of them in parallel, so each neighbor gets it's own output, it's a BitGrid[2,3], which I've been tinkering with since the 1980s. He referenced an earlier effort 2012 in his video[4,5] that goes down the same detour towards computing fabrics. The HDL for that fabric, might prove useful for programming a bitgrid.[6] I see the appeal of routing fabric and saving silicon, and especially wanting to keep the latency to bare minimum, but the trade-offs aren't worth it in my opinion. Routing becomes a nightmare, as does getting the timing of things right, and watching out fo
Read the rest
r race conditions. If you give up and embrace latency, and the wasting of gates to route signal, you end up with a homogenous, isolinear core. (The same in any linear direction) You can rather easily shift a part in any direction, rotate it, and flip it. You can route around defective cells (assuming the shift register chain doesn't break, of course). Latency goes to hell, but because every single operation is pipelined, your throughput can go through the roof, none of the data lines ever has to make it all the way across the chip, except the clock signals. The shift registers, and only have to load things before the computing starts, so they don't have to be fast at all. [1] https://mnemocron.github.io/2023-12-08-DIY-FPGA-diary-1/ [2] https://esolangs.org/wiki/Bitgrid [3] https://github.com/mikewarot/Bitgrid [4] https://hackaday.com/2012/11/01/discrete-fpga-will-probably-... [5] https://web.archive.org/web/20150621104100/http://blog.notdo... [6] https://github.com/Arachnid/dfpga/tree/master
In An FPGA built with 7400 series logic [video]
mikewarot·Jul 27, 2024Submission

Ask HN: How do I program a BitGrid?

I've come up with an architecture[1,2] that I think could be quite useful. But I've been stuck on how to actually compile "code" for it for far too long. (Decades, actually) It's my hobby horse, and I want to ride it before I die. I need to take expressions, or programs, and break them down to a directed acyclic graph of binary logical operations. In the end.... a cell has 4 inputs, and needs 4 outputs for each possible combination, a total of 64 bits (or 16 nibbles). Heck, I'd settle for a good way to express said tree in a plain text file as a kick start. [1] https://esolangs.org/wiki/Bitgrid [2] https://github.com/mikewarot/Bitgrid
5 points · Open discussion
BitGrid is my hobby horse. It's a Cartesian grid of cells with 4 bit in, 4 bit out, LUTs (look up tables), latched in alternating phases to eliminate race conditions. It's the response to the observation that most of the transistors in a computer are idle at any given instant. There are a full rabbit hole worth of advantages to this architecture once you really dig into it. Description https://esolangs.org/wiki/Bitgrid Emulator https://github.com/mikewarot/Bitgrid
In Ask HN: Weirdest Computer Architecture?
Sometime in the next year, I finally get some other human interested in the BitGrid architecture[1] as a general purpose compute platform. It's an FPGA without the hassle (sorta). That helps me get out of analysis paralysis, and make a better case for the architecture. Over the next few years, people figure out how to best impedance match it with the execution of AI workloads, and we're off to the races.... all those high speed transistors no longer have to sit around waiting for their turn to take part in executing code, and things get much, much faster. But first... I need something more than a Pascal based emulator for the BitGrid, with no meaningful I/O.[2] Maybe if I implement it as a blueprint in Factorio? [1] https://esolangs.org/wiki/Bitgrid [2] https://github.com/mikewarot/Bitgrid
In Ask HN: How do you predict the AI will evolve in 2, 5, and 10 years?
I'm talking about a Turing complete, general purpose architecture.[1] One with some seemingly stupid choices that turn out to work well. A cartesian grid of look up tables (LUTs) with latches, clocked in alternating phases. This slows things down, and makes it completely deterministic, and very easy to reason about. There are no race conditions to worry about. Like an excel spreadsheet, it's very easy to see all of the dependencies, and circular references aren't possible in the traditional sense, because of that delay. I'm stuck in analysis paralysis... or I'd have more than an emulator[2] to show you. In theory, you can take any expression that can be broken down to a directed graph of binary logical expressions, and compile it into the "program" for the BitGrid. Because the grid is homogeneous, you can shift or rotate, or flip it to m
Read the rest
ove the I/O around. The aforementioned dependency tracing makes it possible to prove the functionality conforms to the desired logical expression graph. I need a kick in the pants to get the rest of this thing figured out. As near as I can tell, the only problems are my own writers block. [1] https://esolangs.org/wiki/Bitgrid [2] https://github.com/mikewarot/Bitgrid
In Ask HN: What business would you start in 2025?

Showing the 15 most recent of 42 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.