home

Bookmarks


Finding and Exploiting Hidden Features of Animal Crossings NES Emulator

binary-exploitation, c, dolphin, game-hacking, ida, powerpc, retro-tech, reversing, video-games

Arbitrary Code Execution in Ocarina of Time

binary-exploitation, game-hacking, mips, n64, security, video, video-games

Disassembling Jak & Daxter

lisp, mips, retro-tech, reversing, video-games

VMU Hackery

hardware, retro-tech, reversing

Controlling my A/C with a Gameboy

hardware, programming, retro-tech, reversing, z80

The Insane Innovation of TI Calculator Hobbyists

hardware, programming, retro-tech, reversing, z80

Fixing a bug in an 18 year old Shockwave game

game-hacking, retro-tech, reversing, video-games

Battletoads text decompression (huffman)

6502, nes, retro-tech, reversing, video-games

Zelda Screen Transitions are Undefined Behavior

6502, nes, retro-tech, reversing, video-games

Sonic Battle (GBA) Renderer Series

graphics, hardware, reversing, retro-tech

How Much of a Genius-Level Move Was Using Binary Space Partitioning in Doom?

graphics, math, programming, video-games

Investigating a recent ebook DRM system (c. 2018)

android, arm, reversing

BattlEye reverse engineer tracking

game-hacking, reversing

Looking inside the box

python, reversing

Analysis of the 2015 ESET Crackme challenge

ctf, reversing, x86

Adventures in reverse engineering Broadcom NIC firmware

arm, hardware, reversing, x86

Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine

biology, reversing

Modifying Telegram's "People Nearby" feature to pinpoint people's homes

security

Just use Signal, folks.

GPS, Galileo & More: How do they work & what happened during the big outage?

ham

[DSCTF 2019] CPU Adventure – Unknown CPU Reversing

ctf, reversing, writeup

You Won't Believe This One Weird CPU Instruction!

hardware, historical, optimization, x86

Glitching a $20k Piece of History

arm, hardware, reversing

Coding Stories: Me vs. The VNC Guy

programming, windows

A Great Old-Timey Game-Programming Hack

6502, game-development, programming, retro-tech, video-games

CGA in 1024 Colors - a New Mode: the Illustrated Guide

dos, hardware, graphics, retro-tech

Memories

demoscene, dos, programming, x86

Ubershaders: A Ridiculous Solution to an Impossible Problem

dolphin, graphics, hardware, opengl, programming, video-games

GDCCs Memory Model

c, doom, programming, video-games

Code Conversion Language

c, emacs, emacs-lisp, lisp, optimization, programming, reversing

The General Problem

compilers, functional-programming, guile, lisp, programming, scheme, x86

What the Hero Sees: Field-of-View for Roguelikes

programming, algorithms, dart, game-development, interactive, video-games

A Constructive Look At TempleOS

operating-systems, programming

Org mode and Haunt

emacs, emacs-lisp, guile, lisp, programming, scheme

Good Style in modern Emacs Packages

emacs, emacs-lisp, programming

Emacs: from catching up to getting ahead

emacs

Guix: A most advanced operating system

functional-programming, guile, guix, linux, lisp, programming, scheme

Lisp Hackers

culture, lisp, practices, programming

Pascal Costanzas Highly Opinionated Guide to Lisp

common-lisp, lisp, programming

The Nature of Lisp

java, lisp, programming

A Road to Common Lisp

common-lisp, lisp, programming

MOST-POSITIVE-BIGNUM

historical, lisp

Meta-Circular Adventures in Functional Abstraction

common-lisp, functional-programming, lisp, programming

Cons cells vs. Linked lists

common-lisp, lisp, programming, programming-languages

fibs, lies, and benchmarks

functional-programming, lisp, optimization, programming, programming-languages, scheme

Models of Generics and Metaprogramming: Go, Rust, Swift, D and More

c, c++, go, optimization, programming, programming-languages, rust

