The Curious Engineer

All blogs / DOS / vintage PC

Reenigne blog

reenigne.org/blog

Stuff I think about

DOS / vintage PCCPU / microarchitectureDemosceneMathGeneral

Posts
679 from 1 Jan 1994 to 23 May 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://www.reenigne.org/blog/feed/

2026 1

  1. 80386 microcode disassembled

2020 1

  1. 8086 microcode disassembled

2016 17

  1. Letter to the headmistress of the school my children attend
  2. The mission of government
  3. The web with no ads
  4. On positive and negative reputation
  5. Cost of housing
  6. Integers as types
  7. Nobody at the controls
  8. Hardware support for ravioli
  9. Threading and ravioli
  10. Modifications to a programming language for ravioli
  11. Reference trees for ravioli
  12. 2-forward, 1-back list for ravioli
  13. Scrolling game edge tile list
  14. The MuT music tool
  15. TPP and TTIP
  16. A tale of two debuggers
  17. ISA Bus Sniffer update

2015 4

  1. 8088 MPH final version announcement
  2. More 8088 MPH how it’s done
  3. 8088 PC Speaker MOD player: How it’s done
  4. 1K colours on CGA: How it’s done

2012 46

  1. Multiplying faster with squares
  2. How to get away with disabling DRAM refresh
  3. What I want from an online store
  4. A new protected class: things you’ve said
  5. Practical considerations of a consumption tax
  6. Intervals: clock and power on the same line
  7. Variadic templates in ALFE
  8. Classes vs structures in ALFE
  9. The Label type in ALFE
  10. The Variant type in ALFE
  11. The Bottom type in ALFE
  12. Fixed-length arrays in ALFE
  13. Sequence types in ALFE
  14. Product types in ALFE
  15. Maybes in ALFE
  16. Sum types in ALFE
  17. Function types in ALFE
  18. Pointers in ALFE
  19. The ALFE type system
  20. Government as singleton
  21. XT reset switch
  22. Computer-controlled TV
  23. Comparison of CGA card versions
  24. Improved composite mode support for DOSBox
  25. ISA bus sniffer
  26. LED strobe and spinning disc
  27. Zoomable family tree
  28. British TV is so civilized
  29. Adventures in CRTC lockstep
  30. Adventures in CGA lockstep
  31. The CGA wait states
  32. Multifunction gates
  33. doitclient ported to Windows
  34. Buying up the junk
  35. eBay private bids
  36. How to decide if a website is trustworthy
  37. The future of the past and the past of the future
  38. Scan doubler reverse engineered
  39. Purpose of U90 in XT second revision board
  40. Fractional exponent floating point numbers
  41. Spam for buying instead of selling
  42. Recompiling only the code that has changed
  43. Using one scrolling window inside another is annoying
  44. C++ features ALFE doesn’t have
  45. ALFE design philosophies
  46. Unity language renamed to ALFE

