HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Compiling C to printable x86, to make an executable research paper

suckerpinch8 HN recommenders · recommended in 7 months, 2018-2023
YouTube
479K views · 9 years ago · talk · evergreen

Tom7 explains how he built a SIGBOVIK 2017 paper made only of printable ASCII bytes that is also a valid DOS executable. He writes a C compiler targeting printable x86 without self-modifying code and solves the puzzles the constraint creates.

HN fans call it a favorite engineering video and a showcase of Tom7's masterpiece-level, playful hacking.

Compilers, interpreters & program analysisDemoscene & retrocomputingSecurity & hacking#printablex86#ccompiler#sigbovik#dos#tom7#machinecode

11 comments from Hacker News

@omgmajk2023 · in “The GlEnd() of Zelda: Automatic 3Dification of NES Games (2016)”

Love Tom7, his video "Compiling C to printable x86, to make an executable research paper" [0] is my favorite but most of his stuff is super interesting. [0] ▶ this video

Strongly recommendsView on HN
@nextaccountic2023 · in “C89 compiler produces printable executables from C code [pdf]”

The author is an absolute legend. Absolutely every video on his Youtube channel is a masterpiece link And this includes the video that explains this code (Compiling C to printable x86, to make an executable research paper) ▶ this video

Strongly recommendsView on HN
@nick-of-time2023 · in “GradIEEEnt half decent: The hidden power of imprecise lines [video]”

Mine are "Harder Drives"[1], "ELO World"[2], and "Printable x86"[3] [1] link [2] link [3] ▶ this video

RecommendsView on HN
@colejohnson662023 · in “Undocumented 8086 instructions, explained by the microcode”

Tom Murphy VII (tom7) did such a thing. It's a partial C89 compiler that outputs only printable characters. In meta fashion, the compiler is compiled by itself to also contain only printable characters. The TXT and EXE files below are exactly the same. Video: ▶ this video Paper (PDF): link Paper (TXT): link Compiler (EXE): link

CitesView on HN
@x86x872023 · in “Ask HN: What are some of the most interesting YouTube channels to follow?”

A mix of various things. Google to get to the channel: pbs spacetime stuff made here ben eater's 8 bit computer mike boyd nerdforge sabine hossenfelder gotham chess uthermal 3blue1brown veritasium Numberphile Suckerpinch (all time favourite: ▶ this video ) Stevey's tech talk leonard susskind's stanford lectures

RecommendsView on HN
@asalahli2023 · in “ABC: A C compiler for printable x86”

In the accompanying video[0] at 7:36 mark, he goes to great lengths to express (A or B) as (A and B) + (A xor B). Can anybody explain why it can't simply be expressed as (A and B) xor (A xor B)? What am I missing here? 0. ▶ this video

CitesView on HN
@SAI_Peregrinus2021 · in “Undocumented x86 instructions to control the CPU at the microarchitecture level [pdf]”

That last one (Tom 7's executable x86 paper) is incomplete without the video where he demonstrates running the paper (or running the paper yourself). ▶ this video

RecommendsView on HN
@anitil2021 · in “Lipogram”

tom7 made a while video explaining how to create an executable only with printable characters [0]. He even write a compiler called 'ABC' for it. [0] ▶ this video

RecommendsView on HN
@badrequest2019 · in “NaN Gates and Flip FLOPS”

Every one of this guy's SIGBOVIK papers/videos are pure gold. His video about the printable x86[1] is my favorite engineering video of all time. ^1: ▶ this video

Strongly recommendsView on HN
@pronoiac2019 · in “Survival in chessland [pdf]”

He's a mad genius! I like his compiler that generates executables made up only of printable characters: ▶ this video / link He's super playful and awesomely smart!

Strongly recommendsView on HN
@floatboth2018 · in “Ask HN: What’s your favorite talk from 2017?”

On The Turing Completeness of PowerPoint link Compiling C to printable x86, to make an executable research paper ▶ this video HDR Photography in Microsoft Excel?! link Zebras All the Way Down link Solving Layout Problems with CSS Grid and Friends link Console Security - Switch link Let's move SMM out of firmware and into the kernel link Bringing Linux back to server boot ROMs with NERF and Heads link Sharing the Chisel link (looks like the actual conference video wasn't released)

CitesView on HN
CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”1:19:52

CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”

CppCon
264K views • 10 years ago
CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”1:15:46

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

CppCon
178K views • 9 years ago
C++ Weekly - Ep 19 C++14 For The Commodore 6417:13

C++ Weekly - Ep 19 C++14 For The Commodore 64

C++ Weekly With Jason Turner
25K views • 10 years ago
Demo: Base language, compile-time execution2:07:18

Demo: Base language, compile-time execution

Jonathan Blow
164K views • 12 years ago
Intro to C on Windows - Day 11:11:59

Intro to C on Windows - Day 1

Molly Rocket
370K views • 11 years ago
Andy Keep - Writing a Nanopass Compiler40:48

Andy Keep - Writing a Nanopass Compiler

ClojureTV
29K views • 12 years ago
Anders Hejlsberg on Modern Compiler Construction34:10

Anders Hejlsberg on Modern Compiler Construction

Kasper
25K views • 9 years ago
Breaking the x86 Instruction Set44:29

Breaking the x86 Instruction Set

Black Hat
381K views • 9 years ago
Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 20231:35:12

Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023

CppNow
71K views • 3 years ago
How I program C2:11:32

How I program C

Eskil Steenberg
1M views • 9 years ago
Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas46:19

Break Me00 The MoVfuscator Turning mov into a soul crushing RE nightmare Christopher Domas

Adrian Crenshaw
81K views • 11 years ago
C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”1:30:03

C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”

CppNow
11K views • 8 years ago
CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”1:00:21

CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”

CppCon
29K views • 7 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”40:33

2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”

LLVM
7K views • 9 years ago
Joanna Rutkowska: Towards (reasonably) trustworthy x86 laptops1:02:52

Joanna Rutkowska: Towards (reasonably) trustworthy x86 laptops

media.ccc.de
27K views • 10 years ago
Badness 0 (Apostrophe‛s version)22:15

Badness 0 (Apostrophe‛s version)

suckerpinch
258K views • 2 years ago
ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris Lattner52:21

ASPLOS Keynote: The Golden Age of Compiler Design in an Era of HW/SW Co-design by Dr. Chris Lattner

SiFive
52K views • 5 years ago
"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell40:56

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell

Strange Loop Conference
25K views • 12 years ago
Debugging with the Scientific Method - Stuart Halloway49:09

Debugging with the Scientific Method - Stuart Halloway

ClojureTV
25K views • 10 years ago