I am a Java, C#, C or C++ developer, time to do some Rust

programming, programming-languages, rust

A refreshing, conversational take on the features that make Rust unique. Also worth looking at is the author's follow-up article, Frustrated? It's not you, it's Rust

I want off Mr. Golang's Wild Ride

go, programming-languages, rant

John Carmack on Inlined Code

c++, optimization, programming

Implementing a NES Emulator in Rust

6502, hardware, programming, rust, video-games

Smashing the heap by overflowing the stack

c, linux, rust, security

Creating a Rootkit to Learn C

c, security, linux

How to use Trend Micro's Rootkit Remover to Install a Rootkit

reversing, security, windows

Patching nVidia GPU driver for hot-unplug on Linux

c, linux, operating-systems, programming

Building a Homebrew Video Game Console

c, hardware, programming, z80

Doing a math assignment with the Lean theorem prover

formal-methods, math, lean

Approximating the Sine Function

math, optimization

Looping Music Seamlessly

math

Programmers Need To Learn Statistics Or I Will Kill Them All

math, rant

The PGP Problem

crypto, math, pgp, security

While I feel the author's suggestion to "[u]se Signal. Or Wire, or WhatsApp, or some other Signal-protocol-based secure messenger" is well-intentioned, I strongly dislike advocating for nonfree software and network services that are run unethically. I am a proponent of OMEMO/XMPP.

I may start using signify for my own software. Of course, I won't entirely give up on PGP, but I think that signing with both would be enough to signal my endorsement of the former.

The lack of a suggested alternative for email is particularly depressing to me. Why haven't we come up with a better system yet?

And the author does well to admit that PGP is still a fair choice for encrypting files. I see myself continuing to use pass for years to come.

Update:I've come back to this article a few years after adding it to this page. I now walk back on the rather inflammatory suggestion that Signal is "nonfree software and network services that are run unethically". While I prefer services that are federated rather than centralized, Signal currently serves as a secure messenger for the less technically inclined. Not to mention, OMEMO/XMPP is derived from the Signal protocol.

Furthermore, I did not verify the claims made in this article. It happens to be quiterubbish.

Move Fast & Roll Your Own Crypto

crypto, reversing, security

Despite the imperative title, this is not a suggestion to roll one's own crypto. This is an analysis of the abysmal security in the Zoom video conferencing software.

Crackpot Cryptography and Security Theater

crypto, security, quackery

Deanonymizing Tor Circuits

c, computer-networks, distributed-systems, programming, security, tor

This is one of many excellent articles written by Dr. Neal Krawetz on security in Tor. I would encourage reading other articles on his website, if you are interested in this sort of thing.

Infectious Executable Stacks

binary-exploitation, c, security

In Noisy Digital Era, Elegant Internet Still Thrives

culture

An NPR article from 2012 about the SDF public access UNIX system.

Codecademy vs. The BBC Micro

culture, historical

Graying Out

culture, jabber

What's Wrong With XMPP?

culture, jabber

Does Visual Studio Rot the Mind?

practices, programming

Software disenchantment

culture, programming

Writing system software: code comments.

programming

Indirection Is Not Abstraction

programming

"ActivityPub: past, present, future" - Keynote by Christopher Lemmer Webber #apconf

activitypub, distributed-systems, video

Fundamentals of Optimal Code Style: Cognitively-Oriented Approach to Improving Program Readability

cogsci, programming

An interesting approach to justifying, scientifically, an "optimal" code style.

Augmenting Long-term Memory

cogsci

The Process of Mastering a Skill

cogsci

Thoughts on Strength Training

cogsci, fitness

Crafting "Crafting Interpreters"

writing

Writing well

writing

The Long Hack: How China Exploited a U.S. Tech Supplier

china, politics, security

The CCP is the enemy.

Bitcoin and other PoW coins are an ESG nightmare

bitcoin, politics, sustainability

Consider SQLite

databases