2011 73

  1. Removing outliers
  2. If the world were rational
  3. Beats of two colour carriers
  4. Effect of the color adjust variable capacitor
  5. Masking out the sync signals
  6. Hardware debugging with no oscilloscope
  7. Strings and localization in ALFE
  8. Templates and Kinds in ALFE
  9. Ideas for a reddit killer
  10. A debugging story from my Microsoft days
  11. UDRE doesn’t do what I thought it did
  12. Import taxes to level the playing field
  13. Trick for making double-sided PCBs
  14. Subpixel image resampling results
  15. What is the CGA aspect ratio exactly?
  16. How to set 200-line text modes on EGA
  17. Why the EGA can only use 16 of its 64 colours in 200-line modes
  18. Black holes are weird
  19. No exceptions
  20. I bought an XT
  21. Fractal waveform
  22. Getting rid of GOTOs
  23. Using templates when you don’t really need to
  24. Is Haskell too abstract?
  25. Why GOTOs are bad
  26. When is your program compiled?
  27. A weird thing in Haskell
  28. Language in which assignment is reflective
  29. Interactive IFS
  30. Patches
  31. Lost stories I wanted to see
  32. Windows 7 annoyances
  33. Thoughts on ActionScript
  34. More riffing on software licenses
  35. Downsides of copyleft
  36. Benefits of copyleft without copyleft
  37. Copyleft loophole
  38. Rewinding DVDs
  39. What to do about software patents
  40. Energy saving idea
  41. The mathematical universe
  42. Issues as political proxies
  43. CPU usage visualization
  44. How do we get there from here?
  45. Hacker show and tell
  46. Euclid’s orchard improved image
  47. Postel’s law revisited
  48. Progressively optimizing compiler
  49. Fractals on the hyperbolic plane
  50. The slow intelligence explosion
  51. Debugger feature
  52. The logic of the minimum wage
  53. Net neutrality
  54. Legalize all drugs
  55. Correcting injustices
  56. Secrets and leaks
  57. Tinkering with the defragmentation API
  58. Sound synchronizer
  59. Preventing cheating in online games
  60. Special relativity game
  61. Bifurcation fractal
  62. Checksum utility
  63. Audio codec idea
  64. Perceptual colour space update
  65. Run a random file
  66. Oscilloscope waveform rendering
  67. Cleartype for images
  68. Blog updates
  69. PIC12 architecture review
  70. A PIC12 programmer from an Arduino
  71. Final interval bars code (I hope)
  72. Rethinking memory
  73. Code blog

2010 30

  1. Politics simulator
  2. Transverse wave
  3. Simple Harmonic Motion
  4. Virtual physical tone matrix
  5. Map reprojection
  6. Credit card designed for internet shopping
  7. USB device classes and usage pages
  8. Time derivative accounting
  9. Musical toy design
  10. Liquid democracy
  11. Seasteading
  12. I am a monad
  13. The physics of a toroidal planet
  14. Bailout thoughts
  15. The fundamental differences between Windows and Linux
  16. User code in kernel mode
  17. Optimizing by taking advantage of undefined behaviour
  18. What happened to DirectSound?
  19. Website for making websites
  20. VC++ inline assembly hack
  21. Most different colours
  22. Arbitrary precision Mandelbrot sets
  23. Waller’s Torus: a four-dimensional musical instrument
  24. I am not (just) a strange loop
  25. Floating-point faster than integers
  26. Very low-level programming
  27. Random number generation on 8-bit AVR
  28. Physical tone matrix screen construction details
  29. Physical tone matrix
  30. Volatile registers in GCC

