frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

I Write Games in C (yes, C)

https://jonathanwhiting.com/writing/blog/games_in_c/
45•valyala•2h ago•19 comments

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
228•ColinWright•1h ago•243 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
31•valyala•2h ago•4 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
128•AlexeyBrin•8h ago•25 comments

Brookhaven Lab's RHIC Concludes 25-Year Run with Final Collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
8•gnufx•1h ago•1 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
131•1vuio0pswjnm7•8h ago•160 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
71•vinhnx•5h ago•9 comments

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

https://openciv3.org/
836•klaussilveira•22h ago•251 comments

U.S. Jobs Disappear at Fastest January Pace Since Great Recession

https://www.forbes.com/sites/mikestunson/2026/02/05/us-jobs-disappear-at-fastest-january-pace-sin...
179•alephnerd•2h ago•124 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
57•thelok•4h ago•8 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1064•xnx•1d ago•613 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
85•onurkanbkrc•7h ago•5 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
493•theblazehen•3d ago•178 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
215•jesperordrup•12h ago•77 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
14•momciloo•2h ago•0 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
231•alainrk•7h ago•365 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
576•nar001•6h ago•261 comments

Selection Rather Than Prediction

https://voratiq.com/blog/selection-rather-than-prediction/
9•languid-photic•3d ago•1 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
41•rbanffy•4d ago•8 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
30•marklit•5d ago•3 comments

History and Timeline of the Proco Rat Pedal (2021)

https://web.archive.org/web/20211030011207/https://thejhsshow.com/articles/history-and-timeline-o...
19•brudgers•5d ago•4 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
114•videotopia•4d ago•35 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
80•speckx•4d ago•91 comments

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

https://github.com/valdanylchuk/breezydemo
278•isitcontent•22h ago•38 comments

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

https://github.com/pydantic/monty
289•dmpetrov•23h ago•156 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
201•limoce•4d ago•112 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
558•todsacerdoti•1d ago•272 comments

Making geo joins faster with H3 indexes

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

Microsoft Account bugs locked me out of Notepad – are Thin Clients ruining PCs?

https://www.windowscentral.com/microsoft/windows-11/windows-locked-me-out-of-notepad-is-the-thin-...
6•josephcsible•29m ago•1 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
22•sandGorgon•2d ago•12 comments
Open in hackernews

Print, a one-line BASIC program

https://10print.org
79•NKosmatos•5mo ago

Comments

chrismorgan•5mo ago
Current submission title “Print, a one-line BASIC program” is not great. Title from the page:

  10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Could also be something like “10 PRINT: a book about a one-line Commodore 64 BASIC program” (taken from the first sentence with “is” changed to a colon).
kstrauser•5mo ago
From the text: “10 PRINT is a book about a one-line Commodore 64 BASIC program, published in November 2012.”

10 PRINT is their official shortened version.

mryall•5mo ago
TLDR: the program prints a pseudorandom sequence of characters 205 and 206, which on Commodore 64 are graphics characters similar to / and \.

When repeated across multiple lines, it looks like an intricate random maze. But it is actually just a visual representation of whatever PRNG is used on the platform, with the default seed as set by the BASIC interpreter.

https://sta.c64.org/cbm64pet.html

NKosmatos•5mo ago
Hey what happened to my submission title? I swear it started with “10 PRINT”. Perhaps a mod/admin changed it, but I don’t have an option to edit it now.
kristianp•5mo ago
It's automatically removed to reduce the prevalence of listicles on the front page.
6581•5mo ago
I'd recommend always checking submission titles afterwards because the auto-filter often butchers them. You can edit them at least for a few minutes.
kstrauser•5mo ago
This is indescribably beautiful. Thanks for sharing it! It went straight to the top of my reading queue.
gabrielsroka•5mo ago
See also https://youtu.be/34CXQr5OLas
hdgvhicv•5mo ago
For those that don’t know ascii off the top of the head, it prints either a forward or backward slash repeatedly, which in the c64 font creates a pretty art piece like the graphic at the bottom of the screen.
ksherlock•5mo ago
And for those who do know ASCII off the top of their head, it's actually PETSCII. 205 (0xcd) is a right diagonal and 206 (0xce) is a left diagonal.

