A deployment-ready archival repository of the Dictionary of Algorithms and Data Structures, previously hosted by NIST.
Find a file
2026-05-11 15:11:59 +00:00
aaaaTestDir Update URL 2017-11-20 15:38:32 -05:00
bin Add all the files in the test directory for mvterm. 2019-02-12 10:48:15 -05:00
Images add a graph to illustrate \Omega, like \Theta and O have. 2018-03-05 10:55:52 -05:00
OtherStuff Update the URL for anybrowser campaign. Fix (Americanize) spelling. 2018-06-07 13:07:26 -04:00
Pages remove google search bar, update disclaimer 2026-05-11 11:07:45 -04:00
Terms add jsort disambiguation page 2026-05-11 09:15:54 -04:00
.gitignore Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
aaaaTest.trm use HTML symbols instead of gifs for ceiling, floor, otimes, oplus, and sim 2018-03-05 10:53:09 -05:00
aaaaTestScript Modify aaaaTestScript 2016-12-05 11:47:41 -05:00
areas.data Add new area 2013-10-01 09:16:28 -04:00
authors.data Update my (Paul Black) URL to have https 2017-09-18 10:39:42 -04:00
dads.css Created CSS style sheet 2013-10-15 15:58:34 -04:00
dads.spell Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
Dockerfile fix image copy: bypass make images, use cp directly 2026-05-11 10:52:08 -04:00
htmlWarnings commit latest versions of spell check and html check files 2018-03-05 11:04:24 -05:00
latex2html.data fix HTML for real numbers (double-struck capital R) symbol 2019-02-19 10:45:40 -05:00
LICENSE Initial commit 2013-09-12 12:33:37 -07:00
macroReplace.pl Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
Makefile fix rm on first build 2026-05-11 09:01:23 -04:00
mkauthors Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
mkcommon.pl Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
mksiteFastar.pl fix image paths, update hosted-by and 20-years notices 2026-05-11 09:23:02 -04:00
mksiteNIST.pl Modify mksiteNIST.pl 2016-10-03 15:03:48 -04:00
mkterms Latest changes. Vreda and FASTAR left the project. 2018-10-29 13:58:11 -04:00
README Add notes about DADS documentation 2019-02-12 10:40:56 -05:00
README.md Update README.md 2026-05-11 15:11:59 +00:00
template.trm Make HTML tags lower case to conform with XHTML. 2013-10-17 15:51:31 -04:00
types.data Initial revision 2013-10-01 09:16:29 -04:00
zzzzTest.trm add test for unmatched HTML close-anchor and some RCS key words. 2013-10-01 09:32:21 -04:00

dads

A mirror of the Dictionary of Algorithms and Data Structures (DADS), originally created and maintained by Paul E. Black at NIST. The official NIST copy went offline; this repository exists to keep it accessible and reproducible. My copy of it lives on my own domain, and as the dictionary is under the Unlicense, everyone is free to host their own copy. Any and all edits of mine are also under the Unlicense modify and reproduce freely, as you see fit.

The content of the dictionary is unchanged from the upstream source, with one exception: JSort.trm and jsort.trm have been renamed to JSort_morrison.trm and jsort_cohen.trm to avoid a filename collision on case-insensitive filesystems (macOS, Windows), and a jsort.trm disambiguation page has been added.

Additionally, the built-in Google SafeSearch was carved out both as it wouldn't actually work with this new mirror system, and because I don't want Google involved with this dictionary, on principle.

Host it yourself

All you need is Docker. At least, for the way I did it technically, this should be hostable via anything capable of running a whole bunch of connected webpages.

git clone https://git.arcsnet.dev/arc/dads
cd dads
docker build -t dads .
docker run -d --name dads --restart unless-stopped -p 8080:80 dads

The site will then be available at http://localhost:8080, or whatever port you specify if you're already using 8080 for a different docker or service. Point a reverse proxy or Cloudflare tunnel at the port to expose it publicly. Or do whatever you want. I'm not your dad.

Updating

If new content is pushed to this repo:

cd dads
git pull
docker build -t dads .
docker stop dads && docker rm dads
docker run -d --name dads --restart unless-stopped -p 8080:80 dads

It likely won't be though. I'm not a data scientist.

How it works

The build is a two-stage Docker build:

  • Stage 1 (alpine:3.21): installs Perl and m4, then runs the original make pipeline to compile 1,100+ .trm term files into a static HTML site under Target/.
  • Stage 2 (nginx:alpine): serves the static output on port 80.

No external dependencies, no database, no runtime, no nothing. Runs as one singular docker, with me making this fully locked-down to itself it shouldn't really even eat resources, regardless of load. Contact me if it breaks, somehow, albeit I'll be baffled if it somehow does.