2009 70

  1. Improved GPU usage for fractal plotter
  2. Wireless mice
  3. Fall foliage
  4. Rotating fractal
  5. What are all those pins for?
  6. A trip around the cardioid
  7. Guns would not be useful against a tyrannical government
  8. People are colonies
  9. Top posting
  10. Identity and birth
  11. Quantum immortality and omnipotence
  12. Does the human brain tap into a third form of computing?
  13. Why should healthcare be a right anyway?
  14. What would constitute a proof of God?
  15. XKCD standard creepiness rule
  16. CGA: Why the 80-column text mode requires the border color to be set
  17. CGA: Reading the current beam position with the lightpen latch
  18. Building 3D chips
  19. Plan for welfare
  20. Sometimes, doing things incrementally hurts more than it helps
  21. Scaling/scanlines algorithm for monitor emulation
  22. Sometimes, figuring out the right architecture is half the battle
  23. Pipeline architecture
  24. NTSC hacking
  25. What does supernatural actually mean?
  26. Memory handling in high-level and low-level languages
  27. Taxing hard work verses taxing luck
  28. Larrabee: Devolving the CPU vindicated
  29. Setting constraints when programming
  30. Tet4 is a game of luck
  31. Text editor as shell
  32. Commandments of text editing
  33. Half-size Lego
  34. Welcome Penelope
  35. Yes, I’m metablogging again
  36. Another Argulator feature that never was
  37. Why Argulator requires users to create an account before creating statements
  38. Error handling in Argulator
  39. Other principles and innovations in Argulator
  40. How Argulator presents statements
  41. Argulator’s user interface
  42. Introducing Argulator
  43. Why is TV static in black and white?
  44. 3D circuit ball
  45. Improved geohashing algorithm
  46. Component pattern
  47. The programmer cooperative
  48. CGA Hydra
  49. Floating point is not evil
  50. Memory handling for fractal program
  51. Sound for fractal program
  52. Public medicine and medical research
  53. Why insurance is the wrong model for healthcare
  54. 378Kb disk hack for Fractint 15.1
  55. Mandelbrot set taxonomy
  56. Bugs are good
  57. Determining if a point is in the Mandelbrot set
  58. Installing Vista the difficult way
  59. Complexity metric for identifiers
  60. Manifesto for a new demoscene
  61. Alien rights
  62. Algorithm for Mandelbrot cardioid
  63. Code complexity editor feedback
  64. Climate change is irrelevant for alternative energy
  65. Game browser
  66. Vista without Aero
  67. Disproof of God
  68. Photos January-July 2009
  69. Photos October-December 2008
  70. Photos September-October 2008