ASCII / (0x2f) and \ (0x5c) has three problems:

1. They're not as conveniently located (chr$(47+(rnd(1)*45) isn't quite as pretty)

2. They don't fill up character cell so there are gaps in the "maze"

3. PETSCII doesn't have a \ (0x5c is £)

weinzierl•5mo ago
Back in the day computer mags had 20-liner competitions. The objective was to cram as much functionality into 20 lines of BASIC and people did amazing stuff with that.

To use the space as best as possible lines were filled to brim and BASIC commands abbreviated. PRINT was ? and other command abbreviations contained PETASCII characters that don't even have a Unicode equivalent[1].

The Commodore 64 particularly had square[2] 8x8 pixel characters and a line on the screen was 40 of them in a row. A logical line from the BASIC interpreter's perspective was still 80 characters long though, which made the program effectively 40 screen lines high.

You see, where this is going. The perfect 20-liner was close to a 40 by 40 square of character salad.

[1] They were one letter and a shifted letter, which could be displayed as symbol depending which mode you were in. They were printed expanded when listing the program. Everything was a bit complicated.

[2] Almost. Pixels were not perfectly square, with the aspect ratio depending on PAL or NTSC.

dspillett•5mo ago
> Back in the day computer mags had 20-liner competitions.

In the magazines I remember from my days cutting my programming teeth on an Acorn Electron, there were 10-liners and 1-liners. What some people could squeeze out of 252 bytes was very impressive, even without using extra features (extra graphics primatives for instance) found in other models like the Master series.

selcuka•5mo ago
There is a 10-byte assembler (Intel) port of the same program:

https://trixter.oldskool.org/2012/12/17/maze-generation-in-t...

richardfey•5mo ago
I tried this on all the basic interpreters available on Ubuntu (yabasic, sdlbasic, basic256 and bwbasic), couldn't get it to work on any of them.

In a couple cases the only remaining issue was the lack of a RND() function definition

anta40•5mo ago
What about freebasic? I know it's a compiler, though.
ethan_smith•5mo ago
Try `10 PRINT CHR$(205.5+RND(0)1); : GOTO 10` in yabasic or `10 PRINT CHR$(47+INT(RND(1)2)*45); : GOTO 10` in most modern BASIC dialects, which explicitly chooses between '/' (47) and '\' (92) characters.
drzhivago•5mo ago
The referenced book was so good until the “considered harmful” sections. As it indicates, GOTO is basically JMP, and I’m sorry if someone is offended by BASIC, but it’s not only the subject of the book but was the promoted language to the masses for early microcomputers, such that people would buy the related BASIC book at the store, along with the computer.
Stratoscope•5mo ago
My first summer job was a $2/hour "Night Operator" at Transdata, a Phoenix timesharing company. They shut down their timesharing service at night, so after running a few batch jobs, I had the SDS Sigma 5 all to myself.

We had a few one-card programs, some fun, some useful. A single card held 80 bytes of machine code.

The Sigma 5 had a small speaker on the front panel that you could toggle between two states to move the cone in or out. How often you toggled it determined the pitch of the sound.

One card was called BIRDS. It toggled the speaker to make it sound like several birds chirping at each other.

A more useful one was PRINT. You put it in front of a deck of cards, ran the deck through the card reader, and it would print the deck.

It was a bit slow, because it used a single memory buffer:

  1. Read card 1
  2. Print card 1
  3. Read card 2
  4. Print card 2
  5. Read card 3
  6. Print card 3
  etc.
In other words, at any moment either the card reader or the printer would be operating, not both.

I studied the code and found there were just enough bytes left out of the 80 to implement double buffering by flipping a buffer pointer at each step:

  1. Read card 1 into buffer A
  2. Print card 1 while reading card 2 into buffer B
  3. Print card 2 while reading card 3 into buffer A
  4. Print card 3 while reading card 4 into buffer B
  etc.
Twice as fast!