RSS.Social

jes's blog

follow: @[email protected]

Posts

AI Test User

The Story of Max, a Real Programmer

The web program manifesto

Against exponential backoff

Conservation of tins of paint

You never ask how I'm doing

Building blocks for F-Rep CAD

Thoughts on Signed Distance Functions for CAD

How to abort calculations in OpenCascade

The world's stupidest AppImage

Timeline of Discovery

Clock Gear Train Calculator

The Principles of Mr. Harrison's Time-keeper

My diaphragm piston air engine with rotary valve

Prompts as source code: a vision for the future of programming

Bare minds

The free space equation

Encyclopedia Mechanica

I made an LLM-powered Colonel Blotto game

2014 Nissan Leaf: first impressions

Secrets of the ChatGPT Linux system

My first microlighting experience

I'm building a fixed-gantry CNC machine out of composite kitchen worktop material

How to read from a TCP socket (but were too afraid to ask)

We're not in a simulation

The watch project

Interesting features of John Harrison's sea clocks

Incongruous technologies redux

A self-aligning Boggle board

The Douzieme gauge

Five interesting things from the Science Museum

Designing a Bangle.js commute timer

The Egyptian coin box

dnstweak: quick local DNS spoofing tool

Exploiting an insecure cipher in the wild

Incongruous technologies

Triangle strip encoding

Did I receive fraudulent DMCA takedowns?

Book Review: Bloodhounds (includes spoilers)

Taxonomy of locked room murders

The crank position sensor works

A quick 3d-printed light gate

Revisiting oscillating engine loss calibration

Coriolis fountain

The KRC-2 regenerative receiver kit: a review

More inlet pressure measurements

Measuring Wig-Wag inlet pressure fluctuations

Calibrating losses in the oscillating engine simulator

My Wig-Wag

Oscillating Engine Simulator

My mini lathe stand

Prime Combination: Solution

Prime Combination

Optimal eccentric-weighted coins

Problems with Protohackers

Classifying minds

Alternative revolutions

Solving Protohackers with Fly.io

Nightdrive

Protohackers problem 2 retrospective

How small can you make text with a drag engraver?

The future of virtual reality

Protohackers problem 1 retrospective

Protohackers: a new server programming challenge

A SLANG interpreter for SCAMP

A Lisp interpreter for SCAMP

Cheating at chess with a computer for my shoes

Do I really want a lambda calculus cyberdeck?

Eldood: what Doodle used to be

Consciousness is computable

The ultimate SCAMP development environment

Toolmaker's Clamp

Progress on the CNC mini mill

FreeCAD vs SolveSpace

CNC milling machine project

Meshmill: open source 3D CAM

Using the weird rotary axis

Librem 5: first impressions

Packing puzzle: Six Fit

A weird rotary axis for my CNC machine

Party Puzzling: themed puzzle sets for special occasions

An Arduino-based USB interface to the Psion Organiser II

Waypointer Moto: motorcyle navigation for Bangle.js

Measuring motorcycle lean angle with a single accelerometer

Advent of Code on my homemade CPU

Bubble packing puzzle

Lightweight and robust quadcopter guards

I made an adjustable loaded die

Fixing my tablesaw tilt mechanism

Towards a high-resolution grid of tiny electromagnets

Choozi for Bangle.js

Approximating Lenna with a neural net

The case for SCAMP

Play with SCAMP from the comfort of your browser

Porting Hamurabi to SCAMP

Book Review: Every Tool's a Hammer

SCAMP update

A short pendulum with a long period

A method and apparatus for polishing shafts

SCAMP has booted up to the shell for the first time

The kilo editor

SCAMP is alive

Bangle.js open source hackable smart watch: first impressions

Front panels for SCAMP

The SCAMP kernel

A compiler for SCAMP, and machine code profiling

How to use an AT28C16 EEPROM with an Arduino Uno without a port expander

My second attempt at milling a PCB

My first attempt at milling a PCB

