This article walks through building a minimalist VisiCalc clone in C, covering the core data model (cells, grid), a recursive‑descent parser for formulas, dependency handling via repeated recalculation, and a text‑based UI using ncurses. It explains how to parse cell references, evaluate expressions, and implement a simple modal interface with commands, editing, and navigation. The post culminates in a working terminal spreadsheet that supports basic functions like @SUM, @ABS, @INT, and @SQRT, and demonstrates how to render the grid, status bar, and edit line. It also discusses limitations and possible extensions, linking to the full implementation on GitHub.
This project is an attempt to recreate MACLISP in 1980.
It is based on a small C Lisp interpreter and aims to provide a
MACLISP-like experience.
Installation
Compile and install using:
sudo make install
This will create an executable named lisp in /usr/local/bin. Usage
Start the interpreter by running:
maclisp
Exit the interpreter by typing:
(quit)
Notes
This is not a full MACLISP implementation, but a simplified
version that captures the feel of the original.
Dynamic scoping is used.
Core functions like QUOTE, ATOM, EQ, CONS, CAR, CDR, and COND are
implemented.
The article argues that the perception of C as a “low‑level” language has become outdated.
- **Historical context** – In the early 1970s, C on the PDP‑11 was literally close to the metal: each statement mapped to one or two machine instructions, memory was flat, and the execution model was straightforward.
- **Modern hardware** – Today’s CPUs are far more complex (multi‑core, deep pipelines, out‑of‑order execution, vector units, large caches, speculative execution). They are designed to run legacy C code efficiently, but the underlying reality is far removed from the simple model that early C programmers relied on.
- **The illusion** – Modern processors adapt to preserve the old C abstract machine, giving developers the impression that C is still “low‑level.” This illusion hides a mismatch between what C promises (predictable, simple mapping to hardware) and what the hardware actually does.
Minarke Is Not A Real Kriegsmarine Enigma But it will allow you to communicate with one. Command line enigma machine emulator. Full M4 compatability, can be used to decode WWII U-boat messages, or send your own.
ChatDBG is an AI-based debugging assistant for C/C++/Python/Rust code that integrates large language models into a standard debugger (pdb, lldb, gdb, and windbg) to help debug your code. It can provide error diagnoses and suggest fixes.
The question discusses optimizing time measurement for a latency-sensitive application requiring high message throughput. It explores alternatives to `gettimeofday`, including `rdtsc` and `clock_gettime` with various clock sources, and benchmarks their performance on an Intel Core i7 processor. It also considers the trade-offs between accuracy, resolution, and performance.
A contest to write the most obscure/obfuscated C program within the rules, stressing C compilers with unusual code, and illustrating some of the subtleties of the C language.
rtl_433 is an open-source program designed to decode radio transmissions from various devices operating on ISM bands. It supports RTL-SDR and SoapySDR and can decode a wide range of sensors, including temperature, humidity, and rain gauges. The software is written in C and is known for its low resource consumption.
ESP32C3 code for 1.44inch display.
The US Defense Advanced Research Projects Agency (DARPA) is developing TRACTOR, a project aimed at using AI to automatically convert legacy C code into Rust for improved memory safety.