2008 180

  1. Steps to fix a bug properly
  2. Neutral particles in E8 theory
  3. Non-local control structures
  4. Why writing web applications is fiddly
  5. Complexity metrics for computer programs
  6. It’s hard to buy a wifi card that works with Linux
  7. Scanning photos is annoying
  8. A stack of refactorings
  9. Chemically controlled radioactivity
  10. Game engines will converge
  11. Language optimized for refactoring
  12. Once you go OOP, there’s no going back
  13. Javascript exchange site
  14. TODO-list management website
  15. PHP could be more secure
  16. New technologies from new physics
  17. You can’t learn something until you already almost know it
  18. Dual time
  19. Marginal cost of a vote
  20. Algorithm for finding “hot” records in a database
  21. Gödel’s incompleteness theorem
  22. JavaScript vs PHP
  23. Mornington Crescent data mining
  24. Touch typing is irrelevant for programmers
  25. Manifesto
  26. Taking an interest in politics
  27. Programs to write programs
  28. Things cyclists should be allowed to do
  29. It’s not in the last place you’ll look
  30. Visual cortex fail
  31. The mouth filter
  32. The mosquito loop
  33. Recurring dream
  34. Stupid image resizing
  35. Escher metric
  36. How to fix Microsoft
  37. The search for simplicity
  38. Ray tracing in GR
  39. Lost camera
  40. The hobgoblin of little minds
  41. What makes a game addictive?
  42. Tet4 implemented in JavaScript
  43. Editor comment shading
  44. You should only ever need one GUID
  45. Vista annoyances
  46. More Linux usability problems
  47. Emacs gripes
  48. Linux cleartype subtly broken
  49. Equations for 3D graphics
  50. Getting rid of the branch cut
  51. Don’t start big projects
  52. Adjusting the branch cut
  53. Cheating in online games
  54. Static scoping improved
  55. Desktop security silver bullet
  56. Variable APIs should be string-based
  57. Triangular lattices
  58. Lego Technic reminiscing
  59. Powers involving i
  60. Reslicing
  61. I made a movie
  62. Two more
  63. Unified theory story part II
  64. Coloured simplicity density function
  65. Fourier transform of the Mandelbrot set
  66. Units and measures
  67. Simplicity density function
  68. Channelling Roald Dahl
  69. Coping with slow API calls
  70. A little mathematical game
  71. rm for the web
  72. Evidence against God
  73. Atheism vs agnosticism
  74. Apostasy
  75. I never believed in Jesus
  76. The trouble with editors
  77. Square aeroplanes
  78. Airport integration
  79. String storage
  80. Startups
  81. Parsing expression grammar grammar
  82. It always comes down to economics
  83. Deleting from the database
  84. Deconstructing the database
  85. Different kinds of truth
  86. Computer algebra system
  87. Lost: The most complex story ever told?
  88. English as a language for programming
  89. Economy in ubiquity
  90. Animal testing
  91. Webifying old games
  92. Digger adventure
  93. Another 2D game
  94. Emulation for fun and profit
  95. Keep your laws off my internet
  96. GPL v3 loophole
  97. Bloggers’ remorse
  98. The story of the sprite, the string and the castle
  99. Pot or not-pot
  100. Destructors
  101. Homogeneous computer
  102. Concrete data type
  103. Twenty years of programming
  104. My first made-up language
  105. Boxes
  106. Photos – January to May 2008
  107. Temporal or non-temporal blogging?
  108. Cool stuff update
  109. Why carbon credits are not like Catholic indulgences
  110. CSS woes
  111. Programs I want to write
  112. Overlapping images in escape time fractals
  113. Modular emulator
  114. Lemon Meringue Pie
  115. Blackberry cobbler
  116. Toad in the Hole
  117. Pasta dish I made up
  118. Spaghetti carbonara
  119. Risotto
  120. Chicken and rice
  121. Generations of screen sizes
  122. Screen aspect ratios as musical notes
  123. Lispy composable compiler
  124. Sampling keyboard
  125. PAL version of demo machine
  126. NTSC decoder
  127. Demo machine
  128. Vocalsynth
  129. My favorite programming font
  130. Plug-ins should not be in the same address space as the main process
  131. Fine structure constant update
  132. I want to run as root
  133. Map showing river basins
  134. Shepard tones
  135. Widdershins of hue
  136. On “Taking Science on Faith”
  137. Basilisk
  138. Hakmem 2
  139. Sugar rotation
  140. XKCD movie
  141. Magic inflation-linked currency
  142. Use derivatives for SOI
  143. Everything I needed to know about life, I learned from “The Very Hungry Caterpillar”
  144. Genetic engineering – a danger to roads?
  145. Background music for books
  146. Dreamland
  147. Unified theory story
  148. SpaceTime Algebra gravity
  149. Weather for computers
  150. How to find out is something is good or bad
  151. Complex analysis and Clifford algebra
  152. Extending “The Elements”
  153. Rendering rings of teleportation
  154. What I want from an HDR workflow
  155. The high dynamic range revolution
  156. Photographic workflow
  157. Compile-time symbolic computations
  158. Compile time metalanguages
  159. Lexical scoping and closures
  160. Stringy identifiers
  161. Random numbers
  162. Object relational mismatch
  163. Mixins in C++
  164. Scripted merge
  165. Gun control
  166. Rotating fractals
  167. Diff algorithm
  168. 2D game
  169. Devolving the CPU
  170. Economics
  171. Where the money goes
  172. Copyrighting public domain information
  173. Crisp protocol
  174. Stack measuring
  175. ALFE build system
  176. Eric Clapton story
  177. Evolution of morality
  178. The Land of Infinite Fun
  179. Grand unified blog
  180. Photographs – 2008 – CodeSourcery’s newest office