Making a start on the SCAMP ALU cards

Designing the instruction set for my TTL CPU

Progress on my TTL CPU design

I want to cast some rings

Adventures in CPU design

Someone copied Stegoseed and deleted my name from it

I wrote a semi-literate brainfuck compiler for CP/M

How to copy files to/from the RC2014 using XMODEM

My Advent of Code Story

All the gears, no ideas: an escape room puzzle

I made some aluminium keycaps

Sawing my dining table in half

Seasonal.css: Give your website a seasonal colour scheme

CNC toolpath generation from heightmaps

First steps into CNC machining

How to convert a 6040 CNC machine to Grbl

I made an optical inline fuel sensor

Miscellaneous thoughts on making stuff

Progress on my Godot racing game for Oculus Quest

How to import Assetto Corsa race tracks into Godot

I made a mechanical keyboard with 3d-printed switches

I'm working on a VR car racing game for Oculus Quest

Another new switch tester, test results, and thoughts on the keyboard design

Secrets of the Hanayama Cast Marble

I made a macro keypad with 3d-printed switches

Making a game with 24a2

Keyboard switch progress & test results

A better automatic keyboard switch tester

I broke my first 3D-printed keyboard switch

Automatic keyboard switch tester

Thoughts on laser level design

How to run a Cloud Desktop on any VPS, with SPICE

An easy way to package Perl programs

Zero-downtime Docker container deployments with nginx

Autopatzer: my automatic chess board

YubiKey SSH authentication: the easy way

Automatic chess board design

My first combat robot tournament

I built an antweight combat robot

My DIY Cryptosteel Capsule

Chassis Design with Finite Element Analysis in FreeCAD

My RC2014 Web Server

Design and Implementation of a Z80 Computer Front Panel

The RC2014 Z80 Microcomputer

My Arduino-based industrial process controller

Home 3d metal printing: first results

The 2019 BLMRA 12 hour lawnmower race

An interesting 3d metal printing process (help wanted)

How to make a rev limiter with an Arduino

My first chess tournament

A Strange Chess Clock

How to win at Scotland Yard

Puzzle Drawers

The Wheatstone Cryptograph

Telescope tracking with software auto-guiding

Imaging the Orion nebula with the PiKon telescope

Towards a Better Pythagorean Cup

First Light in the PiKon telescope

Flat Earth and the Coriolis Force

My PiKon telescope hardware

Ramblings About a Computerised Telescope

Deanonymising a Tor hidden service with traffic correlation

How to use Ricochet IM on Tails

Hiding messages in chess games

Someone used my IPFS gateway for phishing

How Ricochet IM works

Please don't block Europe

How to install Ubuntu 18.04 LTS on a Lenovo Ideacentre 310s

Spelunking the Web Servers of the Lightning Network

A 4x4 chess puzzle

We entered the BLMRA 12 hour lawnmower race again

I tried to make a vinyl record on the lathe

What's inside an HSBC SecureKey?

Introduction to Isopath

My homemade ebike control panel

A Rock-Paper-Scissors AI that is too good

Reverse engineering an ebike 3-mode PAS LED panel

What would the total computing power of the entire world in 1970 cost today?

How I cracked the Bitcoin keys in Andy Bauch's Lego artwork

How to find out if your data gets stolen (URL Canary)

SaaS profit is market inefficiency, and it will end

How to run SSH and HTTP on the same port

A visual demonstration of the perils of key reuse in a one-time pad

I designed a trick chess piece with hidden compartments

Magnetic cubes puzzle: In practice

Magnetic cubes puzzle: In theory

How to get your Bitcoins out of Xapo without running their app on your phone

Knives: they cut, and they don't ask no fucking questions. Yet.

How to control a digital speedometer

Is mega.co.nz censored by every major search engine?

Finding unsecured S3 buckets using Passive DNS

Machines as first-class citizens

New project: YX140 engine in a Honda Innova scooter

Someone Created a Tor Hidden Service to Phish my Tor Hidden Service

