HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
JohnEarnest
Octo
JavaScript2014–2025
JohnEarnest / Octo

Octo

A Chip8 IDE

7Distinct people
21Mentions
1Explicit recommenders
878GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A Chip8 IDE

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

And if you've written a CHIP-8 interpreter, I recommend playing around with Octo[0] and then participating in the Octojam[1] this October! [0]…

RodgerTheGreat used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 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 year21 dated mentions

Observed mentions: 2014-08-16 22:17:49 UTC to 2025-12-06 15:30:21 UTC.

02462014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2025

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
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC303
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC606
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC110
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC211

What Hacker News says

21 sources
TL;DR: Octo[1] and OctoJam were cozy little highlights despite the grimness of the pandemic years. Octo[1] targets variants of CHIP-8, an ancient virtual console. The language is so different from daily work that even its annoyances were refreshing. Yes, that includes having to overwrite parts of instructions to get desired behavior. The maintainer has moved on[2] to working on Decker[3], but I'm still grateful for his dedication. He underestimates his contributions to encouraging a new generation of emulator developers. I haven't had time to do a deep dive into emulation beyond CHIP-8, but I've enjoyed making: * A little Mastermind-like game (https://pushfoo.itch.io/safecracker) * A terminal-like text library (https://pushfoo.itch.io/termlib-demo) Others have done far better. Timendus even wrote his own linker toolkit to build a multi-ta
Read the rest
sking operating system[4]. If you're interested, there have been some rumblings of an October event of some sort now and then on the EmuDev Discord server to fill the gap left by OctoJam's end. [1]: https://github.com/JohnEarnest/Octo [2]: https://beyondloom.com/blog/octojam.html [3]: https://github.com/JohnEarnest/Decker [4]: https://timendus.itch.io/chipception-os
In Ask HN: What's the most fun you've had developing for an older gaming system?
> 'll reply in more detail later np! I'll comment now in case it gets weird about a double-comment on the same parent by the same user. > > I think it's the primary use case like Java Applets and Flash preceded JS as iterations of sorta-portable and low efficiency tools which make up for it with sheer volume of high-familiarity material. > i wasn't able to parse this sentence. could you unpack it a bit? Software that doesn't care about being well-made or efficient. It doesn't matter because it's either fun or useful. > > If you'd like, I can provide more specific suggestions. > yes, please! even if our priorities aren't exactly aligned i can surely learn a lot from you This is a long topic, but some of it comes down to Decker[1] vs Octo[2]'s differences: * Decker can be used to make and share things that process data * The data itself can
Read the rest
be exported and shared, including as gifs * Octo can't really, but it does predate the AI commnity's "character cards" by shoving game data into a "cartridge" gif * Octo has LISP Curse[3] issues I'm serious about the LISP curse thing. In addition to awful function pointers due to ISA limitations, everyone who likes Octo tends to implement their own emulator, tooling, etc and then eventually start down the path of compilers. I haven't gone that far yet, but I did implement a prototyping-oriented terminal library[4] for it. Since Gulrak's chiplet preprocessor[5] is so good, I didn't bother with writing my own. > i just want to clarify that i'm not za3k Ty for the reminder. On that note, the larger font sizes you brought up are seeming more important in this moment. I don't think I can deal with 4 x 6 fonts on tiny screens like I once could. HN's defaults are already small enough. [1]: https://github.com/JohnEarnest/Decker [2]: https://github.com/JohnEarnest/Octo [3]: https://winestockwebdesign.com/Essays/Lisp_Curse.html [4]: https://github.com/pushfoo/octo-termlib [5]: https://github.com/gulrak/chiplet
In The Forth Deck mini: a portable Forth computer with a discrete CPU
https://github.com/pushfoo/Fontknife tl;dr: a CLI bitmap font converter, slicer, and rasterizer I would love suggestions and help with: * The awful command line flags: which of the following sound(s) best? - Something FFmpeg style: repeatable optional args are applied to the previous source / output - Keep it as 1 input + 1 output - Prioritize library use * Should I keep Octo[1] code generation in this project or separate it out? * General refactoring: - The current caching layer should probably be deleted - Replace PIL's font support with other BSD or MIT style libs 1. Octo, a CHIP-8 assembler: https://github.com/JohnEarnest/Octo P.S. Octojam 10 runs until 12:00 AM PST on November 1st! See the following if you're interested! https://itch.io/jam/octojam-10
In Ask HN: Show me your half baked project
In my own system, Octo[0], I encode programs and their metadata in a similar steganographic fashion in GIF files[1]. As others have noted here, both GIF and PNG offer extension mechanisms and ways to embed "comments", but popular image-sharing sites universally re-encode images and discard this data. The advantage of GIF over PNG (for my purposes) is that I store an arbitrary payload in a fixed-looking image by creating additional frames of animation. In the past, I've also used a different technique- if you simply concatenate a PNG onto a JAR (which is really just a ZIP archive) you end up with a file that acts like a PNG unless you change the extension to JAR, in which case it acts like a Java executable. This works because the PNG header is at the beginning of the file, while the ZIP header is at the end. Nowadays, though, desktop Java
Read the rest
is pretty much dead, so it's a less exciting party trick. [0] https://github.com/JohnEarnest/Octo [1] https://github.com/JohnEarnest/Octo/blob/gh-pages/js/sharing...
In Executable PNGs
Yep! A number of people had asked for a vim mode over the years. You can also use Octo's assembler from the commandline if you wish, although you will need to pair it with a separate emulator for that workflow. Tom Swan has a high-quality emulator suitable for this purpose, for example[0]. The Octo github page links[1] third-party syntax highlighting modes for a wide variety of external text editors. The Sublime mode is the most actively-maintained; if anyone likes using Vim, Emacs, Atom, or so on, you could help out by sprucing up any that are out of date. [0] https://github.com/TomSwan/mychip8 [1] https://github.com/JohnEarnest/Octo#links
In Octojam 7: The CHIP-8 game jam

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