2007 46

  1. Photographs – October to December 2007
  2. Cool stuff you can’t find on the web
  3. Portal
  4. Photographs – August to October 2007
  5. Real-time Mandelbrot set zooming
  6. Software downloads
  7. Photographs – Alexander August 2007
  8. Photographs – Alexander June 2007
  9. Wrong number
  10. Tainted files
  11. Cases
  12. The true meaning of Reenigne
  13. Compiler compilers
  14. High density mouse pointer
  15. Recursive subdivision
  16. Foundry
  17. No competition
  18. Interesting blog
  19. More keywords
  20. Compile-time checked exceptions
  21. Negative-overhead exceptions
  22. The little scientist
  23. Robot squirrel
  24. Musical toy
  25. The mathematics underlying music
  26. Multiple scrollbars
  27. Lensing editor
  28. Sonic head tracking
  29. Play high
  30. Embedded scroll bars
  31. The future of language
  32. Photographs – 2007
  33. Road rage and body language
  34. Computer industry: complexity explosion
  35. Disruptive technology
  36. Computer industry: partners and competitors
  37. Brain implants
  38. Bananas on the answerphone
  39. Delete your recycle bin!
  40. The meaning of it all
  41. Wikipedia circle
  42. Geeky video timing stuff
  43. Quantum Computers and Magic
  44. Concepts I have got mixed up in the past
  45. Back to the past
  46. Photographs – Alexander’s birth

2006 66

  1. CRTC emulation for MESS
  2. Animals
  3. Photographs – Summer 2006
  4. Hard news
  5. What a carry on
  6. Photographs – Baby
  7. Photographs – Spring/Summer 2006
  8. Dilemma
  9. Mongol Rally
  10. Cash on Delivery!
  11. Scavenger hunt, hard version
  12. Blast from the past
  13. Computer industry: what we’re building
  14. Photographs – Food (Part II)
  15. Holes in Finland
  16. Newsflash
  17. Three laws of robotics and DRM
  18. Chiral houses
  19. Normal freehand
  20. Hiatus
  21. Software patent woes
  22. Three cool videos that have been doing the rounds
  23. Toothpaste
  24. Security requires the right mindset
  25. A joke I thought of today
  26. Charity cold calls
  27. Security hole
  28. Computer talk
  29. Man prepares for hardware store
  30. Car parts
  31. The universe (and TV) needs more Shakespeare-quoting starship captains
  32. Special relativity is kind of like religion
  33. Cosmic strings
  34. Is this all a statistical blip?
  35. The extremely long term history of the universe
  36. Going around in circles
  37. Does light always go in straight lines?
  38. Mach’s Principle
  39. Noether
  40. Special relativity, backwards
  41. An insight into my editing process
  42. Jules dot com
  43. Conspiracy theories
  44. Minimal surfaces
  45. Analog quantum computers
  46. Cheese slicing algorithm
  47. Infinite loop on floor 1
  48. The future of computer interaction?
  49. Range of sizes
  50. Laptop fixing
  51. Thought for the day
  52. The undiscovered colour
  53. Actor needed
  54. Thanks to Clarie
  55. Roast Potatoes
  56. Cartwheel galaxy
  57. Why pirates are better than ninjas
  58. Dreams
  59. I’m just sayin’
  60. My beliefs
  61. Sand game
  62. Weird soap thing
  63. Metascience: the nature of the laws governing the universe
  64. What science is not
  65. Photographs – 2006
  66. Snakes on a plane on a plane

