Simon Tatham's Home Page (original) (raw)
Welcome to my web site. I'm Simon Tatham, a software engineer and free-software author in Cambridge, UK.
Here are links to the various other pages of this site.
- About me: some idea of who I am.
- Free software I've written, which you can download.
- PuTTY: an SSH client for Windows, also able to talk to serial ports and speak older insecure protocols like Telnet.
- A collection of GUI puzzle games, portable to many platforms: provided on the web in Javascript, downloadable versions for Windows and Unix, and third-party ports to various mobile devices.
- spigot: a command-line exact real calculator.
- Halibut: a documentation system with simple syntax and multiple output formats, used for the manuals of most of my software.
- agedu: a Unix utility for tracking down where you're wasting disk space, by making it easy to spot large amounts of data with last-access times a long time ago.
- IPBT: a Unix
curses
application which plays backttyrec
files with precision rewind capability. - xtruss: an X11 protocol tracing utility.
- A collection of miscellaneous Unix utilities.
- Gonville, an alternative font of musical symbols for use with GNU Lilypond.
- Tweak: a Unix
curses
-based hex editor designed for highly scalable performance. - DoIt: a utility to allow a Unix machine to open documents on a Windows machine (for example, sending commands back to your Windows desktop machine from a Unix server you've connected to from there).
- WinURL: a Windows utility to pull text out of the clipboard and launch it as a URL at the touch of a hot-key.
- There are a few other things I've written which I'm now considering more or less unmaintained. See my unmaintained software page.
- My algorithms collection: some neat algorithms that aren't in common use.
- Mathematical sorts of things. (Many of these pages include some downloadable software so you can play with them yourself.)
- A series of articles about generating aperiodic tilings in software using string-processing algorithms:
* Part 1: recursive algorithms for walking around Penrose tilings and the hat tiling discovered in March 2023.
* Part 2: same thing for the Spectre tiling discovered in May 2023.
* Part 3: replacing the recursion in the previous articles with a finite state machine, slightly improving efficiency and eliminating a failure case.
* Part 4: further improving the state-machine construction algorithm, and exploring various special instances of the tilings. - A solution to the impossible Solitaire Army problem (by cheating, of course – making an infinite number of moves).
- A few HTML5 web toys demonstrating mathematical things:
* Lagrange's polynomial interpolation formula
* the Gauss-Lucas theorem
* the fractal you get by plotting all roots of complex polynomials with coefficients in a finite set
- A series of articles about generating aperiodic tilings in software using string-processing algorithms:
- Some selected articles and essays:
- How to Report Bugs Effectively: a general article on how to send a programmer a bug report which will actually help them fix the problem.
- How to Read Error Messages: a guide to getting the most out of typical kinds of error message you see from software, over and above "something went wrong".
- A loose trilogy of articles about coroutines, because I'm a great fan of them:
* Coroutines in C: an implementation of coroutines in portable ISO C, by a similar technique to Duff's device plus some C preprocessor abuse.
* Writing custom C++20 coroutine systems: an exposition of the C++20 coroutine mechanism and how to use it and customise it.
* Philosophy of coroutines: a more general article discussing what coroutines are good for and how to get the most out of them. - Metaprogramming custom control structures in C: another piece of C preprocessor abuse to let you build quite general user-defined looping constructs alongside C's basic
for
andwhile
. - The Descent to C: an introduction to C for people coming to it from higher-level languages, intended to warn you in advance about the likely culture shocks.
- My personal FAQ about the fact that I haveno sense of smell.
- More assorted articles, organised into a kind of quasi-blog.
I'm on Mastodon as @simontatham@hachyderm.io.
(comments to anakin@pobox.com)
(thanks tochiarkfor hosting this page)
(last modified on Wed Sep 18 15:13:55 2024)