On Gumtree, "Bitcoin" is a dirty word

Solving the Matchsticks Game

Google Trends portfolio: selling Ripple

Google Trends portfolio: buying Monero

Using Google Trends data to speculate on cryptocurrencies

I tried to do the BLMRA 12 hour lawnmower race

I found a security vulnerability in SMS Privacy this morning

The only time Hacker News is this interested in Bitcoin is when there's a bubble forming

BTC-e, Alexander Vinnik, and the missing MtGox Bitcoins

I tried to buy a thing off a dark net market, and the FBI stole my money

Why Bitcoin has to succeed

Double-check Bitcoin addresses when pasting (Bitcoin TX Generator malware)

How to create 3d-printed stencils for spray-painting

Someone cloned my website and is using it to scam people

Hardbin: The World's Most Secure Encrypted Pastebin

I made a Base58 encoding/decoding tool

How to use bitaddress.org securely (spoiler: use IPFS)

I've been playing with IPFS

I semi-deanonymised some MetaMask users, and they were absolutely loaded

Drive-by identification of MetaMask users

eBay don't understand why people dodge their fees

Is the Large Bitcoin Collider malware?

I made a Rhyming Dictionary

I started accepting 0-conf Bitcoin payments, and it was great

On the inevitability of the machine-owned enterprise

I don't know how many soldiers are taking drugs, and neither do you

SMS Privacy was attacked last night

Steganographic Bitcoin seeds: Hiding cash in plain sight

Precautions for generating Bitcoin QR codes

Encrypted email is still a pain in 2017

I bought an extremely cheap 3d printer and it's great

Why minimum wage is bad, illegal immigrants are good, and ticket scalping is fine

The Game Theory Case for Bitcoin

Secrets of the Medtronic MyCareLink Patient Monitor

Please stop making popup menu bars

How (and why) to accept Bitcoin payments yourself (without running a full node)

Bitcoin debit cards: Xapo vs Cryptopay

I made a hidden bookcase door

SMS Privacy month 1 review

SMS Privacy now provides anonymous voicemail

What is the most interesting thing live streaming right now?

The SMS Privacy conversion funnel

How to buy phone numbers anonymously

What if we could assume new identities at will?

Living with a Bitcoin debit card

Perl's Digest::SHA::hmac_sha256_base64 is wrong

On the design of a herb jar lid

I delivered an Oak Mirror to a lady

How to copy Wordpress theme customisations to a child theme

How to defeat naive image steganography

Stockfighter Review (no spoilers)

How (and why) to make your software faster

Going Solo

How to peek all of the jobs in a Beanstalk tube

I delivered 2 sofas for Vincent

How to interrupt a regex in Perl

How to use GNU screen for ad-hoc cluster management

I tried to go pit biking

I made a video of driving my van

I tried to change the glow plugs in my van

I bought a pit bike

I rode my motorbike off road and made a video

I made a gong

I made a puzzle game

If you serve javascript with a 404 status does it still get executed?

I made a knife out of a file

Logrotate race condition with copytruncate

I made a little knife

I made a plymetal heart decoration

I painted my van wheels

How to close a running process's socket

I drove a truck and bought a car

Digital Ocean Private Networking is not Private

I built a campervan

I am back on the bike

I built an oak chest

How to make driftwood sink

I bought some fish

I made a ring out of a coin

I drove in the snow

SMS Travel Map

Stories from the Mongol Rally: Mongolian Black Market Pickpocket

Stories from the Mongol Rally: Kazakhstan Policeman Selfie

Stories from the Mongol Rally: the Georgian Diesel Incident

Counter creator

I made a brass box

I ran out of fuel in my van

I helped a French child fix a stolen moped

West Country Place Name Generator

Yurt Lush Live Tracking

Hungman

NFC Tag

Beer

Xory

Mazda MX-5

The Glowstick Debacle

8 out of 10 Countdown viewers

Polynomial interpolator

Phone posting setback