New and Improved
Last update: 24 May 2022
“Sustainable energy” is on the lips of politicians, media
figures, and others seeking to signal their virtue, but rarely do they
mention that a technology first demonstrated in 1951 has the ability,
any time we choose to adopt it, to entirely replace fossil fuels,
eliminate 100% of carbon emissions from energy production, and provide
power for all people on the globe at European per capita energy
consumption for at least the next ten thousand years. But it has a
scary name.
Inspired by Donald E. Knuth's
3:16 Bible Texts Illuminated,
The Stratified Bible generates custom “stratified
samples“ of books of the Bible, for either user-specified or
randomly selected chapter and verse numbers. Verse text is displayed
in English, Latin, and Hebrew (the latter only for Old Testament
books), with text linked to the verse in context in the complete book.
Custom queries can select which languages are displayed and from what
portions of the Bible (for example, the Torah or Gospels) verses are
sampled.
Developed in 1990 as a demonstration of the AutoCAD Development System
(ADS) then being readied for shipment with the upcoming AutoCAD
Release 11, ClassWar used ADS and the ATLAST
embedded language toolkit to implement a true object oriented
extensible database for AutoCAD, in which graphical objects could
define their behaviour through embedded code. This is an archive of
the code and documentation as it existed in May, 1990. It is not
usable with any current version of AutoCAD and is of historical
interest only.
Fourmilab Blockchain Tools provides a variety of utilities for users,
experimenters, and researchers working with blockchain-based
cryptocurrencies such as Bitcoin and Ethereum. General-purpose tools
for Bitcoin and Ethereum address generation and management include:
- Blockchain Address Generator
- Multiple Key Manager
- Paper Wallet Generator and Validator
- Cold Storage Monitor
Tools for analysis of the Bitcoin blockchain (these require access to
a full Bitcoin Core node with transaction index) include:
- Address Watch
- Confirmation Watch
- Transaction Fee Watch
Programs are written in the Perl and Python languages, developed and
maintained using the Literate Programming methodology.
There are many disadvantages to being a balding geezer. In
compensation, if you've managed to survive the second half of
the twentieth century and been involved in computing, there's bearing
personal witness to what happens when a
technological transition goes into full-tilt
exponential blow-off mode. I'm talking about Moore's Law—computing
power available at constant cost doubling every 18 months or so. When
Moore's Law is directly wired to your career and bank account,
it's nice to have a little thermometer you can use to see how it's
going as the years roll by. This page links to two benchmarks I've
used to evaluate computer performance ever since 1980. They focus on
things which matter dearly to me—floating point computation speed,
evaluation of trigonometric functions, and matrix algebra. If you're
interested in text searching or database retrieval speed, you should
run screaming from these benchmarks. Hey, they work for me.
New September 2021 updates adds Raku (Perl 6) to the C,
C++, Chapel, Ada, Algol 60/68, COBOL, Common Lisp, Erlang,
Forth, FORTRAN, FreeBASIC, Go, Haskell, Java, JavaScript, Julia,
Lua, Mathematica, Mbasic, Modula2, Pascal, Perl, PHP, PL/I,
Prolog, Python, Ruby, Rust, Scala, Simula, Smalltalk, Swift, and
Visual Basic (6 and .NET) language implementations of the
floating point benchmark, and includes a comparison of the
relative performance of these languages.
Web authors who use characters from other languages, mathematical
symbols, fancy punctuation, and other typographic embellishment in
their documents often find themselves juggling the Unicode book, an
HTML entity reference, and a programmer's calculator to convert back
and forth between the various representations. This stand-alone
command line Perl program contains complete databases of Unicode
characters and character blocks and HTML/XHTML named character references, and
permits easy lookup and interconversion among all the formats,
including octal, decimal, and hexadecimal numbers. The program works
best on a recent version of Perl, such as v5.8.5 or later, but
requires no Perl library modules.
New version 3.4-14.0.0 (September 2021) updates to the Unicode
14.0.0 standard and the new scripts, characters, and emoji it adds.
Taking away a person's freedom and confiscating the entire
product of their life's work is morally abhorrent. But what
about doing it to a large population, just in smaller slices?
It seems like wherever you go on the Internet, there's
somebody—governments, big tech companies, Internet service
providers, and a multitude of nefarious or just annoying
actors—trying to snoop on your activity. Here are some
tools, accessible to people without extensive technical
experience, which allow you to reclaim some of your privacy
and protect your communications from eavesdroppers.
In the fall of 1969, I made my first foray into digital
electronics by designing and building my own version of a
random music generator invented by Harry S. Pyle. Fifty
years later, it still works. Explore digital
design from half a century ago, how this device which
looked and sounded like people thought computers ought
to worked, and enjoy a modern software emulation that
runs inside your Web browser.
Units Calculator is a Web interface to the
GNU
Units utility which allows conversion among thousands of
physical units, constants, and currencies. Units Calculator
may be used to perform complex scientific and engineering
calculations involving physical units and guards against
common errors due to dimensional incompatibility. Units
Calculator is 100% compatible with GNU Units, but as a Web
application can be used from any platform with a Web browser.
Currency exchange rates and precious metal prices are updated
daily. See the Introduction
for a tutorial, or proceed directly to the
Expert page, which contains
a click-to-copy table of common units.
From the 1980s, NDOC is a text formatter which produces
justified text for monospace devices and requires little or no
mark-up in source documents. It can number lines and pages, set
text justified, centred, or right-aligned, and format with
specified margins, line width, page length, and page heading.
Written in portable, if antiquated, C.
ISBNquest processes International Standard Book Numbers
(ISBNs) with a Web-based interface and validates, interconverts
formats, inserts proper punctuation, analyses the components of
an ISBN, generates a bar code, and looks up the publication on
Amazon, showing title, author, publisher, publication date, and
other information. A link is composed which credits purchases
made through it to an Amazon Associates account.
Having largely ignored video games since the era of
Pac-Man, in July 2018, I decided to explore a state
of the art video game, the “first-person shooter”
Bioshock Infinite. This is a beautiful example of
three-dimensional rendering of interactive fiction. This
document is my contemporary notes while playing through the
game.
Illustrated, can't fail, easy-to-make delicious meals with
all natural ingredients and minimal time and work to
prepare at home.
During the “crypto wars” of the mid-1990s, the
slavers tried rolling out a particularly pernicious doctrine
under which computer code and, by implication,
electronically-mediated communication in all forms, was not
considered speech worthy of protection compared to the spoken
word or physically printed documents. We thought we'd won, but,
as is so often the case, they're back! This time
they're trying to use the distribution of files containing
instructions for manufacturing firearms and components as a
wedge issue, once again arguing that computer files and design
documents are not speech. If they win, that wedge will be
driven to remove protection for all forms of speech in the form
of computer files. We must not let them win this one.
The travelling salesman problem—finding the shortest
itinerary to visit a set of cities— is a classic of
combinatorial optimisation: easy to state but hellishly
difficult to solve. This page demonstrates the technique of
simulated annealing to find near-optimal solutions to this
problem.