2005 61

  1. A watch that can’t tell time
  2. Opening Night
  3. Debauchery and snogging
  4. Spam
  5. Foggy night driving
  6. Overtaken by shadows
  7. Interview your future self
  8. Hot porn
  9. Photographs – Our honeymoon (page 3 of 3)
  10. Photographs – Our honeymoon (page 2 of 3)
  11. Photographs – Our honeymoon (page 1 of 3)
  12. Photographs – Summer/Autumn 2005
  13. Andrew and Gennie’s wedding – photos (page 4 of 4)
  14. Andrew and Gennie’s wedding – photos (page 3 of 4)
  15. Andrew and Gennie’s wedding – photos (page 2 of 4)
  16. Andrew and Gennie’s wedding – photos (page 1 of 4)
  17. Mestre
  18. What Colour are your bits?
  19. Car wash
  20. Inventing stuff in my sleep
  21. I hate talking on the phone
  22. My favourite bit of a wedding
  23. Stimulation junkie
  24. Mind control
  25. Beard
  26. Three slices
  27. Personal Rapid Transit
  28. Bootstrapping a compiler from nothing
  29. Overreactions to terrorism
  30. Iraq army
  31. Time travel
  32. The Lego Imperial Death Star II
  33. Pope joke
  34. The big scary list of things that we need to do to the house, in no particular order
  35. Lyrics competition 2005 answers
  36. Lens doctor – stay away!
  37. Now I just need a name for this thing
  38. Lyrics competition 2005
  39. I have a buffer
  40. Computer graphics of the future
  41. Wedding-related
  42. Questionable Content
  43. Maths and music
  44. Rare topical post
  45. No screws
  46. Things seen on the side of the road
  47. Apples
  48. Seven deadly sins
  49. Fans and walks
  50. Yes, it’s another "people in Seattle can’t drive" rant – feel free to skip
  51. Work, skies and Doctor Who
  52. Three books
  53. Godlessness and a twitchy eye
  54. Photos and no cars
  55. Photographs – May 2005
  56. Photographs – Dessert Party, May 2005
  57. Photographs – Tax Day Party 2005
  58. Photographs – March/April 2005
  59. Photographs – February/March 2005
  60. Photographs – 104 31st Ave E
  61. Photographs – Snow 2005

2004 25

  1. Doodads
  2. Radio over the wireless!
  3. The key to my castle
  4. Iconography
  5. Photographs – September 2004
  6. Mr Jenner on Channel 9
  7. A new approach to the Monty Hall problem
  8. A new blog
  9. No spaghetti
  10. More geekism
  11. Aliens from outer space
  12. Two posts in one day! You lucky, lucky people.
  13. Geekism and gunkism
  14. Thought for the day
  15. Photographs – Cute animals
  16. Photographs – 2004
  17. Drinking and breathing
  18. Lethargy
  19. Strange animals
  20. Incidents & puzzles
  21. Birthday
  22. Dirty pleasure
  23. Dancing, no sex
  24. Economics for bluffers
  25. SparkMatch!

2003 19

  1. Evil Attack Squirrel of Death!
  2. It’s windy…
  3. Photographs – Food
  4. Group hug
  5. No, I haven’t forgotten about you
  6. Photographs – Autumn 2003
  7. I guess I should write something here
  8. Zooming in
  9. Muhahahahaha
  10. Marbles and toenails
  11. Shopping
  12. Satellite photography
  13. Awesome!
  14. Playing with planet Earth
  15. Technical difficulties…
  16. Photographs – Summer 2003
  17. Music
  18. Photographs – 2003
  19. Photographs – 6

2002 6

  1. Photographs – 5
  2. Photographs – 4
  3. Photographs – St. Louis
  4. Photographs – USA 3
  5. Photographs – USA 2
  6. Photographs – USA 1

2001 10

  1. Notes on “Reviews of This Book”
  2. Reviews of “Reviews of This Book”
  3. Romantic mathematical puzzles
  4. Fractal gallery
  5. Ultima maps
  6. Non-hierarchical filing systems
  7. Legalese hall of shame
  8. Gem
  9. VNC over SSH via a firewall
  10. Perfect numbers

2000 16

  1. Photographs – Great Fire of Torrington
  2. Photographs – Berry Park
  3. The perfect cheese sandwich
  4. Photographs – Lundy Island
  5. Photographs – Cambridge
  6. Relativity Q&A
  7. A Question of Questions
  8. ICQ Privacy
  9. The future of music distribution
  10. How to make a user friendly computer
  11. Image editing
  12. Why SDMI won’t work
  13. Photographs – USA
  14. Photographs – Random
  15. Photographs – Friends
  16. Library repository

1997 3

  1. Computers I have owned
  2. Journey’s End
  3. Pentominos iFAQ

1996 3

  1. The Information Thief
  2. The Storyteller
  3. Simon Says

1994 2

  1. Aliens
  2. Exodus