<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nick-black.com/dankwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dank</id>
	<title>dankwiki - user contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://nick-black.com/dankwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dank"/>
	<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Special:Contributions/Dank"/>
	<updated>2026-06-13T11:02:48Z</updated>
	<subtitle>user contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=MediaWiki&amp;diff=12308</id>
		<title>MediaWiki</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=MediaWiki&amp;diff=12308"/>
		<updated>2026-06-08T05:20:34Z</updated>

		<summary type="html">&lt;p&gt;Dank: php-fpm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m using the [http://www.mediawiki.org/wiki/MediaWiki MediaWiki] software from the WikiMedia Foundation to power my wikis. &#039;&#039;&#039;The following information is largely [[Debian]]-specific.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Use with Apache==&lt;br /&gt;
By default (at least on Debian), MediaWiki&#039;s PHP is run within Apache&#039;s PHP module &amp;lt;tt&amp;gt;mod_php&amp;lt;/tt&amp;gt;. This can only be safely run under the multiprocess [https://httpd.apache.org/docs/2.4/mod/prefork.html mpm_prefork] paradigm. To use the (generally superior) [https://httpd.apache.org/docs/2.4/mod/worker.html mpm_worker] or [https://httpd.apache.org/docs/2.4/mod/event.html mpm_event] modules, one ought employ [https://www.php.net/manual/en/install.fpm.php php-fpm], the PHP &amp;quot;fast process manager&amp;quot; (note that FastCGI is also a thing. I don&#039;t know much about it).&lt;br /&gt;
&lt;br /&gt;
==Installing MediaWiki==&lt;br /&gt;
* Have handy the administrator account/password for your MySQL installation.&lt;br /&gt;
** I advise you to install MySQL &#039;&#039;before&#039;&#039; MediaWiki, not as a single &amp;lt;tt&amp;gt;apt&amp;lt;/tt&amp;gt; step.&lt;br /&gt;
** &#039;&#039;&#039;DO NOT&#039;&#039;&#039; explicitly create the MediaWiki databases / users yourself.&lt;br /&gt;
* Grab the necessary packages:&lt;br /&gt;
** &amp;lt;tt&amp;gt;mediawiki&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;mediawiki-math&amp;lt;/tt&amp;gt;; &amp;lt;tt&amp;gt;mediawiki-extensions&amp;lt;/tt&amp;gt; is also advised.&lt;br /&gt;
** In addition, &amp;lt;tt&amp;gt;memcached&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;imagemagick&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;tetex-base&amp;lt;/tt&amp;gt; should be installed if they&#039;re not automatically dragged in.&lt;br /&gt;
* &#039;&#039;&#039;Don&#039;t&#039;&#039;&#039; grab the versioned packages (ie &amp;lt;tt&amp;gt;mediawiki1.10&amp;lt;/tt&amp;gt;); the &amp;lt;tt&amp;gt;mediawiki&amp;lt;/tt&amp;gt; package will depend on the proper packages for your version of [[Debian]].&lt;br /&gt;
** Unless you really need a particular version.&lt;br /&gt;
** If you install the versioned packages explicitly, upgrades might eat your configuration. You have been warned.&lt;br /&gt;
* Symlink /var/lib/mediawiki to /var/www/mediawiki with &amp;lt;tt&amp;gt;ln -s&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** This isn&#039;t in the install docs, and might be incorrect/suboptimal &#039;&#039;&#039;FIXME&#039;&#039;&#039;.&lt;br /&gt;
* Go to &amp;lt;tt&amp;gt;http://yourhost/mediawiki&amp;lt;/tt&amp;gt;. You should be greeted with a link to the config page. Follow it.&lt;br /&gt;
* Configure that bitch (See Accelerators below).&lt;br /&gt;
** I&#039;ve seen no problems related to the experimental [[Using_Unicode|UTF-8]] encoding for use with MySQL 5.0.&lt;br /&gt;
* Following configuration, run &amp;lt;tt&amp;gt;chmod 640 /var/lib/mediawiki/config/LocalSettings.php &amp;amp;&amp;amp; ln -sf /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Go to &amp;lt;tt&amp;gt;http://yourhost/mediawiki&amp;lt;/tt&amp;gt;. You should be greeted with your new main page.&lt;br /&gt;
&lt;br /&gt;
===Accelerators===&lt;br /&gt;
* MediaWiki: kinda slow.&lt;br /&gt;
* XCache is rumoured to be the best choice.&lt;br /&gt;
** On Debian, you&#039;ll need edit the default /etc/php5/xcache.ini to provide non-0 size values&lt;br /&gt;
* memcached works out of the box, but doesn&#039;t seem very effective&lt;br /&gt;
** You want the memcache server at 127.0.0.1:11211&lt;br /&gt;
* Ensure &amp;lt;tt&amp;gt;mod_deflate&amp;lt;/tt&amp;gt;&#039;s compressing standard html/xml etc, and also &amp;lt;tt&amp;gt;application/x-javascript&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;text/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Postinstallation==&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Project:PD_help/Copying Install help pages] using Import/Export.&lt;br /&gt;
** They require the ParserFunctions extension. Be sure to get the proper version for your MediaWiki install.&lt;br /&gt;
* Set a wiki logo: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgLogo = &amp;quot;/mediawiki/skins/common/images/wiki.jpg&amp;quot;;&amp;lt;/code&amp;gt; with the appropriate path to your logo&lt;br /&gt;
** Be sure the image is world-readable, 135x135 and has a correct extension&lt;br /&gt;
** The path is relative to your Apache&#039;s configured &amp;lt;tt&amp;gt;DocumentRoot&amp;lt;/tt&amp;gt;&lt;br /&gt;
** If applicable, set the image background transparent so it&#039;ll look better&lt;br /&gt;
*** Using the Gimp, add an Alpha layer, select the background with the Magic Wand, and Clear it&lt;br /&gt;
* Support inline equations: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and change&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgUseTeX           = false;&amp;lt;/code&amp;gt; so that it uses &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; instead&lt;br /&gt;
** The &amp;lt;tt&amp;gt;texex-bin&amp;lt;/tt&amp;gt; package must be installed for this to work!&lt;br /&gt;
* Disable editing unless logged in: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgGroupPermissions[&#039;*&#039;][&#039;edit&#039;] = false;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Disable per-IP pages:&amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgShowIPinHeader = false;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Optionally, disable new accounts unless logged in: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgGroupPermissions[&#039;*&#039;][&#039;createaccount&#039;] = false;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Optionally, rename the main page: first, move the main page to the new title&lt;br /&gt;
** Load &amp;lt;tt&amp;gt;Mediawiki:mainpage&amp;lt;/tt&amp;gt;, and update it to reflect this change&lt;br /&gt;
* Optionally, remove the &#039;discussion&#039; tab:&lt;br /&gt;
** Edit [[MediaWiki:Common.css]], and add the following:&amp;lt;code&amp;gt;#ca-talk { display:none!important; }&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ensure &amp;lt;tt&amp;gt;$wgUseSiteCss=true&amp;lt;/tt&amp;gt; in LocalSettings.php&lt;br /&gt;
===Managing Uploads===&lt;br /&gt;
* Enable uploads: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;code&amp;gt;$wgEnableUploads = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support uploading non-images: &amp;lt;tt&amp;gt;sudoedit /etc/mediawiki/LocalSettings.php&amp;lt;/tt&amp;gt; and add&lt;br /&gt;
** &amp;lt;pre&amp;gt;$wgFileExtensions = array( &#039;png&#039;, &#039;gif&#039;, &#039;jpg&#039;, &#039;jpeg&#039;, &#039;doc&#039;, &#039;pdf&#039;, &#039;ps&#039;, &#039;xls&#039;, &#039;txt&#039;, &#039;svg&#039; );&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Supposedly, all types can be allowed via:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $wgCheckFileExtensions = false;&lt;br /&gt;
 $wgStrictFileExtensions = false;&lt;br /&gt;
 $wgVerifyMimeType = false;&lt;br /&gt;
 $wgFileBlacklist = array();&lt;br /&gt;
 $wgMimeTypeBlacklist= array();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To allow files larger than the default 2M to be uploaded, edit the value of &amp;lt;tt&amp;gt;upload_max_filesize&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/etc/php.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
** This requires a web server restart to take effect&lt;br /&gt;
&lt;br /&gt;
===System strings===&lt;br /&gt;
Most strings in e.g. sidebars can be edited in the Special:AllMessages area. To see what message key a string corresponds to, add &amp;quot;uselang=qqx&amp;quot; to a URI, e.g. https://nick-black.com/dankwiki/index.php?title=User:Dank&amp;amp;uselang=qqx.&lt;br /&gt;
&lt;br /&gt;
==Moving a wiki==&lt;br /&gt;
There&#039;s a [http://www.mediawiki.org/wiki/Manual:Moving_a_wiki manual entry] on this. My notes follow:&lt;br /&gt;
* The uploaded files are &#039;&#039;&#039;not&#039;&#039;&#039; stored in your database, and need be copied by themselves&lt;br /&gt;
** By default, this is the &#039;images&#039; directory off your wiki toplevel&lt;br /&gt;
** Use a copying method that preserves timestamps, such as tar&lt;br /&gt;
* Be sure you grab your configuration files, particularly /etc/mediawiki/LocalSettings.php&lt;br /&gt;
* You will also likely want to transfer your web server config as it relates to the wiki&lt;br /&gt;
* If you&#039;re using Mediawiki account permissions only, they&#039;ll be stored in your wiki database&lt;br /&gt;
** Otherwise, you&#039;ll of course need to copy over and prepare this supporting infrastructure&lt;br /&gt;
* Export your database with mysqldump as explained in the manual, and import it on the new machine&lt;br /&gt;
* If you can&#039;t do a database dump/load, you can do an XML export of all your pages&lt;br /&gt;
** This won&#039;t copy things like account data!&lt;br /&gt;
&lt;br /&gt;
==Maintenance==&lt;br /&gt;
* The MediaWiki manual has good information scattered through it; check the [http://www.mediawiki.org/wiki/Manual:System_administration system administration page] for sure&lt;br /&gt;
* Most everything can be done via the [[Special:Specialpages|Special Pages]] page; learn it&lt;br /&gt;
* Check the [[Special:Lonelypages]] list to watch for orphaned pages; these pages are unreachable from any other page.&lt;br /&gt;
** This almost always indicates a mistyped or misspelled attempt to link to this page; check the [[Special:Wantedpages]] list&lt;br /&gt;
* Check the [[Special:Deadendpages]] list to watch for dead-end pages; these pages link to no other pages.&lt;br /&gt;
** This almost always indicated a failure to add a relevant link, or a short entry (see below)&lt;br /&gt;
* Check the [[Special:Shortpages]] list to watch for short pages; these pages might need more information.&lt;br /&gt;
** See if the page can&#039;t be combined with another one, or if more info isn&#039;t sensible to add&lt;br /&gt;
* How to check for dead external links? &#039;&#039;&#039;FIXME&#039;&#039;&#039;&lt;br /&gt;
* Use the [http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php generateSitemap.php] maintenance script to generate [http://www.sitemaps.org/ sitemaps]; these can be registered with search services.&lt;br /&gt;
&lt;br /&gt;
==Extensions==&lt;br /&gt;
A variety of extensions are available for MediaWiki. The most popular and stable are collected in the Debian package &amp;lt;tt&amp;gt;mediawiki-extensions&amp;lt;/tt&amp;gt;, including (as of 1.10) GeSHi, Cite, inputbox, and ParserFunctions. By default, none are enabled -- the package only provides the extensions; it does not enable them!&lt;br /&gt;
&lt;br /&gt;
===Enabling Debian-Supported Extensions===&lt;br /&gt;
* Install the &amp;lt;tt&amp;gt;mediawiki-extensions&amp;lt;/tt&amp;gt; package.&lt;br /&gt;
* Enter the &amp;lt;tt&amp;gt;/etc/mediawiki-extensions/extensions-enabled&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
* Enable extensions by creating symbolic links to contents of the &amp;lt;tt&amp;gt;/etc/mediawiki-extensions/extensions-available&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
** To enable all extensions, run: &amp;lt;tt&amp;gt;for i in ../extensions-available/* ; do sudo ln -s /etc/mediawiki-extensions/extensions-available/`basename $i` . ; done&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enabling other Extensions===&lt;br /&gt;
* Download the extension to &amp;lt;tt&amp;gt;/var/lib/mediawiki/extensions&amp;lt;/tt&amp;gt;&lt;br /&gt;
* See &amp;lt;tt&amp;gt;/var/lib/mediawiki/extensions/README&amp;lt;/tt&amp;gt; for up-to-date information on enabling it&lt;br /&gt;
* Worth noting: [http://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration googleAnalytics], [http://www.mediawiki.org/wiki/Extension:Countdown Countdown], [http://www.mediawiki.org/wiki/Extension:RSS RSSNews]&lt;br /&gt;
&lt;br /&gt;
==Editing==&lt;br /&gt;
Wikipedia&#039;s tutorials and the Mediawiki help pages are the best references here:&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Image_tutorial Wikipedia image tutorial]&lt;br /&gt;
I also have [[MediaWiki editing|some information]].&lt;br /&gt;
===Editing permissions===&lt;br /&gt;
Some editing capabilities are by default disabled even for sysops:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$wgGroupPermissions[&#039;sysop&#039;][&#039;deleterevision&#039;]  = true;&lt;br /&gt;
$wgGroupPermissions[&#039;sysop&#039;][&#039;editsitecss&#039;]  = true;&lt;br /&gt;
$wgGroupPermissions[&#039;sysop&#039;][&#039;editsitejs&#039;]  = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [http://www.debian-administration.org/articles/137 mod_deflate configuration] for [[Debian]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12307</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12307"/>
		<updated>2026-06-05T20:00:06Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* soteriology - the theological study of salvation&lt;br /&gt;
* cruciarius - one who is crucified&lt;br /&gt;
* autothysis - suicidal altruism, when a eusocial animal explodes for the better of the hive&lt;br /&gt;
* murmuration - the collective movement of flocks of starlings, particularly during twilight&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Morphism terminology==&lt;br /&gt;
{{:Morphisms}}&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12306</id>
		<title>Rescuing your Chrome history</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12306"/>
		<updated>2026-05-26T03:02:53Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Dankblog|dankblog!]] 2026-05-25, 2201 EDT, at [[Viewpoint|the danktower]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
has it really been over a year since i blogged here? sheesh.&lt;br /&gt;
&lt;br /&gt;
for going on a decade at least, Chrome (at least the [[Debian|debianized]] &amp;quot;Chromium&amp;quot; builds i run) has serious problems if your filesystem fills up (the filesystem holding the relevant &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt; subdirectory, to be precise). foremost among these issues is that the next pageload results in a corrupted history database &amp;lt;i&amp;gt;in memory and on disk&amp;lt;/i&amp;gt;, meaning your history becomes null (&amp;quot;what?&amp;quot; you ask. &amp;quot;how can it corrupt the database on disk if the disk is full?&amp;quot; that&#039;s a great question, one to which i&#039;d like to know the answer. obviously it&#039;s editing something in-place, or reserved some space, but it definitely happens.) visited sites can&#039;t be seen, and new loads aren&#039;t recorded. this seems a pretty substantial bug, but i guess no PM in mountain view gives a shit. so it goes. i have no insight into the mysteries of Chrome development planning.&lt;br /&gt;
&lt;br /&gt;
if you close chrome and start it again following this corruption, the database (&amp;lt;tt&amp;gt;History&amp;lt;/tt&amp;gt; in the user folder) is helpfully recreated from scratch, aka permanently lost. this is not usually what you want.&lt;br /&gt;
&lt;br /&gt;
if you notice the problem has occurred (you&#039;ll typically get a &amp;quot;you need to free up space!&amp;quot; message in Chrome), take the following steps:&lt;br /&gt;
&lt;br /&gt;
# change to the relevant subdirectory of &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt;, usually &amp;lt;tt&amp;gt;Default&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 History .recover &amp;gt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# close running Chrome processes&lt;br /&gt;
# clean up necessary space, you disgusting hoarder&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 /tmp/chrome-history &amp;lt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;mv /tmp/chrome-history History&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;rm /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# start Chrome&lt;br /&gt;
&lt;br /&gt;
you ought have the vast majority of your history. obviously you can and should replace the hardcoded filenames with &amp;lt;tt&amp;gt;mktemp&amp;lt;/tt&amp;gt; invocations. you ought write them to a directory that is not world-readable, unless you don&#039;t mind people being able to read your browser history.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;previously: &amp;quot;[[GT2025|GT2025]]&amp;quot; 2025-04-17&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12305</id>
		<title>Rescuing your Chrome history</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12305"/>
		<updated>2026-05-26T02:15:36Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Dankblog|dankblog!]] 2026-05-25, 2201 EDT, at [[Viewpoint|the danktower]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
has it really been over a year since i blogged here? sheesh.&lt;br /&gt;
&lt;br /&gt;
for going on a decade at least, Chrome (at least the [[Debian|debianized]] &amp;quot;Chromium&amp;quot; builds i run) has serious problems if your filesystem fills up (the filesystem holding the relevant &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt; subdirectory, to be precise). foremost among these issues is that the next pageload results in a corrupted history database &amp;lt;i&amp;gt;in memory and on disk&amp;lt;/i&amp;gt;, meaning your history becomes null (&amp;quot;what?&amp;quot; you ask. &amp;quot;how can it corrupt the database on disk if the disk is full?&amp;quot; that&#039;s a great question, one to which i&#039;d like to know the answer. obviously it&#039;s editing something in-place, or reserved some space, but it definitely happens.) visited sites can&#039;t be seen, and new loads aren&#039;t recorded. this seems a pretty substantial bug, but i guess no PM in mountain view gives a shit. so it goes. i have no insight into the mysteries of Chrome development planning.&lt;br /&gt;
&lt;br /&gt;
if you close chrome and start it again following this corruption, the database (&amp;lt;tt&amp;gt;History&amp;lt;/tt&amp;gt; in the user folder) is helpfully recreated from scratch, aka permanently lost. this is not usually what you want.&lt;br /&gt;
&lt;br /&gt;
if you notice the problem has occurred (you&#039;ll typically get a &amp;quot;you need to free up space!&amp;quot; message in Chrome), take the following steps:&lt;br /&gt;
&lt;br /&gt;
# change to the relevant subdirectory of &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt;, usually &amp;lt;tt&amp;gt;Default&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 History .recover &amp;gt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# close running Chrome processes&lt;br /&gt;
# clean up necessary space, you disgusting hoarder&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 /tmp/chrome-history &amp;lt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;mv /tmp/chrome-history History&amp;lt;/tt&amp;gt;&lt;br /&gt;
# start Chrome&lt;br /&gt;
&lt;br /&gt;
you ought have the vast majority of your history. obviously you can and should replace the hardcoded filenames with &amp;lt;tt&amp;gt;mktemp&amp;lt;/tt&amp;gt; invocations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;previously: &amp;quot;[[GT2025|GT2025]]&amp;quot; 2025-04-17&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Dankblog&amp;diff=12304</id>
		<title>Dankblog</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Dankblog&amp;diff=12304"/>
		<updated>2026-05-26T02:15:01Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Entries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;this is not a dank blog.&lt;br /&gt;
&lt;br /&gt;
let&#039;s see how well mediawiki works for this, if at all? i should probably install some fancy [https://www.mediawiki.org/wiki/Extension:Wikilog extension].&lt;br /&gt;
&lt;br /&gt;
==Entries==&lt;br /&gt;
* [[Rescuing_your_Chrome_history|rescuing your Chrome history]], 2026-05-25, 2201 EDT&lt;br /&gt;
* [[GT2025|GT2025]], 2025-04-17, 1529 EDT&lt;br /&gt;
* [[A_case_study_in_full-stack_device_development:_the_dankdryer|a case study in full-stack development: the dankdryer]], 2024-09-29, 2329 EDT&lt;br /&gt;
* [[Questions_cheerfully_answered|questions cheerfully answered]], 2024-07-02, 0615 EDT&lt;br /&gt;
* [[Three_recent_physical_projects|three recent (physical) projects]], 2024-06-22, 0130 EDT&lt;br /&gt;
* [[The_beginning_of_the_end_of_iptables|the beginning of the end of iptables]], 2024-04-19, 2334 EST&lt;br /&gt;
* [[Io_uring_and_xdp_enter_2024|io_uring and xdp enter 2024]], 2024-02-15 1452 EST&lt;br /&gt;
* [[Ebooks_are_hot_garbage|ebooks are hot garbage]], 2024-02-11 0349 EST&lt;br /&gt;
* [[Writing_a_book_in_LaTeX_in_2023|writing a book in LaTeX in 2023]], 2023-11-29 0622 EDT&lt;br /&gt;
* [[Latex_joy_of_man%27s_desiring|LaTeX joy of man&#039;s desiring]], 2023-09-24 1628 EDT&lt;br /&gt;
* [[Fstab_is_a_nightmare_from_which_i_am_trying_to_awake|fstab is a nightmare from which i am trying to awake]], 2023-06-07 0628 EDT&lt;br /&gt;
* [[Extended_disquisitions_pertaining_to_eXpress_data_paths_(XDP)|eXtended disquisitions pertaining to eXpress data paths]], 2023-04-20 0423 EDT&lt;br /&gt;
* [[A_Rack_of_One%27s_Own|a rack of one&#039;s own]], 2023-03-11 1709 EST&lt;br /&gt;
* [[Transfiguration|transfiguration]], 2023-02-11 0903 EST&lt;br /&gt;
* [[Dare Obasanjo|dare obasanjo]], 2022-12-05 0946 EST&lt;br /&gt;
* [[1985v2022]], 2022-11-30 1939 EDT&lt;br /&gt;
* [[A_UNIX_riddle|a unix riddle]], 2022-09-17 1002 EDT&lt;br /&gt;
* [[Workstation_bullshit|workstation bullshit]], 2022-07-21 0358 EDT&lt;br /&gt;
* [[The_DNA_Power_Hour_with_Pa_Dank|the DNA Power Hour! with pa dank]], 2022-06-26 0801 EDT&lt;br /&gt;
* [[SCOTUS_headcanon|SCOTUS headcanon]], 2022-06-14 0217 EDT&lt;br /&gt;
* [[Further_reflections_on_watercooling|further reflections on watercooling]], 2022-05-01 0349 EDT&lt;br /&gt;
* [[Reflections_on_watercooling|reflections on watercooling]], 2022-04-17 0836 EDT&lt;br /&gt;
* [[Bogon_kernel_command_line_options|bogon kernel command line options]], 2022-03-12 1842 EST&lt;br /&gt;
* [[On_the_Effectiveness_of_nonnull|on the effectiveness of nonnull]], 2021-11-05 0236 EDT&lt;br /&gt;
* [[Four_questions_for_a_Wednesday|four questions for a wednesday]], 2021-10-13 2227 EDT&lt;br /&gt;
* [[Advice to an Undergraduate|advice to an undergraduate]], 2021-10-10 1907 EDT&lt;br /&gt;
* [[A_Call_Goes_Poorly|a call goes poorly]], 2021-08-26 0834 EDT&lt;br /&gt;
* [[Theory_and_Practice_of_Sprixels|theory and practice of sprixels]], 2021-03-29 0524 EDT&lt;br /&gt;
* [[Spooky tmux at a Distance|spooooooky tmux at a distance]], 2021-02-20 2307 EST&lt;br /&gt;
* [[Threadripper L3 CPUID Strangeness|threadripper l3 cpuid strangeness]], 2021-02-05 0354 EST&lt;br /&gt;
&lt;br /&gt;
[[Category: Blog]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuring_your_Chrome_history&amp;diff=12303</id>
		<title>Rescuring your Chrome history</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuring_your_Chrome_history&amp;diff=12303"/>
		<updated>2026-05-26T02:14:02Z</updated>

		<summary type="html">&lt;p&gt;Dank: Dank moved page Rescuring your Chrome history to Rescuing your Chrome history: Misspelled title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Rescuing your Chrome history]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12302</id>
		<title>Rescuing your Chrome history</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12302"/>
		<updated>2026-05-26T02:14:02Z</updated>

		<summary type="html">&lt;p&gt;Dank: Dank moved page Rescuring your Chrome history to Rescuing your Chrome history: Misspelled title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Dankblog|dankblog!]] 2026-05-25, 2201 EDT, at [[Viewpoint|the danktower]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
has it really been over a year since i blogged here? sheesh.&lt;br /&gt;
&lt;br /&gt;
for going on a decade at least, Chrome (at least the debianized &amp;quot;Chromium&amp;quot; builds i run) has serious problems if your filesystem fills up (the filesystem holding the relevant &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt; subdirectory, to be precise). foremost among these issues is that the next pageload results in a corrupted history database &amp;lt;i&amp;gt;in memory and on disk&amp;lt;/i&amp;gt;, meaning your history becomes null (&amp;quot;what?&amp;quot; you ask. &amp;quot;how can it corrupt the database on disk if the disk is full?&amp;quot; that&#039;s a great question, one to which i&#039;d like to know the answer. obviously it&#039;s editing something in-place, or reserved some space, but it definitely happens.) visited sites can&#039;t be seen, and new loads aren&#039;t recorded. this seems a pretty substantial bug, but i guess no PM in mountain view gives a shit. so it goes. i have no insight into the mysteries of Chrome development planning.&lt;br /&gt;
&lt;br /&gt;
if you close chrome and start it again following this corruption, the database (&amp;lt;tt&amp;gt;History&amp;lt;/tt&amp;gt; in the user folder) is helpfully recreated from scratch, aka permanently lost. this is not usually what you want.&lt;br /&gt;
&lt;br /&gt;
if you notice the problem has occurred (you&#039;ll typically get a &amp;quot;you need to free up space!&amp;quot; message in Chrome), take the following steps:&lt;br /&gt;
&lt;br /&gt;
# change to the relevant subdirectory of &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt;, usually &amp;lt;tt&amp;gt;Default&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 History .recover &amp;gt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# close running Chrome processes&lt;br /&gt;
# clean up necessary space, you disgusting hoarder&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 /tmp/chrome-history &amp;lt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;mv /tmp/chrome-history History&amp;lt;/tt&amp;gt;&lt;br /&gt;
# start Chrome&lt;br /&gt;
&lt;br /&gt;
you ought have the vast majority of your history. obviously you can and should replace the hardcoded filenames with &amp;lt;tt&amp;gt;mktemp&amp;lt;/tt&amp;gt; invocations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;previously: &amp;quot;[[GT2025|GT2025]]&amp;quot; 2025-04-17&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12301</id>
		<title>Rescuing your Chrome history</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_your_Chrome_history&amp;diff=12301"/>
		<updated>2026-05-26T02:13:43Z</updated>

		<summary type="html">&lt;p&gt;Dank: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;dankblog! 2026-05-25, 2201 EDT, at the danktower&amp;#039;&amp;#039;&amp;#039;  has it really been over a year since i blogged here? sheesh.  for going on a decade at least, Chrome (at least the debianized &amp;quot;Chromium&amp;quot; builds i run) has serious problems if your filesystem fills up (the filesystem holding the relevant &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt; subdirectory, to be precise). foremost among these issues is that the next pageload results in a corrupted history database &amp;lt;i&amp;gt;in memor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Dankblog|dankblog!]] 2026-05-25, 2201 EDT, at [[Viewpoint|the danktower]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
has it really been over a year since i blogged here? sheesh.&lt;br /&gt;
&lt;br /&gt;
for going on a decade at least, Chrome (at least the debianized &amp;quot;Chromium&amp;quot; builds i run) has serious problems if your filesystem fills up (the filesystem holding the relevant &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt; subdirectory, to be precise). foremost among these issues is that the next pageload results in a corrupted history database &amp;lt;i&amp;gt;in memory and on disk&amp;lt;/i&amp;gt;, meaning your history becomes null (&amp;quot;what?&amp;quot; you ask. &amp;quot;how can it corrupt the database on disk if the disk is full?&amp;quot; that&#039;s a great question, one to which i&#039;d like to know the answer. obviously it&#039;s editing something in-place, or reserved some space, but it definitely happens.) visited sites can&#039;t be seen, and new loads aren&#039;t recorded. this seems a pretty substantial bug, but i guess no PM in mountain view gives a shit. so it goes. i have no insight into the mysteries of Chrome development planning.&lt;br /&gt;
&lt;br /&gt;
if you close chrome and start it again following this corruption, the database (&amp;lt;tt&amp;gt;History&amp;lt;/tt&amp;gt; in the user folder) is helpfully recreated from scratch, aka permanently lost. this is not usually what you want.&lt;br /&gt;
&lt;br /&gt;
if you notice the problem has occurred (you&#039;ll typically get a &amp;quot;you need to free up space!&amp;quot; message in Chrome), take the following steps:&lt;br /&gt;
&lt;br /&gt;
# change to the relevant subdirectory of &amp;lt;tt&amp;gt;User Data/&amp;lt;/tt&amp;gt;, usually &amp;lt;tt&amp;gt;Default&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 History .recover &amp;gt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# close running Chrome processes&lt;br /&gt;
# clean up necessary space, you disgusting hoarder&lt;br /&gt;
# run &amp;lt;tt&amp;gt;sqlite3 /tmp/chrome-history &amp;lt; /tmp/chrome-history.sql&amp;lt;/tt&amp;gt;&lt;br /&gt;
# run &amp;lt;tt&amp;gt;mv /tmp/chrome-history History&amp;lt;/tt&amp;gt;&lt;br /&gt;
# start Chrome&lt;br /&gt;
&lt;br /&gt;
you ought have the vast majority of your history. obviously you can and should replace the hardcoded filenames with &amp;lt;tt&amp;gt;mktemp&amp;lt;/tt&amp;gt; invocations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;previously: &amp;quot;[[GT2025|GT2025]]&amp;quot; 2025-04-17&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12300</id>
		<title>Pixel XL 2</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12300"/>
		<updated>2026-05-11T06:21:46Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Android]] ceased receiving updates on the Pixel XL 2 (&amp;quot;taimen&amp;quot;) following 2020&#039;s 11.0.0.&lt;br /&gt;
&lt;br /&gt;
==Jailbreaking==&lt;br /&gt;
* Go to Settings→About Phone and get the firmware version/build number.&lt;br /&gt;
** Mine was RP1A.201005.004.A1 (December 2020)&lt;br /&gt;
* Go to the [https://developers.google.com/android/images#taimen Google Firmware Download] page for &amp;quot;taimen&amp;quot;, and download the image&lt;br /&gt;
* Unzip the archive, unzip the &amp;lt;tt&amp;gt;image-taiman-*.zip&amp;lt;/tt&amp;gt; found within, and find &amp;lt;tt&amp;gt;boot.img&amp;lt;/tt&amp;gt;. Mine was 42MB.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12299</id>
		<title>Pixel XL 2</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12299"/>
		<updated>2026-05-11T06:18:50Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Android]] ceased receiving updates on the Pixel XL 2 (&amp;quot;taimen&amp;quot;) following 2020&#039;s 11.0.0.&lt;br /&gt;
&lt;br /&gt;
==Jailbreaking==&lt;br /&gt;
* Go to Settings→About Phone and get the firmware version/build number.&lt;br /&gt;
** Mine was RP1A.201005.004.A1 (December 2020)&lt;br /&gt;
* Go to the [https://developers.google.com/android/images#taimen Google Firmware Download] page for &amp;quot;taimen&amp;quot;, and download the image&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12298</id>
		<title>Pixel XL 2</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Pixel_XL_2&amp;diff=12298"/>
		<updated>2026-05-11T06:15:01Z</updated>

		<summary type="html">&lt;p&gt;Dank: Created page with &amp;quot;Android ceased receiving updates on the Pixel XL 2 following 2020.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Android]] ceased receiving updates on the Pixel XL 2 following 2020.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12297</id>
		<title>Computer science eponyms</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12297"/>
		<updated>2026-05-10T03:40:22Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer science needs more eponyms, in the vein of [http://en.wikipedia.org/wiki/Mordenkainen#Spells Mordenkainen]. Collect them all, and impress your friends! I might make a project one day of [[book ideas|summarizing these entries]].&lt;br /&gt;
&lt;br /&gt;
Explicitly &#039;&#039;not included&#039;&#039; in this list are: general logic (Peano and Presburger arithmetic, Herbrandization), mathematical entities not primarily associated with computer science (Markov&#039;s inequality, Chapman-Kolmogorov equation, Young tableaux), physical theories to which computer science is merely applied (Navier-Stokes equations, Taylor-Couette flow), nor statistical entities not primarily associated with computer science (Ziph&#039;s Law, Pareto efficiency). Explicitly &#039;&#039;included&#039;&#039; are: terms from computer engineering (Mead-Conway rules, Ling adders).&lt;br /&gt;
&lt;br /&gt;
Of course, it can&#039;t be on the list unless I know about it, so [mailto:dankamongmen@gmail.com feed me eponyms].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; the threshold for inclusion is now: &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;. If you&#039;re not at least as computer sciency as &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;, you ain&#039;t gettin&#039; in. [[User:Dank|Dank]] 12:25, 3 October 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Aanderaa–Rosenberg Conjecture&#039;&#039;&#039; suggests that non-trivial monotonicity properties of undirected graphs can only be solved by &#039;&#039;Ω(N&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&#039;&#039; algorithms on &#039;&#039;N&#039;&#039; vertices (these are all evasive decision trees on all possible edges)&lt;br /&gt;
* &#039;&#039;&#039;Adam7 Algorithm&#039;&#039;&#039; is a 2D, 7-pass interlacing scheme optionally used by PNG due to Adam Costello&lt;br /&gt;
* the &#039;&#039;&#039;Adler-32&#039;&#039;&#039; checksum trades reliability for speed relative to CRCs of the same length, and is included in Mark Adler&#039;s zlib&lt;br /&gt;
* &#039;&#039;&#039;Adleman&#039;s Theorem&#039;&#039;&#039; states that P/poly contains all problems solvable in randomized polynomial time&lt;br /&gt;
* &#039;&#039;&#039;Adelson-Velskii-Landis Trees&#039;&#039;&#039; are self-height-balancing binary search trees, optimizing for lookup over modification viz. red-black trees&lt;br /&gt;
* &#039;&#039;&#039;Aho-Corasick Algorithm&#039;&#039;&#039; extends the Knuth-Morris-Pratt automaton to match multiple strings in one pass of a text&lt;br /&gt;
* &#039;&#039;&#039;Akra-Bazzi Method&#039;&#039;&#039; generalizes the &amp;quot;master method&amp;quot; of Bentley, Haken, and Saxe for subproblems of significantly different size&lt;br /&gt;
* Amdahl&#039;s Law&lt;br /&gt;
* Andersen&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Anderson–Björck Algorithm&#039;&#039;&#039; improves on the Illinois Algorithm, which is itself an improvement on the &#039;&#039;regula falsi&#039;&#039; method of solving for roots.&lt;br /&gt;
* Angluin&#039;s algorithm&lt;br /&gt;
* &#039;&#039;&#039;Arikan&#039;s PAC Codes&#039;&#039;&#039; aka polarization-adjusted convolutional [https://en.wikipedia.org/wiki/Polar_code_(coding_theory) polar coding] outperform CRC-aided and purely convolutional polar codes, approaching the theoretical channel capacity for short blocklengths.&lt;br /&gt;
* &#039;&#039;&#039;Armstrong&#039;s axioms&#039;&#039;&#039; are a set of inference rules which generate all functional dependencies of a relational database. Similarly, an &#039;&#039;&#039;Armstrong relation&#039;&#039;&#039; satisfies all the functional dependencies in the closure F&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt; (and only those dependencies).&lt;br /&gt;
&lt;br /&gt;
* Backus-Naur Form&lt;br /&gt;
* Bajard-Kla-Muller algorithm&lt;br /&gt;
* Ball-Larus Heuristics&lt;br /&gt;
* the &#039;&#039;&#039;Banerjee test&#039;&#039;&#039; can demonstrate the absence of [[Compiler_Design|control flow dependencies]] in certain types of loops&lt;br /&gt;
* Barendregt convention&lt;br /&gt;
* Barendregt-Geuvers-Klop Conjecture&lt;br /&gt;
* Barnes-Hut simulation&lt;br /&gt;
* the &#039;&#039;&#039;Barton-Nackman trick&#039;&#039;&#039; is an idiom in C++ effecting restricted template expansion&lt;br /&gt;
* Baskett, Chandy, Muntz and Palacios network&lt;br /&gt;
* Batcher&#039;s Odd-Even Merge&lt;br /&gt;
* &#039;&#039;&#039;Bayer Filter&#039;&#039;&#039; mosaics arrange RGB color filters on a square array of photosensors, and are used in a majority of single-chip image sensors. It uses twice as many green sensors as red or blue, to mimic the physiology of the human eye&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s algorithm&#039;&#039;&#039; is the theoretically best cache-replacement algorithm, one which discards information that will not be needed until the furthest time into the future (this is not usually knowable)&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s anomaly&#039;&#039;&#039; is the phenomenon in which increasing the number of page frames results in an &#039;&#039;increase&#039;&#039; in the number of page faults for certain memory access patterns, especially when using FIFO page replacement&lt;br /&gt;
* Bell-La Padula model&lt;br /&gt;
* the &#039;&#039;&#039;Bellman Equation&#039;&#039;&#039; specifies for a problem the necessary condition for optimality of dynamic programming&lt;br /&gt;
* Bellman-Ford Algorithm&lt;br /&gt;
* Beneš network&lt;br /&gt;
* Bentley-Ottman Algorithm&lt;br /&gt;
* Berlekamp-Massey Algorithm&lt;br /&gt;
* Berman–Hartmanis conjecture&lt;br /&gt;
* Bernstein chaining&lt;br /&gt;
* Bernstein conditions&lt;br /&gt;
* Biba Integrity Model&lt;br /&gt;
* Blinn-Phong shading&lt;br /&gt;
* Blom&#039;s Scheme&lt;br /&gt;
* Bloom filter&lt;br /&gt;
* Bluestein&#039;s FFT&lt;br /&gt;
* Blum&#039;s axioms&lt;br /&gt;
* Blum&#039;s Speedup Theorem&lt;br /&gt;
* Blum-Blum-Shub random number generator&lt;br /&gt;
* Boehm-Demers-Weiser garbage collector&lt;br /&gt;
* the &#039;&#039;&#039;Boolean&#039;&#039;&#039; data type takes on values of true or false, as do variables in George Boole&#039;s algebra&lt;br /&gt;
* Booth&#039;s Algorithm&lt;br /&gt;
* Borůvka&#039;s Algorithm&lt;br /&gt;
* Bowyer-Watson Algorithm&lt;br /&gt;
* &amp;lt;b&amp;gt;[https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form Boyce-Codd normal form]&amp;lt;/b&amp;gt; is slightly stricter than 3NF (the third normal form), and guarantees elimination of all redundancy due to functional dependencies (1974)&lt;br /&gt;
* Boyer-Moore Algorithm&lt;br /&gt;
* the &amp;lt;b&amp;gt;Brassard-Høyer-Tapp algorithm&amp;lt;/b&amp;gt; solves the collision problem on a quantum computer in O(n&amp;lt;sup&amp;gt;⅓&amp;lt;/sup&amp;gt;) queries&lt;br /&gt;
* Bremermann&#039;s Limit&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Adder&#039;&#039;&#039; is logn + O(log1/2n) depth and O(nlg n) size&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Algorithm&#039;&#039;&#039; detects cycles using two pointers, and finds the length of the cycle directly&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Method&#039;&#039;&#039; is a hybrid root-finding algorithm combining bisection, the secant method, and inverse quadratic interpolation&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Theorem&#039;&#039;&#039; aka &#039;&#039;&#039;Brent&#039;s Law&#039;&#039;&#039; states that p &amp;lt; N processors can simulate N in T&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; ≤ T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; + (T&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; - T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;)/p&lt;br /&gt;
* Bresenham&#039;s Algorithm&lt;br /&gt;
* Brewer&#039;s Theorem&lt;br /&gt;
* Brodal Queue&lt;br /&gt;
* Broder&#039;s Method&lt;br /&gt;
* Bron-Kerbosch Algorithm&lt;br /&gt;
* Brooks-Iyengar Algorithm&lt;br /&gt;
* Buchberger Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Burnside-Dixon Algorithm&#039;&#039;&#039; calculates irreducible representations of finite groups&lt;br /&gt;
* Burrows-Wheeler Transform&lt;br /&gt;
* Buzen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Callahan-Koblenz algorithm&lt;br /&gt;
* Cannon&#039;s Algorithm&lt;br /&gt;
* Cantor-Zassenhaus Algorithm&lt;br /&gt;
* Carmack&#039;s Reverse&lt;br /&gt;
* Catmull-Clark subdivision surfaces&lt;br /&gt;
* Chaff Algorithm&lt;br /&gt;
* Chaitin&#039;s algorithm&lt;br /&gt;
* Chaitin&#039;s Constant&lt;br /&gt;
* Chaitin-Briggs algorithm&lt;br /&gt;
* Chaitin–Kolmogorov random numbers&lt;br /&gt;
* Chakravala&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Chan&#039;s Algorithm&#039;&#039;&#039; computes the optimal h-point convex hull of n 2- or 3-dimensional points in O(nlgh)&lt;br /&gt;
* Chandy-Lamport Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Chang-Roberts Algorithm&#039;&#039;&#039; elects leaders for distributed systems.&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is an exact quantum algorithm for testing 2-junta&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is a single-writer, multiple-reader, wait-free lock using Compare-and-Swap&lt;br /&gt;
* the &#039;&#039;&#039;Chen-Teboulle Algorithm&#039;&#039;&#039; solves the proximal point algorithm efficiently for certain functions&lt;br /&gt;
* Cheney&#039;s Algorithm&lt;br /&gt;
* Chew&#039;s Second Algorithm&lt;br /&gt;
* Chien search&lt;br /&gt;
* &#039;&#039;&#039;Cholesky decomposition&#039;&#039;&#039; expands Hermitian positive-definite matrices into products of a lower triangular matrix and its conjugate transpose. solved using the Cholesky–Crout and Cholesky–Banachiewicz algorithms.&lt;br /&gt;
* Chomsky Hierarchy&lt;br /&gt;
* Chomsky Normal Form&lt;br /&gt;
* Chomsky-Schützenberger theorem&lt;br /&gt;
* Christofides Algorithm&lt;br /&gt;
* Church encoding&lt;br /&gt;
* Church-Rosser Theorem&lt;br /&gt;
* Church-Turing Thesis&lt;br /&gt;
* the &#039;&#039;&#039;[https://clifford.at/cliffords-device.html Clifford Device]&#039;&#039;&#039; exploits &amp;lt;tt&amp;gt;if(0)&amp;lt;/tt&amp;gt; to abstract block control via macros (note that e. g. [https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm N3355] calls this &amp;quot;Claire&#039;s Device&amp;quot; following a presumed transition, but Claire still seems to call it Clifford).&lt;br /&gt;
* Clos network&lt;br /&gt;
* Cobham Axioms&lt;br /&gt;
* Cobham&#039;s thesis&lt;br /&gt;
* Cocke-Younger-Kasami Algorithm&lt;br /&gt;
* Cohen-Sutherland algorithm&lt;br /&gt;
* &#039;&#039;&#039;Coffman conditions&#039;&#039;&#039; enumerate the four conditions necessary and sufficient for deadlock within a system (mutual exclusion, hold-and-wait, a lack of preemption, and circular wait)&lt;br /&gt;
* Commentz-Walter Algorithm&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Conway%27s_law Conway&#039;s Law]&lt;br /&gt;
* Cook reduction&lt;br /&gt;
* the &#039;&#039;&#039;Cook-Levin Theorem&#039;&#039;&#039; (sometimes just &#039;&#039;&#039;Cook Theorem&#039;&#039;&#039;) proves that the Boolean satisfiability problem is NP-complete.&lt;br /&gt;
* the &#039;&#039;&#039;Cooley-Tukey Algorithm&#039;&#039;&#039; is the workhorse algorithm for Fast Fourier Transforms.&lt;br /&gt;
* the &#039;&#039;&#039;Coppersmith-Winograd Algorithm&#039;&#039;&#039; multiplied matrices in the least time complexity from 1990-2010, and used the &amp;quot;laser method&amp;quot; employed by all improvements since.&lt;br /&gt;
* Craig, Landin and Hagersten lock&lt;br /&gt;
* Cranfield method&lt;br /&gt;
* (preconditioned) Crank–Nicolson Algorithm&lt;br /&gt;
* Crusader’s Convergence Algorithm&lt;br /&gt;
* Curry-Howard correspondence&lt;br /&gt;
* The &amp;lt;b&amp;gt;CVM algorithm&amp;lt;/b&amp;gt; (Chakraborty, Variyam, Meel) approximates the number of distinct elements in a large set&lt;br /&gt;
&lt;br /&gt;
* Dadda Multiplier&lt;br /&gt;
* Damerau-Levenshtein distance&lt;br /&gt;
* Damm Algorithm&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam Algorithm&amp;lt;/b&amp;gt; verifies formulas in first order logic using the resolution method from prepositional logic. It requires exponential space in the worst case, and only terminates for valid formulae.&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam-Logemann-Loveland Algorithm&amp;lt;/b&amp;gt; improves on the basic DP algorithm, requiring linear space in the worst case and terminating for all formulae.&lt;br /&gt;
* De Bruijn presentation&lt;br /&gt;
* De Bruijn string&lt;br /&gt;
* Dekker&#039;s Algorithm&lt;br /&gt;
* Delaunay&#039;s Triangulation&lt;br /&gt;
* Dennard Scaling&lt;br /&gt;
* Deutsch gate&lt;br /&gt;
* Diffie-Hellman Key Exchange&lt;br /&gt;
* Dijkstra&#039;s Algorithm&lt;br /&gt;
* Dinic&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;DiVincenzo&#039;s criteria&#039;&#039;&#039; specify conditions necessary for a quantum computer&lt;br /&gt;
* Dolev&#039;s Algorithm&lt;br /&gt;
* Doo-Sabin subdivision surface&lt;br /&gt;
* Duff&#039;s Device&lt;br /&gt;
* Dyck Language&lt;br /&gt;
&lt;br /&gt;
* Earle latch&lt;br /&gt;
* Earley Parser&lt;br /&gt;
* &#039;&#039;&#039;Edholm&#039;s law&#039;&#039;&#039; predicts doubling of bandwidth every 18 months across wireless, nomadic, and wired networks (and is getting some rather heavy lift from Moore&#039;s Law IMHO)&lt;br /&gt;
* &#039;&#039;&#039;Edmonds&#039;s matching algorithm&#039;&#039;&#039; constructs maximum matchings on graphs in O(|E||V|²)&lt;br /&gt;
* Edmonds-Karp Algorithm&lt;br /&gt;
* ElGamal encryption&lt;br /&gt;
* ElGamal signatures&lt;br /&gt;
* van Emde Boas trees&lt;br /&gt;
* Sieve of Eratosthenes&lt;br /&gt;
* the &#039;&#039;&#039;Eytzinger layout&#039;&#039;&#039; stores binary trees in an array in a cache-friendly manner&lt;br /&gt;
* Euclid&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fagin&#039;s Theorem&#039;&#039;&#039; states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP&lt;br /&gt;
* &#039;&#039;&#039;Falk diagrams&#039;&#039;&#039; graph various performance counters against time (typically expressed in cycles)&lt;br /&gt;
* Faugère F5 algorithm&lt;br /&gt;
* &#039;&#039;&#039;Fenwick trees&#039;&#039;&#039; support efficient update of elements and calculate prefix sums in a table of numbers&lt;br /&gt;
* Fiat-Shamir Heuristic&lt;br /&gt;
* Fibonacci Heap&lt;br /&gt;
* Fisher-Yates shuffle&lt;br /&gt;
* Flajolet-Martin algorithm&lt;br /&gt;
* Fletcher&#039;s Checksum &lt;br /&gt;
* Floyd&#039;s Algorithm&lt;br /&gt;
* Floyd-Steinberg dithering&lt;br /&gt;
* Flynn Taxonomy&lt;br /&gt;
* Ford-Fulkerson Algorithm&lt;br /&gt;
* Fortune&#039;s Algorithm&lt;br /&gt;
* Fox&#039;s Algorithm&lt;br /&gt;
* Fredkin gate&lt;br /&gt;
* Friedberg-Muchnik Theorem&lt;br /&gt;
* Fruchterman-Reingold heuristic&lt;br /&gt;
* &#039;&#039;&#039;Fürer&#039;s algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgn*2&amp;lt;sup&amp;gt;O(lg*n)&amp;lt;/sup&amp;gt;)&#039;&#039;&lt;br /&gt;
* the &#039;&#039;&#039;Ferguson-Forcade&#039;&#039;&#039; algorithm was the first for the integer relation problem (&amp;lt;i&amp;gt;Bull. Amer. Math 1979&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gabbay&#039;s separation theorem&lt;br /&gt;
* Gabow&#039;s Algorithm&lt;br /&gt;
* Gal&#039;s Accurate Tables&lt;br /&gt;
* Gale-Church Algorithm&lt;br /&gt;
* Gale-Shapley algorithm&lt;br /&gt;
* Gilbert-Johnson-Keerthi Algorithm&lt;br /&gt;
* Girard&#039;s Paradox&lt;br /&gt;
* Girvan-Newman Algorithm&lt;br /&gt;
* Givens rotation&lt;br /&gt;
* Glushkov Automata&lt;br /&gt;
* Goldreich-Goldwasser-Halevi scheme&lt;br /&gt;
* The weighted &#039;&#039;&#039;Gomory-Hu Tree&#039;&#039;&#039; of an undirected graph with capacities G represents the minimum s-t cuts for all s-t pairs in G, and is computable via |V|-1 maximum flow problems.&lt;br /&gt;
* Gordon–Newell theorem&lt;br /&gt;
* Gosper&#039;s Hack&lt;br /&gt;
* Gosper&#039;s Hypergeometric Algorithm&lt;br /&gt;
* Gosper&#039;s Loop Detection Algorithm&lt;br /&gt;
* Gouraud shading&lt;br /&gt;
* The &#039;&#039;&#039;Graham Scan&#039;&#039;&#039; solves for the convex hull of a set of points in &#039;&#039;O(NlgN)&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;Graham-Andrew Algorithm&#039;&#039;&#039; modifies the Graham Scan to solve for convex hulls in &#039;&#039;O(N)&#039;&#039; best case.&lt;br /&gt;
* Graham-Denning Model&lt;br /&gt;
* Gram–Schmidt process&lt;br /&gt;
* Gray codes&lt;br /&gt;
* Greibach Normal Form&lt;br /&gt;
* Grover&#039;s Algorithm&lt;br /&gt;
* Grzegorczyk hierarchy&lt;br /&gt;
* Guruswami-Sudan Algorithm&lt;br /&gt;
* Gustafson&#039;s Law&lt;br /&gt;
* &#039;&#039;&#039;Gutmann&#039;s Method&#039;&#039;&#039; is a 35-phase recipe for destroying data on ferromagnetic drives.&lt;br /&gt;
* Guttman-Rosler transform&lt;br /&gt;
&lt;br /&gt;
* Hamiltonian path problem&lt;br /&gt;
* Hamming code&lt;br /&gt;
* Hamming distance&lt;br /&gt;
* the &#039;&#039;&#039;Håstad, Just, Lagarias, and Schnorr (HJLS) algorithm&#039;&#039;&#039; improves on LLL for the integer relations problem (&amp;lt;i&amp;gt;SIAM J. Comput. 1989&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heap&#039;s algorithm&#039;&#039;&#039; generates all permutations of a set with minimum movement (&amp;lt;i&amp;gt;The Computer Journal 1963&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heckel&#039;s algorithm&#039;&#039;&#039; isolates changes between files, and is the basis for &amp;lt;tt&amp;gt;diff&amp;lt;/tt&amp;gt; [https://dl.acm.org/doi/10.1145/359460.359467 CACM 1978]&lt;br /&gt;
* Hennessy-Milner Logic&lt;br /&gt;
* Herlihy&#039;s wait-free hierarchy&lt;br /&gt;
* Hindley-Milner type system&lt;br /&gt;
* Hirschberg&#039;s Algorithm&lt;br /&gt;
* Hoare logic&lt;br /&gt;
* Holevo&#039;s Theorem&lt;br /&gt;
* Holland&#039;s schema theorem&lt;br /&gt;
* Hong-Kung bound&lt;br /&gt;
* Hopcroft-Karp Algorithm&lt;br /&gt;
* Hopfield net&lt;br /&gt;
* Horn clauses&lt;br /&gt;
* Hough transform&lt;br /&gt;
* Householder transformation&lt;br /&gt;
* Huet&#039;s Zipper&lt;br /&gt;
* Huffman coding&lt;br /&gt;
* Hunt-McIlroy Algorithm&lt;br /&gt;
&lt;br /&gt;
* Iliffe vector&lt;br /&gt;
* Immerman–Szelepcsényi theorem&lt;br /&gt;
&lt;br /&gt;
* Jackson network&lt;br /&gt;
* Jackson&#039;s theorem&lt;br /&gt;
* Jaro-Winkler distance&lt;br /&gt;
* Jefferson&#039;s Time Warp&lt;br /&gt;
* Jelinek-Mercer smoothing&lt;br /&gt;
* Jensen&#039;s Device&lt;br /&gt;
* Johnson&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Jonker-Volgenant Algorithm&#039;&#039;&#039; improves &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; to solve the assignment problem in O(n³), Jonker-Volgenant 1987&lt;br /&gt;
&lt;br /&gt;
* Kabsch Algorithm&lt;br /&gt;
* Kadane&#039;s Algorithm&lt;br /&gt;
* Kahan Summation Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kahn&#039;s Algorithm&#039;&#039;&#039; topologically sorts a graph in O(|V| + |E|), Kahn 1962&lt;br /&gt;
* Kannan&#039;s Theorem&lt;br /&gt;
* &#039;&#039;&#039;Karatsuba&#039;s Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;3&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Karger&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Karn&#039;s algorithm&#039;&#039;&#039; extracts accurate [[TCP]] RTT measures, Karn-Partridge 1987&lt;br /&gt;
* Karmarkar&#039;s algorithm&lt;br /&gt;
* Karnaugh map&lt;br /&gt;
* Karp reduction&lt;br /&gt;
* Karp-Flatt metric&lt;br /&gt;
* Karp-Lipton Theorem&lt;br /&gt;
* Kamada-Kawai algorithm&lt;br /&gt;
* Kernighan-Lin algorithm&lt;br /&gt;
* Kirkpatrick-Seidel Algorithm&lt;br /&gt;
* Kleene Closure&lt;br /&gt;
* Kleene Plus&lt;br /&gt;
* Kleene Star&lt;br /&gt;
* Kleene–Rosser Paradox&lt;br /&gt;
* Kneser-Ney smoothing&lt;br /&gt;
* Knuth Shuffle&lt;br /&gt;
* Knuth-Morris-Pratt Algorithm&lt;br /&gt;
* Koenig Lookup&lt;br /&gt;
* Kohonen Algorithm&lt;br /&gt;
* Kohonen network&lt;br /&gt;
* Kolmogorov complexity&lt;br /&gt;
* Koomey&#039;s Law&lt;br /&gt;
* Kosaraju&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Krapchenko&#039;s Adder&#039;&#039;&#039; is an improvement over Brent&#039;s Adder, linear (3n + 6*2m, m=⌈lg n⌉) in size and logn + O(log1/2n) depth (m + 7(2m)1/2+16, m = ⌈lg n⌉).&lt;br /&gt;
* Kruskal&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kryder&#039;s Law&#039;&#039;&#039; asserted that areal density doubles every thirteen months (this has not been true for some time). Also known as the &#039;&#039;Kryder rate&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; (also known as &#039;&#039;&#039;Kuhn-Munkres&#039;&#039;&#039;) solves the assignment problem in polynomial time, Kuhn 1955&lt;br /&gt;
* The &#039;&#039;&#039;&amp;amp;#91;Karush-&amp;amp;#93;Kuhn-Tucker conditions&#039;&#039;&#039; are a set of tests to determine whether an integer programming solution is optimal, Karush 1931 Kuhn-Tucker 1951&lt;br /&gt;
* Kung-Leiserson systolic array&lt;br /&gt;
* Kuroda Normal Form&lt;br /&gt;
&lt;br /&gt;
* Ladner&#039;s Theorem&lt;br /&gt;
* Lamport&#039;s Bakery Algorithm&lt;br /&gt;
* Lamport&#039;s Logical Clock&lt;br /&gt;
* Lamport&#039;s Hash&lt;br /&gt;
* Lamport timestamps&lt;br /&gt;
* Lee-Seung algorithm&lt;br /&gt;
* Lehmer random number generator&lt;br /&gt;
* Lehmer&#039;s GCD Algorithm&lt;br /&gt;
* Lempel-Ziv-Welch compression&lt;br /&gt;
* the &#039;&#039;&#039;Lenstra-Lenstra-Lovász (LLL)&#039;&#039;&#039; algorithm was the first for the integer relation problem that supplied proofs (Math Ann. 1982)&lt;br /&gt;
* Levenshtein automaton&lt;br /&gt;
* Levenshtein distance&lt;br /&gt;
* &#039;&#039;&#039;Levialdi&#039;s transform&#039;&#039;&#039; progressively and deterministically degrades a bitmap&lt;br /&gt;
* Levin reduction&lt;br /&gt;
* Liang-Barsky algorithm&lt;br /&gt;
* Lin-Kernighan Heuristic&lt;br /&gt;
* Linde-Buzo-Gray algorithm&lt;br /&gt;
* Ling adders&lt;br /&gt;
* Liskov&#039;s Substitution Principle&lt;br /&gt;
* Lloyd&#039;s algorithm&lt;br /&gt;
* Loop subdivision surfaces&lt;br /&gt;
* &#039;&#039;&#039;Loss-DiVincenzo machines&#039;&#039;&#039; are quantum computers based off electron spin as confined to quantum dots&lt;br /&gt;
* Luby&#039;s algorithm&lt;br /&gt;
* Luhn Algorithm&lt;br /&gt;
* Luleå Algorithm&lt;br /&gt;
&lt;br /&gt;
* Maekawa&#039;s Algorithm&lt;br /&gt;
* Mahaney&#039;s Theorem&lt;br /&gt;
* Manning algorithm&lt;br /&gt;
* Margolus gate&lt;br /&gt;
* Marzullo algorithm&lt;br /&gt;
* &#039;&#039;&#039;Matiyasevich&#039;s theorem&#039;&#039;&#039; proves that every [[Theory|recursively enumerable]] set is Diophantine, and thus proves that no algorithm exists for Hilbert&#039;s tenth problem&lt;br /&gt;
* McFarling-style branch predictor&lt;br /&gt;
* Mead-Conway Rules&lt;br /&gt;
* Mealy machine&lt;br /&gt;
* Mellor-Crummey and Scott lock&lt;br /&gt;
* Merkle–Damgård construction&lt;br /&gt;
* The &#039;&#039;&#039;Metropolis-Hastings algorithm&#039;&#039;&#039; for MCMC obtains samples from a probability distribution that is [https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm difficult to directly sample]&lt;br /&gt;
* &#039;&#039;&#039;Meyer&#039;s flooding algorithm&#039;&#039;&#039; computes the [https://en.wikipedia.org/wiki/Watershed_(image_processing) watershed] for an image&lt;br /&gt;
* Miller-Rabin Primality Test&lt;br /&gt;
* Minsky-Fenichel-Yochelson Algorithm&lt;br /&gt;
* Montgomery reduction&lt;br /&gt;
* Moore machine&lt;br /&gt;
* Moore&#039;s Law&lt;br /&gt;
* Morgensen-Scott encoding&lt;br /&gt;
* Möller-Trumbore algorithm&lt;br /&gt;
&lt;br /&gt;
* Nagle&#039;s algorithm&lt;br /&gt;
* Nassi-Shneiderman diagram&lt;br /&gt;
* Needham-Schroeder Protocol&lt;br /&gt;
* Needleman-Wunsch Algorithm&lt;br /&gt;
* Neuman-Stubblebine Protocol&lt;br /&gt;
* &#039;&#039;&#039;von Neumann architecture&#039;&#039;&#039; aka stored-program architecture keeps instructions in the same memory as data (as opposed to Harvard architecture, which keeps the two distinct). Popularized by von Neumann, but largely based on Eckert and Mauchly&#039;s work on the ENIAC.&lt;br /&gt;
* Nevill-Manning algorithm&lt;br /&gt;
* Nick&#039;s Class&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s law&#039;&#039;&#039; predicts slower growth for home bandwidth than computing power, suggesting that user experience will remain bandwidth-bound&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s usability heuristics&#039;&#039;&#039; are ten (rather debatable) guidelines forming a usability heuristic for interface design&lt;br /&gt;
* Nisan&#039;s Generator&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ogden&#039;s lemma&#039;&#039;&#039; extends the pumping lemma to context-free languages&lt;br /&gt;
* &#039;&#039;&#039;Otsu&#039;s Method&#039;&#039;&#039; is used to perform automatic image thresholding&lt;br /&gt;
* &#039;&#039;&#039;Ousterhout&#039;s dichotomy/fallacy&#039;&#039;&#039; is a taxonomy of &#039;&#039;systems&#039;&#039; vs &#039;&#039;scripting&#039;&#039; languages&lt;br /&gt;
* Otway-Rees Protocol&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Paeth-Tanaka Algorithm&#039;&#039;&#039; rotates images via a method of three shears&lt;br /&gt;
* &#039;&#039;&#039;Paeth Filter&#039;&#039;&#039; performs 2D image compression in PNG&lt;br /&gt;
* PageRank Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Parikh&#039;s theorem&#039;&#039;&#039; shows that a context free language that doesn&#039;t consider order of its terminal symbols can be expressed as a regular language, proving the existence of inherently ambiguous CFLs and that CFLs over singleton alphabets are regular. JACM 1966&lt;br /&gt;
* Peterson&#039;s Algorithm&lt;br /&gt;
* Petri nets&lt;br /&gt;
* Petrick&#039;s method&lt;br /&gt;
* Phong shading&lt;br /&gt;
* Plotkin&#039;s Sticky Bit&lt;br /&gt;
* &#039;&#039;&#039;Plouffe&#039;s Inverter&#039;&#039;&#039; was an early symbolic inverter for floating point numbers&lt;br /&gt;
* Pollaczek–Khinchine formula&lt;br /&gt;
* Pollard&#039;s Kangaroo Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Pollard&#039;s ρ Algorithm&#039;&#039;&#039; aka &#039;&#039;&#039;Pollard&#039;s rho Algorithm&#039;&#039;&#039; factors integers in running time expected to be proportional to the square root of the smallest prime factor of the number being factored&lt;br /&gt;
* Popek-Goldberg virtualization requirements&lt;br /&gt;
* Post&#039;s correspondence problem&lt;br /&gt;
* &amp;lt;b&amp;gt;Post&#039;s Lattice&amp;lt;/b&amp;gt; is the lattice of all clones on {0,1}, ordered by inclusion. It is used to prove sets of connectives to be functionally complete (e.g. NAND and NOR both generate functionally complete Boolean algebras).&lt;br /&gt;
* Postel&#039;s Law&lt;br /&gt;
* Prim&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Proebsting&#039;s Law&#039;&#039;&#039; claims that compiler technology doubles computing power [http://proebsting.cs.arizona.edu/law.html every 18 years]&lt;br /&gt;
* Prüfer Coding&lt;br /&gt;
* Prüfer Sequence&lt;br /&gt;
&lt;br /&gt;
* Quines&lt;br /&gt;
* Quine-McLuskey algorithm&lt;br /&gt;
&lt;br /&gt;
* Rabin Automata&lt;br /&gt;
* Rabin&#039;s Information Dispersal Algorithm&lt;br /&gt;
* Rabin-Karp Algorithm&lt;br /&gt;
* Rader-Brenner Algorithm&lt;br /&gt;
* Radovic-Hagersten lock&lt;br /&gt;
* the &#039;&#039;&#039;Ramer-Douglas-Peucker algorithm&#039;&#039;&#039; decimates a series of line segments to a similar series of fewer line segments (1973)&lt;br /&gt;
* Raymond&#039;s Algorithm&lt;br /&gt;
* Reed-Muller code&lt;br /&gt;
* Reed-Solomon correction code&lt;br /&gt;
* Reingold&#039;s logspace Algorithm&lt;br /&gt;
* Ricart-Agrawala Algorithm&lt;br /&gt;
* Rice&#039;s Theorem&lt;br /&gt;
* Rice-Shapiro Theorem&lt;br /&gt;
* Risch Algorithm&lt;br /&gt;
* Rivest-Shamir-Adleman Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Rocchio&#039;s Algorithm&#039;&#039;&#039; classifies information relevance using nearest centroids&lt;br /&gt;
* Ruppert&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sattolo&#039;s Algorithm&#039;&#039;&#039; generates a 1-cyclic derangement of an array (a permutation such that every element ends up in a new position)&lt;br /&gt;
* Savitch&#039;s Theorem&lt;br /&gt;
* Schensted Algorithm&lt;br /&gt;
* Schlick&#039;s approximation&lt;br /&gt;
* The &#039;&#039;&#039;Schönhage–Strassen algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgnlglgn)&#039;&#039; bit complexity using FFTs&lt;br /&gt;
* Schoof&#039;s Algorithm&lt;br /&gt;
* Schreier-Sims Algorithm&lt;br /&gt;
* Schwartzian transform&lt;br /&gt;
* Sethi-Ullman Algorithm&lt;br /&gt;
* Shamir&#039;s Secret Sharing Scheme&lt;br /&gt;
* Shamos-Hoey Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Shar&#039;s Algortihm&#039;&#039;&#039; is a variation on the uniform binary search of Knuth.&lt;br /&gt;
* Shor&#039;s Algorithm&lt;br /&gt;
* Sipser–Lautemann theorem&lt;br /&gt;
* &#039;&#039;&#039;Smith&#039;s Algorithm&#039;&#039;&#039; hashes the program counter to n bimodal (saturating) k-bit counters for dynamic branch prediction (1981)&lt;br /&gt;
* Smith-Waterman algorithm&lt;br /&gt;
* Solomonoff-Levin distribution&lt;br /&gt;
* Steensgaard&#039;s Algorithm&lt;br /&gt;
* Stehlé-Zimmermann algorithm&lt;br /&gt;
* &#039;&#039;&#039;Steiner tree problems&#039;&#039;&#039; are a class of combinatorial optimization problems involving determining the optimal interconnect of a graph under some objective function.&lt;br /&gt;
* the &#039;&#039;&#039;Steinhaus-Johnson-Trotter algorithm&#039;&#039;&#039; generates all permutations of a set (&amp;lt;i&amp;gt;CACM 1964&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Strassen&#039;s Algorithm&lt;br /&gt;
* Suurballe&#039;s Algorithm&lt;br /&gt;
* Sweeney-Robertson-Tocher division algorithm&lt;br /&gt;
&lt;br /&gt;
* Tarjan&#039;s Algorithm&lt;br /&gt;
* Tarjan&#039;s Dynamic Tree&lt;br /&gt;
* Tarjan&#039;s Least Common Ancestors Algorithm&lt;br /&gt;
* The nondeterministic &#039;&#039;&#039;Tarski–Kuratowski algorithm&#039;&#039;&#039; produces an upper bound for the complexity of a given formula in the arithmetical hierarchy and analytical hierarchy.&lt;br /&gt;
* Thompson Automata&lt;br /&gt;
* Timsort&lt;br /&gt;
* Toda&#039;s theorem&lt;br /&gt;
* Todd–Coxeter algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Toffoli gate&#039;&#039;&#039; aka CCNOT is a 3-to-3 universal reversible gate (all other reversible gates can be constructed from it). there is no smaller universal set of reversible gates (the only reversible gates in 1 or 2 inputs are identity, NOT, and CNOT).&lt;br /&gt;
* Tomasulo&#039;s AlgorithmRemember&lt;br /&gt;
* Tonelli-Shanks Algorithm&lt;br /&gt;
* The &#039;&#039;&#039;Toom-Cook Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log(5)/log(3)&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Tupper&#039;s self-referential formula&lt;br /&gt;
* Turing Degree&lt;br /&gt;
* &#039;&#039;&#039;Turing Machines&#039;&#039;&#039; were used to prove the undecidability of the Entscheidungsproblem in 1936, and have persisted as a rather less elegant model of computation than Church&#039;s λ-calculus.&lt;br /&gt;
* the &#039;&#039;&#039;Turing Test&#039;&#039;&#039;, originally the &amp;quot;imitation game&amp;quot;, was proposed by Turing as a means of evaluating conversational artificial intelligence via questions-and-answers on a text channel. Its use as a diagnostic is debatable at best.&lt;br /&gt;
&lt;br /&gt;
* Ukkonen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Valiant-Vazirani Theorem&lt;br /&gt;
* Van Jacobson Channels&lt;br /&gt;
* Van Wijngaarden Grammars&lt;br /&gt;
* Verhoeff Algorithm&lt;br /&gt;
* Viola-Jones face detection&lt;br /&gt;
* Viterbi algorithm&lt;br /&gt;
* Volder&#039;s algorithm&lt;br /&gt;
&lt;br /&gt;
* Wagner-Fischer Algorithm&lt;br /&gt;
* Wallace Multiplier&lt;br /&gt;
* Wallace tree&lt;br /&gt;
* Warnsdorff&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Welford&#039;s Algorithm&#039;&#039;&#039; is a stable online algorithm for computing mean and estimated variance&lt;br /&gt;
* The &#039;&#039;&#039;Williams State Machine&#039;&#039;&#039; is a common [https://vt100.net/emu/dec_ansi_parser parsing automaton] for DEC virtual terminal input&lt;br /&gt;
* Winograd&#039;s Algorithm&lt;br /&gt;
* Witten-Bell smoothing&lt;br /&gt;
* Wu&#039;s Line Algorithm&lt;br /&gt;
* Wu-Manber Algorithm&lt;br /&gt;
* Wyllie&#039;s List Ranking&lt;br /&gt;
&lt;br /&gt;
* Yao&#039;s Principle&lt;br /&gt;
* &#039;&#039;&#039;Yeh&#039;s Algorithm&#039;&#039;&#039; is a two-level adaptive training algorithm designed by Yeh and Patt in 1991. A branch history register is used to maintain branch behavior for a specific pattern of branch history, and 4-bit counters are used for each BTB set.&lt;br /&gt;
&lt;br /&gt;
* Zhu-Takaoka Algorithm&lt;br /&gt;
* Zimmermann-Sassaman key-signing protocol&lt;br /&gt;
* Zobrist hashing&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Trees&amp;diff=12296</id>
		<title>Trees</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Trees&amp;diff=12296"/>
		<updated>2026-05-03T03:44:10Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trees? We&#039;ve got all the trees you need! I&#039;m thinking about writing a pop computer science book, one chapter on each of these.&lt;br /&gt;
* red-black&lt;br /&gt;
* AVL (Adelson-Velsky + Landis)&lt;br /&gt;
* pq&lt;br /&gt;
* [https://lwn.net/Articles/845507/ maple]&lt;br /&gt;
* top&lt;br /&gt;
* fat&lt;br /&gt;
* b / b+ / 2-3&lt;br /&gt;
* vEB (van Emde Boas)&lt;br /&gt;
* radix&lt;br /&gt;
* dancing&lt;br /&gt;
* splay&lt;br /&gt;
* trie&lt;br /&gt;
* up-sweep (Blelloch 1990)&lt;br /&gt;
* kd&lt;br /&gt;
* (minimal) spanning&lt;br /&gt;
* [[Gomory-Hu Tree|Gomory-Hu]]&lt;br /&gt;
* decision&lt;br /&gt;
* Hilbert R&lt;br /&gt;
* Fenwick&lt;br /&gt;
* game&lt;br /&gt;
* aa&lt;br /&gt;
* finger&lt;br /&gt;
* Trémaux&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Steiner_tree_problem Steiner]&lt;br /&gt;
* Order statistic&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Log-structured_merge-tree LSM] (log-structured merge)&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Cartesian_tree Cartesian]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Segment_tree segment]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Interval_tree interval]&lt;br /&gt;
* prolly (variant of b-trees)&lt;br /&gt;
==[[Compiler Design|Compiling]]==&lt;br /&gt;
* abstract syntax&lt;br /&gt;
* doubly logarithmic&lt;br /&gt;
* dominator&lt;br /&gt;
...&lt;br /&gt;
==Theory==&lt;br /&gt;
* Finite/Pushdown [[automata#Tree_automata|Tree Automata]]&lt;br /&gt;
* Algebraic tree systems&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=DBus&amp;diff=12295</id>
		<title>DBus</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=DBus&amp;diff=12295"/>
		<updated>2026-04-29T01:59:29Z</updated>

		<summary type="html">&lt;p&gt;Dank: d-spy has replaced d-feet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [https://apps.gnome.org/Dspy/ d-spy] is a good visualization/exploration tool for D-Bus, having replaced [http://packages.debian.org/d-feet D-Feet]. For terminal work, try [https://www.freedesktop.org/software/systemd/man/busctl.html busctl].&lt;br /&gt;
&lt;br /&gt;
==Enumeration==&lt;br /&gt;
&lt;br /&gt;
* System bus: &amp;lt;tt&amp;gt;dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Session bus: &amp;lt;tt&amp;gt;dbus-send --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12294</id>
		<title>Computer science eponyms</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12294"/>
		<updated>2026-04-22T10:54:45Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer science needs more eponyms, in the vein of [http://en.wikipedia.org/wiki/Mordenkainen#Spells Mordenkainen]. Collect them all, and impress your friends! I might make a project one day of [[book ideas|summarizing these entries]].&lt;br /&gt;
&lt;br /&gt;
Explicitly &#039;&#039;not included&#039;&#039; in this list are: general logic (Peano and Presburger arithmetic, Herbrandization), mathematical entities not primarily associated with computer science (Markov&#039;s inequality, Chapman-Kolmogorov equation, Young tableaux), physical theories to which computer science is merely applied (Navier-Stokes equations, Taylor-Couette flow), nor statistical entities not primarily associated with computer science (Ziph&#039;s Law, Pareto efficiency). Explicitly &#039;&#039;included&#039;&#039; are: terms from computer engineering (Mead-Conway rules, Ling adders).&lt;br /&gt;
&lt;br /&gt;
Of course, it can&#039;t be on the list unless I know about it, so [mailto:dankamongmen@gmail.com feed me eponyms].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; the threshold for inclusion is now: &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;. If you&#039;re not at least as computer sciency as &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;, you ain&#039;t gettin&#039; in. [[User:Dank|Dank]] 12:25, 3 October 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Aanderaa–Rosenberg Conjecture&#039;&#039;&#039; suggests that non-trivial monotonicity properties of undirected graphs can only be solved by &#039;&#039;Ω(N&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&#039;&#039; algorithms on &#039;&#039;N&#039;&#039; vertices (these are all evasive decision trees on all possible edges)&lt;br /&gt;
* &#039;&#039;&#039;Adam7 Algorithm&#039;&#039;&#039; is a 2D, 7-pass interlacing scheme optionally used by PNG due to Adam Costello&lt;br /&gt;
* the &#039;&#039;&#039;Adler-32&#039;&#039;&#039; checksum trades reliability for speed relative to CRCs of the same length, and is included in Mark Adler&#039;s zlib&lt;br /&gt;
* &#039;&#039;&#039;Adleman&#039;s Theorem&#039;&#039;&#039; states that P/poly contains all problems solvable in randomized polynomial time&lt;br /&gt;
* &#039;&#039;&#039;Adelson-Velskii-Landis Trees&#039;&#039;&#039; are self-height-balancing binary search trees, optimizing for lookup over modification viz. red-black trees&lt;br /&gt;
* &#039;&#039;&#039;Aho-Corasick Algorithm&#039;&#039;&#039; extends the Knuth-Morris-Pratt automaton to match multiple strings in one pass of a text&lt;br /&gt;
* &#039;&#039;&#039;Akra-Bazzi Method&#039;&#039;&#039; generalizes the &amp;quot;master method&amp;quot; of Bentley, Haken, and Saxe for subproblems of significantly different size&lt;br /&gt;
* Amdahl&#039;s Law&lt;br /&gt;
* Andersen&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Anderson–Björck Algorithm&#039;&#039;&#039; improves on the Illinois Algorithm, which is itself an improvement on the &#039;&#039;regula falsi&#039;&#039; method of solving for roots.&lt;br /&gt;
* Angluin&#039;s algorithm&lt;br /&gt;
* &#039;&#039;&#039;Arikan&#039;s PAC Codes&#039;&#039;&#039; aka polarization-adjusted convolutional [https://en.wikipedia.org/wiki/Polar_code_(coding_theory) polar coding] outperform CRC-aided and purely convolutional polar codes, approaching the theoretical channel capacity for short blocklengths.&lt;br /&gt;
* &#039;&#039;&#039;Armstrong&#039;s axioms&#039;&#039;&#039; are a set of inference rules which generate all functional dependencies of a relational database. Similarly, an &#039;&#039;&#039;Armstrong relation&#039;&#039;&#039; satisfies all the functional dependencies in the closure F&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt; (and only those dependencies).&lt;br /&gt;
&lt;br /&gt;
* Backus-Naur Form&lt;br /&gt;
* Bajard-Kla-Muller algorithm&lt;br /&gt;
* Ball-Larus Heuristics&lt;br /&gt;
* the &#039;&#039;&#039;Banerjee test&#039;&#039;&#039; can demonstrate the absence of [[Compiler_Design|control flow dependencies]] in certain types of loops&lt;br /&gt;
* Barendregt convention&lt;br /&gt;
* Barendregt-Geuvers-Klop Conjecture&lt;br /&gt;
* Barnes-Hut simulation&lt;br /&gt;
* the &#039;&#039;&#039;Barton-Nackman trick&#039;&#039;&#039; is an idiom in C++ effecting restricted template expansion&lt;br /&gt;
* Baskett, Chandy, Muntz and Palacios network&lt;br /&gt;
* Batcher&#039;s Odd-Even Merge&lt;br /&gt;
* &#039;&#039;&#039;Bayer Filter&#039;&#039;&#039; mosaics arrange RGB color filters on a square array of photosensors, and are used in a majority of single-chip image sensors. It uses twice as many green sensors as red or blue, to mimic the physiology of the human eye&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s algorithm&#039;&#039;&#039; is the theoretically best cache-replacement algorithm, one which discards information that will not be needed until the furthest time into the future (this is not usually knowable)&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s anomaly&#039;&#039;&#039; is the phenomenon in which increasing the number of page frames results in an &#039;&#039;increase&#039;&#039; in the number of page faults for certain memory access patterns, especially when using FIFO page replacement&lt;br /&gt;
* Bell-La Padula model&lt;br /&gt;
* the &#039;&#039;&#039;Bellman Equation&#039;&#039;&#039; specifies for a problem the necessary condition for optimality of dynamic programming&lt;br /&gt;
* Bellman-Ford Algorithm&lt;br /&gt;
* Beneš network&lt;br /&gt;
* Bentley-Ottman Algorithm&lt;br /&gt;
* Berlekamp-Massey Algorithm&lt;br /&gt;
* Berman–Hartmanis conjecture&lt;br /&gt;
* Bernstein chaining&lt;br /&gt;
* Bernstein conditions&lt;br /&gt;
* Biba Integrity Model&lt;br /&gt;
* Blinn-Phong shading&lt;br /&gt;
* Blom&#039;s Scheme&lt;br /&gt;
* Bloom filter&lt;br /&gt;
* Bluestein&#039;s FFT&lt;br /&gt;
* Blum&#039;s axioms&lt;br /&gt;
* Blum&#039;s Speedup Theorem&lt;br /&gt;
* Blum-Blum-Shub random number generator&lt;br /&gt;
* Boehm-Demers-Weiser garbage collector&lt;br /&gt;
* the &#039;&#039;&#039;Boolean&#039;&#039;&#039; data type takes on values of true or false, as do variables in George Boole&#039;s algebra&lt;br /&gt;
* Booth&#039;s Algorithm&lt;br /&gt;
* Borůvka&#039;s Algorithm&lt;br /&gt;
* Bowyer-Watson Algorithm&lt;br /&gt;
* Boyer-Moore Algorithm&lt;br /&gt;
* the &amp;lt;b&amp;gt;Brassard-Høyer-Tapp algorithm&amp;lt;/b&amp;gt; solves the collision problem on a quantum computer in O(n&amp;lt;sup&amp;gt;⅓&amp;lt;/sup&amp;gt;) queries&lt;br /&gt;
* Bremermann&#039;s Limit&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Adder&#039;&#039;&#039; is logn + O(log1/2n) depth and O(nlg n) size&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Algorithm&#039;&#039;&#039; detects cycles using two pointers, and finds the length of the cycle directly&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Method&#039;&#039;&#039; is a hybrid root-finding algorithm combining bisection, the secant method, and inverse quadratic interpolation&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Theorem&#039;&#039;&#039; aka &#039;&#039;&#039;Brent&#039;s Law&#039;&#039;&#039; states that p &amp;lt; N processors can simulate N in T&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; ≤ T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; + (T&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; - T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;)/p&lt;br /&gt;
* Bresenham&#039;s Algorithm&lt;br /&gt;
* Brewer&#039;s Theorem&lt;br /&gt;
* Brodal Queue&lt;br /&gt;
* Broder&#039;s Method&lt;br /&gt;
* Bron-Kerbosch Algorithm&lt;br /&gt;
* Brooks-Iyengar Algorithm&lt;br /&gt;
* Buchberger Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Burnside-Dixon Algorithm&#039;&#039;&#039; calculates irreducible representations of finite groups&lt;br /&gt;
* Burrows-Wheeler Transform&lt;br /&gt;
* Buzen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Callahan-Koblenz algorithm&lt;br /&gt;
* Cannon&#039;s Algorithm&lt;br /&gt;
* Cantor-Zassenhaus Algorithm&lt;br /&gt;
* Carmack&#039;s Reverse&lt;br /&gt;
* Catmull-Clark subdivision surfaces&lt;br /&gt;
* Chaff Algorithm&lt;br /&gt;
* Chaitin&#039;s algorithm&lt;br /&gt;
* Chaitin&#039;s Constant&lt;br /&gt;
* Chaitin-Briggs algorithm&lt;br /&gt;
* Chaitin–Kolmogorov random numbers&lt;br /&gt;
* Chakravala&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Chan&#039;s Algorithm&#039;&#039;&#039; computes the optimal h-point convex hull of n 2- or 3-dimensional points in O(nlgh)&lt;br /&gt;
* Chandy-Lamport Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Chang-Roberts Algorithm&#039;&#039;&#039; elects leaders for distributed systems.&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is an exact quantum algorithm for testing 2-junta&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is a single-writer, multiple-reader, wait-free lock using Compare-and-Swap&lt;br /&gt;
* the &#039;&#039;&#039;Chen-Teboulle Algorithm&#039;&#039;&#039; solves the proximal point algorithm efficiently for certain functions&lt;br /&gt;
* Cheney&#039;s Algorithm&lt;br /&gt;
* Chew&#039;s Second Algorithm&lt;br /&gt;
* Chien search&lt;br /&gt;
* &#039;&#039;&#039;Cholesky decomposition&#039;&#039;&#039; expands Hermitian positive-definite matrices into products of a lower triangular matrix and its conjugate transpose. solved using the Cholesky–Crout and Cholesky–Banachiewicz algorithms.&lt;br /&gt;
* Chomsky Hierarchy&lt;br /&gt;
* Chomsky Normal Form&lt;br /&gt;
* Chomsky-Schützenberger theorem&lt;br /&gt;
* Christofides Algorithm&lt;br /&gt;
* Church encoding&lt;br /&gt;
* Church-Rosser Theorem&lt;br /&gt;
* Church-Turing Thesis&lt;br /&gt;
* the &#039;&#039;&#039;[https://clifford.at/cliffords-device.html Clifford Device]&#039;&#039;&#039; exploits &amp;lt;tt&amp;gt;if(0)&amp;lt;/tt&amp;gt; to abstract block control via macros (note that e. g. [https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm N3355] calls this &amp;quot;Claire&#039;s Device&amp;quot; following a presumed transition, but Claire still seems to call it Clifford).&lt;br /&gt;
* Clos network&lt;br /&gt;
* Cobham Axioms&lt;br /&gt;
* Cobham&#039;s thesis&lt;br /&gt;
* Cocke-Younger-Kasami Algorithm&lt;br /&gt;
* Cohen-Sutherland algorithm&lt;br /&gt;
* &#039;&#039;&#039;Coffman conditions&#039;&#039;&#039; enumerate the four conditions necessary and sufficient for deadlock within a system (mutual exclusion, hold-and-wait, a lack of preemption, and circular wait)&lt;br /&gt;
* Commentz-Walter Algorithm&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Conway%27s_law Conway&#039;s Law]&lt;br /&gt;
* Cook reduction&lt;br /&gt;
* the &#039;&#039;&#039;Cook-Levin Theorem&#039;&#039;&#039; (sometimes just &#039;&#039;&#039;Cook Theorem&#039;&#039;&#039;) proves that the Boolean satisfiability problem is NP-complete.&lt;br /&gt;
* the &#039;&#039;&#039;Cooley-Tukey Algorithm&#039;&#039;&#039; is the workhorse algorithm for Fast Fourier Transforms.&lt;br /&gt;
* the &#039;&#039;&#039;Coppersmith-Winograd Algorithm&#039;&#039;&#039; multiplied matrices in the least time complexity from 1990-2010, and used the &amp;quot;laser method&amp;quot; employed by all improvements since.&lt;br /&gt;
* Craig, Landin and Hagersten lock&lt;br /&gt;
* Cranfield method&lt;br /&gt;
* (preconditioned) Crank–Nicolson Algorithm&lt;br /&gt;
* Crusader’s Convergence Algorithm&lt;br /&gt;
* Curry-Howard correspondence&lt;br /&gt;
* The &amp;lt;b&amp;gt;CVM algorithm&amp;lt;/b&amp;gt; (Chakraborty, Variyam, Meel) approximates the number of distinct elements in a large set&lt;br /&gt;
&lt;br /&gt;
* Dadda Multiplier&lt;br /&gt;
* Damerau-Levenshtein distance&lt;br /&gt;
* Damm Algorithm&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam Algorithm&amp;lt;/b&amp;gt; verifies formulas in first order logic using the resolution method from prepositional logic. It requires exponential space in the worst case, and only terminates for valid formulae.&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam-Logemann-Loveland Algorithm&amp;lt;/b&amp;gt; improves on the basic DP algorithm, requiring linear space in the worst case and terminating for all formulae.&lt;br /&gt;
* De Bruijn presentation&lt;br /&gt;
* De Bruijn string&lt;br /&gt;
* Dekker&#039;s Algorithm&lt;br /&gt;
* Delaunay&#039;s Triangulation&lt;br /&gt;
* Dennard Scaling&lt;br /&gt;
* Deutsch gate&lt;br /&gt;
* Diffie-Hellman Key Exchange&lt;br /&gt;
* Dijkstra&#039;s Algorithm&lt;br /&gt;
* Dinic&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;DiVincenzo&#039;s criteria&#039;&#039;&#039; specify conditions necessary for a quantum computer&lt;br /&gt;
* Dolev&#039;s Algorithm&lt;br /&gt;
* Doo-Sabin subdivision surface&lt;br /&gt;
* Duff&#039;s Device&lt;br /&gt;
* Dyck Language&lt;br /&gt;
&lt;br /&gt;
* Earle latch&lt;br /&gt;
* Earley Parser&lt;br /&gt;
* &#039;&#039;&#039;Edholm&#039;s law&#039;&#039;&#039; predicts doubling of bandwidth every 18 months across wireless, nomadic, and wired networks (and is getting some rather heavy lift from Moore&#039;s Law IMHO)&lt;br /&gt;
* &#039;&#039;&#039;Edmonds&#039;s matching algorithm&#039;&#039;&#039; constructs maximum matchings on graphs in O(|E||V|²)&lt;br /&gt;
* Edmonds-Karp Algorithm&lt;br /&gt;
* ElGamal encryption&lt;br /&gt;
* ElGamal signatures&lt;br /&gt;
* van Emde Boas trees&lt;br /&gt;
* Sieve of Eratosthenes&lt;br /&gt;
* the &#039;&#039;&#039;Eytzinger layout&#039;&#039;&#039; stores binary trees in an array in a cache-friendly manner&lt;br /&gt;
* Euclid&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fagin&#039;s Theorem&#039;&#039;&#039; states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP&lt;br /&gt;
* &#039;&#039;&#039;Falk diagrams&#039;&#039;&#039; graph various performance counters against time (typically expressed in cycles)&lt;br /&gt;
* Faugère F5 algorithm&lt;br /&gt;
* &#039;&#039;&#039;Fenwick trees&#039;&#039;&#039; support efficient update of elements and calculate prefix sums in a table of numbers&lt;br /&gt;
* Fiat-Shamir Heuristic&lt;br /&gt;
* Fibonacci Heap&lt;br /&gt;
* Fisher-Yates shuffle&lt;br /&gt;
* Flajolet-Martin algorithm&lt;br /&gt;
* Fletcher&#039;s Checksum &lt;br /&gt;
* Floyd&#039;s Algorithm&lt;br /&gt;
* Floyd-Steinberg dithering&lt;br /&gt;
* Flynn Taxonomy&lt;br /&gt;
* Ford-Fulkerson Algorithm&lt;br /&gt;
* Fortune&#039;s Algorithm&lt;br /&gt;
* Fox&#039;s Algorithm&lt;br /&gt;
* Fredkin gate&lt;br /&gt;
* Friedberg-Muchnik Theorem&lt;br /&gt;
* Fruchterman-Reingold heuristic&lt;br /&gt;
* &#039;&#039;&#039;Fürer&#039;s algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgn*2&amp;lt;sup&amp;gt;O(lg*n)&amp;lt;/sup&amp;gt;)&#039;&#039;&lt;br /&gt;
* the &#039;&#039;&#039;Ferguson-Forcade&#039;&#039;&#039; algorithm was the first for the integer relation problem (&amp;lt;i&amp;gt;Bull. Amer. Math 1979&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gabbay&#039;s separation theorem&lt;br /&gt;
* Gabow&#039;s Algorithm&lt;br /&gt;
* Gal&#039;s Accurate Tables&lt;br /&gt;
* Gale-Church Algorithm&lt;br /&gt;
* Gale-Shapley algorithm&lt;br /&gt;
* Gilbert-Johnson-Keerthi Algorithm&lt;br /&gt;
* Girard&#039;s Paradox&lt;br /&gt;
* Girvan-Newman Algorithm&lt;br /&gt;
* Givens rotation&lt;br /&gt;
* Glushkov Automata&lt;br /&gt;
* Goldreich-Goldwasser-Halevi scheme&lt;br /&gt;
* The weighted &#039;&#039;&#039;Gomory-Hu Tree&#039;&#039;&#039; of an undirected graph with capacities G represents the minimum s-t cuts for all s-t pairs in G, and is computable via |V|-1 maximum flow problems.&lt;br /&gt;
* Gordon–Newell theorem&lt;br /&gt;
* Gosper&#039;s Hack&lt;br /&gt;
* Gosper&#039;s Hypergeometric Algorithm&lt;br /&gt;
* Gosper&#039;s Loop Detection Algorithm&lt;br /&gt;
* Gouraud shading&lt;br /&gt;
* The &#039;&#039;&#039;Graham Scan&#039;&#039;&#039; solves for the convex hull of a set of points in &#039;&#039;O(NlgN)&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;Graham-Andrew Algorithm&#039;&#039;&#039; modifies the Graham Scan to solve for convex hulls in &#039;&#039;O(N)&#039;&#039; best case.&lt;br /&gt;
* Graham-Denning Model&lt;br /&gt;
* Gram–Schmidt process&lt;br /&gt;
* Gray codes&lt;br /&gt;
* Greibach Normal Form&lt;br /&gt;
* Grover&#039;s Algorithm&lt;br /&gt;
* Grzegorczyk hierarchy&lt;br /&gt;
* Guruswami-Sudan Algorithm&lt;br /&gt;
* Gustafson&#039;s Law&lt;br /&gt;
* &#039;&#039;&#039;Gutmann&#039;s Method&#039;&#039;&#039; is a 35-phase recipe for destroying data on ferromagnetic drives.&lt;br /&gt;
* Guttman-Rosler transform&lt;br /&gt;
&lt;br /&gt;
* Hamiltonian path problem&lt;br /&gt;
* Hamming code&lt;br /&gt;
* Hamming distance&lt;br /&gt;
* the &#039;&#039;&#039;Håstad, Just, Lagarias, and Schnorr (HJLS) algorithm&#039;&#039;&#039; improves on LLL for the integer relations problem (&amp;lt;i&amp;gt;SIAM J. Comput. 1989&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heap&#039;s algorithm&#039;&#039;&#039; generates all permutations of a set with minimum movement (&amp;lt;i&amp;gt;The Computer Journal 1963&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heckel&#039;s algorithm&#039;&#039;&#039; isolates changes between files, and is the basis for &amp;lt;tt&amp;gt;diff&amp;lt;/tt&amp;gt; [https://dl.acm.org/doi/10.1145/359460.359467 CACM 1978]&lt;br /&gt;
* Hennessy-Milner Logic&lt;br /&gt;
* Herlihy&#039;s wait-free hierarchy&lt;br /&gt;
* Hindley-Milner type system&lt;br /&gt;
* Hirschberg&#039;s Algorithm&lt;br /&gt;
* Hoare logic&lt;br /&gt;
* Holevo&#039;s Theorem&lt;br /&gt;
* Holland&#039;s schema theorem&lt;br /&gt;
* Hong-Kung bound&lt;br /&gt;
* Hopcroft-Karp Algorithm&lt;br /&gt;
* Hopfield net&lt;br /&gt;
* Horn clauses&lt;br /&gt;
* Hough transform&lt;br /&gt;
* Householder transformation&lt;br /&gt;
* Huet&#039;s Zipper&lt;br /&gt;
* Huffman coding&lt;br /&gt;
* Hunt-McIlroy Algorithm&lt;br /&gt;
&lt;br /&gt;
* Iliffe vector&lt;br /&gt;
* Immerman–Szelepcsényi theorem&lt;br /&gt;
&lt;br /&gt;
* Jackson network&lt;br /&gt;
* Jackson&#039;s theorem&lt;br /&gt;
* Jaro-Winkler distance&lt;br /&gt;
* Jefferson&#039;s Time Warp&lt;br /&gt;
* Jelinek-Mercer smoothing&lt;br /&gt;
* Jensen&#039;s Device&lt;br /&gt;
* Johnson&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Jonker-Volgenant Algorithm&#039;&#039;&#039; improves &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; to solve the assignment problem in O(n³), Jonker-Volgenant 1987&lt;br /&gt;
&lt;br /&gt;
* Kabsch Algorithm&lt;br /&gt;
* Kadane&#039;s Algorithm&lt;br /&gt;
* Kahan Summation Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kahn&#039;s Algorithm&#039;&#039;&#039; topologically sorts a graph in O(|V| + |E|), Kahn 1962&lt;br /&gt;
* Kannan&#039;s Theorem&lt;br /&gt;
* &#039;&#039;&#039;Karatsuba&#039;s Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;3&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Karger&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Karn&#039;s algorithm&#039;&#039;&#039; extracts accurate [[TCP]] RTT measures, Karn-Partridge 1987&lt;br /&gt;
* Karmarkar&#039;s algorithm&lt;br /&gt;
* Karnaugh map&lt;br /&gt;
* Karp reduction&lt;br /&gt;
* Karp-Flatt metric&lt;br /&gt;
* Karp-Lipton Theorem&lt;br /&gt;
* Kamada-Kawai algorithm&lt;br /&gt;
* Kernighan-Lin algorithm&lt;br /&gt;
* Kirkpatrick-Seidel Algorithm&lt;br /&gt;
* Kleene Closure&lt;br /&gt;
* Kleene Plus&lt;br /&gt;
* Kleene Star&lt;br /&gt;
* Kleene–Rosser Paradox&lt;br /&gt;
* Kneser-Ney smoothing&lt;br /&gt;
* Knuth Shuffle&lt;br /&gt;
* Knuth-Morris-Pratt Algorithm&lt;br /&gt;
* Koenig Lookup&lt;br /&gt;
* Kohonen Algorithm&lt;br /&gt;
* Kohonen network&lt;br /&gt;
* Kolmogorov complexity&lt;br /&gt;
* Koomey&#039;s Law&lt;br /&gt;
* Kosaraju&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Krapchenko&#039;s Adder&#039;&#039;&#039; is an improvement over Brent&#039;s Adder, linear (3n + 6*2m, m=⌈lg n⌉) in size and logn + O(log1/2n) depth (m + 7(2m)1/2+16, m = ⌈lg n⌉).&lt;br /&gt;
* Kruskal&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kryder&#039;s Law&#039;&#039;&#039; asserted that areal density doubles every thirteen months (this has not been true for some time). Also known as the &#039;&#039;Kryder rate&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; (also known as &#039;&#039;&#039;Kuhn-Munkres&#039;&#039;&#039;) solves the assignment problem in polynomial time, Kuhn 1955&lt;br /&gt;
* The &#039;&#039;&#039;&amp;amp;#91;Karush-&amp;amp;#93;Kuhn-Tucker conditions&#039;&#039;&#039; are a set of tests to determine whether an integer programming solution is optimal, Karush 1931 Kuhn-Tucker 1951&lt;br /&gt;
* Kung-Leiserson systolic array&lt;br /&gt;
* Kuroda Normal Form&lt;br /&gt;
&lt;br /&gt;
* Ladner&#039;s Theorem&lt;br /&gt;
* Lamport&#039;s Bakery Algorithm&lt;br /&gt;
* Lamport&#039;s Logical Clock&lt;br /&gt;
* Lamport&#039;s Hash&lt;br /&gt;
* Lamport timestamps&lt;br /&gt;
* Lee-Seung algorithm&lt;br /&gt;
* Lehmer random number generator&lt;br /&gt;
* Lehmer&#039;s GCD Algorithm&lt;br /&gt;
* Lempel-Ziv-Welch compression&lt;br /&gt;
* the &#039;&#039;&#039;Lenstra-Lenstra-Lovász (LLL)&#039;&#039;&#039; algorithm was the first for the integer relation problem that supplied proofs (Math Ann. 1982)&lt;br /&gt;
* Levenshtein automaton&lt;br /&gt;
* Levenshtein distance&lt;br /&gt;
* &#039;&#039;&#039;Levialdi&#039;s transform&#039;&#039;&#039; progressively and deterministically degrades a bitmap&lt;br /&gt;
* Levin reduction&lt;br /&gt;
* Liang-Barsky algorithm&lt;br /&gt;
* Lin-Kernighan Heuristic&lt;br /&gt;
* Linde-Buzo-Gray algorithm&lt;br /&gt;
* Ling adders&lt;br /&gt;
* Liskov&#039;s Substitution Principle&lt;br /&gt;
* Lloyd&#039;s algorithm&lt;br /&gt;
* Loop subdivision surfaces&lt;br /&gt;
* &#039;&#039;&#039;Loss-DiVincenzo machines&#039;&#039;&#039; are quantum computers based off electron spin as confined to quantum dots&lt;br /&gt;
* Luby&#039;s algorithm&lt;br /&gt;
* Luhn Algorithm&lt;br /&gt;
* Luleå Algorithm&lt;br /&gt;
&lt;br /&gt;
* Maekawa&#039;s Algorithm&lt;br /&gt;
* Mahaney&#039;s Theorem&lt;br /&gt;
* Manning algorithm&lt;br /&gt;
* Margolus gate&lt;br /&gt;
* Marzullo algorithm&lt;br /&gt;
* &#039;&#039;&#039;Matiyasevich&#039;s theorem&#039;&#039;&#039; proves that every [[Theory|recursively enumerable]] set is Diophantine, and thus proves that no algorithm exists for Hilbert&#039;s tenth problem&lt;br /&gt;
* McFarling-style branch predictor&lt;br /&gt;
* Mead-Conway Rules&lt;br /&gt;
* Mealy machine&lt;br /&gt;
* Mellor-Crummey and Scott lock&lt;br /&gt;
* Merkle–Damgård construction&lt;br /&gt;
* The &#039;&#039;&#039;Metropolis-Hastings algorithm&#039;&#039;&#039; for MCMC obtains samples from a probability distribution that is [https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm difficult to directly sample]&lt;br /&gt;
* &#039;&#039;&#039;Meyer&#039;s flooding algorithm&#039;&#039;&#039; computes the [https://en.wikipedia.org/wiki/Watershed_(image_processing) watershed] for an image&lt;br /&gt;
* Miller-Rabin Primality Test&lt;br /&gt;
* Minsky-Fenichel-Yochelson Algorithm&lt;br /&gt;
* Montgomery reduction&lt;br /&gt;
* Moore machine&lt;br /&gt;
* Moore&#039;s Law&lt;br /&gt;
* Morgensen-Scott encoding&lt;br /&gt;
* Möller-Trumbore algorithm&lt;br /&gt;
&lt;br /&gt;
* Nagle&#039;s algorithm&lt;br /&gt;
* Nassi-Shneiderman diagram&lt;br /&gt;
* Needham-Schroeder Protocol&lt;br /&gt;
* Needleman-Wunsch Algorithm&lt;br /&gt;
* Neuman-Stubblebine Protocol&lt;br /&gt;
* &#039;&#039;&#039;von Neumann architecture&#039;&#039;&#039; aka stored-program architecture keeps instructions in the same memory as data (as opposed to Harvard architecture, which keeps the two distinct). Popularized by von Neumann, but largely based on Eckert and Mauchly&#039;s work on the ENIAC.&lt;br /&gt;
* Nevill-Manning algorithm&lt;br /&gt;
* Nick&#039;s Class&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s law&#039;&#039;&#039; predicts slower growth for home bandwidth than computing power, suggesting that user experience will remain bandwidth-bound&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s usability heuristics&#039;&#039;&#039; are ten (rather debatable) guidelines forming a usability heuristic for interface design&lt;br /&gt;
* Nisan&#039;s Generator&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ogden&#039;s lemma&#039;&#039;&#039; extends the pumping lemma to context-free languages&lt;br /&gt;
* &#039;&#039;&#039;Otsu&#039;s Method&#039;&#039;&#039; is used to perform automatic image thresholding&lt;br /&gt;
* &#039;&#039;&#039;Ousterhout&#039;s dichotomy/fallacy&#039;&#039;&#039; is a taxonomy of &#039;&#039;systems&#039;&#039; vs &#039;&#039;scripting&#039;&#039; languages&lt;br /&gt;
* Otway-Rees Protocol&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Paeth-Tanaka Algorithm&#039;&#039;&#039; rotates images via a method of three shears&lt;br /&gt;
* &#039;&#039;&#039;Paeth Filter&#039;&#039;&#039; performs 2D image compression in PNG&lt;br /&gt;
* PageRank Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Parikh&#039;s theorem&#039;&#039;&#039; shows that a context free language that doesn&#039;t consider order of its terminal symbols can be expressed as a regular language, proving the existence of inherently ambiguous CFLs and that CFLs over singleton alphabets are regular. JACM 1966&lt;br /&gt;
* Peterson&#039;s Algorithm&lt;br /&gt;
* Petri nets&lt;br /&gt;
* Petrick&#039;s method&lt;br /&gt;
* Phong shading&lt;br /&gt;
* Plotkin&#039;s Sticky Bit&lt;br /&gt;
* &#039;&#039;&#039;Plouffe&#039;s Inverter&#039;&#039;&#039; was an early symbolic inverter for floating point numbers&lt;br /&gt;
* Pollaczek–Khinchine formula&lt;br /&gt;
* Pollard&#039;s Kangaroo Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Pollard&#039;s ρ Algorithm&#039;&#039;&#039; aka &#039;&#039;&#039;Pollard&#039;s rho Algorithm&#039;&#039;&#039; factors integers in running time expected to be proportional to the square root of the smallest prime factor of the number being factored&lt;br /&gt;
* Popek-Goldberg virtualization requirements&lt;br /&gt;
* Post&#039;s correspondence problem&lt;br /&gt;
* &amp;lt;b&amp;gt;Post&#039;s Lattice&amp;lt;/b&amp;gt; is the lattice of all clones on {0,1}, ordered by inclusion. It is used to prove sets of connectives to be functionally complete (e.g. NAND and NOR both generate functionally complete Boolean algebras).&lt;br /&gt;
* Postel&#039;s Law&lt;br /&gt;
* Prim&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Proebsting&#039;s Law&#039;&#039;&#039; claims that compiler technology doubles computing power [http://proebsting.cs.arizona.edu/law.html every 18 years]&lt;br /&gt;
* Prüfer Coding&lt;br /&gt;
* Prüfer Sequence&lt;br /&gt;
&lt;br /&gt;
* Quines&lt;br /&gt;
* Quine-McLuskey algorithm&lt;br /&gt;
&lt;br /&gt;
* Rabin Automata&lt;br /&gt;
* Rabin&#039;s Information Dispersal Algorithm&lt;br /&gt;
* Rabin-Karp Algorithm&lt;br /&gt;
* Rader-Brenner Algorithm&lt;br /&gt;
* Radovic-Hagersten lock&lt;br /&gt;
* the &#039;&#039;&#039;Ramer-Douglas-Peucker algorithm&#039;&#039;&#039; decimates a series of line segments to a similar series of fewer line segments (1973)&lt;br /&gt;
* Raymond&#039;s Algorithm&lt;br /&gt;
* Reed-Muller code&lt;br /&gt;
* Reed-Solomon correction code&lt;br /&gt;
* Reingold&#039;s logspace Algorithm&lt;br /&gt;
* Ricart-Agrawala Algorithm&lt;br /&gt;
* Rice&#039;s Theorem&lt;br /&gt;
* Rice-Shapiro Theorem&lt;br /&gt;
* Risch Algorithm&lt;br /&gt;
* Rivest-Shamir-Adleman Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Rocchio&#039;s Algorithm&#039;&#039;&#039; classifies information relevance using nearest centroids&lt;br /&gt;
* Ruppert&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sattolo&#039;s Algorithm&#039;&#039;&#039; generates a 1-cyclic derangement of an array (a permutation such that every element ends up in a new position)&lt;br /&gt;
* Savitch&#039;s Theorem&lt;br /&gt;
* Schensted Algorithm&lt;br /&gt;
* Schlick&#039;s approximation&lt;br /&gt;
* The &#039;&#039;&#039;Schönhage–Strassen algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgnlglgn)&#039;&#039; bit complexity using FFTs&lt;br /&gt;
* Schoof&#039;s Algorithm&lt;br /&gt;
* Schreier-Sims Algorithm&lt;br /&gt;
* Schwartzian transform&lt;br /&gt;
* Sethi-Ullman Algorithm&lt;br /&gt;
* Shamir&#039;s Secret Sharing Scheme&lt;br /&gt;
* Shamos-Hoey Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Shar&#039;s Algortihm&#039;&#039;&#039; is a variation on the uniform binary search of Knuth.&lt;br /&gt;
* Shor&#039;s Algorithm&lt;br /&gt;
* Sipser–Lautemann theorem&lt;br /&gt;
* &#039;&#039;&#039;Smith&#039;s Algorithm&#039;&#039;&#039; hashes the program counter to n bimodal (saturating) k-bit counters for dynamic branch prediction (1981)&lt;br /&gt;
* Smith-Waterman algorithm&lt;br /&gt;
* Solomonoff-Levin distribution&lt;br /&gt;
* Steensgaard&#039;s Algorithm&lt;br /&gt;
* Stehlé-Zimmermann algorithm&lt;br /&gt;
* &#039;&#039;&#039;Steiner tree problems&#039;&#039;&#039; are a class of combinatorial optimization problems involving determining the optimal interconnect of a graph under some objective function.&lt;br /&gt;
* the &#039;&#039;&#039;Steinhaus-Johnson-Trotter algorithm&#039;&#039;&#039; generates all permutations of a set (&amp;lt;i&amp;gt;CACM 1964&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Strassen&#039;s Algorithm&lt;br /&gt;
* Suurballe&#039;s Algorithm&lt;br /&gt;
* Sweeney-Robertson-Tocher division algorithm&lt;br /&gt;
&lt;br /&gt;
* Tarjan&#039;s Algorithm&lt;br /&gt;
* Tarjan&#039;s Dynamic Tree&lt;br /&gt;
* Tarjan&#039;s Least Common Ancestors Algorithm&lt;br /&gt;
* The nondeterministic &#039;&#039;&#039;Tarski–Kuratowski algorithm&#039;&#039;&#039; produces an upper bound for the complexity of a given formula in the arithmetical hierarchy and analytical hierarchy.&lt;br /&gt;
* Thompson Automata&lt;br /&gt;
* Timsort&lt;br /&gt;
* Toda&#039;s theorem&lt;br /&gt;
* Todd–Coxeter algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Toffoli gate&#039;&#039;&#039; aka CCNOT is a 3-to-3 universal reversible gate (all other reversible gates can be constructed from it). there is no smaller universal set of reversible gates (the only reversible gates in 1 or 2 inputs are identity, NOT, and CNOT).&lt;br /&gt;
* Tomasulo&#039;s AlgorithmRemember&lt;br /&gt;
* Tonelli-Shanks Algorithm&lt;br /&gt;
* The &#039;&#039;&#039;Toom-Cook Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log(5)/log(3)&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Tupper&#039;s self-referential formula&lt;br /&gt;
* Turing Degree&lt;br /&gt;
* &#039;&#039;&#039;Turing Machines&#039;&#039;&#039; were used to prove the undecidability of the Entscheidungsproblem in 1936, and have persisted as a rather less elegant model of computation than Church&#039;s λ-calculus.&lt;br /&gt;
* the &#039;&#039;&#039;Turing Test&#039;&#039;&#039;, originally the &amp;quot;imitation game&amp;quot;, was proposed by Turing as a means of evaluating conversational artificial intelligence via questions-and-answers on a text channel. Its use as a diagnostic is debatable at best.&lt;br /&gt;
&lt;br /&gt;
* Ukkonen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Valiant-Vazirani Theorem&lt;br /&gt;
* Van Jacobson Channels&lt;br /&gt;
* Van Wijngaarden Grammars&lt;br /&gt;
* Verhoeff Algorithm&lt;br /&gt;
* Viola-Jones face detection&lt;br /&gt;
* Viterbi algorithm&lt;br /&gt;
* Volder&#039;s algorithm&lt;br /&gt;
&lt;br /&gt;
* Wagner-Fischer Algorithm&lt;br /&gt;
* Wallace Multiplier&lt;br /&gt;
* Wallace tree&lt;br /&gt;
* Warnsdorff&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Welford&#039;s Algorithm&#039;&#039;&#039; is a stable online algorithm for computing mean and estimated variance&lt;br /&gt;
* The &#039;&#039;&#039;Williams State Machine&#039;&#039;&#039; is a common [https://vt100.net/emu/dec_ansi_parser parsing automaton] for DEC virtual terminal input&lt;br /&gt;
* Winograd&#039;s Algorithm&lt;br /&gt;
* Witten-Bell smoothing&lt;br /&gt;
* Wu&#039;s Line Algorithm&lt;br /&gt;
* Wu-Manber Algorithm&lt;br /&gt;
* Wyllie&#039;s List Ranking&lt;br /&gt;
&lt;br /&gt;
* Yao&#039;s Principle&lt;br /&gt;
* &#039;&#039;&#039;Yeh&#039;s Algorithm&#039;&#039;&#039; is a two-level adaptive training algorithm designed by Yeh and Patt in 1991. A branch history register is used to maintain branch behavior for a specific pattern of branch history, and 4-bit counters are used for each BTB set.&lt;br /&gt;
&lt;br /&gt;
* Zhu-Takaoka Algorithm&lt;br /&gt;
* Zimmermann-Sassaman key-signing protocol&lt;br /&gt;
* Zobrist hashing&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Hack_on&amp;diff=12293</id>
		<title>Hack on</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Hack_on&amp;diff=12293"/>
		<updated>2026-04-22T10:53:18Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==&#039;&#039;&#039;rien n&#039;est simple, mais tout est facile&#039;&#039;&#039;==&lt;br /&gt;
this is the wiki of [mailto:dankamongmen@gmail.com nick black] (aka [[User:Dank|dank]]), located at [[LOC record|33°46′44.4&amp;quot;N, 84°23&#039;2.4&amp;quot;W (33.779, 85.384)]] in the heart of [[Atlanta|midtown atlanta]]. dankwiki&#039;s [https://www.youtube.com/watch?v=i2tukPoF2ww rollin&#039; wit&#039; you], though i make no guarantees of its correctness, nor its relevance, nor its timeliness. track changes using the [[Special:RecentChanges|recent changes]] page. i&#039;ve revived [[dankblog|DANKBLOG]], this wiki and [[Grad_school|grad school]] having not satisfied ye olde &#039;&#039;furor scribendi&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
hack the planet! don&#039;t mistake my kindness for weakness.&lt;br /&gt;
&lt;br /&gt;
i primarily write to force my own understanding, and remember things (a &#039;&#039;few&#039;&#039; entries are actually semi-authoritative). i&#039;m just a [http://en.wikipedia.org/wiki/The_Rime_of_the_Ancient_Mariner disreputable Mariner] on your way to the Wedding. &#039;&#039;&#039;if you derive use from this wiki, consider yourself lucky, and please get confirmation before relying on my writeups to perform surgery, design spacecraft, determine whether a graph &#039;&#039;G&#039;&#039; is an [https://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture#Deterministic_query_complexity Aanderaa–Rosenberg scorpion], or feed your pet rhinoceros.&#039;&#039;&#039; do not proceed if allergic to linux, postmodern literature, nuclear physics, or cartoonish supervillainy. ■&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Projects|projects?]]==&lt;br /&gt;
Nothing that&#039;s any good works by itself, just to please you; you&#039;ve got to make the Damned Thing work.&lt;br /&gt;
&lt;br /&gt;
* Still growing! The world&#039;s largest(?) collection of [[computer science eponyms]].&lt;br /&gt;
* [[Notcurses]], a library for blingful TUIs and character graphics&lt;br /&gt;
* I created and taught CS4803UWS, &amp;quot;[[UNIX Weapons School]]&amp;quot;, Summer 2013 at Georgia Tech.&lt;br /&gt;
* [[Hackery]]! (projects and open source work). The [[Personal machines|machines]]. Matrix of [[large cases]] and [[Titanium_power_supplies|Titanium PSUs]].&lt;br /&gt;
* The [[WORDHORDE]]. Some [[book ideas|books]] I&#039;d like to write. Too many [[morphisms]]!&lt;br /&gt;
* An ambitious [[Decay_chart|chart of decays]].&lt;br /&gt;
* [[Grad school]] and [[CS GRE]] prep pages. You can&#039;t have grad school without [[LaTeX|XeLaTeX]]!&lt;br /&gt;
* [[Elemental naming]] and good [[wordlist|words]]. Ramblings on [[Dankblog|DANKBLOG]].&lt;br /&gt;
* [[BlackBerry]] crap. F&#039;n [[bookshelves]]. [[PC_Fans|Fans]] from [[Noctua]], of whom I am a fan.&lt;br /&gt;
* What does worldwide [[TaB|TaB®]] consumption have to do with [[nuclear weapons]]?&lt;br /&gt;
* I found myself playing a lot of [[Pokémon_Go|Pokémon Go]] in 2025, rather to my surprise.&lt;br /&gt;
* My grad school [[:Media:CS8803MCAPresentation.pdf|presentations]] tended to [[:Media:CS8803DCPresentationKlaiber.pdf|run slightly]], just a little, [[:Media:CS8803DCPresentationGschwind.pdf|unorthodox]]...&lt;br /&gt;
** enjoy the ghastly background of my [[:Media:Libtorque-presentation.pdf|masters thesis]] presentation&lt;br /&gt;
** ...yep, [[Trail of Frames|still weird]] (invited lecture for the opening of [https://wiki.freesideatlanta.org/fs/Info Freeside Atlanta])&lt;br /&gt;
** professionally weird! [[:Media:Public_LPC2015_-_Dynamic_iSCSI_at_Scale-_Remote_paging_at_Google.pdf|&amp;quot;Dynamic iSCSI at Scale&amp;quot;]] for Google ([https://blog.linuxplumbersconf.org/2015/ 2015 Linux Plumbers&#039; Conference])&lt;br /&gt;
** [[:Media:Pwl09.pdf|&amp;quot;Miscompiling Programs with &#039;Benign&#039; Data Races&amp;quot;]] for [https://www.meetup.com/Papers-We-Love-Atlanta/events/bhvjlpyxnbmb/ Papers We Love Atlanta #9] 2018-10-09&lt;br /&gt;
** [[:Media:Multire.pdf|&amp;quot;Efficiently Matching Multiple Regular Expressions&amp;quot;]] for BetterCloud 2013-12-06&lt;br /&gt;
** &amp;quot;[https://mdco2.mini.debconf.org/talks/6-notcurses-making-terminals-do-things-that-were-never-intended/ Making Terminals do Things Never Intended]&amp;quot; for [[Debian]] [https://mdco2.mini.debconf.org/ MiniDebConf #2] 2020-11-20&lt;br /&gt;
** &amp;quot;[https://nick-black.com/tabpower/notcurses-fosdem-2021.pdf Notcurses: Blingful TUIs and Character Graphics]&amp;quot; for [https://fosdem.org/2021/ FOSDEM 2021] 2021-02-06&lt;br /&gt;
** &amp;quot;[https://debconf21.debconf.org/talks/3-proposing-a-new-d-i-disk-preparation-tool-growlight/ Proposing a New D-I Disk Preparation Tool]&amp;quot; for [https://debconf21.debconf.org/ DebConf21] 2021-08-28&lt;br /&gt;
** &amp;quot;[[:Media:Black - Fast Linux Networking 2023.pdf|Fast Linux Networking: DPDK and XDP]]&amp;quot; for Microsoft Azure Orbital 2023-02-03&lt;br /&gt;
** &amp;quot;[[:Media:Self-publishing_and_nuclear_secrets.pdf|Self-publishing and nuclear secrets]]&amp;quot; 2024-01-27 release party for &amp;lt;i&amp;gt;[https://midnightssimulacra.com midnight&#039;s simulacra]&amp;lt;/i&amp;gt;&lt;br /&gt;
* My video channel, [[DANKTECH]].&lt;br /&gt;
* Other people&#039;s [[repositories|projects]]. Other people&#039;s [[programming quotes]]. ■&lt;br /&gt;
&lt;br /&gt;
==unix==&lt;br /&gt;
[[File:LookForAnswers.jpg|right|thumb|link=https://nick-black.com/dankwiki/images/5/5b/LookForAnswers.jpg|i like to stay up late on the computer, looking for answers.]]&lt;br /&gt;
* Writing high-performance, scalable [[Fast UNIX Servers|UNIX system applications]] is my greatest passion.&lt;br /&gt;
* [[Linux APIs]], [[FreeBSD APIs]], [[ELF]] (which is not, in itself, an API).&lt;br /&gt;
* [[Power Management]]. [[Sound Software]], [[Using Unicode]].&lt;br /&gt;
* Keeping FreeBSD [[Updating FreeBSD|up-to-date]]. Hacking [[CUDA]] on [[Debian]].&lt;br /&gt;
* [[Debian]], [[Xorg hell]], [[Consoles]] and [[Framebuffer|Framebuffers]]. [[Systemd]] and [[DBus]]. Making graphs with [[dot]].&lt;br /&gt;
* Notes on [[MediaWiki editing|editing]] and [[MediaWiki|running MediaWiki]]. [[Core]] files happen when one dances fandango on [[core]].&lt;br /&gt;
* Notes on [[subversion]], but my biggest note would be to use [[git]].&lt;br /&gt;
* [[Linux on Dells]], [[SMART]] and [[SATA]], [[udev]], various linux-related [[hardware detritus]] (mainly random personal crap).&lt;br /&gt;
&lt;br /&gt;
did autistic people design this software? BECAUSE I&#039;M STARTING TO LOVE IT. ■&lt;br /&gt;
&lt;br /&gt;
==remarks regarding computers &amp;amp;c==&lt;br /&gt;
* [[glibc]], other [[interesting libraries]], [[working with libraries]], some implementing interfaces like [[pthreads]].&lt;br /&gt;
* [[X Macros]], [[ISO C18]], [[rpaths]], [[GCC|gcc]] notes, [[GNU Make|gmake]] notes.&lt;br /&gt;
* a [[Book_list_for_streetfighting_computer_scientists|book list]] for streetfighting coders&lt;br /&gt;
* There&#039;s [[Buses and Ports]], of course, of course.&lt;br /&gt;
* Intel&#039;s [[Sandy Bridge]] and [[Nehalem]] x86 [[microarchitectures]].&lt;br /&gt;
** or, if you&#039;d prefer, [[Transmeta|Transmeta&#039;s]] or [[Tilera|Tilera&#039;s]] processors.&lt;br /&gt;
** It&#039;s dangerous to go alone! Take [[microcode]].&lt;br /&gt;
* The [[cpuid]] instruction, [[SMP on x86]], [[Performance Counters]], [[simulators]].&lt;br /&gt;
** Simulators ought not be confused with the [[4000 Linux VT Solutions|4,000 Linux VT Solutions]]!&lt;br /&gt;
* Getting into [[ARM]] (which is everywhere, including [[Raspberry Pi|Raspberry Pis]]).&lt;br /&gt;
* Getting into [[ACPI]]. Getting into [[Arduino]]. Getting into [[Architecture]].&lt;br /&gt;
** I want a (PIVT, middle-endian, 27-bit word) MISD machine; until then, there&#039;s [[SIMD]].&lt;br /&gt;
* [[Lamport&#039;s Hash]], [[Skip Lists]], I will put thoughts about [[automata|automata here]], [[Dijkstran Method]].&lt;br /&gt;
* [[ROS]] seems a pretty good way to write robots, and one day automate luvvvvv&lt;br /&gt;
* [[Flash]] sucks. Need get a handle on [[Compiler Design]] by tomorrow&#039;s midterm.&lt;br /&gt;
** Now it&#039;s [[Programming Language Theory]] by tomorrow&#039;s final, heh.&lt;br /&gt;
* [[Trees]] for smoking and computing. [[Lock-free algorithms|lock- and wait-free]] algorithms. [[Cache-oblivious algorithms]]. [[RCU]].&lt;br /&gt;
* [[Allocators]] get us that free store, son (usually through a [[DRAM]]-backed VM)!&lt;br /&gt;
** Said VM &#039;&#039;might&#039;&#039; implement [[transactional memory]], and &#039;&#039;almost certainly&#039;&#039; works on [[pages]].&lt;br /&gt;
* Via [[Grover&#039;s Algorithm]], we might be able to discover the monster at the end of this quantum book.&lt;br /&gt;
* While we&#039;re at it, [[timer wheels]] and even [[x86 timing]].&lt;br /&gt;
* Let&#039;s get bipartite, bipartite...with [[bip buffers]].&lt;br /&gt;
* I don&#039;t much care for writing [[Gecko Addons]] (aka [http://www.mozilla.com/en-US/firefox/upgrade.html FireFox plugins]).&lt;br /&gt;
* [[Blum&#039;s axioms]] and [[Rice&#039;s Theorem]] are both named after people smarter than me...&lt;br /&gt;
** ...as are [[Chaitin&#039;s Constant]] and [[Kolmogorov complexity]], and [[Computer science eponyms|lots of other junk]]. ■&lt;br /&gt;
&lt;br /&gt;
==networking==&lt;br /&gt;
* Please adhere to the various [[Standards#Networking_standards|standards]] (even where [https://en.wikipedia.org/wiki/Base64#Variants_summary_table mutually contradictory])&lt;br /&gt;
** As one judge said to another, &#039;&#039; &#039;Be just, and if you can&#039;t be just, be arbitrary.&#039; &#039;&#039;&lt;br /&gt;
* [[Topology Discovery]]. Online tools for [[Internet analytics]].&lt;br /&gt;
* [[SSHFP]] and [[LOC record|LOC]] records. [[DNSSEC]]. The Sender Policy Framework ([[SPF]]). [[VoIP]] and telephony, NAPTR records.&lt;br /&gt;
* Some [[TCP]] notes. [[Syncookies]]. Radio of the [[SDR|software-defined]] kind.&lt;br /&gt;
* [[ARP]] is no longer used in [[IPv6]], which more fully embraces [[Zeroconf|zero-configuration networking]].&lt;br /&gt;
* [[ICAP]] page. [[Tunneling]] (perhaps over [[VXLAN]]), [[SNMP]], [[NFS]]...&lt;br /&gt;
* I don&#039;t drive, but when I do, I drive via reverse engineered [[CAN bus|CAN buses]].&lt;br /&gt;
* [[QMI]] replaces the venerable Hayes command set aka &amp;quot;AT commands&amp;quot; for modems&lt;br /&gt;
* [https://nick-black.com/BIginternet Mirror] of the BIg-Internet list from ftp://munnari.oz.au&lt;br /&gt;
* [[Van Jacobson Channels]] get everybody all [[DPDK|hooting]] and [[XDP|hollaring]] every decade or so.&lt;br /&gt;
* My FCC callsign is [https://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?licKey=5060966 KQ4ZNN]. ■&lt;br /&gt;
&lt;br /&gt;
==QEMFD! ([http://en.wikipedia.org/wiki/Q.E.D. wikipedia], [http://mathworld.wolfram.com/QED.html wolfram]) also provides...==&lt;br /&gt;
* A page for our 2015 [https://nick-black.com/wedding/ hax0r wedding], the event of the century&lt;br /&gt;
** There is no page for our 2020 divorce, natch&lt;br /&gt;
* Documentation for [https://www.notcurses.com Notcurses], my poorly-named but always-rockin&#039; console graphics library &lt;br /&gt;
* [https://www.dsscaw.com Dirty South Supercomputing], my [[WeWork|Tech Square consultancy]], launched 2019&lt;br /&gt;
* The [https://nick-black.com/processorzoo.html Processor Zoo], which has been wildly surpassed by [https://en.wikichip.org/wiki/WikiChip WikiChip]&lt;br /&gt;
* [https://nick-black.com/blog/ Sprezzablog] from my now-defunct but forever-beloved Linux distribution SprezzOS&lt;br /&gt;
&lt;br /&gt;
still have any [[Questions|questions?]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;quod erat motherfucking demonstrandum!&#039;&#039;&#039;&#039;&#039; ■&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;quot;I have never known a greater monster nor miracle than myself.&amp;quot; — Michel de Montaigne&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=dankwiki, the wiki of nick black&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=nick,black,dank,dankamongmen,dankwiki,blackwiki,notcurses,unix,nuclear,supervillain,growlight,omphalos,sprezzos,dsscaw&lt;br /&gt;
|description=Nick Black of Atlanta and his personal wiki of linux, computers, postmodern literature, nuclear physics, and cartoonish supervillainy.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Morphisms&amp;diff=12292</id>
		<title>Morphisms</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Morphisms&amp;diff=12292"/>
		<updated>2026-04-22T10:42:31Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a [https://en.wikipedia.org/wiki/Morphism morphism] is a structured, composable mapping. we&#039;re using category theory definitions here, but where the term is used elsewhere, i&#039;ll try to note that.&lt;br /&gt;
&lt;br /&gt;
* morphism: a structure-preserving relationship&lt;br /&gt;
** operating on a source and target (often called domain and codomain)&lt;br /&gt;
** with the partial binary composition operator represented by ∘&lt;br /&gt;
*** this operator is associative, and respects identity&lt;br /&gt;
** a category is made up of the class of objects (often sets) and class of morphisms (often functions).&lt;br /&gt;
* anamorphism&lt;br /&gt;
* catamorphism&lt;br /&gt;
* diffeomorphism&lt;br /&gt;
* endomorphism: a morphism with identical source and target&lt;br /&gt;
* epimorphism&lt;br /&gt;
* homomorphism&lt;br /&gt;
* homeomorphism&lt;br /&gt;
* hylomorphism&lt;br /&gt;
* isomorphism&lt;br /&gt;
* paramorphism&lt;br /&gt;
* monomorphism: a left-cancellative morphism&lt;br /&gt;
** often called a &amp;quot;mono&amp;quot;. monomorphic behavior is often called &amp;quot;monic&amp;quot;.&lt;br /&gt;
** in algebra, an injective homomorphism&lt;br /&gt;
* bimorphism: both an epimorphism and a monomorphism&lt;br /&gt;
* automorphism: both an endomorphism and an isomorphism&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12291</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12291"/>
		<updated>2026-04-22T10:41:11Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* cruciarius - one who is crucified&lt;br /&gt;
* autothysis - suicidal altruism, when a eusocial animal explodes for the better of the hive&lt;br /&gt;
* murmuration - the collective movement of flocks of starlings, particularly during twilight&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Morphism terminology==&lt;br /&gt;
{{:Morphisms}}&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12290</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12290"/>
		<updated>2026-04-21T03:44:57Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* cruciarius - one who is crucified&lt;br /&gt;
* autothysis - suicidal altruism, when a eusocial animal explodes for the better of the hive&lt;br /&gt;
* murmuration - the collective movement of flocks of starlings, particularly during twilight&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12289</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12289"/>
		<updated>2026-04-18T05:28:57Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* autothysis - suicidal altruism, when a eusocial animal explodes for the better of the hive&lt;br /&gt;
* murmuration - the collective movement of flocks of starlings, particularly during twilight&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12288</id>
		<title>NFS</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12288"/>
		<updated>2026-04-14T18:43:47Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* procfs support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I assumed back in 2001 or so that by 2011 we&#039;d have something better than crufty old NFS3, an NFS4 that no man understands in full, five half-implemented network file systems with stupid names, Solaris&#039;s WebNFS terroristic threat, and the aesthetic marvel that is CIFS. Alas, I assumed too much.&lt;br /&gt;
&lt;br /&gt;
NFS version 2 was specified in RFC 1094. Version 3 was RFC 1813, and version 4 was RFC 3530.&lt;br /&gt;
&lt;br /&gt;
Relevant man pages include &amp;lt;tt&amp;gt;exports(5)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nfs(5)&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;nfs.conf(5)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==NFSv4-only==&lt;br /&gt;
So long as you&#039;re only running NFSv4, you don&#039;t need &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt;. Edit &amp;lt;tt&amp;gt;/etc/nfs.conf&amp;lt;/tt&amp;gt;, and add &amp;lt;tt&amp;gt;vers3=n&amp;lt;/tt&amp;gt; under the &amp;lt;tt&amp;gt;[nfsd]&amp;lt;/tt&amp;gt; section. You can now disable the &amp;lt;tt&amp;gt;rpc-statd-notify&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpcbind.socket&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt; services.&lt;br /&gt;
&lt;br /&gt;
==[[proc|procfs]] support==&lt;br /&gt;
&amp;lt;tt&amp;gt;/proc/fs/nfsfs&amp;lt;/tt&amp;gt; on the client side contains the files &amp;lt;tt&amp;gt;servers&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;volumes&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;tt&amp;gt;/proc/fs/nfsd&amp;lt;/tt&amp;gt; on the server side contains (among others):&lt;br /&gt;
* &amp;lt;tt&amp;gt;exports&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client(Flags) # IPs&lt;br /&gt;
/media/qwopino	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=63610aa9:00fab279:00000000:00000000,sec=1)&lt;br /&gt;
/media/qwop	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=423e8da5:00c36ed2:00000000:00000000,sec=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;export_stats&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client Start-time&lt;br /&gt;
#	Stats&lt;br /&gt;
/media/qwopino	*	3128&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 662700032&lt;br /&gt;
	io_write: 0&lt;br /&gt;
&lt;br /&gt;
/media/qwop	*	2293&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 218136576&lt;br /&gt;
	io_write: 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;versions&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;-3 +4 -4.0 +4.1 +4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;portlist&amp;lt;/tt&amp;gt; (useful for configuring firewalls):&lt;br /&gt;
&amp;lt;pre&amp;gt;tcp 2049&lt;br /&gt;
tcp 2049&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clients/&amp;lt;/tt&amp;gt;: a directory with one file per active mount&lt;br /&gt;
&lt;br /&gt;
==Sideband protocols==&lt;br /&gt;
===NLM===&lt;br /&gt;
The Network Lock Manager (not to be confused with Netware Loadable Modules) provides byte-range advisory (SysV-style) locking. This is built into NFS4 by default. It can be enabled and disabled using the &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nolock&amp;lt;/tt&amp;gt; mount options, respectively. Linux uses TCP by default for NLM.&lt;br /&gt;
* The no_auth_nlm exports option inhibits UID/GID credential check enforcement on lock requests, necessary for clients which don&#039;t preserve UID/GID across locking calls&lt;br /&gt;
** The default behavior can be specified with auth_nlm or secure_locks&lt;br /&gt;
* Linux&#039;s NLM lock recovery only works if &amp;lt;tt&amp;gt;uname -n&amp;lt;/tt&amp;gt; output matches reverse DNS output for your host.&lt;br /&gt;
** Don&#039;t ask me, man; I didn&#039;t do it.&lt;br /&gt;
* NLM lock recovery also requires the rpc.statd process to be running, despite executing as a kernel service&lt;br /&gt;
* NLM requires clients to have correct reverse DNS entries for server reboot notification to function properly&lt;br /&gt;
===NFSACL===&lt;br /&gt;
An extension originating in Solaris for use of POSIX ACL&#039;s (NFS4 introduces its own, richer ACLs). It can be enabled and disabled using the &amp;lt;tt&amp;gt;acl&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;noacl&amp;lt;/tt&amp;gt; mount options, respectively (Linux otherwise negotiates with the server to autodetect support). NFSACL uses the same transport as the main NFS service.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* The [http://nfs.sourceforge.net/ Linux NFS FAQ] and [http://nfs.sourceforge.net/nfs-howto/ NFS-HowTo]&lt;br /&gt;
* [http://nfswatch.sourceforge.net/ NFSwatch] for monitoring and summarizing NFS traffic&lt;br /&gt;
* [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/configuring-an-nfsv4-only-server_managing-file-systems Configuring an NFSv4-Only Server] on Fedora&lt;br /&gt;
* [https://wiki.archlinux.org/title/NFS NFS] on ArchWiki&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: Networking]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12287</id>
		<title>NFS</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12287"/>
		<updated>2026-04-14T18:43:34Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* procfs support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I assumed back in 2001 or so that by 2011 we&#039;d have something better than crufty old NFS3, an NFS4 that no man understands in full, five half-implemented network file systems with stupid names, Solaris&#039;s WebNFS terroristic threat, and the aesthetic marvel that is CIFS. Alas, I assumed too much.&lt;br /&gt;
&lt;br /&gt;
NFS version 2 was specified in RFC 1094. Version 3 was RFC 1813, and version 4 was RFC 3530.&lt;br /&gt;
&lt;br /&gt;
Relevant man pages include &amp;lt;tt&amp;gt;exports(5)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nfs(5)&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;nfs.conf(5)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==NFSv4-only==&lt;br /&gt;
So long as you&#039;re only running NFSv4, you don&#039;t need &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt;. Edit &amp;lt;tt&amp;gt;/etc/nfs.conf&amp;lt;/tt&amp;gt;, and add &amp;lt;tt&amp;gt;vers3=n&amp;lt;/tt&amp;gt; under the &amp;lt;tt&amp;gt;[nfsd]&amp;lt;/tt&amp;gt; section. You can now disable the &amp;lt;tt&amp;gt;rpc-statd-notify&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpcbind.socket&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt; services.&lt;br /&gt;
&lt;br /&gt;
==[[proc|procfs]] support==&lt;br /&gt;
&amp;lt;tt&amp;gt;/proc/fs/nfsfs&amp;lt;/tt&amp;gt; on the client side contains the files &amp;lt;tt&amp;gt;servers&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;volumes&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/proc/fs/nfsd&amp;lt;/tt&amp;gt; on the server side contains (among others):&lt;br /&gt;
* &amp;lt;tt&amp;gt;exports&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client(Flags) # IPs&lt;br /&gt;
/media/qwopino	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=63610aa9:00fab279:00000000:00000000,sec=1)&lt;br /&gt;
/media/qwop	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=423e8da5:00c36ed2:00000000:00000000,sec=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;export_stats&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client Start-time&lt;br /&gt;
#	Stats&lt;br /&gt;
/media/qwopino	*	3128&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 662700032&lt;br /&gt;
	io_write: 0&lt;br /&gt;
&lt;br /&gt;
/media/qwop	*	2293&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 218136576&lt;br /&gt;
	io_write: 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;versions&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;-3 +4 -4.0 +4.1 +4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;portlist&amp;lt;/tt&amp;gt; (useful for configuring firewalls):&lt;br /&gt;
&amp;lt;pre&amp;gt;tcp 2049&lt;br /&gt;
tcp 2049&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clients/&amp;lt;/tt&amp;gt;: a directory with one file per active mount&lt;br /&gt;
&lt;br /&gt;
==Sideband protocols==&lt;br /&gt;
===NLM===&lt;br /&gt;
The Network Lock Manager (not to be confused with Netware Loadable Modules) provides byte-range advisory (SysV-style) locking. This is built into NFS4 by default. It can be enabled and disabled using the &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nolock&amp;lt;/tt&amp;gt; mount options, respectively. Linux uses TCP by default for NLM.&lt;br /&gt;
* The no_auth_nlm exports option inhibits UID/GID credential check enforcement on lock requests, necessary for clients which don&#039;t preserve UID/GID across locking calls&lt;br /&gt;
** The default behavior can be specified with auth_nlm or secure_locks&lt;br /&gt;
* Linux&#039;s NLM lock recovery only works if &amp;lt;tt&amp;gt;uname -n&amp;lt;/tt&amp;gt; output matches reverse DNS output for your host.&lt;br /&gt;
** Don&#039;t ask me, man; I didn&#039;t do it.&lt;br /&gt;
* NLM lock recovery also requires the rpc.statd process to be running, despite executing as a kernel service&lt;br /&gt;
* NLM requires clients to have correct reverse DNS entries for server reboot notification to function properly&lt;br /&gt;
===NFSACL===&lt;br /&gt;
An extension originating in Solaris for use of POSIX ACL&#039;s (NFS4 introduces its own, richer ACLs). It can be enabled and disabled using the &amp;lt;tt&amp;gt;acl&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;noacl&amp;lt;/tt&amp;gt; mount options, respectively (Linux otherwise negotiates with the server to autodetect support). NFSACL uses the same transport as the main NFS service.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* The [http://nfs.sourceforge.net/ Linux NFS FAQ] and [http://nfs.sourceforge.net/nfs-howto/ NFS-HowTo]&lt;br /&gt;
* [http://nfswatch.sourceforge.net/ NFSwatch] for monitoring and summarizing NFS traffic&lt;br /&gt;
* [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/configuring-an-nfsv4-only-server_managing-file-systems Configuring an NFSv4-Only Server] on Fedora&lt;br /&gt;
* [https://wiki.archlinux.org/title/NFS NFS] on ArchWiki&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: Networking]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12286</id>
		<title>NFS</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=NFS&amp;diff=12286"/>
		<updated>2026-04-14T05:15:47Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I assumed back in 2001 or so that by 2011 we&#039;d have something better than crufty old NFS3, an NFS4 that no man understands in full, five half-implemented network file systems with stupid names, Solaris&#039;s WebNFS terroristic threat, and the aesthetic marvel that is CIFS. Alas, I assumed too much.&lt;br /&gt;
&lt;br /&gt;
NFS version 2 was specified in RFC 1094. Version 3 was RFC 1813, and version 4 was RFC 3530.&lt;br /&gt;
&lt;br /&gt;
Relevant man pages include &amp;lt;tt&amp;gt;exports(5)&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nfs(5)&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;nfs.conf(5)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==NFSv4-only==&lt;br /&gt;
So long as you&#039;re only running NFSv4, you don&#039;t need &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt; nor &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt;. Edit &amp;lt;tt&amp;gt;/etc/nfs.conf&amp;lt;/tt&amp;gt;, and add &amp;lt;tt&amp;gt;vers3=n&amp;lt;/tt&amp;gt; under the &amp;lt;tt&amp;gt;[nfsd]&amp;lt;/tt&amp;gt; section. You can now disable the &amp;lt;tt&amp;gt;rpc-statd-notify&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpc-statd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rpcbind.socket&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;rpcbind&amp;lt;/tt&amp;gt; services.&lt;br /&gt;
&lt;br /&gt;
==[[proc|procfs]] support==&lt;br /&gt;
&amp;lt;tt&amp;gt;/proc/fs/nfsd&amp;lt;/tt&amp;gt; on the server side contains (among others):&lt;br /&gt;
* &amp;lt;tt&amp;gt;exports&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client(Flags) # IPs&lt;br /&gt;
/media/qwopino	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=63610aa9:00fab279:00000000:00000000,sec=1)&lt;br /&gt;
/media/qwop	*(rw,root_squash,sync,wdelay,crossmnt,no_subtree_check,uuid=423e8da5:00c36ed2:00000000:00000000,sec=1)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;export_stats&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Version 1.1&lt;br /&gt;
# Path Client Start-time&lt;br /&gt;
#	Stats&lt;br /&gt;
/media/qwopino	*	3128&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 662700032&lt;br /&gt;
	io_write: 0&lt;br /&gt;
&lt;br /&gt;
/media/qwop	*	2293&lt;br /&gt;
	fh_stale: 0&lt;br /&gt;
	io_read: 218136576&lt;br /&gt;
	io_write: 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;versions&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;-3 +4 -4.0 +4.1 +4.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;portlist&amp;lt;/tt&amp;gt; (useful for configuring firewalls):&lt;br /&gt;
&amp;lt;pre&amp;gt;tcp 2049&lt;br /&gt;
tcp 2049&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;clients/&amp;lt;/tt&amp;gt;: a directory with one file per active mount&lt;br /&gt;
&lt;br /&gt;
==Sideband protocols==&lt;br /&gt;
===NLM===&lt;br /&gt;
The Network Lock Manager (not to be confused with Netware Loadable Modules) provides byte-range advisory (SysV-style) locking. This is built into NFS4 by default. It can be enabled and disabled using the &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nolock&amp;lt;/tt&amp;gt; mount options, respectively. Linux uses TCP by default for NLM.&lt;br /&gt;
* The no_auth_nlm exports option inhibits UID/GID credential check enforcement on lock requests, necessary for clients which don&#039;t preserve UID/GID across locking calls&lt;br /&gt;
** The default behavior can be specified with auth_nlm or secure_locks&lt;br /&gt;
* Linux&#039;s NLM lock recovery only works if &amp;lt;tt&amp;gt;uname -n&amp;lt;/tt&amp;gt; output matches reverse DNS output for your host.&lt;br /&gt;
** Don&#039;t ask me, man; I didn&#039;t do it.&lt;br /&gt;
* NLM lock recovery also requires the rpc.statd process to be running, despite executing as a kernel service&lt;br /&gt;
* NLM requires clients to have correct reverse DNS entries for server reboot notification to function properly&lt;br /&gt;
===NFSACL===&lt;br /&gt;
An extension originating in Solaris for use of POSIX ACL&#039;s (NFS4 introduces its own, richer ACLs). It can be enabled and disabled using the &amp;lt;tt&amp;gt;acl&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;noacl&amp;lt;/tt&amp;gt; mount options, respectively (Linux otherwise negotiates with the server to autodetect support). NFSACL uses the same transport as the main NFS service.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* The [http://nfs.sourceforge.net/ Linux NFS FAQ] and [http://nfs.sourceforge.net/nfs-howto/ NFS-HowTo]&lt;br /&gt;
* [http://nfswatch.sourceforge.net/ NFSwatch] for monitoring and summarizing NFS traffic&lt;br /&gt;
* [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/configuring-an-nfsv4-only-server_managing-file-systems Configuring an NFSv4-Only Server] on Fedora&lt;br /&gt;
* [https://wiki.archlinux.org/title/NFS NFS] on ArchWiki&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: Networking]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12285</id>
		<title>Computer science eponyms</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12285"/>
		<updated>2026-04-14T03:49:06Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer science needs more eponyms, in the vein of [http://en.wikipedia.org/wiki/Mordenkainen#Spells Mordenkainen]. Collect them all, and impress your friends! I might make a project one day of [[book ideas|summarizing these entries]].&lt;br /&gt;
&lt;br /&gt;
Explicitly &#039;&#039;not included&#039;&#039; in this list are: general logic (Peano and Presburger arithmetic, Herbrandization), mathematical entities not primarily associated with computer science (Markov&#039;s inequality, Chapman-Kolmogorov equation, Young tableaux), physical theories to which computer science is merely applied (Navier-Stokes equations, Taylor-Couette flow), nor statistical entities not primarily associated with computer science (Ziph&#039;s Law, Pareto efficiency). Explicitly &#039;&#039;included&#039;&#039; are: terms from computer engineering (Mead-Conway rules, Ling adders).&lt;br /&gt;
&lt;br /&gt;
Of course, it can&#039;t be on the list unless I know about it, so [mailto:dankamongmen@gmail.com feed me eponyms].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; the threshold for inclusion is now: &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;. If you&#039;re not at least as computer sciency as &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;, you ain&#039;t gettin&#039; in. [[User:Dank|Dank]] 12:25, 3 October 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Aanderaa–Rosenberg Conjecture&#039;&#039;&#039; suggests that non-trivial monotonicity properties of undirected graphs can only be solved by &#039;&#039;Ω(N&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&#039;&#039; algorithms on &#039;&#039;N&#039;&#039; vertices (these are all evasive decision trees on all possible edges)&lt;br /&gt;
* &#039;&#039;&#039;Adam7 Algorithm&#039;&#039;&#039; is a 2D, 7-pass interlacing scheme optionally used by PNG due to Adam Costello&lt;br /&gt;
* the &#039;&#039;&#039;Adler-32&#039;&#039;&#039; checksum trades reliability for speed relative to CRCs of the same length, and is included in Mark Adler&#039;s zlib&lt;br /&gt;
* &#039;&#039;&#039;Adleman&#039;s Theorem&#039;&#039;&#039; states that P/poly contains all problems solvable in randomized polynomial time&lt;br /&gt;
* &#039;&#039;&#039;Adelson-Velskii-Landis Trees&#039;&#039;&#039; are self-height-balancing binary search trees, optimizing for lookup over modification viz. red-black trees&lt;br /&gt;
* &#039;&#039;&#039;Aho-Corasick Algorithm&#039;&#039;&#039; extends the Knuth-Morris-Pratt automaton to match multiple strings in one pass of a text&lt;br /&gt;
* &#039;&#039;&#039;Akra-Bazzi Method&#039;&#039;&#039; generalizes the &amp;quot;master method&amp;quot; of Bentley, Haken, and Saxe for subproblems of significantly different size&lt;br /&gt;
* Amdahl&#039;s Law&lt;br /&gt;
* Andersen&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Anderson–Björck Algorithm&#039;&#039;&#039; improves on the Illinois Algorithm, which is itself an improvement on the &#039;&#039;regula falsi&#039;&#039; method of solving for roots.&lt;br /&gt;
* Angluin&#039;s algorithm&lt;br /&gt;
* &#039;&#039;&#039;Arikan&#039;s PAC Codes&#039;&#039;&#039; aka polarization-adjusted convolutional [https://en.wikipedia.org/wiki/Polar_code_(coding_theory) polar coding] outperform CRC-aided and purely convolutional polar codes, approaching the theoretical channel capacity for short blocklengths.&lt;br /&gt;
* &#039;&#039;&#039;Armstrong&#039;s axioms&#039;&#039;&#039; are a set of inference rules which generate all functional dependencies of a relational database. Similarly, an &#039;&#039;&#039;Armstrong relation&#039;&#039;&#039; satisfies all the functional dependencies in the closure F&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt; (and only those dependencies).&lt;br /&gt;
&lt;br /&gt;
* Backus-Naur Form&lt;br /&gt;
* Bajard-Kla-Muller algorithm&lt;br /&gt;
* Ball-Larus Heuristics&lt;br /&gt;
* the &#039;&#039;&#039;Banerjee test&#039;&#039;&#039; can demonstrate the absence of [[Compiler_Design|control flow dependencies]] in certain types of loops&lt;br /&gt;
* Barendregt convention&lt;br /&gt;
* Barendregt-Geuvers-Klop Conjecture&lt;br /&gt;
* Barnes-Hut simulation&lt;br /&gt;
* the &#039;&#039;&#039;Barton-Nackman trick&#039;&#039;&#039; is an idiom in C++ effecting restricted template expansion&lt;br /&gt;
* Baskett, Chandy, Muntz and Palacios network&lt;br /&gt;
* Batcher&#039;s Odd-Even Merge&lt;br /&gt;
* &#039;&#039;&#039;Bayer Filter&#039;&#039;&#039; mosaics arrange RGB color filters on a square array of photosensors, and are used in a majority of single-chip image sensors. It uses twice as many green sensors as red or blue, to mimic the physiology of the human eye&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s algorithm&#039;&#039;&#039; is the theoretically best cache-replacement algorithm, one which discards information that will not be needed until the furthest time into the future (this is not usually knowable)&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s anomaly&#039;&#039;&#039; is the phenomenon in which increasing the number of page frames results in an &#039;&#039;increase&#039;&#039; in the number of page faults for certain memory access patterns, especially when using FIFO page replacement&lt;br /&gt;
* Bell-La Padula model&lt;br /&gt;
* the &#039;&#039;&#039;Bellman Equation&#039;&#039;&#039; specifies for a problem the necessary condition for optimality of dynamic programming&lt;br /&gt;
* Bellman-Ford Algorithm&lt;br /&gt;
* Beneš network&lt;br /&gt;
* Bentley-Ottman Algorithm&lt;br /&gt;
* Berlekamp-Massey Algorithm&lt;br /&gt;
* Berman–Hartmanis conjecture&lt;br /&gt;
* Bernstein chaining&lt;br /&gt;
* Bernstein conditions&lt;br /&gt;
* Biba Integrity Model&lt;br /&gt;
* Blinn-Phong shading&lt;br /&gt;
* Blom&#039;s Scheme&lt;br /&gt;
* Bloom filter&lt;br /&gt;
* Bluestein&#039;s FFT&lt;br /&gt;
* Blum&#039;s axioms&lt;br /&gt;
* Blum&#039;s Speedup Theorem&lt;br /&gt;
* Blum-Blum-Shub random number generator&lt;br /&gt;
* Boehm-Demers-Weiser garbage collector&lt;br /&gt;
* the &#039;&#039;&#039;Boolean&#039;&#039;&#039; data type takes on values of true or false, as do variables in George Boole&#039;s algebra&lt;br /&gt;
* Booth&#039;s Algorithm&lt;br /&gt;
* Borůvka&#039;s Algorithm&lt;br /&gt;
* Bowyer-Watson Algorithm&lt;br /&gt;
* Boyer-Moore Algorithm&lt;br /&gt;
* the &amp;lt;b&amp;gt;Brassard-Høyer-Tapp algorithm&amp;lt;/b&amp;gt; solves the collision problem on a quantum computer in O(n&amp;lt;sup&amp;gt;⅓&amp;lt;/sup&amp;gt;) queries&lt;br /&gt;
* Bremermann&#039;s Limit&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Adder&#039;&#039;&#039; is logn + O(log1/2n) depth and O(nlg n) size&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Algorithm&#039;&#039;&#039; detects cycles using two pointers, and finds the length of the cycle directly&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Method&#039;&#039;&#039; is a hybrid root-finding algorithm combining bisection, the secant method, and inverse quadratic interpolation&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Theorem&#039;&#039;&#039; aka &#039;&#039;&#039;Brent&#039;s Law&#039;&#039;&#039; states that p &amp;lt; N processors can simulate N in T&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; ≤ T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; + (T&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; - T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;)/p&lt;br /&gt;
* Bresenham&#039;s Algorithm&lt;br /&gt;
* Brewer&#039;s Theorem&lt;br /&gt;
* Brodal Queue&lt;br /&gt;
* Broder&#039;s Method&lt;br /&gt;
* Bron-Kerbosch Algorithm&lt;br /&gt;
* Brooks-Iyengar Algorithm&lt;br /&gt;
* Buchberger Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Burnside-Dixon Algorithm&#039;&#039;&#039; calculates irreducible representations of finite groups&lt;br /&gt;
* Burrows-Wheeler Transform&lt;br /&gt;
* Buzen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Callahan-Koblenz algorithm&lt;br /&gt;
* Cannon&#039;s Algorithm&lt;br /&gt;
* Cantor-Zassenhaus Algorithm&lt;br /&gt;
* Carmack&#039;s Reverse&lt;br /&gt;
* Catmull-Clark subdivision surfaces&lt;br /&gt;
* Chaff Algorithm&lt;br /&gt;
* Chaitin&#039;s algorithm&lt;br /&gt;
* Chaitin&#039;s Constant&lt;br /&gt;
* Chaitin-Briggs algorithm&lt;br /&gt;
* Chaitin–Kolmogorov random numbers&lt;br /&gt;
* Chakravala&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Chan&#039;s Algorithm&#039;&#039;&#039; computes the optimal h-point convex hull of n 2- or 3-dimensional points in O(nlgh)&lt;br /&gt;
* Chandy-Lamport Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Chang-Roberts Algorithm&#039;&#039;&#039; elects leaders for distributed systems.&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is an exact quantum algorithm for testing 2-junta&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is a single-writer, multiple-reader, wait-free lock using Compare-and-Swap&lt;br /&gt;
* the &#039;&#039;&#039;Chen-Teboulle Algorithm&#039;&#039;&#039; solves the proximal point algorithm efficiently for certain functions&lt;br /&gt;
* Cheney&#039;s Algorithm&lt;br /&gt;
* Chew&#039;s Second Algorithm&lt;br /&gt;
* Chien search&lt;br /&gt;
* &#039;&#039;&#039;Cholesky decomposition&#039;&#039;&#039; expands Hermitian positive-definite matrices into products of a lower triangular matrix and its conjugate transpose. solved using the Cholesky–Crout and Cholesky–Banachiewicz algorithms.&lt;br /&gt;
* Chomsky Hierarchy&lt;br /&gt;
* Chomsky Normal Form&lt;br /&gt;
* Chomsky-Schützenberger theorem&lt;br /&gt;
* Christofides Algorithm&lt;br /&gt;
* Church encoding&lt;br /&gt;
* Church-Rosser Theorem&lt;br /&gt;
* Church-Turing Thesis&lt;br /&gt;
* the &#039;&#039;&#039;[https://clifford.at/cliffords-device.html Clifford Device]&#039;&#039;&#039; exploits &amp;lt;tt&amp;gt;if(0)&amp;lt;/tt&amp;gt; to abstract block control via macros (note that e. g. [https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm N3355] calls this &amp;quot;Claire&#039;s Device&amp;quot; following a presumed transition, but Claire still seems to call it Clifford).&lt;br /&gt;
* Clos network&lt;br /&gt;
* Cobham Axioms&lt;br /&gt;
* Cobham&#039;s thesis&lt;br /&gt;
* Cocke-Younger-Kasami Algorithm&lt;br /&gt;
* Cohen-Sutherland algorithm&lt;br /&gt;
* &#039;&#039;&#039;Coffman conditions&#039;&#039;&#039; enumerate the four conditions necessary and sufficient for deadlock within a system (mutual exclusion, hold-and-wait, a lack of preemption, and circular wait)&lt;br /&gt;
* Commentz-Walter Algorithm&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Conway%27s_law Conway&#039;s Law]&lt;br /&gt;
* Cook reduction&lt;br /&gt;
* the &#039;&#039;&#039;Cook-Levin Theorem&#039;&#039;&#039; (sometimes just &#039;&#039;&#039;Cook Theorem&#039;&#039;&#039;) proves that the Boolean satisfiability problem is NP-complete.&lt;br /&gt;
* the &#039;&#039;&#039;Cooley-Tukey Algorithm&#039;&#039;&#039; is the workhorse algorithm for Fast Fourier Transforms.&lt;br /&gt;
* the &#039;&#039;&#039;Coppersmith-Winograd Algorithm&#039;&#039;&#039; multiplied matrices in the least time complexity from 1990-2010, and used the &amp;quot;laser method&amp;quot; employed by all improvements since.&lt;br /&gt;
* Craig, Landin and Hagersten lock&lt;br /&gt;
* Cranfield method&lt;br /&gt;
* (preconditioned) Crank–Nicolson Algorithm&lt;br /&gt;
* Crusader’s Convergence Algorithm&lt;br /&gt;
* Curry-Howard correspondence&lt;br /&gt;
* The &amp;lt;b&amp;gt;CVM algorithm&amp;lt;/b&amp;gt; (Chakraborty, Variyam, Meel) approximates the number of distinct elements in a large set&lt;br /&gt;
&lt;br /&gt;
* Dadda Multiplier&lt;br /&gt;
* Damerau-Levenshtein distance&lt;br /&gt;
* Damm Algorithm&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam Algorithm&amp;lt;/b&amp;gt; verifies formulas in first order logic using the resolution method from prepositional logic. It requires exponential space in the worst case, and only terminates for valid formulae.&lt;br /&gt;
* The &amp;lt;b&amp;gt;Davis-Putnam-Logemann-Loveland Algorithm&amp;lt;/b&amp;gt; improves on the basic DP algorithm, requiring linear space in the worst case and terminating for all formulae.&lt;br /&gt;
* De Bruijn presentation&lt;br /&gt;
* De Bruijn string&lt;br /&gt;
* Dekker&#039;s Algorithm&lt;br /&gt;
* Delaunay&#039;s Triangulation&lt;br /&gt;
* Dennard Scaling&lt;br /&gt;
* Deutsch gate&lt;br /&gt;
* Diffie-Hellman Key Exchange&lt;br /&gt;
* Dijkstra&#039;s Algorithm&lt;br /&gt;
* Dinic&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;DiVincenzo&#039;s criteria&#039;&#039;&#039; specify conditions necessary for a quantum computer&lt;br /&gt;
* Dolev&#039;s Algorithm&lt;br /&gt;
* Doo-Sabin subdivision surface&lt;br /&gt;
* Duff&#039;s Device&lt;br /&gt;
* Dyck Language&lt;br /&gt;
&lt;br /&gt;
* Earle latch&lt;br /&gt;
* Earley Parser&lt;br /&gt;
* &#039;&#039;&#039;Edholm&#039;s law&#039;&#039;&#039; predicts doubling of bandwidth every 18 months across wireless, nomadic, and wired networks (and is getting some rather heavy lift from Moore&#039;s Law IMHO)&lt;br /&gt;
* &#039;&#039;&#039;Edmonds&#039;s matching algorithm&#039;&#039;&#039; constructs maximum matchings on graphs in O(|E||V|²)&lt;br /&gt;
* Edmonds-Karp Algorithm&lt;br /&gt;
* ElGamal encryption&lt;br /&gt;
* ElGamal signatures&lt;br /&gt;
* van Emde Boas trees&lt;br /&gt;
* Sieve of Eratosthenes&lt;br /&gt;
* the &#039;&#039;&#039;Eytzinger layout&#039;&#039;&#039; stores binary trees in an array in a cache-friendly manner&lt;br /&gt;
* Euclid&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fagin&#039;s Theorem&#039;&#039;&#039; states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP&lt;br /&gt;
* &#039;&#039;&#039;Falk diagrams&#039;&#039;&#039; graph various performance counters against time (typically expressed in cycles)&lt;br /&gt;
* Faugère F5 algorithm&lt;br /&gt;
* &#039;&#039;&#039;Fenwick trees&#039;&#039;&#039; support efficient update of elements and calculate prefix sums in a table of numbers&lt;br /&gt;
* Fiat-Shamir Heuristic&lt;br /&gt;
* Fibonacci Heap&lt;br /&gt;
* Fisher-Yates shuffle&lt;br /&gt;
* Flajolet-Martin algorithm&lt;br /&gt;
* Fletcher&#039;s Checksum &lt;br /&gt;
* Floyd&#039;s Algorithm&lt;br /&gt;
* Floyd-Steinberg dithering&lt;br /&gt;
* Flynn Taxonomy&lt;br /&gt;
* Ford-Fulkerson Algorithm&lt;br /&gt;
* Fortune&#039;s Algorithm&lt;br /&gt;
* Fox&#039;s Algorithm&lt;br /&gt;
* Fredkin gate&lt;br /&gt;
* Friedberg-Muchnik Theorem&lt;br /&gt;
* Fruchterman-Reingold heuristic&lt;br /&gt;
* &#039;&#039;&#039;Fürer&#039;s algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgn*2&amp;lt;sup&amp;gt;O(lg*n)&amp;lt;/sup&amp;gt;)&#039;&#039;&lt;br /&gt;
* the &#039;&#039;&#039;Ferguson-Forcade&#039;&#039;&#039; algorithm was the first for the integer relation problem (&amp;lt;i&amp;gt;Bull. Amer. Math 1979&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gabbay&#039;s separation theorem&lt;br /&gt;
* Gabow&#039;s Algorithm&lt;br /&gt;
* Gal&#039;s Accurate Tables&lt;br /&gt;
* Gale-Church Algorithm&lt;br /&gt;
* Gale-Shapley algorithm&lt;br /&gt;
* Gilbert-Johnson-Keerthi Algorithm&lt;br /&gt;
* Girard&#039;s Paradox&lt;br /&gt;
* Girvan-Newman Algorithm&lt;br /&gt;
* Givens rotation&lt;br /&gt;
* Glushkov Automata&lt;br /&gt;
* Goldreich-Goldwasser-Halevi scheme&lt;br /&gt;
* The weighted &#039;&#039;&#039;Gomory-Hu Tree&#039;&#039;&#039; of an undirected graph with capacities G represents the minimum s-t cuts for all s-t pairs in G, and is computable via |V|-1 maximum flow problems.&lt;br /&gt;
* Gordon–Newell theorem&lt;br /&gt;
* Gosper&#039;s Hack&lt;br /&gt;
* Gosper&#039;s Hypergeometric Algorithm&lt;br /&gt;
* Gosper&#039;s Loop Detection Algorithm&lt;br /&gt;
* Gouraud shading&lt;br /&gt;
* The &#039;&#039;&#039;Graham Scan&#039;&#039;&#039; solves for the convex hull of a set of points in &#039;&#039;O(NlgN)&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;Graham-Andrew Algorithm&#039;&#039;&#039; modifies the Graham Scan to solve for convex hulls in &#039;&#039;O(N)&#039;&#039; best case.&lt;br /&gt;
* Graham-Denning Model&lt;br /&gt;
* Gram–Schmidt process&lt;br /&gt;
* Gray codes&lt;br /&gt;
* Greibach Normal Form&lt;br /&gt;
* Grover&#039;s Algorithm&lt;br /&gt;
* Grzegorczyk hierarchy&lt;br /&gt;
* Guruswami-Sudan Algorithm&lt;br /&gt;
* Gustafson&#039;s Law&lt;br /&gt;
* &#039;&#039;&#039;Gutmann&#039;s Method&#039;&#039;&#039; is a 35-phase recipe for destroying data on ferromagnetic drives.&lt;br /&gt;
* Guttman-Rosler transform&lt;br /&gt;
&lt;br /&gt;
* Hamiltonian path problem&lt;br /&gt;
* Hamming code&lt;br /&gt;
* Hamming distance&lt;br /&gt;
* the &#039;&#039;&#039;Håstad, Just, Lagarias, and Schnorr (HJLS) algorithm&#039;&#039;&#039; improves on LLL for the integer relations problem (&amp;lt;i&amp;gt;SIAM J. Comput. 1989&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heap&#039;s algorithm&#039;&#039;&#039; generates all permutations of a set with minimum movement (&amp;lt;i&amp;gt;The Computer Journal 1963&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heckel&#039;s algorithm&#039;&#039;&#039; isolates changes between files, and is the basis for &amp;lt;tt&amp;gt;diff&amp;lt;/tt&amp;gt; [https://dl.acm.org/doi/10.1145/359460.359467 CACM 1978]&lt;br /&gt;
* Hennessy-Milner Logic&lt;br /&gt;
* Herlihy&#039;s wait-free hierarchy&lt;br /&gt;
* Hindley-Milner type system&lt;br /&gt;
* Hirschberg&#039;s Algorithm&lt;br /&gt;
* Hoare logic&lt;br /&gt;
* Holevo&#039;s Theorem&lt;br /&gt;
* Holland&#039;s schema theorem&lt;br /&gt;
* Hong-Kung bound&lt;br /&gt;
* Hopcroft-Karp Algorithm&lt;br /&gt;
* Hopfield net&lt;br /&gt;
* Horn clauses&lt;br /&gt;
* Hough transform&lt;br /&gt;
* Householder transformation&lt;br /&gt;
* Huet&#039;s Zipper&lt;br /&gt;
* Huffman coding&lt;br /&gt;
* Hunt-McIlroy Algorithm&lt;br /&gt;
&lt;br /&gt;
* Iliffe vector&lt;br /&gt;
* Immerman–Szelepcsényi theorem&lt;br /&gt;
&lt;br /&gt;
* Jackson network&lt;br /&gt;
* Jackson&#039;s theorem&lt;br /&gt;
* Jaro-Winkler distance&lt;br /&gt;
* Jefferson&#039;s Time Warp&lt;br /&gt;
* Jelinek-Mercer smoothing&lt;br /&gt;
* Jensen&#039;s Device&lt;br /&gt;
* Johnson&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Jonker-Volgenant Algorithm&#039;&#039;&#039; improves &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; to solve the assignment problem in O(n³), Jonker-Volgenant 1987&lt;br /&gt;
&lt;br /&gt;
* Kabsch Algorithm&lt;br /&gt;
* Kadane&#039;s Algorithm&lt;br /&gt;
* Kahan Summation Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kahn&#039;s Algorithm&#039;&#039;&#039; topologically sorts a graph in O(|V| + |E|), Kahn 1962&lt;br /&gt;
* Kannan&#039;s Theorem&lt;br /&gt;
* &#039;&#039;&#039;Karatsuba&#039;s Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;3&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Karger&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Karn&#039;s algorithm&#039;&#039;&#039; extracts accurate [[TCP]] RTT measures, Karn-Partridge 1987&lt;br /&gt;
* Karmarkar&#039;s algorithm&lt;br /&gt;
* Karnaugh map&lt;br /&gt;
* Karp reduction&lt;br /&gt;
* Karp-Flatt metric&lt;br /&gt;
* Karp-Lipton Theorem&lt;br /&gt;
* Kamada-Kawai algorithm&lt;br /&gt;
* Kernighan-Lin algorithm&lt;br /&gt;
* Kirkpatrick-Seidel Algorithm&lt;br /&gt;
* Kleene Closure&lt;br /&gt;
* Kleene Plus&lt;br /&gt;
* Kleene Star&lt;br /&gt;
* Kleene–Rosser Paradox&lt;br /&gt;
* Kneser-Ney smoothing&lt;br /&gt;
* Knuth Shuffle&lt;br /&gt;
* Knuth-Morris-Pratt Algorithm&lt;br /&gt;
* Koenig Lookup&lt;br /&gt;
* Kohonen Algorithm&lt;br /&gt;
* Kohonen network&lt;br /&gt;
* Kolmogorov complexity&lt;br /&gt;
* Koomey&#039;s Law&lt;br /&gt;
* Kosaraju&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Krapchenko&#039;s Adder&#039;&#039;&#039; is an improvement over Brent&#039;s Adder, linear (3n + 6*2m, m=⌈lg n⌉) in size and logn + O(log1/2n) depth (m + 7(2m)1/2+16, m = ⌈lg n⌉).&lt;br /&gt;
* Kruskal&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kryder&#039;s Law&#039;&#039;&#039; asserted that areal density doubles every thirteen months (this has not been true for some time). Also known as the &#039;&#039;Kryder rate&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; (also known as &#039;&#039;&#039;Kuhn-Munkres&#039;&#039;&#039;) solves the assignment problem in polynomial time, Kuhn 1955&lt;br /&gt;
* The &#039;&#039;&#039;&amp;amp;#91;Karush-&amp;amp;#93;Kuhn-Tucker conditions&#039;&#039;&#039; are a set of tests to determine whether an integer programming solution is optimal, Karush 1931 Kuhn-Tucker 1951&lt;br /&gt;
* Kung-Leiserson systolic array&lt;br /&gt;
* Kuroda Normal Form&lt;br /&gt;
&lt;br /&gt;
* Ladner&#039;s Theorem&lt;br /&gt;
* Lamport&#039;s Bakery Algorithm&lt;br /&gt;
* Lamport&#039;s Logical Clock&lt;br /&gt;
* Lamport&#039;s Hash&lt;br /&gt;
* Lamport timestamps&lt;br /&gt;
* Lee-Seung algorithm&lt;br /&gt;
* Lehmer random number generator&lt;br /&gt;
* Lehmer&#039;s GCD Algorithm&lt;br /&gt;
* Lempel-Ziv-Welch compression&lt;br /&gt;
* the &#039;&#039;&#039;Lenstra-Lenstra-Lovász (LLL)&#039;&#039;&#039; algorithm was the first for the integer relation problem that supplied proofs (Math Ann. 1982)&lt;br /&gt;
* Levenshtein automaton&lt;br /&gt;
* Levenshtein distance&lt;br /&gt;
* &#039;&#039;&#039;Levialdi&#039;s transform&#039;&#039;&#039; progressively and deterministically degrades a bitmap&lt;br /&gt;
* Levin reduction&lt;br /&gt;
* Liang-Barsky algorithm&lt;br /&gt;
* Lin-Kernighan Heuristic&lt;br /&gt;
* Linde-Buzo-Gray algorithm&lt;br /&gt;
* Ling adders&lt;br /&gt;
* Liskov&#039;s Substitution Principle&lt;br /&gt;
* Lloyd&#039;s algorithm&lt;br /&gt;
* Loop subdivision surfaces&lt;br /&gt;
* &#039;&#039;&#039;Loss-DiVincenzo machines&#039;&#039;&#039; are quantum computers based off electron spin as confined to quantum dots&lt;br /&gt;
* Luby&#039;s algorithm&lt;br /&gt;
* Luhn Algorithm&lt;br /&gt;
* Luleå Algorithm&lt;br /&gt;
&lt;br /&gt;
* Maekawa&#039;s Algorithm&lt;br /&gt;
* Mahaney&#039;s Theorem&lt;br /&gt;
* Manning algorithm&lt;br /&gt;
* Margolus gate&lt;br /&gt;
* Marzullo algorithm&lt;br /&gt;
* &#039;&#039;&#039;Matiyasevich&#039;s theorem&#039;&#039;&#039; proves that every [[Theory|recursively enumerable]] set is Diophantine, and thus proves that no algorithm exists for Hilbert&#039;s tenth problem&lt;br /&gt;
* McFarling-style branch predictor&lt;br /&gt;
* Mead-Conway Rules&lt;br /&gt;
* Mealy machine&lt;br /&gt;
* Mellor-Crummey and Scott lock&lt;br /&gt;
* Merkle–Damgård construction&lt;br /&gt;
* The &#039;&#039;&#039;Metropolis-Hastings algorithm&#039;&#039;&#039; for MCMC obtains samples from a probability distribution that is [https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm difficult to directly sample]&lt;br /&gt;
* Miller-Rabin Primality Test&lt;br /&gt;
* Minsky-Fenichel-Yochelson Algorithm&lt;br /&gt;
* Montgomery reduction&lt;br /&gt;
* Moore machine&lt;br /&gt;
* Moore&#039;s Law&lt;br /&gt;
* Morgensen-Scott encoding&lt;br /&gt;
* Möller-Trumbore algorithm&lt;br /&gt;
&lt;br /&gt;
* Nagle&#039;s algorithm&lt;br /&gt;
* Nassi-Shneiderman diagram&lt;br /&gt;
* Needham-Schroeder Protocol&lt;br /&gt;
* Needleman-Wunsch Algorithm&lt;br /&gt;
* Neuman-Stubblebine Protocol&lt;br /&gt;
* &#039;&#039;&#039;von Neumann architecture&#039;&#039;&#039; aka stored-program architecture keeps instructions in the same memory as data (as opposed to Harvard architecture, which keeps the two distinct). Popularized by von Neumann, but largely based on Eckert and Mauchly&#039;s work on the ENIAC.&lt;br /&gt;
* Nevill-Manning algorithm&lt;br /&gt;
* Nick&#039;s Class&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s law&#039;&#039;&#039; predicts slower growth for home bandwidth than computing power, suggesting that user experience will remain bandwidth-bound&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s usability heuristics&#039;&#039;&#039; are ten (rather debatable) guidelines forming a usability heuristic for interface design&lt;br /&gt;
* Nisan&#039;s Generator&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ogden&#039;s lemma&#039;&#039;&#039; extends the pumping lemma to context-free languages&lt;br /&gt;
* &#039;&#039;&#039;Otsu&#039;s Method&#039;&#039;&#039; is used to perform automatic image thresholding&lt;br /&gt;
* &#039;&#039;&#039;Ousterhout&#039;s dichotomy/fallacy&#039;&#039;&#039; is a taxonomy of &#039;&#039;systems&#039;&#039; vs &#039;&#039;scripting&#039;&#039; languages&lt;br /&gt;
* Otway-Rees Protocol&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Paeth-Tanaka Algorithm&#039;&#039;&#039; rotates images via a method of three shears&lt;br /&gt;
* &#039;&#039;&#039;Paeth Filter&#039;&#039;&#039; performs 2D image compression in PNG&lt;br /&gt;
* PageRank Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Parikh&#039;s theorem&#039;&#039;&#039; shows that a context free language that doesn&#039;t consider order of its terminal symbols can be expressed as a regular language, proving the existence of inherently ambiguous CFLs and that CFLs over singleton alphabets are regular. JACM 1966&lt;br /&gt;
* Peterson&#039;s Algorithm&lt;br /&gt;
* Petri nets&lt;br /&gt;
* Petrick&#039;s method&lt;br /&gt;
* Phong shading&lt;br /&gt;
* Plotkin&#039;s Sticky Bit&lt;br /&gt;
* &#039;&#039;&#039;Plouffe&#039;s Inverter&#039;&#039;&#039; was an early symbolic inverter for floating point numbers&lt;br /&gt;
* Pollaczek–Khinchine formula&lt;br /&gt;
* Pollard&#039;s Kangaroo Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Pollard&#039;s ρ Algorithm&#039;&#039;&#039; aka &#039;&#039;&#039;Pollard&#039;s rho Algorithm&#039;&#039;&#039; factors integers in running time expected to be proportional to the square root of the smallest prime factor of the number being factored&lt;br /&gt;
* Popek-Goldberg virtualization requirements&lt;br /&gt;
* Post&#039;s correspondence problem&lt;br /&gt;
* &amp;lt;b&amp;gt;Post&#039;s Lattice&amp;lt;/b&amp;gt; is the lattice of all clones on {0,1}, ordered by inclusion. It is used to prove sets of connectives to be functionally complete (e.g. NAND and NOR both generate functionally complete Boolean algebras).&lt;br /&gt;
* Postel&#039;s Law&lt;br /&gt;
* Prim&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Proebsting&#039;s Law&#039;&#039;&#039; claims that compiler technology doubles computing power [http://proebsting.cs.arizona.edu/law.html every 18 years]&lt;br /&gt;
* Prüfer Coding&lt;br /&gt;
* Prüfer Sequence&lt;br /&gt;
&lt;br /&gt;
* Quines&lt;br /&gt;
* Quine-McLuskey algorithm&lt;br /&gt;
&lt;br /&gt;
* Rabin Automata&lt;br /&gt;
* Rabin&#039;s Information Dispersal Algorithm&lt;br /&gt;
* Rabin-Karp Algorithm&lt;br /&gt;
* Rader-Brenner Algorithm&lt;br /&gt;
* Radovic-Hagersten lock&lt;br /&gt;
* the &#039;&#039;&#039;Ramer-Douglas-Peucker algorithm&#039;&#039;&#039; decimates a series of line segments to a similar series of fewer line segments (1973)&lt;br /&gt;
* Raymond&#039;s Algorithm&lt;br /&gt;
* Reed-Muller code&lt;br /&gt;
* Reed-Solomon correction code&lt;br /&gt;
* Reingold&#039;s logspace Algorithm&lt;br /&gt;
* Ricart-Agrawala Algorithm&lt;br /&gt;
* Rice&#039;s Theorem&lt;br /&gt;
* Rice-Shapiro Theorem&lt;br /&gt;
* Risch Algorithm&lt;br /&gt;
* Rivest-Shamir-Adleman Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Rocchio&#039;s Algorithm&#039;&#039;&#039; classifies information relevance using nearest centroids&lt;br /&gt;
* Ruppert&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sattolo&#039;s Algorithm&#039;&#039;&#039; generates a 1-cyclic derangement of an array (a permutation such that every element ends up in a new position)&lt;br /&gt;
* Savitch&#039;s Theorem&lt;br /&gt;
* Schensted Algorithm&lt;br /&gt;
* Schlick&#039;s approximation&lt;br /&gt;
* The &#039;&#039;&#039;Schönhage–Strassen algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgnlglgn)&#039;&#039; bit complexity using FFTs&lt;br /&gt;
* Schoof&#039;s Algorithm&lt;br /&gt;
* Schreier-Sims Algorithm&lt;br /&gt;
* Schwartzian transform&lt;br /&gt;
* Sethi-Ullman Algorithm&lt;br /&gt;
* Shamir&#039;s Secret Sharing Scheme&lt;br /&gt;
* Shamos-Hoey Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Shar&#039;s Algortihm&#039;&#039;&#039; is a variation on the uniform binary search of Knuth.&lt;br /&gt;
* Shor&#039;s Algorithm&lt;br /&gt;
* Sipser–Lautemann theorem&lt;br /&gt;
* &#039;&#039;&#039;Smith&#039;s Algorithm&#039;&#039;&#039; hashes the program counter to n bimodal (saturating) k-bit counters for dynamic branch prediction (1981)&lt;br /&gt;
* Smith-Waterman algorithm&lt;br /&gt;
* Solomonoff-Levin distribution&lt;br /&gt;
* Steensgaard&#039;s Algorithm&lt;br /&gt;
* Stehlé-Zimmermann algorithm&lt;br /&gt;
* &#039;&#039;&#039;Steiner tree problems&#039;&#039;&#039; are a class of combinatorial optimization problems involving determining the optimal interconnect of a graph under some objective function.&lt;br /&gt;
* the &#039;&#039;&#039;Steinhaus-Johnson-Trotter algorithm&#039;&#039;&#039; generates all permutations of a set (&amp;lt;i&amp;gt;CACM 1964&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Strassen&#039;s Algorithm&lt;br /&gt;
* Suurballe&#039;s Algorithm&lt;br /&gt;
* Sweeney-Robertson-Tocher division algorithm&lt;br /&gt;
&lt;br /&gt;
* Tarjan&#039;s Algorithm&lt;br /&gt;
* Tarjan&#039;s Dynamic Tree&lt;br /&gt;
* Tarjan&#039;s Least Common Ancestors Algorithm&lt;br /&gt;
* The nondeterministic &#039;&#039;&#039;Tarski–Kuratowski algorithm&#039;&#039;&#039; produces an upper bound for the complexity of a given formula in the arithmetical hierarchy and analytical hierarchy.&lt;br /&gt;
* Thompson Automata&lt;br /&gt;
* Timsort&lt;br /&gt;
* Toda&#039;s theorem&lt;br /&gt;
* Todd–Coxeter algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Toffoli gate&#039;&#039;&#039; aka CCNOT is a 3-to-3 universal reversible gate (all other reversible gates can be constructed from it). there is no smaller universal set of reversible gates (the only reversible gates in 1 or 2 inputs are identity, NOT, and CNOT).&lt;br /&gt;
* Tomasulo&#039;s AlgorithmRemember&lt;br /&gt;
* Tonelli-Shanks Algorithm&lt;br /&gt;
* The &#039;&#039;&#039;Toom-Cook Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log(5)/log(3)&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Tupper&#039;s self-referential formula&lt;br /&gt;
* Turing Degree&lt;br /&gt;
* &#039;&#039;&#039;Turing Machines&#039;&#039;&#039; were used to prove the undecidability of the Entscheidungsproblem in 1936, and have persisted as a rather less elegant model of computation than Church&#039;s λ-calculus.&lt;br /&gt;
* the &#039;&#039;&#039;Turing Test&#039;&#039;&#039;, originally the &amp;quot;imitation game&amp;quot;, was proposed by Turing as a means of evaluating conversational artificial intelligence via questions-and-answers on a text channel. Its use as a diagnostic is debatable at best.&lt;br /&gt;
&lt;br /&gt;
* Ukkonen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Valiant-Vazirani Theorem&lt;br /&gt;
* Van Jacobson Channels&lt;br /&gt;
* Van Wijngaarden Grammars&lt;br /&gt;
* Verhoeff Algorithm&lt;br /&gt;
* Viola-Jones face detection&lt;br /&gt;
* Viterbi algorithm&lt;br /&gt;
* Volder&#039;s algorithm&lt;br /&gt;
&lt;br /&gt;
* Wagner-Fischer Algorithm&lt;br /&gt;
* Wallace Multiplier&lt;br /&gt;
* Wallace tree&lt;br /&gt;
* Warnsdorff&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Welford&#039;s Algorithm&#039;&#039;&#039; is a stable online algorithm for computing mean and estimated variance&lt;br /&gt;
* The &#039;&#039;&#039;Williams State Machine&#039;&#039;&#039; is a common [https://vt100.net/emu/dec_ansi_parser parsing automaton] for DEC virtual terminal input&lt;br /&gt;
* Winograd&#039;s Algorithm&lt;br /&gt;
* Witten-Bell smoothing&lt;br /&gt;
* Wu&#039;s Line Algorithm&lt;br /&gt;
* Wu-Manber Algorithm&lt;br /&gt;
* Wyllie&#039;s List Ranking&lt;br /&gt;
&lt;br /&gt;
* Yao&#039;s Principle&lt;br /&gt;
* &#039;&#039;&#039;Yeh&#039;s Algorithm&#039;&#039;&#039; is a two-level adaptive training algorithm designed by Yeh and Patt in 1991. A branch history register is used to maintain branch behavior for a specific pattern of branch history, and 4-bit counters are used for each BTB set.&lt;br /&gt;
&lt;br /&gt;
* Zhu-Takaoka Algorithm&lt;br /&gt;
* Zimmermann-Sassaman key-signing protocol&lt;br /&gt;
* Zobrist hashing&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=INFERNAL_COLUMNS&amp;diff=12284</id>
		<title>INFERNAL COLUMNS</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=INFERNAL_COLUMNS&amp;diff=12284"/>
		<updated>2026-04-08T20:38:42Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My second novel, arriving (Eris willing) late 2026. It will be much less science-focused than [https://midnightssimulacra.com/ the first one], though still full of little STEMmy infodumps.&lt;br /&gt;
&lt;br /&gt;
It is a story of confusion. Its characters possess drastically different information about the events in which they are immersed. Reliable narrators do not exist. Truth shifts, and the rate of change accelerates. The world convulses; climate becomes less hospitable to life; humanity changes the world once more. The very meanings of &amp;quot;humanity&amp;quot; and &amp;quot;the world&amp;quot; come into question. Answers are in short supply.&lt;br /&gt;
&lt;br /&gt;
INFERNAL COLUMNS explores:&lt;br /&gt;
* technological, sociological, and philosophical nearterm impacts of electronic intelligence&lt;br /&gt;
* electronic warfare and espionage (especially as affected by AI)&lt;br /&gt;
* disinformation at personal, national, and international scales (especially as affected by AI)&lt;br /&gt;
* resource allocation, eugenics, climate change, geoengineering, and conflict arising therefrom&lt;br /&gt;
* political violence, democracy&#039;s failure, and what might replace it&lt;br /&gt;
* the future of humanity&lt;br /&gt;
&lt;br /&gt;
==Title==&lt;br /&gt;
INFERNAL COLUMNS refers to the &amp;lt;i&amp;gt;Colonnes Infernales&amp;lt;/i&amp;gt; under &amp;lt;i&amp;gt;Général de division&amp;lt;/i&amp;gt; Louis Marie Turreau during the &amp;lt;i&amp;gt;Guerre de Vendée&amp;lt;/i&amp;gt;. Here he writes to the Convention&#039;s Minister of War Jean Baptiste Noël Bouchotte (January 1794):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;My purpose is to burn everything, to leave nothing but what is essential to establish the necessary quarters for exterminating the rebels.&lt;br /&gt;
&lt;br /&gt;
This great measure is one which you should prescribe. You should also make an advance statement as to the fate of the women and children we will come across in this rebellious countryside...All brigands caught bearing arms, or convicted of having taken up arms to revolt against their country, will be bayoneted. The same will apply to girls, women and children in the same circumstances. Those who are merely under suspicion will not be spared either.&lt;br /&gt;
&lt;br /&gt;
All villages, farms, woods, heathlands, generally anything which will burn, will be set on fire, although not until any perishable supplies found there have been removed.&lt;br /&gt;
&lt;br /&gt;
I hasten to describe to you the measures which I have just put in hand for the extermination of all remaining rebels scattered about the interior of the Vendée. I was convinced that the only way to do this was by deploying a sufficient number of columns, to spread right across the countryside and effect a general sweep, which would completely purge the districts as they passed. Tomorrow these 12 columns will set out simultaneously, moving from east to west.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Later...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;There is no more Vendée. I have trampled the children to death with our horses, I have massacred the women, and they are no longer able to give birth to any brigands. I am not guilty of taking a single prisoner, I have exterminated them all… The roads are covered with corpses. There are so many of them at several places they form pyramids. The firing squads work incessantly… Brigands arrive who pretend that they will surrender as prisoners… but we are not taking any. One would be forced to feed them with the bread of liberty, but compassion is not a revolutionary virtue.&amp;lt;/i&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12283</id>
		<title>Publishers</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12283"/>
		<updated>2026-04-08T19:46:52Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Publishers worth looking at in 2026:&lt;br /&gt;
&lt;br /&gt;
* [https://zerogrampress.com/ Zerogram Press], &amp;quot;dedicated to contemporary literary fiction&amp;quot;&lt;br /&gt;
* [https://www.nyrb.com/collections/classics NYRB Classics], &amp;quot;dedicated to publishing an eclectic mix of fiction and nonfiction from different eras and times and of various sorts.&amp;quot;&lt;br /&gt;
* [https://groveatlantic.com/ Grove Atlantic]&lt;br /&gt;
* [https://www.ndbooks.com/ New Directions]&lt;br /&gt;
* [https://www.deepvellum.org/ Deep Vellum], &amp;quot;a nonprofit publishing house and literary arts organization with the mission to bring the world into conversation through literature.&amp;quot;&lt;br /&gt;
** Where [https://en.wikipedia.org/wiki/Dalkey_Archive_Press Dalkey Archive Press] ended up&lt;br /&gt;
* [https://otherpress.com/ Other Press], &amp;quot;bringing high‑quality literary fiction and nonfiction from diverse cultural contexts to English‑speaking readers.&amp;quot;&lt;br /&gt;
* [https://www.blazevox.org/ BlazeVOX], poetry-focused, &amp;quot;push at the frontiers of what is possible with our innovative poetry, fiction and select non-fiction and literary criticism.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12282</id>
		<title>Publishers</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12282"/>
		<updated>2026-04-08T19:45:00Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Publishers worth looking at in 2026:&lt;br /&gt;
&lt;br /&gt;
* [https://zerogrampress.com/ Zerogram Press], &amp;quot;dedicated to contemporary literary fiction&amp;quot;&lt;br /&gt;
* [https://www.nyrb.com/collections/classics NYRB Classics], &amp;quot;dedicated to publishing an eclectic mix of fiction and nonfiction from different eras and times and of various sorts.&amp;quot;&lt;br /&gt;
* [https://groveatlantic.com/ Grove Atlantic]&lt;br /&gt;
* [https://www.ndbooks.com/ New Directions]&lt;br /&gt;
* [https://www.deepvellum.org/ Deep Vellum], &amp;quot;a nonprofit publishing house and literary arts organization with the mission to bring the world into conversation through literature.&amp;quot;&lt;br /&gt;
** Where [https://en.wikipedia.org/wiki/Dalkey_Archive_Press Dalkey Archive Press] ended up&lt;br /&gt;
* [https://otherpress.com/ Other Press], &amp;quot;bringing high‑quality literary fiction and nonfiction from diverse cultural contexts to English‑speaking readers.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12281</id>
		<title>Publishers</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Publishers&amp;diff=12281"/>
		<updated>2026-04-08T17:47:46Z</updated>

		<summary type="html">&lt;p&gt;Dank: Created page with &amp;quot;Publishers worth looking at in 2026:  * [https://zerogrampress.com/ Zerogram Press], &amp;quot;dedicated to contemporary literary fiction&amp;quot; * [https://www.nyrb.com/collections/classics NYRB Classics], &amp;quot;dedicated to publishing an eclectic mix of fiction and nonfiction from different eras and times and of various sorts.&amp;quot; * [https://groveatlantic.com/ Grove Atlantic] * [https://www.ndbooks.com/ New Directions] * [https://www.deepvellum.org/ Deep Vellum], &amp;quot;a nonprofit publishing house...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Publishers worth looking at in 2026:&lt;br /&gt;
&lt;br /&gt;
* [https://zerogrampress.com/ Zerogram Press], &amp;quot;dedicated to contemporary literary fiction&amp;quot;&lt;br /&gt;
* [https://www.nyrb.com/collections/classics NYRB Classics], &amp;quot;dedicated to publishing an eclectic mix of fiction and nonfiction from different eras and times and of various sorts.&amp;quot;&lt;br /&gt;
* [https://groveatlantic.com/ Grove Atlantic]&lt;br /&gt;
* [https://www.ndbooks.com/ New Directions]&lt;br /&gt;
* [https://www.deepvellum.org/ Deep Vellum], &amp;quot;a nonprofit publishing house and literary arts organization with the mission to bring the world into conversation through literature.&amp;quot;&lt;br /&gt;
** Where [https://en.wikipedia.org/wiki/Dalkey_Archive_Press Dalkey Archive Press] ended up&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=PC_Fans&amp;diff=12280</id>
		<title>PC Fans</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=PC_Fans&amp;diff=12280"/>
		<updated>2026-04-01T07:34:39Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Pwm.jpeg|thumb|right|Pinout (GND, power, tach, PWM).]]&lt;br /&gt;
Fans, an active cooling element, move air in a system. Heat must be removed from the site of its production, and from the system as a whole. A fan increases heat convection with surrounding air via airflow. Air is at its highest pressure immediately in front of the fan, and at lowest pressure immediately behind it.&lt;br /&gt;
&lt;br /&gt;
Fans for personal computers are governed by specifications from Intel and [[Noctua]]:&lt;br /&gt;
* Intel&#039;s [https://www.intel.com/content/dam/support/us/en/documents/intel-nuc/intel-4wire-pwm-fans-specs.pdf 4-Wire Pulse Width Modulation Controlled Fans] spec, revision 1.3 (2005-09)&lt;br /&gt;
* Noctua&#039;s [https://noctua.at/pub/media/wysiwyg/Noctua_PWM_specifications_white_paper.pdf PWM Specification White Paper] (unknown date, but it references 1.3 &amp;lt;i&amp;gt;ibid&amp;lt;/i&amp;gt;)&lt;br /&gt;
Almost all available fans are either 5V, 12V, or 24V, with 12V dominating personal computers:&lt;br /&gt;
* there is no readily available 24V source from an [[ATX]] power supply, but you&#039;ll see 24V in e.g. [[3D printers]]&lt;br /&gt;
* 5V fans are seen in conjunction with MCUs such as [[Raspberry Pi]]&lt;br /&gt;
Fans operating at higher voltages will require less current for the same work. Two-pin fans offer neither feedback nor dedicated PWM control. Three-pin fans typically offer a tachometer signal on the third wire. Four-pin fans add a PWM control on the fourth wire. PWM is a &amp;lt;b&amp;gt;5V logical control&amp;lt;/b&amp;gt; that does not modify supplied power. In the absence of PWM support, some control can be effected by varying voltage (voltage ought be held constant for a PWM fan), but since a minimum voltage is necessary to avoid stalling, only the higher-speed range is available. &amp;quot;Low-frequency PWM&amp;quot; applies PWM to the power wire itself, but suffers from audible commutation noise, and must apply pulse stretching to the tachometer.&lt;br /&gt;
&lt;br /&gt;
Fans can be run at less than their maximum duty to reduce acoustic noise, consume less power, and potentially extend their lifetimes.&lt;br /&gt;
&lt;br /&gt;
==Recommendations==&lt;br /&gt;
I have collected extensive specs for [[Noctua]], [[Phanteks]], [[EK-Vardar]], [[80mm_fans|80mm fans]], and [[140mm fans]] in general (9x 140mm fans are in many ways optimal for a [[MORA3|MORA3-420]]).&lt;br /&gt;
Assuming you don&#039;t need lighting, and want to optimize for both cooling efficiency and quietness, go with:&lt;br /&gt;
* (120mm) Phanteks T-30 in a 3-pack if you can fit a 30mm-deep fan, the Noctua NF-A12x25 otherwise&lt;br /&gt;
* (140mm) Noctua NF-A14&lt;br /&gt;
For other sizes, Noctua&#039;s never a bad bet, but will cost a premium. To optimize for maximum cooling capacity, go with (loud) Deltas. To optimize for price without buying garbage, pick up a multipack of Arctic F12s or F14s. To optimize for LEDs, get a [https://lian-li.com/product/uni-fan-sl-infinity/ Lian Li Infinity] or [https://lian-li.com/product/uni-fan-sl-v2/ SL V2], and be prepared to pay far out the ass for it. To optimize for LEDs on a budget, multipacks of Arctic P12s and P14s are the way.&lt;br /&gt;
&lt;br /&gt;
==Power draw==&lt;br /&gt;
Intel&#039;s spec mandates 12V±5% (11.4–12.6V). A fan in its steady state operating in [https://en.wikipedia.org/wiki/Freestream freestream] (V&amp;lt;sub&amp;gt;∞&amp;lt;/sub&amp;gt;) conditions ought not draw more than 1.5A (this would be a maximum of 18.9W; most consumer fans draw far less). During startup, 2.2A of inrush current may be drawn for a period of no more than 1s (27.72W).&lt;br /&gt;
&lt;br /&gt;
Note that the powerful (and bracingly loud) [https://noctua.at/en/nf-f12-industrialppc-3000-pwm Noctua iPPC-3000] is speced at 3.6W, i.e. 0.3 amps, just 20% of the allowed draw. On the other hand, truly industrial fans exist: Delta&#039;s [https://www.delta-fan.com/technology/pfc1212de-f00.html PFC1212DE] 5500RPM behemoth draws 4A for an out-of-spec 48W. At this point, system designers really must begin considering heat added to the system by the fan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;If the supply fan is downstream of the cooling coil in a draw-through configuration, the fan heat increases the supply air temperature, increasing the supply air volume required to meet a given space load. If the fan is upstream of the coil in a blow-through configuration, the fan heat is absorbed directly by the coil. In either case, the fan heat adds to the cooling coil load. —James S. Elleson, &amp;lt;i&amp;gt;Cold Air Distribution&amp;lt;/i&amp;gt; (1996)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most motherboard fan headers (always 12V) are rated for between one and two amps. More current than this can be drawn from independently-powered fan controllers. One hears a rule of thumb that more than three consumer fans ought not be hooked up to a single header, but just add the damn amps and check the motherboard manual.&lt;br /&gt;
&lt;br /&gt;
==PWM==&lt;br /&gt;
Pulse width modulation controls the power delivered by dividing time up into quanta, and supplying current only during part of each quantum. The signal is characterized by the quantum length (∝ 1/frequency); the level can then be varied from none to the entirety of the quantum. 100% PWM is equivalent to constant current supply, while 0% PWM is equivalent to no supply.&lt;br /&gt;
&lt;br /&gt;
PC fans are ideally controlled via 25KHz PWM, though the range 21KHz to 28KHz is deemed acceptable (why 21KHz? so that you can&#039;t hear the commutation noise from switching the drive coils on and off: children hear up to about 20KHz, adults 17). The PWM high signal ought be 5V with an absolute maximum of 5.25V. The absolute max current drawn is 5mA (as an example, the ESP32 specs 40mA on each GPIO pin). The maximum value of logic low is 0.8V. In the absence of a valid signal, the fan ought run at maximum speed. Intel&#039;s document puts fairly strict requirements on the PWM-RPM relationship: the fan speed shall be a &amp;quot;continuous and monotonic function of the duty cycle&amp;quot; (a reasonable if almost redundant requirement, see below), and furthermore that the effected speed, as a percentage of maximum speed, should match the PWM duty cycle to within ±10%. If the PWM duty cycle is e.g. 50%, and the fan&#039;s max speed is 1900 RPM, conformance requires fan speed of 760–1140 RPM. The response curve must thus be linear in the large.&lt;br /&gt;
&lt;br /&gt;
Fans have a minimum rotation speed, corresponding to some minimum PWM duty cycle; duty cycles below this minimum result in the the fan running at less than or equal to the minimum speed (perhaps not running at all). The fan will never *start* spinning at less than the minimum rotation speed. The minimum rotation speed must not be more than 30% of the maximum speed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;an aside about Intel terminology: a &amp;quot;Type A&amp;quot; fan never shuts down, a &amp;quot;Type B&amp;quot; fan shuts down at 0% PWM, and a &amp;quot;Type C&amp;quot; fan shuts down at all PWM duty cycles below some threshold; one would think it sufficient to specify a &amp;quot;maximum PWM for shutdown&amp;quot; and simply specify -1 for &amp;quot;Type A&amp;quot; fans, but who knows? regarding &amp;quot;continuous and monotonic&amp;quot;: any monotonic function is continuous except for possible jump discontinuities, which would be odd in a fan.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Controlling PWM===&lt;br /&gt;
Many motherboards will allow their fan headers to be configured in the BIOS/UEFI. This typically involves defining some function mapping some motherboard temperature sensor to a PWM level for each fan. Rarely is this more flexible than allowing some pairs of this function to be specified, with the firmware interpolating between these points.&lt;br /&gt;
&lt;br /&gt;
If you want to use a [[Counterforce|more complex algorithm]], or inputs that aren&#039;t on the motherboard, you&#039;ll need some extra controller.&lt;br /&gt;
&lt;br /&gt;
Note that 25KHz is beyond the capability of many general-purpose PWM ICs (e.g. TLC5940, PCA9685), though I list several suitable special-purpose ICs [[#Accessories|below]].&lt;br /&gt;
&lt;br /&gt;
====On ATmega-based Arduino====&lt;br /&gt;
Generating a 25KHz PWM signal on [[Arduino]] Unos and MEGAs is not possible via the standard libraries, and the hardware must be programmed directly. Here&#039;s a sample implementation for the MEGA, providing eight-bit resolution (PWM values [0..255]), and using timer 5 for a PWM signal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static void setup_timers(int freq){      &lt;br /&gt;
  TCCR5A = 0;                                                                                                                       &lt;br /&gt;
  TCCR5B = 0;                                                                                                                       &lt;br /&gt;
  TCNT5 = 0;                                                                                                                       &lt;br /&gt;
  // Mode 10: phase correct PWM with ICR5 as Top (phase-correct needs a                                                             &lt;br /&gt;
  // factor of 2 in division below). OCR5C as Non-Inverted PWM output.                                                               &lt;br /&gt;
  // 16MHz / (25KHz * 2) == 320 cycles per interrupt.                                                                               &lt;br /&gt;
  ICR5 = F_CPU / freq / 2;                                                                                                 &lt;br /&gt;
  TCCR5A = _BV(COM5C1) | _BV(WGM51);                                                                                                &lt;br /&gt;
  TCCR5B = _BV(WGM53) | _BV(CS50);                                                                                                  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
static void set_pwm(unsigned pwm){&lt;br /&gt;
  OCR5C = ICR5 * pwm / 255;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To use a different timer, replace all &#039;5&#039;s above with the desired timer number. The relevant pin ought be placed into &amp;lt;tt&amp;gt;OUTPUT&amp;lt;/tt&amp;gt; mode, and [https://www.mathworks.com/help/supportpkg/arduino/ug/pin-mapping-for-arduino-timer-dependent-blocks.html must be associated] with the configured timer (say, Pin 44 for Timer 5). No direct manipulation of the pins is necessary, and the PWM is handled in hardware.&lt;br /&gt;
====On RA4M1-based Arduino====&lt;br /&gt;
Things are simpler on the Renesas RA4M1 driving the UNO R4. Use &amp;lt;tt&amp;gt;pwm.h&amp;lt;/tt&amp;gt;&#039;s &amp;lt;tt&amp;gt;PwmOut&amp;lt;/tt&amp;gt; class on one of the numerous pins capable of hardware PWM, initializing it to 25Khz:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static const int PWM_PIN = D3;   // we&#039;ll use D3&lt;br /&gt;
PwmOut pwmd3(PWM_PIN);&lt;br /&gt;
pinMode(PWM_PIN, OUTPUT);&lt;br /&gt;
pwmd3.begin(25000.0f, 0.0f); // start with a PWM of 0&lt;br /&gt;
pwmd3.pulse_perc(pwm);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====On ESP32====&lt;br /&gt;
The [[ESP32]]&#039;s [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/ledc.html &amp;lt;tt&amp;gt;ledc&amp;lt;/tt&amp;gt;] library can be harnessed to do this at a high level, while still using hardware PWM. You might need step up the voltage to 5V via one mechanism or another (failure to do can, in my experience, result in devices running at lower speeds than expected). A level shifter will do nicely. Supply a chosen channel (of 8) and an &amp;lt;tt&amp;gt;OUTPUT&amp;lt;/tt&amp;gt; pin, together with a &amp;lt;tt&amp;gt;freq&amp;lt;/tt&amp;gt; of 25000, to e.g.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static const ledc_mode_t LEDCMODE = LEDC_LOW_SPEED_MODE; // no high-speed on ESP32-S3&lt;br /&gt;
&lt;br /&gt;
static int initialize_pwm(ledc_channel_t channel, int pin, int freq, ledc_timer_t timer){&lt;br /&gt;
  ledc_timer_config_t ledc_timer;&lt;br /&gt;
  memset(&amp;amp;ledc_timer, 0, sizeof(ledc_timer));&lt;br /&gt;
  ledc_timer.speed_mode = LEDCMODE;&lt;br /&gt;
  ledc_timer.duty_resolution = LEDC_TIMER_8_BIT; // used to be &amp;quot;bit_num&amp;quot;&lt;br /&gt;
  ledc_timer.timer_num = timer;&lt;br /&gt;
  ledc_timer.freq_hz = freq;&lt;br /&gt;
  if(ledc_timer_config(&amp;amp;ledc_timer) != ESP_OK){&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  ledc_channel_config_t conf;&lt;br /&gt;
  memset(&amp;amp;conf, 0, sizeof(conf));&lt;br /&gt;
  conf.gpio_num = pin;&lt;br /&gt;
  conf.speed_mode = LEDCMODE;&lt;br /&gt;
  conf.intr_type = LEDC_INTR_DISABLE;&lt;br /&gt;
  conf.timer_sel = timer;&lt;br /&gt;
  conf.duty = LEDC_TIMER_8_BIT;&lt;br /&gt;
  conf.channel = channel;&lt;br /&gt;
  if(ledc_channel_config(&amp;amp;conf) != ESP_OK){&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then set the PWM duty cycle by calling on that same channel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static int set_pwm(ledc_channel_t channel, unsigned p){                                                                                                     &lt;br /&gt;
  if(ledc_set_duty(LEDCMODE, channel, p) != ESP_OK){                                                                 &lt;br /&gt;
    return -1;                                                                                                                      &lt;br /&gt;
  }&lt;br /&gt;
  if(ledc_update_duty(LEDCMODE, channel) != ESP_OK){                                                           &lt;br /&gt;
    return -1;                                                                                                                      &lt;br /&gt;
  }                                                                                                                                 &lt;br /&gt;
  return 0;                                                                                                                         &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====On Linux====&lt;br /&gt;
PWM fans are controlled through the [https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface &amp;lt;tt&amp;gt;hwmon&amp;lt;/tt&amp;gt;] [[sysfs]] interface, using the &amp;quot;PWM&amp;quot; type (&#039;&#039;not&#039;&#039; the &amp;quot;fan&amp;quot; type) via &amp;lt;tt&amp;gt;/sys/class/hwmon/*/pwm*&amp;lt;/tt&amp;gt;. This is dependent on your hardware controller (usually some SMBus-accessed [https://en.wikipedia.org/wiki/Super_I/O SuperIO] shadynasty on the motherboard) being supported and detected. You&#039;ll need set &amp;lt;tt&amp;gt;pwmX_enable&amp;lt;/tt&amp;gt; to 1 for manual control, at which point you ought be able to write a value [0..255] to &amp;lt;tt&amp;gt;pwmX&amp;lt;/tt&amp;gt;. When the PWM is under automatic control, you ought be able to read the current level by reading this latter file.&lt;br /&gt;
&lt;br /&gt;
Some devices don&#039;t have a kernel driver, but are supported by userspace tools like [https://github.com/liquidctl/liquidctl liquidctl].&lt;br /&gt;
&lt;br /&gt;
==Tachometer==&lt;br /&gt;
Two pulses (momentarily closed circuit) per revolution on an [https://en.wikipedia.org/wiki/Open_collector open collector]. Maximum current is 5mA for 5V and 12V fans, and 2mA for 24V fans. V&amp;lt;sub&amp;gt;CC&amp;lt;/sub&amp;gt; ought be 13V for 12V fans (so claims Noctua. Other places, and my experience, suggest that 5V and even 3.3V are sufficient), and 6V for 5V and 24V fans, necessitating at least the following pullup resistors:&lt;br /&gt;
* 5V: 1.2KΩ (6V, 5mA)&lt;br /&gt;
* 12V: 2.6KΩ (13V, 5mA)&lt;br /&gt;
** or, fed 5V: 1KΩ (5mA)&lt;br /&gt;
** or, fed 3.3V: 680Ω (4.9mA)&lt;br /&gt;
* 24V: 3KΩ (6V, 2mA)&lt;br /&gt;
Arduino 5V internal pullup resistors are several tens of thousands of ohms, so they can be used to simplify the circuit (on a 3.3V MCU, you&#039;ll need hook up the tachometers to at least a 5V V&amp;lt;sub&amp;gt;CC&amp;lt;/sub&amp;gt;, so this won&#039;t help you there). The tach will pull the signal low. It&#039;s best to detect this via hardware interrupts:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static _Atomic(uint32_t) LowerFanPulses, UpperFanPulses;&lt;br /&gt;
&lt;br /&gt;
static void                                                                                                                         &lt;br /&gt;
pulse_isr(void* pulsecount){                                                                                                        &lt;br /&gt;
  _Atomic(uint32_t)* pc = pulsecount;                                                                                                        &lt;br /&gt;
  ++*pc;                                                                                                                            &lt;br /&gt;
}    &lt;br /&gt;
&lt;br /&gt;
static int&lt;br /&gt;
setup_intr(gpio_num_t pin, uint32_t* arg){&lt;br /&gt;
  if(gpio_set_input(pin)){&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  esp_err_t e = gpio_set_intr_type(pin, GPIO_INTR_NEGEDGE);&lt;br /&gt;
  if(e != ESP_OK){&lt;br /&gt;
    fprintf(stderr, &amp;quot;failure (%s) installing %d interrupt\n&amp;quot;, esp_err_to_name(e), pin);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  if((e = gpio_isr_handler_add(pin, pulse_isr, arg)) != ESP_OK){&lt;br /&gt;
    fprintf(stderr, &amp;quot;failure (%s) setting %d isr\n&amp;quot;, esp_err_to_name(e), pin);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  if((e = gpio_intr_enable(pin)) != ESP_OK){                                                                                        &lt;br /&gt;
    fprintf(stderr, &amp;quot;failure (%s) enabling %d interrupt\n&amp;quot;, esp_err_to_name(e), pin);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
if(setup_intr(lowertpin, &amp;amp;LowerFanPulses)){&lt;br /&gt;
  return -1;&lt;br /&gt;
}&lt;br /&gt;
if(setup_intr(uppertpin, &amp;amp;UpperFanPulses)){&lt;br /&gt;
  return -1;&lt;br /&gt;
}&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
uint32_t up = UpperFanPulses;&lt;br /&gt;
UpperFanPulses = 0;&lt;br /&gt;
uint32_t lp = LowerFanPulses;&lt;br /&gt;
LowerFanPulses = 0;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;up&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lp&amp;lt;/tt&amp;gt; can then be used to calculate RPM. Remember to divide by 2 due to two pulses per revolution. The pin must be associated with some hardware interrupt.&lt;br /&gt;
&lt;br /&gt;
If there&#039;s noise contaminating the tachometer circuit, you might need to establish an RC circuit going to ground, yielding a [https://en.wikipedia.org/wiki/Low-pass_filter#RC_filter low-pass filter]. Given a time constant RC, a low-pass filter blocks signals over 1/2πRC. Pick something a fair amount above your expected frequency. Let&#039;s say your fan maxes out at 3000 RPM. That&#039;s 3000 / 60 = 50 RPS. The Hall sensor triggers twice per revolution so you&#039;re expecting 100 transitions per second. If you&#039;re using a 680Ω resistor on input, and want to pass signals below 500 Hz, a 470 nF capacitor will do the trick: 1/2πRC == 1/2π(.0003196) == 497.98 Hz. Note that this will make your transitions less sharp on the rising side, and only serves to reduce the voltage drastically when the frequency increases substantially. It&#039;s best to avoid their use.&lt;br /&gt;
&lt;br /&gt;
A junction must propagate only one tachometer signal, i.e. if three fans are connected to a splitter, only one tach value is reported. Whether this is a maximum, or an average, or something else is undefined, but every junction I&#039;ve ever seen, from passive splitters to active controllers, simply connects only one tachometer to the wire (controllers using a side channel in addition to the fan connector might of course report multiple tach signals, as does the [https://shop.aquacomputer.de/product_info.php?products_id=3832&amp;amp;language=en Aquacomputer OCTO] via USB).&lt;br /&gt;
&lt;br /&gt;
==Physical==&lt;br /&gt;
{| class=&amp;quot;wikitable floatright&amp;quot;&lt;br /&gt;
!Fan size (mm)&lt;br /&gt;
!Typical hole spacing (mm)&lt;br /&gt;
|- &lt;br /&gt;
| 40  || 32 &lt;br /&gt;
|-&lt;br /&gt;
| 50  || 40 &lt;br /&gt;
|-&lt;br /&gt;
| 60  || 50 &lt;br /&gt;
|-&lt;br /&gt;
| 70  || 60 &lt;br /&gt;
|-&lt;br /&gt;
| 80  || 71.5 &lt;br /&gt;
|-&lt;br /&gt;
| 92  || 82.5 &lt;br /&gt;
|-&lt;br /&gt;
| 120  || 105 &lt;br /&gt;
|-&lt;br /&gt;
| 140  || 124.5 &lt;br /&gt;
|-&lt;br /&gt;
| 200  || 154 &lt;br /&gt;
|-&lt;br /&gt;
| 220  || 170 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Connector and wiring===&lt;br /&gt;
[[File:0470533000.jpeg|right|thumb|A Molex 47053-1000 4-pin header]]&lt;br /&gt;
Intel specifies UL1430 wire with a minimum AWG26, 300V capacity, with rating of at least 105℃.&lt;br /&gt;
&lt;br /&gt;
The fan wire ought be terminated with a four-pin housing (Wieson 2510C888-001, Molex 47054-1000, or equivalent).&lt;br /&gt;
&lt;br /&gt;
The intended mating header ought be housed in Wieson 2366C888-007, Molex 47053-1000, Foxconn HF27040-M1, Tyco 1470947-1, or equivalent.&lt;br /&gt;
&lt;br /&gt;
Pinout: GND (black), Power (yellow), Tach (green), PWM (blue)&lt;br /&gt;
&lt;br /&gt;
Both connectors ought employ a polarizing rib between the third and fourth pin to ensure correct connection. The absence of such does not preclude mating with a ribbed connector; an offset connection is almost certain to blow the tachometer circuit [https://kampidh.blogspot.com/2021/02/even-deeper-into-rabbit-hole-4-pin-pwm.html if the device is externally powered].&lt;br /&gt;
&lt;br /&gt;
===Form factor===&lt;br /&gt;
The fans seen most often in personal computers are 120mm square by 25mm deep (this is the only size specified in the Intel reference). Almost all radiators intended for computer watercooling are built around some number of 120mm or 140mm fans. A larger fan will typically require less power and generate less noise (due to a lower rotational speed) to move the same amount of air.&lt;br /&gt;
&lt;br /&gt;
Common depths include 10mm, 15mm, 25mm, and 38mm, but these are (beyond 25mm) less standardized. As of late 2022, perhaps the best general-purpose fan on the market is the [[Phanteks|Phanteks T-30]], a 120x120x30mm fan.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
{| class=&amp;quot;wikitable floatright&amp;quot;&lt;br /&gt;
! variable !! when speed changes !! when density changes&lt;br /&gt;
|-&lt;br /&gt;
| flow || flow₂ = flow₁(rpm₂ / rpm₁) || flow₂ = flow₁(ρ₂ / ρ₁)&lt;br /&gt;
|-&lt;br /&gt;
| pressure || P₂ = P₁(rpm₂ / rpm₁)² || P₂ = P₁(ρ₂ / ρ₁)&lt;br /&gt;
|-&lt;br /&gt;
| power || W₂ = W₁(rpm₂ / rpm₁)³ || W₂ = W₁(ρ₂ / ρ₁)&lt;br /&gt;
|-&lt;br /&gt;
| noise || N₂ = N₁ + 50log₁₀(rpm₂ / rpm₁) || N₂ = N₁ + 20log₁₀(ρ₂ / ρ₁)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Static pressure is the pressure created in front of the fan within an enclosure. Airflow is the volume of air moved per unit time.  A fan&#039;s output is characterized in terms of maximum static pressure and maximum airflow, but &#039;&#039;&#039;it does not hit both maxima at once&#039;&#039;&#039;. Maximum airflow is achieved when completely unobstructed. As the amount of obstruction increases, airflow is reduced, and static pressure increases. At a given level of output, airflow is roughly inversely proportional to the square root of static pressure. Each fan has a performance curve relating airflow to static pressure (technically, a curve per PWM level). The environment defines the impedance curve, and the real pressure and airflow are specified where these two intersect.&lt;br /&gt;
&lt;br /&gt;
This is of great relevance when putting fans on radiators, and to a lesser extent behind screens/filters. A fan optimized for static pressure might be able to push more flow through such obstacles than one designed purely to maximize unimpeded airflow.&lt;br /&gt;
&lt;br /&gt;
==Accessories==&lt;br /&gt;
* [https://shop.aquacomputer.de Aquacomputer] from Germany sells the [https://shop.aquacomputer.de/index.php?cPath=62_4621 QUADRO and OCTO] for four and eight fans, respectively, with independent tach and PWM on all. It&#039;s controlled by USB.&lt;br /&gt;
* Any number of fan hubs, generally powered by Molex or SATA (requiring only the 12V line on each) and with a two-wire cable for tach+PWM. Some arbitrary header will be connected to tach; PWM will be distributed to all headers.&lt;br /&gt;
** [https://dewire.shop/collections/all Dewire] from the Netherlands sells their firm Relay in various lengths, perfect for running down the side of a radiator or up the height of a full tower.&lt;br /&gt;
* Any number of fan extenders/splitters, taking their power from the motherboard header. Same deal as a fan hub, except with fewer amps available.&lt;br /&gt;
* Devices, often in 5.25&amp;quot; bay form factor, with knobs for manual control of connected fans. [[Counterforce|Manual control is lame]] so fuck that.&lt;br /&gt;
* Specialized ICs exist to drive fan PWM and read tach:&lt;br /&gt;
** Analog Devices [https://www.digikey.com/en/products/detail/analog-devices-inc/ADT7470ARQZ-REEL7/995575 ADT7470ARQZ-REEL7] (4 fans, SMT, [[SMBus]], temp sensor)&lt;br /&gt;
** OnSemi [https://www.onsemi.com/pdf/datasheet/adm1031-d.pdf ADM-1301] (2 fans, SMT, [[SMBus]])&lt;br /&gt;
** OnSemi [https://www.onsemi.com/download/data-sheet/pdf/adt7460-d.pdf ADT7460] (2 fans, SMT, [[SMBus]])&lt;br /&gt;
** Maxim Integrated [https://www.maximintegrated.com/en/products/interface/signal-integrity/MAX31790.html MAX31790] (6 fans, SMT, I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C)&lt;br /&gt;
** Texas Instruments [https://www.ti.com/product/AMC6821 AMC6821] (1 fan, SMT, [[SMBus]], temp sensor)&lt;br /&gt;
** Microchip [https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/EMC2301-2-3-5-Data-Sheet-DS20006532A.pdf EMC230x] (1, 2, 3, or 5 fans depending on model, SMT, [[SMBus]])&lt;br /&gt;
===LEDs===&lt;br /&gt;
Fans are well-represented in modern workstation lightshows. Look for daisy-chaining capabilities in an LED-enabled fan, as there will usually be twice the total cabling. 5V can&#039;t be daisy-chained as far as 12V due to voltage drop.&lt;br /&gt;
&lt;br /&gt;
Fans typically have either [[LED counts|12V RGB or 5V ARGB]] LEDs. The 12V four-pin SMD5050 LEDs can be set &amp;lt;i&amp;gt;in toto&amp;lt;/i&amp;gt; to a single color formed by varying the voltages of R, G, and B signals (via lower-frequency PWM). 5V WS2811 addressable LEDs can be individually controlled via a digital protocol. You&#039;ll need a controller either way: for 5V, I like Gelid&#039;s [[CODI6]] and the [https://fastled.io/ FastLED] library. For 12V, just emit (native frequency) PWM from three pins of any MCU through three appropriate MOSFETs (the [https://www.infineon.com/cms/en/product/power/mosfet/n-channel/irlb8721/ IRLB8721] is a fine choice), easy-peasy.&lt;br /&gt;
&lt;br /&gt;
LEDs can be added to an arbitrary 120mm fan via frames such as [https://www.phanteks.com/Halos.html Phanteks Halos].&lt;br /&gt;
&lt;br /&gt;
==Other crap using the fan header==&lt;br /&gt;
Pumps will use the fan header for tach and PWM, though not power nor ground (these will be externally supplied by some other source).&lt;br /&gt;
&lt;br /&gt;
Some flowmeters use a two- or three-pin connector, for power and optionally tach.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve seen some lighting run off the fan header&#039;s PWM, but 1A isn&#039;t generally sufficient for very significant lighting.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://kampidh.blogspot.com/2019/11/down-rabbit-hole-d5-pwm-pump-flaw-and.html Down The Rabbit Hole - D5 PWM Pump Issue and Possible No RPM Fix] on [https://kampidh.blogspot.com/ Kampidh&#039;s] blog&lt;br /&gt;
* [https://docs.arduino.cc/tutorials/generic/secrets-of-arduino-pwm Secrets of Arduino PWM]&lt;br /&gt;
* [https://www.analog.com/en/analog-dialogue/articles/how-to-control-fan-speed.html Why and How to Control Fan Speed], Analog Devices&lt;br /&gt;
* [https://blog.orientalmotor.com/fan-basics-air-flow-static-pressure-impedance Fan Basics: Airflow, Static Pressure, and Impedance] at Oriental Motor&lt;br /&gt;
* [https://www.digikey.com/Site/Global/Layouts/DownloadPdf.ashx?pdfUrl=6393BE679DD7468BB8B9221E21CE1BB0 Establishing Cooling Requirements: Airflow vs Pressure] at Digikey&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[InaMORAta]]&lt;br /&gt;
* [[Counterforce]]&lt;br /&gt;
* [[Reflections on watercooling]]&lt;br /&gt;
* [[Further reflections on watercooling]]&lt;br /&gt;
* [[140mm fans]]&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: Hardware]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12279</id>
		<title>Computer science eponyms</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Computer_science_eponyms&amp;diff=12279"/>
		<updated>2026-03-01T06:43:35Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Computer science needs more eponyms, in the vein of [http://en.wikipedia.org/wiki/Mordenkainen#Spells Mordenkainen]. Collect them all, and impress your friends! I might make a project one day of [[book ideas|summarizing these entries]].&lt;br /&gt;
&lt;br /&gt;
Explicitly &#039;&#039;not included&#039;&#039; in this list are: general logic (Peano and Presburger arithmetic, Herbrandization), mathematical entities not primarily associated with computer science (Markov&#039;s inequality, Chapman-Kolmogorov equation, Young tableaux), physical theories to which computer science is merely applied (Navier-Stokes equations, Taylor-Couette flow), nor statistical entities not primarily associated with computer science (Ziph&#039;s Law, Pareto efficiency). Explicitly &#039;&#039;included&#039;&#039; are: terms from computer engineering (Mead-Conway rules, Ling adders).&lt;br /&gt;
&lt;br /&gt;
Of course, it can&#039;t be on the list unless I know about it, so [mailto:dankamongmen@gmail.com feed me eponyms].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; the threshold for inclusion is now: &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;. If you&#039;re not at least as computer sciency as &#039;&#039;&#039;De Morgan&#039;s Laws&#039;&#039;&#039;, you ain&#039;t gettin&#039; in. [[User:Dank|Dank]] 12:25, 3 October 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Aanderaa–Rosenberg Conjecture&#039;&#039;&#039; suggests that non-trivial monotonicity properties of undirected graphs can only be solved by &#039;&#039;Ω(N&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&#039;&#039; algorithms on &#039;&#039;N&#039;&#039; vertices (these are all evasive decision trees on all possible edges)&lt;br /&gt;
* &#039;&#039;&#039;Adam7 Algorithm&#039;&#039;&#039; is a 2D, 7-pass interlacing scheme optionally used by PNG due to Adam Costello&lt;br /&gt;
* the &#039;&#039;&#039;Adler-32&#039;&#039;&#039; checksum trades reliability for speed relative to CRCs of the same length, and is included in Mark Adler&#039;s zlib&lt;br /&gt;
* &#039;&#039;&#039;Adleman&#039;s Theorem&#039;&#039;&#039; states that P/poly contains all problems solvable in randomized polynomial time&lt;br /&gt;
* &#039;&#039;&#039;Adelson-Velskii-Landis Trees&#039;&#039;&#039; are self-height-balancing binary search trees, optimizing for lookup over modification viz. red-black trees&lt;br /&gt;
* &#039;&#039;&#039;Aho-Corasick Algorithm&#039;&#039;&#039; extends the Knuth-Morris-Pratt automaton to match multiple strings in one pass of a text&lt;br /&gt;
* &#039;&#039;&#039;Akra-Bazzi Method&#039;&#039;&#039; generalizes the &amp;quot;master method&amp;quot; of Bentley, Haken, and Saxe for subproblems of significantly different size&lt;br /&gt;
* Amdahl&#039;s Law&lt;br /&gt;
* Andersen&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Anderson–Björck Algorithm&#039;&#039;&#039; improves on the Illinois Algorithm, which is itself an improvement on the &#039;&#039;regula falsi&#039;&#039; method of solving for roots.&lt;br /&gt;
* Angluin&#039;s algorithm&lt;br /&gt;
* &#039;&#039;&#039;Arikan&#039;s PAC Codes&#039;&#039;&#039; aka polarization-adjusted convolutional [https://en.wikipedia.org/wiki/Polar_code_(coding_theory) polar coding] outperform CRC-aided and purely convolutional polar codes, approaching the theoretical channel capacity for short blocklengths.&lt;br /&gt;
* &#039;&#039;&#039;Armstrong&#039;s axioms&#039;&#039;&#039; are a set of inference rules which generate all functional dependencies of a relational database. Similarly, an &#039;&#039;&#039;Armstrong relation&#039;&#039;&#039; satisfies all the functional dependencies in the closure F&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt; (and only those dependencies).&lt;br /&gt;
&lt;br /&gt;
* Backus-Naur Form&lt;br /&gt;
* Bajard-Kla-Muller algorithm&lt;br /&gt;
* Ball-Larus Heuristics&lt;br /&gt;
* the &#039;&#039;&#039;Banerjee test&#039;&#039;&#039; can demonstrate the absence of [[Compiler_Design|control flow dependencies]] in certain types of loops&lt;br /&gt;
* Barendregt convention&lt;br /&gt;
* Barendregt-Geuvers-Klop Conjecture&lt;br /&gt;
* Barnes-Hut simulation&lt;br /&gt;
* the &#039;&#039;&#039;Barton-Nackman trick&#039;&#039;&#039; is an idiom in C++ effecting restricted template expansion&lt;br /&gt;
* Baskett, Chandy, Muntz and Palacios network&lt;br /&gt;
* Batcher&#039;s Odd-Even Merge&lt;br /&gt;
* &#039;&#039;&#039;Bayer Filter&#039;&#039;&#039; mosaics arrange RGB color filters on a square array of photosensors, and are used in a majority of single-chip image sensors. It uses twice as many green sensors as red or blue, to mimic the physiology of the human eye&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s algorithm&#039;&#039;&#039; is the theoretically best cache-replacement algorithm, one which discards information that will not be needed until the furthest time into the future (this is not usually knowable)&lt;br /&gt;
* &#039;&#039;&#039;Bélády&#039;s anomaly&#039;&#039;&#039; is the phenomenon in which increasing the number of page frames results in an &#039;&#039;increase&#039;&#039; in the number of page faults for certain memory access patterns, especially when using FIFO page replacement&lt;br /&gt;
* Bell-La Padula model&lt;br /&gt;
* the &#039;&#039;&#039;Bellman Equation&#039;&#039;&#039; specifies for a problem the necessary condition for optimality of dynamic programming&lt;br /&gt;
* Bellman-Ford Algorithm&lt;br /&gt;
* Beneš network&lt;br /&gt;
* Bentley-Ottman Algorithm&lt;br /&gt;
* Berlekamp-Massey Algorithm&lt;br /&gt;
* Berman–Hartmanis conjecture&lt;br /&gt;
* Bernstein chaining&lt;br /&gt;
* Bernstein conditions&lt;br /&gt;
* Biba Integrity Model&lt;br /&gt;
* Blinn-Phong shading&lt;br /&gt;
* Blom&#039;s Scheme&lt;br /&gt;
* Bloom filter&lt;br /&gt;
* Bluestein&#039;s FFT&lt;br /&gt;
* Blum&#039;s axioms&lt;br /&gt;
* Blum&#039;s Speedup Theorem&lt;br /&gt;
* Blum-Blum-Shub random number generator&lt;br /&gt;
* Boehm-Demers-Weiser garbage collector&lt;br /&gt;
* the &#039;&#039;&#039;Boolean&#039;&#039;&#039; data type takes on values of true or false, as do variables in George Boole&#039;s algebra&lt;br /&gt;
* Booth&#039;s Algorithm&lt;br /&gt;
* Borůvka&#039;s Algorithm&lt;br /&gt;
* Bowyer-Watson Algorithm&lt;br /&gt;
* Boyer-Moore Algorithm&lt;br /&gt;
* the &amp;lt;b&amp;gt;Brassard-Høyer-Tapp algorithm&amp;lt;/b&amp;gt; solves the collision problem on a quantum computer in O(n&amp;lt;sup&amp;gt;⅓&amp;lt;/sup&amp;gt;) queries&lt;br /&gt;
* Bremermann&#039;s Limit&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Adder&#039;&#039;&#039; is logn + O(log1/2n) depth and O(nlg n) size&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Algorithm&#039;&#039;&#039; detects cycles using two pointers, and finds the length of the cycle directly&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Method&#039;&#039;&#039; is a hybrid root-finding algorithm combining bisection, the secant method, and inverse quadratic interpolation&lt;br /&gt;
* &#039;&#039;&#039;Brent&#039;s Theorem&#039;&#039;&#039; aka &#039;&#039;&#039;Brent&#039;s Law&#039;&#039;&#039; states that p &amp;lt; N processors can simulate N in T&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt; ≤ T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt; + (T&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; - T&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;)/p&lt;br /&gt;
* Bresenham&#039;s Algorithm&lt;br /&gt;
* Brewer&#039;s Theorem&lt;br /&gt;
* Brodal Queue&lt;br /&gt;
* Broder&#039;s Method&lt;br /&gt;
* Bron-Kerbosch Algorithm&lt;br /&gt;
* Brooks-Iyengar Algorithm&lt;br /&gt;
* Buchberger Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Burnside-Dixon Algorithm&#039;&#039;&#039; calculates irreducible representations of finite groups&lt;br /&gt;
* Burrows-Wheeler Transform&lt;br /&gt;
* Buzen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Callahan-Koblenz algorithm&lt;br /&gt;
* Cannon&#039;s Algorithm&lt;br /&gt;
* Cantor-Zassenhaus Algorithm&lt;br /&gt;
* Carmack&#039;s Reverse&lt;br /&gt;
* Catmull-Clark subdivision surfaces&lt;br /&gt;
* Chaff Algorithm&lt;br /&gt;
* Chaitin&#039;s algorithm&lt;br /&gt;
* Chaitin&#039;s Constant&lt;br /&gt;
* Chaitin-Briggs algorithm&lt;br /&gt;
* Chaitin–Kolmogorov random numbers&lt;br /&gt;
* Chakravala&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Chan&#039;s Algorithm&#039;&#039;&#039; computes the optimal h-point convex hull of n 2- or 3-dimensional points in O(nlgh)&lt;br /&gt;
* Chandy-Lamport Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Chang-Roberts Algorithm&#039;&#039;&#039; elects leaders for distributed systems.&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is an exact quantum algorithm for testing 2-junta&lt;br /&gt;
* &#039;&#039;&#039;Chen&#039;s Algorithm&#039;&#039;&#039; is a single-writer, multiple-reader, wait-free lock using Compare-and-Swap&lt;br /&gt;
* the &#039;&#039;&#039;Chen-Teboulle Algorithm&#039;&#039;&#039; solves the proximal point algorithm efficiently for certain functions&lt;br /&gt;
* Cheney&#039;s Algorithm&lt;br /&gt;
* Chew&#039;s Second Algorithm&lt;br /&gt;
* Chien search&lt;br /&gt;
* &#039;&#039;&#039;Cholesky decomposition&#039;&#039;&#039; expands Hermitian positive-definite matrices into products of a lower triangular matrix and its conjugate transpose. solved using the Cholesky–Crout and Cholesky–Banachiewicz algorithms.&lt;br /&gt;
* Chomsky Hierarchy&lt;br /&gt;
* Chomsky Normal Form&lt;br /&gt;
* Chomsky-Schützenberger theorem&lt;br /&gt;
* Christofides Algorithm&lt;br /&gt;
* Church encoding&lt;br /&gt;
* Church-Rosser Theorem&lt;br /&gt;
* Church-Turing Thesis&lt;br /&gt;
* the &#039;&#039;&#039;[https://clifford.at/cliffords-device.html Clifford Device]&#039;&#039;&#039; exploits &amp;lt;tt&amp;gt;if(0)&amp;lt;/tt&amp;gt; to abstract block control via macros (note that e. g. [https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3355.htm N3355] calls this &amp;quot;Claire&#039;s Device&amp;quot; following a presumed transition, but Claire still seems to call it Clifford).&lt;br /&gt;
* Clos network&lt;br /&gt;
* Cobham Axioms&lt;br /&gt;
* Cobham&#039;s thesis&lt;br /&gt;
* Cocke-Younger-Kasami Algorithm&lt;br /&gt;
* Cohen-Sutherland algorithm&lt;br /&gt;
* &#039;&#039;&#039;Coffman conditions&#039;&#039;&#039; enumerate the four conditions necessary and sufficient for deadlock within a system (mutual exclusion, hold-and-wait, a lack of preemption, and circular wait)&lt;br /&gt;
* Commentz-Walter Algorithm&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Conway%27s_law Conway&#039;s Law]&lt;br /&gt;
* Cook reduction&lt;br /&gt;
* the &#039;&#039;&#039;Cook-Levin Theorem&#039;&#039;&#039; (sometimes just &#039;&#039;&#039;Cook Theorem&#039;&#039;&#039;) proves that the Boolean satisfiability problem is NP-complete.&lt;br /&gt;
* the &#039;&#039;&#039;Cooley-Tukey Algorithm&#039;&#039;&#039; is the workhorse algorithm for Fast Fourier Transforms.&lt;br /&gt;
* the &#039;&#039;&#039;Coppersmith-Winograd Algorithm&#039;&#039;&#039; multiplied matrices in the least time complexity from 1990-2010, and used the &amp;quot;laser method&amp;quot; employed by all improvements since.&lt;br /&gt;
* Craig, Landin and Hagersten lock&lt;br /&gt;
* Cranfield method&lt;br /&gt;
* (preconditioned) Crank–Nicolson Algorithm&lt;br /&gt;
* Crusader’s Convergence Algorithm&lt;br /&gt;
* Curry-Howard correspondence&lt;br /&gt;
* The &amp;lt;b&amp;gt;CVM algorithm&amp;lt;/b&amp;gt; (Chakraborty, Variyam, Meel) approximates the number of distinct elements in a large set&lt;br /&gt;
&lt;br /&gt;
* Dadda Multiplier&lt;br /&gt;
* Damerau-Levenshtein distance&lt;br /&gt;
* Damm Algorithm&lt;br /&gt;
* Davis-Putnam Algorithm&lt;br /&gt;
* Davis-Putnam-Logemann-Loveland Algorithm&lt;br /&gt;
* De Bruijn presentation&lt;br /&gt;
* De Bruijn string&lt;br /&gt;
* Dekker&#039;s Algorithm&lt;br /&gt;
* Delaunay&#039;s Triangulation&lt;br /&gt;
* Dennard Scaling&lt;br /&gt;
* Deutsch gate&lt;br /&gt;
* Diffie-Hellman Key Exchange&lt;br /&gt;
* Dijkstra&#039;s Algorithm&lt;br /&gt;
* Dinic&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;DiVincenzo&#039;s criteria&#039;&#039;&#039; specify conditions necessary for a quantum computer&lt;br /&gt;
* Dolev&#039;s Algorithm&lt;br /&gt;
* Doo-Sabin subdivision surface&lt;br /&gt;
* Duff&#039;s Device&lt;br /&gt;
* Dyck Language&lt;br /&gt;
&lt;br /&gt;
* Earle latch&lt;br /&gt;
* Earley Parser&lt;br /&gt;
* &#039;&#039;&#039;Edholm&#039;s law&#039;&#039;&#039; predicts doubling of bandwidth every 18 months across wireless, nomadic, and wired networks (and is getting some rather heavy lift from Moore&#039;s Law IMHO)&lt;br /&gt;
* &#039;&#039;&#039;Edmonds&#039;s matching algorithm&#039;&#039;&#039; constructs maximum matchings on graphs in O(|E||V|²)&lt;br /&gt;
* Edmonds-Karp Algorithm&lt;br /&gt;
* ElGamal encryption&lt;br /&gt;
* ElGamal signatures&lt;br /&gt;
* van Emde Boas trees&lt;br /&gt;
* Sieve of Eratosthenes&lt;br /&gt;
* the &#039;&#039;&#039;Eytzinger layout&#039;&#039;&#039; stores binary trees in an array in a cache-friendly manner&lt;br /&gt;
* Euclid&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fagin&#039;s Theorem&#039;&#039;&#039; states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP&lt;br /&gt;
* &#039;&#039;&#039;Falk diagrams&#039;&#039;&#039; graph various performance counters against time (typically expressed in cycles)&lt;br /&gt;
* Faugère F5 algorithm&lt;br /&gt;
* &#039;&#039;&#039;Fenwick trees&#039;&#039;&#039; support efficient update of elements and calculate prefix sums in a table of numbers&lt;br /&gt;
* Fiat-Shamir Heuristic&lt;br /&gt;
* Fibonacci Heap&lt;br /&gt;
* Fisher-Yates shuffle&lt;br /&gt;
* Flajolet-Martin algorithm&lt;br /&gt;
* Fletcher&#039;s Checksum &lt;br /&gt;
* Floyd&#039;s Algorithm&lt;br /&gt;
* Floyd-Steinberg dithering&lt;br /&gt;
* Flynn Taxonomy&lt;br /&gt;
* Ford-Fulkerson Algorithm&lt;br /&gt;
* Fortune&#039;s Algorithm&lt;br /&gt;
* Fox&#039;s Algorithm&lt;br /&gt;
* Fredkin gate&lt;br /&gt;
* Friedberg-Muchnik Theorem&lt;br /&gt;
* Fruchterman-Reingold heuristic&lt;br /&gt;
* &#039;&#039;&#039;Fürer&#039;s algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgn*2&amp;lt;sup&amp;gt;O(lg*n)&amp;lt;/sup&amp;gt;)&#039;&#039;&lt;br /&gt;
* the &#039;&#039;&#039;Ferguson-Forcade&#039;&#039;&#039; algorithm was the first for the integer relation problem (&amp;lt;i&amp;gt;Bull. Amer. Math 1979&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gabbay&#039;s separation theorem&lt;br /&gt;
* Gabow&#039;s Algorithm&lt;br /&gt;
* Gal&#039;s Accurate Tables&lt;br /&gt;
* Gale-Church Algorithm&lt;br /&gt;
* Gale-Shapley algorithm&lt;br /&gt;
* Gilbert-Johnson-Keerthi Algorithm&lt;br /&gt;
* Girard&#039;s Paradox&lt;br /&gt;
* Girvan-Newman Algorithm&lt;br /&gt;
* Givens rotation&lt;br /&gt;
* Glushkov Automata&lt;br /&gt;
* Goldreich-Goldwasser-Halevi scheme&lt;br /&gt;
* The weighted &#039;&#039;&#039;Gomory-Hu Tree&#039;&#039;&#039; of an undirected graph with capacities G represents the minimum s-t cuts for all s-t pairs in G, and is computable via |V|-1 maximum flow problems.&lt;br /&gt;
* Gordon–Newell theorem&lt;br /&gt;
* Gosper&#039;s Hack&lt;br /&gt;
* Gosper&#039;s Hypergeometric Algorithm&lt;br /&gt;
* Gosper&#039;s Loop Detection Algorithm&lt;br /&gt;
* Gouraud shading&lt;br /&gt;
* The &#039;&#039;&#039;Graham Scan&#039;&#039;&#039; solves for the convex hull of a set of points in &#039;&#039;O(NlgN)&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;Graham-Andrew Algorithm&#039;&#039;&#039; modifies the Graham Scan to solve for convex hulls in &#039;&#039;O(N)&#039;&#039; best case.&lt;br /&gt;
* Graham-Denning Model&lt;br /&gt;
* Gram–Schmidt process&lt;br /&gt;
* Gray codes&lt;br /&gt;
* Greibach Normal Form&lt;br /&gt;
* Grover&#039;s Algorithm&lt;br /&gt;
* Grzegorczyk hierarchy&lt;br /&gt;
* Guruswami-Sudan Algorithm&lt;br /&gt;
* Gustafson&#039;s Law&lt;br /&gt;
* &#039;&#039;&#039;Gutmann&#039;s Method&#039;&#039;&#039; is a 35-phase recipe for destroying data on ferromagnetic drives.&lt;br /&gt;
* Guttman-Rosler transform&lt;br /&gt;
&lt;br /&gt;
* Hamiltonian path problem&lt;br /&gt;
* Hamming code&lt;br /&gt;
* Hamming distance&lt;br /&gt;
* the &#039;&#039;&#039;Håstad, Just, Lagarias, and Schnorr (HJLS) algorithm&#039;&#039;&#039; improves on LLL for the integer relations problem (&amp;lt;i&amp;gt;SIAM J. Comput. 1989&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heap&#039;s algorithm&#039;&#039;&#039; generates all permutations of a set with minimum movement (&amp;lt;i&amp;gt;The Computer Journal 1963&amp;lt;/i&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Heckel&#039;s algorithm&#039;&#039;&#039; isolates changes between files, and is the basis for &amp;lt;tt&amp;gt;diff&amp;lt;/tt&amp;gt; [https://dl.acm.org/doi/10.1145/359460.359467 CACM 1978]&lt;br /&gt;
* Hennessy-Milner Logic&lt;br /&gt;
* Herlihy&#039;s wait-free hierarchy&lt;br /&gt;
* Hindley-Milner type system&lt;br /&gt;
* Hirschberg&#039;s Algorithm&lt;br /&gt;
* Hoare logic&lt;br /&gt;
* Holevo&#039;s Theorem&lt;br /&gt;
* Holland&#039;s schema theorem&lt;br /&gt;
* Hong-Kung bound&lt;br /&gt;
* Hopcroft-Karp Algorithm&lt;br /&gt;
* Hopfield net&lt;br /&gt;
* Horn clauses&lt;br /&gt;
* Hough transform&lt;br /&gt;
* Householder transformation&lt;br /&gt;
* Huet&#039;s Zipper&lt;br /&gt;
* Huffman coding&lt;br /&gt;
* Hunt-McIlroy Algorithm&lt;br /&gt;
&lt;br /&gt;
* Iliffe vector&lt;br /&gt;
* Immerman–Szelepcsényi theorem&lt;br /&gt;
&lt;br /&gt;
* Jackson network&lt;br /&gt;
* Jackson&#039;s theorem&lt;br /&gt;
* Jaro-Winkler distance&lt;br /&gt;
* Jefferson&#039;s Time Warp&lt;br /&gt;
* Jelinek-Mercer smoothing&lt;br /&gt;
* Jensen&#039;s Device&lt;br /&gt;
* Johnson&#039;s Algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Jonker-Volgenant Algorithm&#039;&#039;&#039; improves &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; to solve the assignment problem in O(n³), Jonker-Volgenant 1987&lt;br /&gt;
&lt;br /&gt;
* Kabsch Algorithm&lt;br /&gt;
* Kadane&#039;s Algorithm&lt;br /&gt;
* Kahan Summation Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kahn&#039;s Algorithm&#039;&#039;&#039; topologically sorts a graph in O(|V| + |E|), Kahn 1962&lt;br /&gt;
* Kannan&#039;s Theorem&lt;br /&gt;
* &#039;&#039;&#039;Karatsuba&#039;s Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;3&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Karger&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Karn&#039;s algorithm&#039;&#039;&#039; extracts accurate [[TCP]] RTT measures, Karn-Partridge 1987&lt;br /&gt;
* Karmarkar&#039;s algorithm&lt;br /&gt;
* Karnaugh map&lt;br /&gt;
* Karp reduction&lt;br /&gt;
* Karp-Flatt metric&lt;br /&gt;
* Karp-Lipton Theorem&lt;br /&gt;
* Kamada-Kawai algorithm&lt;br /&gt;
* Kernighan-Lin algorithm&lt;br /&gt;
* Kirkpatrick-Seidel Algorithm&lt;br /&gt;
* Kleene Closure&lt;br /&gt;
* Kleene Plus&lt;br /&gt;
* Kleene Star&lt;br /&gt;
* Kleene–Rosser Paradox&lt;br /&gt;
* Kneser-Ney smoothing&lt;br /&gt;
* Knuth Shuffle&lt;br /&gt;
* Knuth-Morris-Pratt Algorithm&lt;br /&gt;
* Koenig Lookup&lt;br /&gt;
* Kohonen Algorithm&lt;br /&gt;
* Kohonen network&lt;br /&gt;
* Kolmogorov complexity&lt;br /&gt;
* Koomey&#039;s Law&lt;br /&gt;
* Kosaraju&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Krapchenko&#039;s Adder&#039;&#039;&#039; is an improvement over Brent&#039;s Adder, linear (3n + 6*2m, m=⌈lg n⌉) in size and logn + O(log1/2n) depth (m + 7(2m)1/2+16, m = ⌈lg n⌉).&lt;br /&gt;
* Kruskal&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Kryder&#039;s Law&#039;&#039;&#039; asserted that areal density doubles every thirteen months (this has not been true for some time). Also known as the &#039;&#039;Kryder rate&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Kuhn&#039;s Algorithm&#039;&#039;&#039; (also known as &#039;&#039;&#039;Kuhn-Munkres&#039;&#039;&#039;) solves the assignment problem in polynomial time, Kuhn 1955&lt;br /&gt;
* The &#039;&#039;&#039;&amp;amp;#91;Karush-&amp;amp;#93;Kuhn-Tucker conditions&#039;&#039;&#039; are a set of tests to determine whether an integer programming solution is optimal, Karush 1931 Kuhn-Tucker 1951&lt;br /&gt;
* Kung-Leiserson systolic array&lt;br /&gt;
* Kuroda Normal Form&lt;br /&gt;
&lt;br /&gt;
* Ladner&#039;s Theorem&lt;br /&gt;
* Lamport&#039;s Bakery Algorithm&lt;br /&gt;
* Lamport&#039;s Logical Clock&lt;br /&gt;
* Lamport&#039;s Hash&lt;br /&gt;
* Lamport timestamps&lt;br /&gt;
* Lee-Seung algorithm&lt;br /&gt;
* Lehmer random number generator&lt;br /&gt;
* Lehmer&#039;s GCD Algorithm&lt;br /&gt;
* Lempel-Ziv-Welch compression&lt;br /&gt;
* the &#039;&#039;&#039;Lenstra-Lenstra-Lovász (LLL)&#039;&#039;&#039; algorithm was the first for the integer relation problem that supplied proofs (Math Ann. 1982)&lt;br /&gt;
* Levenshtein automaton&lt;br /&gt;
* Levenshtein distance&lt;br /&gt;
* &#039;&#039;&#039;Levialdi&#039;s transform&#039;&#039;&#039; progressively and deterministically degrades a bitmap&lt;br /&gt;
* Levin reduction&lt;br /&gt;
* Liang-Barsky algorithm&lt;br /&gt;
* Lin-Kernighan Heuristic&lt;br /&gt;
* Linde-Buzo-Gray algorithm&lt;br /&gt;
* Ling adders&lt;br /&gt;
* Liskov&#039;s Substitution Principle&lt;br /&gt;
* Lloyd&#039;s algorithm&lt;br /&gt;
* Loop subdivision surfaces&lt;br /&gt;
* &#039;&#039;&#039;Loss-DiVincenzo machines&#039;&#039;&#039; are quantum computers based off electron spin as confined to quantum dots&lt;br /&gt;
* Luby&#039;s algorithm&lt;br /&gt;
* Luhn Algorithm&lt;br /&gt;
* Luleå Algorithm&lt;br /&gt;
&lt;br /&gt;
* Maekawa&#039;s Algorithm&lt;br /&gt;
* Mahaney&#039;s Theorem&lt;br /&gt;
* Manning algorithm&lt;br /&gt;
* Margolus gate&lt;br /&gt;
* Marzullo algorithm&lt;br /&gt;
* &#039;&#039;&#039;Matiyasevich&#039;s theorem&#039;&#039;&#039; proves that every [[Theory|recursively enumerable]] set is Diophantine, and thus proves that no algorithm exists for Hilbert&#039;s tenth problem&lt;br /&gt;
* McFarling-style branch predictor&lt;br /&gt;
* Mead-Conway Rules&lt;br /&gt;
* Mealy machine&lt;br /&gt;
* Mellor-Crummey and Scott lock&lt;br /&gt;
* Merkle–Damgård construction&lt;br /&gt;
* The &#039;&#039;&#039;Metropolis-Hastings algorithm&#039;&#039;&#039; for MCMC obtains samples from a probability distribution that is [https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm difficult to directly sample]&lt;br /&gt;
* Miller-Rabin Primality Test&lt;br /&gt;
* Minsky-Fenichel-Yochelson Algorithm&lt;br /&gt;
* Montgomery reduction&lt;br /&gt;
* Moore machine&lt;br /&gt;
* Moore&#039;s Law&lt;br /&gt;
* Morgensen-Scott encoding&lt;br /&gt;
* Möller-Trumbore algorithm&lt;br /&gt;
&lt;br /&gt;
* Nagle&#039;s algorithm&lt;br /&gt;
* Nassi-Shneiderman diagram&lt;br /&gt;
* Needham-Schroeder Protocol&lt;br /&gt;
* Needleman-Wunsch Algorithm&lt;br /&gt;
* Neuman-Stubblebine Protocol&lt;br /&gt;
* &#039;&#039;&#039;von Neumann architecture&#039;&#039;&#039; aka stored-program architecture keeps instructions in the same memory as data (as opposed to Harvard architecture, which keeps the two distinct). Popularized by von Neumann, but largely based on Eckert and Mauchly&#039;s work on the ENIAC.&lt;br /&gt;
* Nevill-Manning algorithm&lt;br /&gt;
* Nick&#039;s Class&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s law&#039;&#039;&#039; predicts slower growth for home bandwidth than computing power, suggesting that user experience will remain bandwidth-bound&lt;br /&gt;
* &#039;&#039;&#039;Nielsen&#039;s usability heuristics&#039;&#039;&#039; are ten (rather debatable) guidelines forming a usability heuristic for interface design&lt;br /&gt;
* Nisan&#039;s Generator&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Ogden&#039;s lemma&#039;&#039;&#039; extends the pumping lemma to context-free languages&lt;br /&gt;
* &#039;&#039;&#039;Otsu&#039;s Method&#039;&#039;&#039; is used to perform automatic image thresholding&lt;br /&gt;
* &#039;&#039;&#039;Ousterhout&#039;s dichotomy/fallacy&#039;&#039;&#039; is a taxonomy of &#039;&#039;systems&#039;&#039; vs &#039;&#039;scripting&#039;&#039; languages&lt;br /&gt;
* Otway-Rees Protocol&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Paeth-Tanaka Algorithm&#039;&#039;&#039; rotates images via a method of three shears&lt;br /&gt;
* &#039;&#039;&#039;Paeth Filter&#039;&#039;&#039; performs 2D image compression in PNG&lt;br /&gt;
* PageRank Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Parikh&#039;s theorem&#039;&#039;&#039; shows that a context free language that doesn&#039;t consider order of its terminal symbols can be expressed as a regular language, proving the existence of inherently ambiguous CFLs and that CFLs over singleton alphabets are regular. JACM 1966&lt;br /&gt;
* Peterson&#039;s Algorithm&lt;br /&gt;
* Petri nets&lt;br /&gt;
* Petrick&#039;s method&lt;br /&gt;
* Phong shading&lt;br /&gt;
* Plotkin&#039;s Sticky Bit&lt;br /&gt;
* &#039;&#039;&#039;Plouffe&#039;s Inverter&#039;&#039;&#039; was an early symbolic inverter for floating point numbers&lt;br /&gt;
* Pollaczek–Khinchine formula&lt;br /&gt;
* Pollard&#039;s Kangaroo Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Pollard&#039;s ρ Algorithm&#039;&#039;&#039; aka &#039;&#039;&#039;Pollard&#039;s rho Algorithm&#039;&#039;&#039; factors integers in running time expected to be proportional to the square root of the smallest prime factor of the number being factored&lt;br /&gt;
* Popek-Goldberg virtualization requirements&lt;br /&gt;
* Post&#039;s correspondence problem&lt;br /&gt;
* &amp;lt;b&amp;gt;Post&#039;s Lattice&amp;lt;/b&amp;gt; is the lattice of all clones on {0,1}, ordered by inclusion. It is used to prove sets of connectives to be functionally complete (e.g. NAND and NOR both generate functionally complete Boolean algebras).&lt;br /&gt;
* Postel&#039;s Law&lt;br /&gt;
* Prim&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Proebsting&#039;s Law&#039;&#039;&#039; claims that compiler technology doubles computing power [http://proebsting.cs.arizona.edu/law.html every 18 years]&lt;br /&gt;
* Prüfer Coding&lt;br /&gt;
* Prüfer Sequence&lt;br /&gt;
&lt;br /&gt;
* Quines&lt;br /&gt;
* Quine-McLuskey algorithm&lt;br /&gt;
&lt;br /&gt;
* Rabin Automata&lt;br /&gt;
* Rabin&#039;s Information Dispersal Algorithm&lt;br /&gt;
* Rabin-Karp Algorithm&lt;br /&gt;
* Rader-Brenner Algorithm&lt;br /&gt;
* Radovic-Hagersten lock&lt;br /&gt;
* the &#039;&#039;&#039;Ramer-Douglas-Peucker algorithm&#039;&#039;&#039; decimates a series of line segments to a similar series of fewer line segments (1973)&lt;br /&gt;
* Raymond&#039;s Algorithm&lt;br /&gt;
* Reed-Muller code&lt;br /&gt;
* Reed-Solomon correction code&lt;br /&gt;
* Reingold&#039;s logspace Algorithm&lt;br /&gt;
* Ricart-Agrawala Algorithm&lt;br /&gt;
* Rice&#039;s Theorem&lt;br /&gt;
* Rice-Shapiro Theorem&lt;br /&gt;
* Risch Algorithm&lt;br /&gt;
* Rivest-Shamir-Adleman Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Rocchio&#039;s Algorithm&#039;&#039;&#039; classifies information relevance using nearest centroids&lt;br /&gt;
* Ruppert&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Sattolo&#039;s Algorithm&#039;&#039;&#039; generates a 1-cyclic derangement of an array (a permutation such that every element ends up in a new position)&lt;br /&gt;
* Savitch&#039;s Theorem&lt;br /&gt;
* Schensted Algorithm&lt;br /&gt;
* Schlick&#039;s approximation&lt;br /&gt;
* The &#039;&#039;&#039;Schönhage–Strassen algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers in &#039;&#039;O(nlgnlglgn)&#039;&#039; bit complexity using FFTs&lt;br /&gt;
* Schoof&#039;s Algorithm&lt;br /&gt;
* Schreier-Sims Algorithm&lt;br /&gt;
* Schwartzian transform&lt;br /&gt;
* Sethi-Ullman Algorithm&lt;br /&gt;
* Shamir&#039;s Secret Sharing Scheme&lt;br /&gt;
* Shamos-Hoey Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Shar&#039;s Algortihm&#039;&#039;&#039; is a variation on the uniform binary search of Knuth.&lt;br /&gt;
* Shor&#039;s Algorithm&lt;br /&gt;
* Sipser–Lautemann theorem&lt;br /&gt;
* &#039;&#039;&#039;Smith&#039;s Algorithm&#039;&#039;&#039; hashes the program counter to n bimodal (saturating) k-bit counters for dynamic branch prediction (1981)&lt;br /&gt;
* Smith-Waterman algorithm&lt;br /&gt;
* Solomonoff-Levin distribution&lt;br /&gt;
* Steensgaard&#039;s Algorithm&lt;br /&gt;
* Stehlé-Zimmermann algorithm&lt;br /&gt;
* &#039;&#039;&#039;Steiner tree problems&#039;&#039;&#039; are a class of combinatorial optimization problems involving determining the optimal interconnect of a graph under some objective function.&lt;br /&gt;
* the &#039;&#039;&#039;Steinhaus-Johnson-Trotter algorithm&#039;&#039;&#039; generates all permutations of a set (&amp;lt;i&amp;gt;CACM 1964&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Strassen&#039;s Algorithm&lt;br /&gt;
* Suurballe&#039;s Algorithm&lt;br /&gt;
* Sweeney-Robertson-Tocher division algorithm&lt;br /&gt;
&lt;br /&gt;
* Tarjan&#039;s Algorithm&lt;br /&gt;
* Tarjan&#039;s Dynamic Tree&lt;br /&gt;
* Tarjan&#039;s Least Common Ancestors Algorithm&lt;br /&gt;
* The nondeterministic &#039;&#039;&#039;Tarski–Kuratowski algorithm&#039;&#039;&#039; produces an upper bound for the complexity of a given formula in the arithmetical hierarchy and analytical hierarchy.&lt;br /&gt;
* Thompson Automata&lt;br /&gt;
* Timsort&lt;br /&gt;
* Toda&#039;s theorem&lt;br /&gt;
* Todd–Coxeter algorithm&lt;br /&gt;
* the &#039;&#039;&#039;Toffoli gate&#039;&#039;&#039; aka CCNOT is a 3-to-3 universal reversible gate (all other reversible gates can be constructed from it). there is no smaller universal set of reversible gates (the only reversible gates in 1 or 2 inputs are identity, NOT, and CNOT).&lt;br /&gt;
* Tomasulo&#039;s AlgorithmRemember&lt;br /&gt;
* Tonelli-Shanks Algorithm&lt;br /&gt;
* The &#039;&#039;&#039;Toom-Cook Algorithm&#039;&#039;&#039; multiplies two &#039;&#039;n&#039;&#039;-digit numbers using &#039;&#039;n&amp;lt;sup&amp;gt;log(5)/log(3)&amp;lt;/sup&amp;gt;&#039;&#039; single-digit mults&lt;br /&gt;
* Tupper&#039;s self-referential formula&lt;br /&gt;
* Turing Degree&lt;br /&gt;
* &#039;&#039;&#039;Turing Machines&#039;&#039;&#039; were used to prove the undecidability of the Entscheidungsproblem in 1936, and have persisted as a rather less elegant model of computation than Church&#039;s λ-calculus.&lt;br /&gt;
* the &#039;&#039;&#039;Turing Test&#039;&#039;&#039;, originally the &amp;quot;imitation game&amp;quot;, was proposed by Turing as a means of evaluating conversational artificial intelligence via questions-and-answers on a text channel. Its use as a diagnostic is debatable at best.&lt;br /&gt;
&lt;br /&gt;
* Ukkonen&#039;s Algorithm&lt;br /&gt;
&lt;br /&gt;
* Valiant-Vazirani Theorem&lt;br /&gt;
* Van Jacobson Channels&lt;br /&gt;
* Van Wijngaarden Grammars&lt;br /&gt;
* Verhoeff Algorithm&lt;br /&gt;
* Viola-Jones face detection&lt;br /&gt;
* Viterbi algorithm&lt;br /&gt;
* Volder&#039;s algorithm&lt;br /&gt;
&lt;br /&gt;
* Wagner-Fischer Algorithm&lt;br /&gt;
* Wallace Multiplier&lt;br /&gt;
* Wallace tree&lt;br /&gt;
* Warnsdorff&#039;s Algorithm&lt;br /&gt;
* &#039;&#039;&#039;Welford&#039;s Algorithm&#039;&#039;&#039; is a stable online algorithm for computing mean and estimated variance&lt;br /&gt;
* The &#039;&#039;&#039;Williams State Machine&#039;&#039;&#039; is a common [https://vt100.net/emu/dec_ansi_parser parsing automaton] for DEC virtual terminal input&lt;br /&gt;
* Winograd&#039;s Algorithm&lt;br /&gt;
* Witten-Bell smoothing&lt;br /&gt;
* Wu&#039;s Line Algorithm&lt;br /&gt;
* Wu-Manber Algorithm&lt;br /&gt;
* Wyllie&#039;s List Ranking&lt;br /&gt;
&lt;br /&gt;
* Yao&#039;s Principle&lt;br /&gt;
* &#039;&#039;&#039;Yeh&#039;s Algorithm&#039;&#039;&#039; is a two-level adaptive training algorithm designed by Yeh and Patt in 1991. A branch history register is used to maintain branch behavior for a specific pattern of branch history, and 4-bit counters are used for each BTB set.&lt;br /&gt;
&lt;br /&gt;
* Zhu-Takaoka Algorithm&lt;br /&gt;
* Zimmermann-Sassaman key-signing protocol&lt;br /&gt;
* Zobrist hashing&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12278</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12278"/>
		<updated>2026-02-17T18:59:07Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* murmuration - the collective movement of flocks of starlings, particularly during twilight&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12277</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12277"/>
		<updated>2026-02-17T18:54:52Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* psithurism - a soft, calming, and rustling noise caused by wind passing through leaves and branches&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12276</id>
		<title>Wordlist</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Wordlist&amp;diff=12276"/>
		<updated>2026-02-17T18:52:42Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;use these words in daily speech, and you too can be a big asshole!&lt;br /&gt;
&lt;br /&gt;
* salvific - pertaining to the power of redemption or salvation, particularly safety&lt;br /&gt;
* anfractuosity - the quality of being winding or turning, often the brain&#039;s sulci. from latin &amp;lt;i&amp;gt;anfractus&amp;lt;/i&amp;gt; meaning &amp;quot;bend&amp;quot; or &amp;quot;coil&amp;quot;&lt;br /&gt;
* columbarium - a sepulchral vault with recesses in the walls for cinerary urns OR a home for pigeons&lt;br /&gt;
* ostrobogulous - strange, peculiar, indecent, or risqué&lt;br /&gt;
* strixology - writings about and theological study of witchcraft&lt;br /&gt;
* enantiosemy - an autoantonym or contranym&lt;br /&gt;
* gauzy - so thin as to admit light&lt;br /&gt;
* chaotropicity - entropic disordering of materials dissolved in water&lt;br /&gt;
* pococurante - an apathetic, indifferent person&lt;br /&gt;
* ventripotent - potbellied, gluttonous&lt;br /&gt;
* anxiogenic - causing anxiety&lt;br /&gt;
* hypnopompic - the period immediately preceding waking up&lt;br /&gt;
* congener - another element of the same group, usually taxonomic&lt;br /&gt;
* archiater - the personal physician to a monarch&lt;br /&gt;
* saponifiable - able to be converted into soap&lt;br /&gt;
* D&#039;Nealian - a method of teaching handwriting using Latin (cursive) script&lt;br /&gt;
* astration - the incorporation of material into stellar formation&lt;br /&gt;
* hormesis - a biphasic dose response to an environmental agent characterized by a low dose stimulation or beneficial effect and a high dose inhibitory or toxic effect&lt;br /&gt;
* instauration - Restoration after decay, lapse, or dilapidation; renewal; repair; renovation; renaissance &amp;lt;i&amp;gt;obs:&amp;lt;/i&amp;gt; starting something new&lt;br /&gt;
* exenterate - to remove the bowels or entrails of something&lt;br /&gt;
* shturmovshchina (&amp;lt;i&amp;gt;штурмовщина&amp;lt;/i&amp;gt; &amp;quot;last-minute rush&amp;quot;) - frantic and overtime work at the end of a delivery cycle leading to products of low quality &lt;br /&gt;
* allodium - land held totally, as opposed to that held in serfdom&lt;br /&gt;
* exeleutherostomized - nonce word - to speak out freely, especially in an inappropriate moment&lt;br /&gt;
* chinoiserie - french--the European interpretation and imitation of East Asian artistic traditions, especially in decoration&lt;br /&gt;
* nyetovshchik - one who says &amp;lt;i&amp;gt;nyet&amp;lt;/i&amp;gt; to prevailing opinion&lt;br /&gt;
* sirocco - a windstorm that lifts dust and dirt&lt;br /&gt;
* Fremdschämen - vicarious embarassment, to feel pain due to the shame of others&lt;br /&gt;
* tregetour - a juggler who produces illusions by the use of elaborate machinery&lt;br /&gt;
* Zeiosis (Zειω meaning &amp;quot;to boil over&amp;quot;) - the formation of a bleb, blebbing&lt;br /&gt;
* gömböc - a convex 3D homogeneous body which, when resting on a flat surface, has just one stable and one unstable point of equilibrium.&lt;br /&gt;
* odobenine - of or pertaining to walruses&lt;br /&gt;
* lorgnette - a pair of spectacles with a handle&lt;br /&gt;
* zellige - Moroccan terra cotta tilework covered with enamel in the form of chips set into plaster.&lt;br /&gt;
* grawlix - a string of typographical symbols used to represent cursing, often in comic books&lt;br /&gt;
* puissant - having great power or influence&lt;br /&gt;
* cavil - to raise captious and frivolous objections; to find fault without good reason.&lt;br /&gt;
* bombilate - to make a humming or buzzing noise&lt;br /&gt;
* nudiustertian - of or pertaining to the day before yesterday&lt;br /&gt;
* mithridatism - developing of immunity to a poison by taking gradually increasing doses&lt;br /&gt;
* Eigengrau - &#039;intrinsic grey&#039;, the color seen by the eye during total darkness&lt;br /&gt;
* hypnagogia - the deeply relaxed state of consciousness during the transition from wakefulness to sleep&lt;br /&gt;
* &#039;&#039;Rumspringa&#039;&#039; - a period of world-sampling for Amish youth upon turning 16, prior to returning to the church for baptism&lt;br /&gt;
* parquetry - a geometric mosaic of wood pieces used for decorative effect&lt;br /&gt;
* aposematism - coloring adapted to warn predators that something&#039;s unsafe to eat&lt;br /&gt;
* trencherman - one who eats and drinks to excess; a glutton&lt;br /&gt;
* catafalque - decorated bier on which a coffin rests in state during a funeral&lt;br /&gt;
* prosopopoeia - rhetorical term for speaking in the guise of another person or thing, from Greek προσωποποιία&lt;br /&gt;
* &#039;&#039;yakinaoshi&#039;&#039; - Japanese, a meaningless rehash.&lt;br /&gt;
* &#039;&#039;mokusatsu&#039;&#039; - Japanese, to &amp;quot;treat with silent contempt&amp;quot; or literally &amp;quot;kill by silence&amp;quot;.&lt;br /&gt;
** Used in reference to the &#039;&#039;Saikō sensō shidō kaigi&#039;&#039; (Supreme Council for the Direction of the War)&#039;s response to the Potsdam Declaration.&lt;br /&gt;
* hieratical - of or associated with sacred persons or offices; sacerdotal.&lt;br /&gt;
* &#039;&#039;nous verrons&#039;&#039; - French, &amp;quot;we shall see&amp;quot;&lt;br /&gt;
* &#039;&#039;stormannsgalskap&#039;&#039; - Norwegian, &amp;quot;the madness of great men&amp;quot;&lt;br /&gt;
* allotrion - an idle pursuit that distracts from serious responsibilities&lt;br /&gt;
* costermonger - one who sells vegatables and fruits in the street&lt;br /&gt;
* pellulate - to swarm, or teem&lt;br /&gt;
* lucubrate - to laboriously perfect, especially by night&lt;br /&gt;
* octothorpe - term for the &amp;quot;hash sign&amp;quot; (#), sourced from telephone operators&#039; jargon&lt;br /&gt;
* asperand - the &#039;@&#039; symbol (&amp;quot;at symbol&amp;quot;)&lt;br /&gt;
* involution - something which turns in upon itself&lt;br /&gt;
* endorheic - a drainage basin not connected to the open sea&lt;br /&gt;
* oneiric - relating to or suggestive of dreams&lt;br /&gt;
* alluvium - clay or silt or gravel carried by rushing streams and deposited where it slows&lt;br /&gt;
* emersal - floating up toward the surface of (a body of) water&lt;br /&gt;
* fescue - a stick used to point when teaching reading OR a grass of importance for agriculture / sports&lt;br /&gt;
* &#039;&#039;moti mentali&#039;&#039; - &#039;motions of the mind&#039; according to Renaissance Italian painters&lt;br /&gt;
* lambent - Playing on the surface; touching lightly; gliding over&lt;br /&gt;
* purfling - Ornamentation on the border of a thing; specifically, the inlaid border of a musical instrument,&lt;br /&gt;
* brobdingnagian - having colossal, comical size (from the island Brobdingnag of &#039;&#039;Gulliver&#039;s Travels&#039;&#039;)&lt;br /&gt;
* callipygian - pertaining to the finest ass in the land&lt;br /&gt;
* distaff - characteristic of or peculiar to a woman&lt;br /&gt;
* tellurian - of or relating to or inhabiting the land as opposed to the sea or air&lt;br /&gt;
* &#039;&#039;Rennomierschmiss&#039;&#039; - (facial) dueling scars, from 19th century Germanic dueling clubs&lt;br /&gt;
* palimpsest - a manuscript page from a scroll or book that has been scraped off and used again&lt;br /&gt;
* boustrophedonically - written in alternating directions&lt;br /&gt;
* ekphrasis - verbal description of a visual artwork&lt;br /&gt;
* ecphrasis - a sudden intense, self-contained verbal summary of an issue or art&lt;br /&gt;
* &#039;&#039;en passant&#039;&#039; - in passing, almost always with intentional reference to chess&lt;br /&gt;
* &#039;&#039;furor scribendi&#039;&#039; - rage for writing, a bout or attribute of compulsive and manic authorship&lt;br /&gt;
* lacunarity - measure of the denseness of a fractal (less is more dense/space-filling)&lt;br /&gt;
* trabeculation - formation of a small bar, rod, bundle of fibers, or septal membrane in the framework of an organelle&lt;br /&gt;
* sapient - acutely sagelike or wise&lt;br /&gt;
* acescency - the quality of actively turning sour, tart, and/or acidic&lt;br /&gt;
* &#039;&#039;sprezzatura&#039;&#039; - a certain nonchalance, so as to conceal all art and effort (from Castiglione&#039;s &#039;&#039;Book of the Courtier&#039;&#039;)&lt;br /&gt;
* murine - having to do with rats&lt;br /&gt;
* anodyne - a reliever of pain, adj: relieving of pain. anything taken to soothe disturbed feelings&lt;br /&gt;
* anosognosia - condition in which a sufferer of disability seems unaware of or denies its existence&lt;br /&gt;
* dirigiste - directed by a central authority (eg a dirigiste economy)&lt;br /&gt;
* contretemps - an unexpected, untoward accident/conflict; something inopportune or embarrassing&lt;br /&gt;
* &#039;&#039;Festschrift&#039;&#039; - a book honoring a respected academic, presented in their lifetime (vs. posthumous Gedenkschrift)&lt;br /&gt;
* nacreous - having the appearance of slick pearl; iridescent stratospheric clouds seen near the poles&lt;br /&gt;
* pareidolia - a psychological phenomenon perceiving significance in vague and random stimulus (often an image or sound)&lt;br /&gt;
* Tumah - a state of ritual impurity in Halakha (Jewish law)&lt;br /&gt;
* condottiere - leader of plundering mercenaries&lt;br /&gt;
* &#039;&#039;sehr einfallsreich&#039;&#039; - &amp;quot;very imaginative&amp;quot;, used sarcastically -- an unimaginative but practical solution&lt;br /&gt;
* gravid - advanced with child, especially in the sense of an insect&lt;br /&gt;
* benthic - bottom-feeding, pertaining to the bottom of a body of water&lt;br /&gt;
* parusia - figure of speech by which the present tense is used instead of the past or the future&lt;br /&gt;
** as in the animated narration of past, or in the prediction of future, events.&lt;br /&gt;
* persiflage - frivolous banter; treating serious subjects frivolously; light raillery&lt;br /&gt;
* afflatus -  a strong creative impulse; divine inspiration; supernatural impulse&lt;br /&gt;
* epithalamia - a nuptial song in honor of bridge and groom&lt;br /&gt;
* sybaritic - luxurious; wanton; effeminate (from the ancient Italian city Sybaris) / sybarite - one inclined to pleasure&lt;br /&gt;
* casuistry - argumentation that is specious or excessively subtle and intended to be misleading OR&lt;br /&gt;
** moral philosophy based on the application of general ethical principles to resolve moral dilemmas&lt;br /&gt;
* lacunae - missing parts, gaps&lt;br /&gt;
* lummox - an awkward, bumbling, fat, stupid person&lt;br /&gt;
* myodesopsia - the perception of protein-based visual discrepancies (&amp;quot;floaters&amp;quot;)&lt;br /&gt;
* &#039;&#039;Vernichtungsgedanke&#039;&#039; - the doctrine of swift annihilation of enemy forces&lt;br /&gt;
* zetetic - one who seeks to resolve unknown quantities by direct investigation&lt;br /&gt;
* intercalate - to insert between others, particularly periods of time, layers of rock, or stanzas&lt;br /&gt;
* untrammeled - unhampered, unencumbered&lt;br /&gt;
* demitint - shading in a composition, that part of a painting not in full light&lt;br /&gt;
* cicatrix - the pellicle which turns white and becomes a scar&lt;br /&gt;
* anabasis - first period of a disease, journey up the coast&lt;br /&gt;
* volte-face - an about-face especially viz policy&lt;br /&gt;
* meretricious - pertaining to harlots, seeming plausible but based in deception&lt;br /&gt;
* orotund - ostentatiously lofty in style, characterized by roundness&lt;br /&gt;
* enclitic - affixed at the end so as to lose its independent accent&lt;br /&gt;
* étude - a composition designed for study en route to technical mastery&lt;br /&gt;
* morceau - a bit, a morsel, a short literary or musical composition&lt;br /&gt;
* desuetude - the cessation of use, a state of inactivity&lt;br /&gt;
* kismet - destiny, fate, the will of Allah&lt;br /&gt;
* &#039;&#039;dies funestis&#039;&#039; - a proscribed day of death&lt;br /&gt;
* moira - the deity who assigns men their fates&lt;br /&gt;
* perorate - to conclude a speech with formal recapitulation, to harangue&lt;br /&gt;
* toxophilite - a lover of archery&lt;br /&gt;
* epiphytotic - epidemic among a single type of plant over a large area&lt;br /&gt;
* larrup - to beat, thrash or flog soundly, especially with a whip&lt;br /&gt;
* peccant - sinning, guilty of transgression, morbid, corrupt&lt;br /&gt;
* sphacelate - to die, to decay, to become gangrenous&lt;br /&gt;
* sportula - a luxurious feeding; largess in gift-giving&lt;br /&gt;
* lagniappe - a trifling present, a serendipitous tip, gratuity&lt;br /&gt;
* suborn - to procure privately, to incite secretly, to cause false oath/purjury&lt;br /&gt;
* pourboire - a relatively small amount of money for services rendered&lt;br /&gt;
* emolument - profit arising from holding office&lt;br /&gt;
* guerdon - a compensation or reward&lt;br /&gt;
* wergild - the price paid for murder or another peccant crime&lt;br /&gt;
* exequatur - official recognition or permission&lt;br /&gt;
* nyctipelagic - regarding organisms that migrate into surface waters at night&lt;br /&gt;
* onychophagy - biting nails, chronically bitten-down deformed nails&lt;br /&gt;
* poliorcetics - the art of siege warfare and fortification&lt;br /&gt;
* altricial - born naked and blind and dependent on parents for food; hatchlings&lt;br /&gt;
* insessorial - Pertaining to, or having the character of, perching birds&lt;br /&gt;
* trichotillomania - tearing out one&#039;s own hair&lt;br /&gt;
* farrago - a mishmash of things adj: farraginous&lt;br /&gt;
* obstreperous - Attended by, or making, a loud and tumultuous noise; vociferous&lt;br /&gt;
* opprobrium - a state of disgrace, odium, public dishonor&lt;br /&gt;
* Laodicean - lukewarm in religion&lt;br /&gt;
* exiguous - lean, meagre, lacking, dessicated&lt;br /&gt;
* bedizenment - the state of being dressed tawdrily; that which bedizens&lt;br /&gt;
* velleity - lowest wish, with no accompanying effort&lt;br /&gt;
* &#039;&#039;esprit d&#039; escalier&#039;&#039; - thinking of a witty rejoinder after the fact&lt;br /&gt;
* trenchant - cutting, sharp, fit to dig a trench&lt;br /&gt;
* griffonage - illegible handwriting&lt;br /&gt;
* barbouillage - cramped, dirty writing&lt;br /&gt;
* vaticinate - foretell as through prophecy&lt;br /&gt;
* graveolent - having a rank smell&lt;br /&gt;
* &#039;&#039;bien pensant&#039;&#039; - acceptance of a fashionable or newly mainstream idea without critical thought&lt;br /&gt;
* rechauffe - something made up from old material; a rehash, rewarmed food&lt;br /&gt;
* glochidate - having barbs and bristles&lt;br /&gt;
* funicular - dependent on the tension of a cord&lt;br /&gt;
* flocculent - covered with small flakes; flakey&lt;br /&gt;
* barbellate - being covered with stiff hairs or quils&lt;br /&gt;
* pilose - covered with soft, downy hairs&lt;br /&gt;
* moiety - that which is left behind after settlement, half &lt;br /&gt;
* phatry - people descended from a common ancestor&lt;br /&gt;
* pyx - box in which coins waiting assay or consecrated Eucharist is stored&lt;br /&gt;
* postprandial - coming after a meal&lt;br /&gt;
* barbican - defensive hole in a castle through which forward attacks were made&lt;br /&gt;
* hyperborean - frigidly cold (from the ancient Greek people of the far north)&lt;br /&gt;
* &#039;&#039;comme il faut&#039;&#039; - behaving according to custom&lt;br /&gt;
* consuetudinary - manual describing customs and practices of a sect&lt;br /&gt;
* sacerdotal - pertaining to priests and their divinely-inspired task&lt;br /&gt;
* hieratic - consecrated for holy purposes, especially performed by priests&lt;br /&gt;
* insufflate - to bring a powder into the nose&lt;br /&gt;
* rodomontade - vain, empty boasting&lt;br /&gt;
* quincunx - a pentuple arranged at points and middle of a rectangle&lt;br /&gt;
* peripatetic - pertaining to walking about in the manner of Aristotle @ Lyceum&lt;br /&gt;
* armamentarium - the collection of equipment and methods used in medicine&lt;br /&gt;
* entrepot - a depository for goods on which import is not paid&lt;br /&gt;
* nosism - the use of &#039;we&#039; in referring to oneself&lt;br /&gt;
* &#039;&#039;sprachgefühl&#039;&#039; - feeling for language; an instinctive appreciation for words and idioms that are linguistically appropriate&lt;br /&gt;
* innominate - having no proper name when one would be expected&lt;br /&gt;
* corsucate - to glitter in flashes&lt;br /&gt;
* eutectic - of greatest fusibility: an alloy whose melting point is lower than that of any other alloy of the same ingredients.&lt;br /&gt;
* &#039;&#039;lettre-fertis&#039;&#039; - &#039;man marked by letters&#039; - pretender to learning&lt;br /&gt;
* contumely - a debasement ; a rudeness and haughtiness&lt;br /&gt;
* odalisque - a female slave or concubine in the harem of the Turkish sultan&lt;br /&gt;
* brocade - silk stuff woven with gold ornamentation&lt;br /&gt;
* hypocoristic - a lesser name of the given name&lt;br /&gt;
* saccadic - jumpy like the movements of an eye&lt;br /&gt;
* amanuensis - one who is employed to take diction or copy another&#039;s words&lt;br /&gt;
* tergiversate - to use ambiguities and evasions, to equivocate, or to change sides/apostatize&lt;br /&gt;
* autonomasy - use of a common word to refer to a particular: &amp;quot;gone to town&amp;quot; for &amp;quot;gone to Atlanta&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12275</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12275"/>
		<updated>2026-02-12T08:34:33Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Purification reduces candy XL and stardust cost for powerups by 10%.&lt;br /&gt;
Shadow status increases candy XL and stardust cost for powerups by 20%.&lt;br /&gt;
Lucky status reduces stardust cost for powerups by 50%.&lt;br /&gt;
Lucky and purification can stack for a 45% reduction to stardust cost and 10% reduction to candy cost.&lt;br /&gt;
Lucky and shadow are incompatible (lucky requires a trade; shadows cannot be traded).&lt;br /&gt;
Shadows require 360 candy XL to reach level 50.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! XL !! XL +1 !! XL +1 pure !! XL 50 !! XL 50 pure !! kStardust !! kSD pure !! kSD lucky !! kSD lucky pure !! kSD shadow&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 9 || 296 || 272 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 9 || 286 || 263 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 9 || 276 || 254 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 9 || 266 || 245 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 11 || 256 || 236 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 11 || 244 || 225 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 11 || 232 || 214 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 11 || 220 || 203 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 14 || 208 || 192 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 14 || 193 || 178 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 14 || 178 || 164 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 14 || 163 || 150 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 16 || 148 || 136 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 16 || 131 || 120 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 16 || 114 || 104 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 16 || 97 || 88 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 18 || 80 || 72 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 18 || 60 || 54 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 18 || 40 || 36 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 18 || 20 || 18 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;total&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;296&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;272&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;n/a&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;n/a&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;250&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;225&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;125&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;112.5&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;300&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12274</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12274"/>
		<updated>2026-02-08T21:54:28Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL +1 !! XL +1, pure !! XL 50 !! kStardust !! kSD (pure) !! kSD (lucky) !! kSD (lucky pure) !! kSD (shadow)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 9 || 296 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 9 || 286 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 9 || 276 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 9 || 266 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 11 || 256 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 11 || 244 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 11 || 232 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 11 || 220 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 14 || 208 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 14 || 193 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 14 || 178 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 14 || 163 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 16 || 148 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 16 || 131 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 16 || 114 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 16 || 97 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 18 || 80 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 18 || 60 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 18 || 40 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 18 || 20 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;total&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;296&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;272&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;250&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;225&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;125&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;112.5&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;300&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12273</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12273"/>
		<updated>2026-02-06T09:59:40Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (to next) !! XL (to next, pure) !! XL (to 50) !! kStardust !! kSD (pure) !! kSD (lucky) !! kSD (lucky pure) !! kSD (shadow)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 9 || 296 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 9 || 286 || 10 || 9 || 5 || 4.5 || 12&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 9 || 276 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 9 || 266 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 11 || 256 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 11 || 244 || 11 || 9.9 || 5.5 || 4.95 || 13.2&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 11 || 232 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 11 || 220 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 14 || 208 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 14 || 193 || 12 || 10.8 || 6 || 5.4 || 14.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 14 || 178 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 14 || 163 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 16 || 148 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 16 || 131 || 13 || 11.7 || 6.5 || 5.85 || 15.6&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 16 || 114 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 16 || 97 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 18 || 80 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 18 || 60 || 14 || 12.6 || 7 || 6.3 || 16.8&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 18 || 40 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 18 || 20 || 15 || 13.5 || 7.5 || 6.75 || 18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;total&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;296&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;272&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;0&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;250&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;225&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;125&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;112.5&amp;lt;/b&amp;gt; || &amp;lt;b&amp;gt;300&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12272</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12272"/>
		<updated>2026-02-06T09:46:39Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (next) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 296 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 276 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 266 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 256 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 244 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 220 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 208 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 193 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 178 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 163 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 148 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 131 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 114 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 97 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 80 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 60 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 40 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 20 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 50 || n/a || 0 || n/a || n/a || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12271</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12271"/>
		<updated>2026-02-06T09:46:19Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (next level) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 296 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 276 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 266 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 256 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 244 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 220 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 208 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 193 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 178 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 163 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 148 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 131 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 114 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 97 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 80 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 60 || 14 || 12.6 || 7 || 6.3&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 40 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 20 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 50 || n/a || 0 || n/a || n/a || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12270</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12270"/>
		<updated>2026-02-06T09:44:47Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (next level) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 296 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 276 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 266 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 256 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 244 || 11 || 9.9 || 5.5 || 4.95&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 220 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 208 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 193 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 178 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 163 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 148 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 131 || 13 || 11.7 || 6.5 || 5.85&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 114 || 14 || &lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 97 || 14 ||&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 80 || 14 ||&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 60 || 14 ||&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 40 || 15 ||&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 20 || 15 ||&lt;br /&gt;
|-&lt;br /&gt;
| 50 || n/a || 0 || n/a || n/a || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Category:PGO&amp;diff=12269</id>
		<title>Category:PGO</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Category:PGO&amp;diff=12269"/>
		<updated>2026-02-06T09:08:45Z</updated>

		<summary type="html">&lt;p&gt;Dank: Created page with &amp;quot;Pokémon Go is a trademark of Nintendo of America.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pokémon Go is a trademark of Nintendo of America.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12268</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12268"/>
		<updated>2026-02-06T09:07:28Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (next level) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 296 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 276 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 266 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 256 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 244 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 220 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 208 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 193 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 178 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 163 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 148 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 131 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 114 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 97 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 80 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 60 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 40 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 20 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 50 || n/a || 0 || n/a || n/a || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Pok%C3%A9mon_Go&amp;diff=12267</id>
		<title>Pokémon Go</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Pok%C3%A9mon_Go&amp;diff=12267"/>
		<updated>2026-02-06T09:07:13Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;ve been playing Pokémon Go since 2025-03-01, fairly enthusiastically. While there exist useful resources, I found &amp;quot;common wisdom&amp;quot; regarding the game to be lacking rigor. This page started with the question, &amp;quot;how is it that I reliably defeat Team Rocket Pokémon with double my CP, but barely play above 50% in GO Battle League where opposing CPs are roughly equal?&amp;quot; &#039;&#039;&#039;answer: CP is an ass metric, they use shields poorly/not at all, and naive Attack selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I know very little about other Pokémon games or media.&lt;br /&gt;
&lt;br /&gt;
Regarding nomenclature, &amp;quot;PvP&amp;quot; in this document refers to &amp;quot;Trainer Battles&amp;quot;:&lt;br /&gt;
* Encounters with Team Rocket at Pokéstops/Balloons (despite them being AI)&lt;br /&gt;
* Friends&lt;br /&gt;
* GO Battle League&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PvE&amp;quot; refers to:&lt;br /&gt;
* All types of Raids&lt;br /&gt;
* Dynamax and Gigantimax battles&lt;br /&gt;
* Gym battles&lt;br /&gt;
&lt;br /&gt;
==Essential constants==&lt;br /&gt;
[[File:Histogram-ATK-pgo.png|thumb|Distribution of ATK by species]]&lt;br /&gt;
[[File:Histogram-DEF-pgo.png|thumb|Distribution of DEF by species]]&lt;br /&gt;
[[File:Histogram-MHP-pgo.png|thumb|Distribution of STA by species]]&lt;br /&gt;
The atoms of the game.&lt;br /&gt;
&lt;br /&gt;
===CPM===&lt;br /&gt;
&#039;&#039;CP multipliers&#039;&#039; are defined at increments of 0.5 for all Levels 1 through 50, constant across all species and stats. Powering up a Pokémon increases its Level by 0.5. The &#039;&#039;half-level&#039;&#039; is &#039;&#039;L * 2 - 1&#039;&#039;, i.e. Level 3 is half-level 5. This suggests 99 constants (but the bitch ain&#039;t one). A Trainer&#039;s Pokémon cannot exceed the Trainer&#039;s Level plus 10 (if necessary, a trade will lower the Level).&lt;br /&gt;
&lt;br /&gt;
CPMs range from 0.094 to 0.8403. Non-integer Levels are always defined using the quadratic mean (root of mean of squares): CPM(L + 0.5) = √((CPM(L)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + CPM(L + 1)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) / 2), getting us down to 50 constants.&lt;br /&gt;
&lt;br /&gt;
There are five regimes of growth: 1–9.5, 10–19.5, 20–29.5, 30–39.5, and 40+. Beginning at Level 40, CPM growth becomes linear: 0.7903 (40), 0.8103 (44), 0.8303 (48), 0.8403 (50). So CPM is perfectly fit for halflevels 79+ by the function &#039;&#039;0.0025 * (L - 79) + 0.7903&#039;&#039;. We can define all 99 half-level CPMs recursively in O(n) time and O(1) space using seven floating-point and six integer constants:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
float nextcpm(float cpm, float step){&lt;br /&gt;
  return sqrt(pow(cpm, 2) + step);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// halflevel: positive integer (usually less than 100) equal to L * 2 - 1&lt;br /&gt;
float cpm(int halflevel){&lt;br /&gt;
  float step;&lt;br /&gt;
  if(halflevel &amp;gt;= 79){ // Levels 40 and above are computed directly&lt;br /&gt;
    return 0.0025 * (halflevel - 79) + 0.7903;&lt;br /&gt;
  }else if(halflevel &amp;gt;= 59){ // Levels 30..39.5&lt;br /&gt;
    step = 0.00445946079;&lt;br /&gt;
  }else if(halflevel &amp;gt;= 39){ // Levels 20..29.5&lt;br /&gt;
    step = 0.008924905903;&lt;br /&gt;
  }else if(halflevel &amp;gt;= 19){ // Levels 10..19.5&lt;br /&gt;
    step = 0.008919025675;&lt;br /&gt;
  }else if(halflevel &amp;gt; 1){ // Levels 1.5..9.5&lt;br /&gt;
    step = 0.009426125469;&lt;br /&gt;
  }else{&lt;br /&gt;
    return 0.094; // Level 1 (or invalid low value)&lt;br /&gt;
  }&lt;br /&gt;
  return nextcpm(cpm(halflevel - 1), step);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Powering up has a cost in Stardust and XL Candy. The XL Candy cost is 0 until Level 40.5, at which point it costs 10 to power up to 41, up to 20 to power up from 49.5 to 50. The total cost from Levels 40 to 50 is 250k Stardust and 296 XL Candy.&lt;br /&gt;
&lt;br /&gt;
{{:Pokémon_Go_CPM_data}}&lt;br /&gt;
&lt;br /&gt;
===Base stats===&lt;br /&gt;
Each Pokémon species has three &#039;&#039;base stats&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* Attack (ATK): 17 ([https://db.pokemongohub.net/pokemon/213 Shuckle]) to 414 ([https://db.pokemongohub.net/pokemon/386-Attack Deoxys (Attack Forme)])&lt;br /&gt;
* Defense (DEF): 32 ([https://db.pokemongohub.net/pokemon/174 Igglybuff]) to 396 ([https://db.pokemongohub.net/pokemon/213 Shuckle] again)&lt;br /&gt;
* Stamina (STA): 1 ([https://db.pokemongohub.net/pokemon/292 Shedinja]) to 496 ([https://db.pokemongohub.net/pokemon/242 Blissey])&lt;br /&gt;
&lt;br /&gt;
{{:Pokémon_Go_Species_Data}}&lt;br /&gt;
&lt;br /&gt;
===Effective stats===&lt;br /&gt;
Each individual Pokémon augments its base species stats with three &#039;&#039;individual values&#039;&#039; (IVs), each ranging from 0 to 15. &lt;br /&gt;
* A Pokémon with all 15s is colloquially known as a &amp;quot;hundo&amp;quot;, and enters the 100% Pokédex.&lt;br /&gt;
* A Pokémon with all 0s is somewhat less colloquially known as a &amp;quot;nundo&amp;quot;, and enters nothing.&lt;br /&gt;
* Evolution and Level changes do not affect IVs.&lt;br /&gt;
* Purification raises each IV by 2, not to exceed 15.&lt;br /&gt;
* Trading regenerates the IVs.&lt;br /&gt;
Adding the base species stats to the IVs and scaling by the appropriate CPM generates an &#039;&#039;effective attack&#039;&#039; Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, &#039;&#039;effective defense&#039;&#039; Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;, and &#039;&#039;effective stamina&#039;&#039; Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; for that Pokémon, all positive rationals.&lt;br /&gt;
&lt;br /&gt;
* Eff&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; = (Base&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; + IV&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;) * CPM(Level) = Base&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; * CPM(Level) + IV&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; * CPM(Level)&lt;br /&gt;
&lt;br /&gt;
Shadow Pokémon have their A divided by ⅚, and their D multiplied by ⅚.&lt;br /&gt;
&lt;br /&gt;
For instance, a hundo Altaria at level 26 has:&lt;br /&gt;
* base ATK 141&lt;br /&gt;
* base DEF 201&lt;br /&gt;
* base STA 181&lt;br /&gt;
* IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; = IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; = IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; = 15&lt;br /&gt;
* CPM = 0.6811649&lt;br /&gt;
* Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; = (141 + 15) * CPM = 156 * 0.6811649 = 106.2617244&lt;br /&gt;
* Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; = (201 + 15) * CPM = 216 * 0.6811649 = 147.1316184&lt;br /&gt;
* Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; = (181 + 15) * CPM = 196 * 0.6811649 = 133.5083204&lt;br /&gt;
Taking the floor of Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; tells you maximum HP.&lt;br /&gt;
* MHP = min(1, ⌊Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;⌋) = 133&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;nb: i&#039;ve seen other formulas claimed for maximum HP, but they don&#039;t seem to match reality. everywhere i&#039;ve checked, maximum HP = ⌊Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;⌋&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Attacks===&lt;br /&gt;
Each species has a set of Fast and Charged Attacks it can learn. An individual Pokémon always knows at least one Fast and one Charged Attack. For a significant investment of Stardust, they can be taught a second Charged Attack, and the Trainer can freely select between the two during battle. Each Fast Attack generates an amount of Energy per use. Each Charged Attack consumes an amount of Energy per use. Pokémon start a battle with zero Energy, and can hold up to 100 Energy at a time. Their Energy is preserved across swaps out and in.&lt;br /&gt;
&lt;br /&gt;
Each named Attack has a duration in turns (when in the duration is damage inflicted? [[User:Dank|Dank]] ([[User talk:Dank|talk]]) 02:02, 14 May 2025 (UTC)), and a Power P, a non-negative integer. This P can (and usually is) different depending on whether the context is PvE or PvP.&lt;br /&gt;
&lt;br /&gt;
For Fast Attacks, PvE Power ranges from 0 to 32, while PvP Power ranges from 0 to 20. If Attack A is stronger than Attack B in PvE mode, it will not be weaker than B in PvP mode, and vice versa (i.e. partial ordering is maintained). Furthermore, no Fast Attack&#039;s PvE Power is less than its PvP Power. Incinerate is thus the most powerful Fast Attack in both modes.&lt;br /&gt;
&lt;br /&gt;
{{:Pokémon_Go_fast_Attack_data}}&lt;br /&gt;
&lt;br /&gt;
Charged Attacks have a much greater range of PvE Power, from 10 (Frustration) to 230 (Sunsteel Strike). They do not illustrate the same ordering properties as Fast Attacks: Aeroblast is the most Powerful in PvP at 170.&lt;br /&gt;
&lt;br /&gt;
{{:Pokémon_Go_charged_Attack_data}}&lt;br /&gt;
====Stat Effects====&lt;br /&gt;
Charged Attacks can have effects on either Pokémons&#039; Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; or Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; lasting the duration of a battle. Some of these effects are probabilistic (I believe this to be the only use of random numbers in battles).&lt;br /&gt;
&lt;br /&gt;
====Adventure Effects====&lt;br /&gt;
Pokémon taught certain Attacks can use them outside of battle for a cost in Stardust and that Pokémon&#039;s Candy. These are called Adventure Effects, and only one can be active at a time per Trainer.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Attack !! Cost !! Time per use !! Effects&lt;br /&gt;
|-&lt;br /&gt;
| Roar of Time || 5k + 5 Dialga Candy || 6 min ||&lt;br /&gt;
|-&lt;br /&gt;
| Spacial Rend || 5k + 5 Palkia Candy || 10 min ||&lt;br /&gt;
|-&lt;br /&gt;
| Ice Burn || 5k + 5 Kyurem Candy || 10 min ||&lt;br /&gt;
|-&lt;br /&gt;
| Freeze Shock || 5k + 5 Kyurem Candy || 10 min ||&lt;br /&gt;
|-&lt;br /&gt;
| Sunsteel Strike || 3k + 5 Necrozma Candy || 10 min ||&lt;br /&gt;
|-&lt;br /&gt;
| Moongeist Beam || 3k + 5 Necrozma Candy || 10 min ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Battle mechanics==&lt;br /&gt;
Battles proceed in &amp;quot;turns&amp;quot; corresponding to half-second quanta. Fundamentally, active Pokémon use Fast Attacks to deal Damage and build up Energy. When sufficient Energy has been accumulated, a more powerful Charged Attack can be used, consuming Energy.&lt;br /&gt;
&lt;br /&gt;
===Types of combat===&lt;br /&gt;
* &#039;&#039;Gym battles&#039;&#039; occur when a Gym occupied by one Team is assaulted by Trainers of other teams. A Gym is defended by between one and six Pokémon of the same Team. Each Trainer can bring six Pokémon to the assault. The attackers fight the defenders in series. When a defender is KOd, it is returned (with zero health) to its Trainer. When all defenders are KOd, the Gym is cleared, and a new Team can take it by leaving a defender. Defenders cannot be recalled. There are no shields, but play is otherwise in the style of Trainer Battles.&lt;br /&gt;
* &#039;&#039;Raids&#039;&#039; task one or more (up to twenty) Trainers with defeating a powerful raid boss within a time limit. Each Trainer can bring six Pokémon into the battle at a time. If all six are defeated, the Trainer can reenter the raid with another six (assuming there is time left).&lt;br /&gt;
* &#039;&#039;Max battles&#039;&#039; task one or more (up to four) Trainers with defeating a powerful Dynamax or Gigantamax Pokémon in a form similar to a Raid. They furthermore feature a &amp;quot;Max Meter&amp;quot;, shared by all Trainers. When the Max Meter fills, active Pokémon shift to their Dynamax or Gigantimax forms, and can execute three Max Moves. They then revert to their normal forms, and the Meter is reset. The Meter advances whenever damage is done to the opponent, when defeated Trainers cheer, and when active Pokémon pick up a Max Bonus on the field. Each Trainer can bring three Dynamax-capable Pokémon into the battle. If all three are defeated, the Trainer can cheer remaining Trainers&lt;br /&gt;
* &#039;&#039;Trainer Battles&#039;&#039; pit two teams of three Pokémon against one another. One Pokémon is active for each side at a time. The Battle is over when one or both sides have no Pokémon left standing (or surrender). Each team gets two Shields capable of blocking Charged Attacks. Trainers can pick the next active Pokémon when one is KOd, and there are limited substitutions.&lt;br /&gt;
&lt;br /&gt;
====Trainer Battle details====&lt;br /&gt;
Trainer Battles are in my mind the most interesting element of PGO.&lt;br /&gt;
&lt;br /&gt;
When both Pokémon launch a Charged Attack on the same turn, Charged Move Priority determines which goes first. CMP is currently decided by the greater base ATK, i.e. &#039;&#039;unmodified&#039;&#039; by IVs or stat effects.&lt;br /&gt;
&lt;br /&gt;
===Damage===&lt;br /&gt;
&lt;br /&gt;
Calculating Damage dealt requires the attacker&#039;s Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, the defender&#039;s Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;, two multipliers M and M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;, and the Attack&#039;s P. The result is subtracted from the defender&#039;s HP. We will see that damage is always a positive integer, and thus HP is always an integer.&lt;br /&gt;
&lt;br /&gt;
Multiplier M is defined as the product of:&lt;br /&gt;
* the Attack&#039;s type effectiveness relative to the defender (see [[#Type effectiveness|below]])&lt;br /&gt;
* the Attack&#039;s type effectiveness relative to the attacker&lt;br /&gt;
** 1.2 if the attacker shares type with the Attack, 1 otherwise (Same Type Attack Bonus, STAB)&lt;br /&gt;
&lt;br /&gt;
A subsequent multiplier M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; is different depending on whether the battle is PvE or PvP.&lt;br /&gt;
&lt;br /&gt;
===PvE mode===&lt;br /&gt;
Multiplier M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; is defined as the product over&lt;br /&gt;
&lt;br /&gt;
* 0.5&lt;br /&gt;
* 0.25 if the Attack is dodged, 1 otherwise&lt;br /&gt;
** it is possible that this ranges from 0.25 to 1 [[User:Dank|Dank]] ([[User talk:Dank|talk]]) 07:36, 9 May 2025 (UTC)&lt;br /&gt;
* 1.2 if the Attack is weather-boosted, 1 otherwise&lt;br /&gt;
* A friendship bonus: 1 unless&lt;br /&gt;
** 1.03 if battling with at least one Good Friend, unless&lt;br /&gt;
** 1.05 if battling with at least one Great Friend, unless&lt;br /&gt;
** 1.07 if battling with at least one Ultra Friend, unless&lt;br /&gt;
** 1.1 if battling with at least one Best Friend&lt;br /&gt;
* A Mega bonus: 1 unless&lt;br /&gt;
** 1.1 if battling with at least one Mega Pokémon, unless&lt;br /&gt;
** 1.3 if battling with at least one Mega Pokémon of the Attack&#039;s type&lt;br /&gt;
* A Max bonus at Power Stops: 1 unless&lt;br /&gt;
** 1.1 for level 1 support (1 placed Pokémon), unless&lt;br /&gt;
** 1.15 for level 2 support (2–3 placed Pokémon), unless&lt;br /&gt;
** 1.188 for level 3 support (4–14 placed Pokémon), unless&lt;br /&gt;
** 1.2 for level 4 support (15+ placed Pokémon)&lt;br /&gt;
&lt;br /&gt;
===PvP mode===&lt;br /&gt;
Multiplier M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; is defined as the product over&lt;br /&gt;
&lt;br /&gt;
* 0.65&lt;br /&gt;
* Minigame score for Charged Attacks, ranging from 0.25 to 1&lt;br /&gt;
** &amp;quot;Excellent!&amp;quot; is necessary and sufficient for a 1&lt;br /&gt;
** &amp;quot;Great!&amp;quot; maps to [0.75, 1)&lt;br /&gt;
** &amp;quot;Nice!&amp;quot; maps to [0.5, 0.75)&lt;br /&gt;
** otherwise [0.25, 0.5)&lt;br /&gt;
&lt;br /&gt;
===Damage calculation===&lt;br /&gt;
At this point, P is a non-negative integer, while Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;, M, and M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; are positive rationals.&lt;br /&gt;
&lt;br /&gt;
Damage = ⌊P * Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; / Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;⌋ + 1&lt;br /&gt;
&lt;br /&gt;
Damage is always a positive integer due to the floor function.&lt;br /&gt;
&lt;br /&gt;
Some notes and observations:&lt;br /&gt;
* P is the dominant term (outside of pathological A / D mismatches)&lt;br /&gt;
* Maximum A / D is 414/32 = 12.9375, minimum A / D is 17/396 = 0.0429&lt;br /&gt;
** Maximum (Base+IV)&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; / (Base+IV)&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; is 429/32 = 13.40625, a ~3.6% gain&lt;br /&gt;
** Minimum (Base+IV)&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; / (Base+IV)&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; is 17/411 = 0.0413625, a ~3.4% loss&lt;br /&gt;
** Now make both sides 15: maximum is 429 / 47 = 9.12765, a ~29.5% loss&lt;br /&gt;
** Now make both sides 15: minimum is 32 / 411 = 0.07786, a ~81.5% gain&lt;br /&gt;
** Now give the weak defender 15, strong 0: 414/47 = 8.809, a ~31.9% loss&lt;br /&gt;
** Now give the weak attacker 15, strong 0: 32/396 = 0.0808, a ~88.4% gain&lt;br /&gt;
* Consider 140 ATK vs 140 DEF, ratio of 1&lt;br /&gt;
** Give both sides all 0 or all 15, ratio remains 1&lt;br /&gt;
** Give one Pokémon all 15 and the other all 0: A/D = 1.1071 (~10.7% gain), A/D = 0.903 (~9.7% loss)&lt;br /&gt;
* Consider 200 ATK vs 200 DEF, ratio of 1&lt;br /&gt;
** Give one Pokémon all 15 and the other all 0: A/D = 1.075 (7.5% gain), A/D = 0.930 (7% loss)&lt;br /&gt;
*** The maximum advantage IVs can provide well-matched Pokémon (ATK ~= DEF) is ~15/ATK&lt;br /&gt;
*** Impact of IVs goes down as Pokémon grow more absolutely powerful and 15 &amp;lt;&amp;lt; base stats&lt;br /&gt;
*** In mismatched battles, an IV advantage &#039;&#039;for the weaker Pokémon&#039;&#039; can shrink the difference; an IV advantage for the stronger Pokémon has much less effect&lt;br /&gt;
* CPM ratio has less range than A/D&lt;br /&gt;
** We can factor out the CPM ratio and define a constant 100x100 symmetric matrix&lt;br /&gt;
** Minimum value: 0.094 / 0.8403 ~= 0.11186&lt;br /&gt;
** Maximum value: 0.8403 / 0.094 ~= 8.939&lt;br /&gt;
* Doubling Attack Power is equivalent to doubling Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, or reducing Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; by half.&lt;br /&gt;
** An Attack IV cannot double a base ATK greater than 15&lt;br /&gt;
** A Defense IV cannot count for half of Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; with base DEF greater than 15&lt;br /&gt;
** The overwhelming majority of base ATKs and DEFs exceed 15&lt;br /&gt;
&lt;br /&gt;
===Type effectiveness===&lt;br /&gt;
If a Pokémon is dual-typed, each is considered relative to the Attack. Remember, type effectiveness is based on the type of the &#039;&#039;Attack&#039;&#039;, &#039;&#039;&#039;not&#039;&#039;&#039; the attacker. The types of the attacker are only relevant for the STAB multiplier.&lt;br /&gt;
&lt;br /&gt;
This table defines exponents. Find the row corresponding to the Attack type. Find each cell corresponding to a defender species type (there will be at least one). Add these exponents. The type effectiveness multiplier is 1.6 raised to the appropriate power. An exponent of 0 is neutral (multiplier of 1.6&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt; = 1). 1 corresponds to &amp;quot;super effective&amp;quot;, -1 to &amp;quot;resisted&amp;quot;, and -2 to &amp;quot;immune&amp;quot;. For a dual-type species, the total exponent can range from -4 to 2, yielding a multiplier ranging from 0.15259 to 2.56. There is thus no true &amp;quot;immunity&amp;quot; (a multiplier of 0), and the Damage calculation always guarantees at least one point anyway. A -1 is a 37.5% reduction in multiplier, and -2 is almost a 61% reduction. A +1 is a 60% increase. Given that STAB is a 20% increase, we see that Attack type effectiveness is better than STAB, and that Attack type ineffectiveness negates STAB (and then some).&lt;br /&gt;
&lt;br /&gt;
An interesting observation is that Attack effectiveness is 1.6x as potent as Attack resistance (60% increase vs 37.5% decrease), &#039;&#039;but&#039;&#039; Attack effectiveness is completely negated by Attack resistance (-1 + 1 == 0). For instance, an Electric Attack on a Dragon-Flying Pokémon like [https://db.pokemongohub.net/pokemon/149 Dragonite] is neutral, because Dragon is resistant to Electric, and Flying is vulnerable.&lt;br /&gt;
&lt;br /&gt;
These data were taken from [https://niantic.helpshift.com/hc/en/6-pokemon-go/faq/2132-type-effectiveness-in-battle/ Niantic&#039;s site] 2025-05-24. Note that type effectiveness has changed over time, e.g. Water used to be effective against Electric, but no longer is.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+ Attack type (rows) vs defender species type(s) (columns). Smaller numbers favor defense.&lt;br /&gt;
! Attack !! N !! Fi !! Fl !! Po !! Go !! R !! B !! Gh !! S !! Fr !! W !! Ga !! E !! Ps !! I !! Dr !! Da !! Fa !! Total&amp;lt;br&amp;gt;(Attack)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Normal&#039;&#039;&#039; || 0 || 0 || 0 || 0 || 0 || -1 || 0 || -2 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || &#039;&#039;&#039;-4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fighting&#039;&#039;&#039; || 1 || 0 || -1 || -1 || 0 || 1 || -1 || -2 || 1 || 0 || 0 || 0 || 0 || -1 || 1 || 0 || 1 || -1 || &#039;&#039;&#039;-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Flying&#039;&#039;&#039; || 0 || 1 || 0 || 0 || 0 || -1 || 1 || 0 || -1 || 0 || 0 || 1 || -1 || 0 || 0 || 0 || 0 || 0 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Poison&#039;&#039;&#039; || 0 || 0 || 0 || -1 || -1 || -1 || 0 || -1 || -2 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || &#039;&#039;&#039;-4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ground&#039;&#039;&#039; || 0 || 0 || -2 || 1 || 0 || 1 || -1 || 0 || 1 || 1 || 0 || -1 || 1 || 0 || 0 || 0 || 0 ||0  || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Rock&#039;&#039;&#039; || 0 || -1 || 1 || 0 || -1 || 0 || 1 || 0 || -1 || 1 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Bug&#039;&#039;&#039; || 0 || -1 || -1 || -1 || 0 || 0 || 0 || -1 || -1 || -1 || 0 || 1 || 0 || 1 || 0 || 0 || 1 || -1 || &#039;&#039;&#039;-4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ghost&#039;&#039;&#039; || -2 || 0 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || -1 || 0 || &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Steel&#039;&#039;&#039; || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || -1 || -1 || -1 || 0 || -1 || 0 || 1 || 0 || 0 || 1 || &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fire&#039;&#039;&#039; || 0 || 0 || 0 || 0 || 0 || -1 || 1 || 0 || 1 || -1 || -1 || 1 || 0 || 0 || 1 || -1 || 0 || 0 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Water&#039;&#039;&#039; || 0 || 0 || 0 || 0 || 1 || 1 || 0 || 0 || 0 || 1 || -1 || -1 || 0 || 0 || 0 || -1 || 0 || 0 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Grass&#039;&#039;&#039; || 0 || 0 || -1 || -1 || 1 || 1 || -1 || 0 || -1 || -1 || 1 || -1 || 0 || 0 || 0 || -1 || 0 || 0 || &#039;&#039;&#039;-4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Electric&#039;&#039;&#039; || 0 || 0 || 1 || 0 || -2 || 0 || 0 || 0 || 0 || 0 || 1 || -1 || -1 || 0 || 0 || -1 || 0 || 0 || &#039;&#039;&#039;-3&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Psychic&#039;&#039;&#039; || 0 || 1 || 0 || 1 || 0 || 0 || 0 || 0 || -1 || 0 || 0 || 0 || 0 || -1 || 0 || 0 || -2 || 0 || &#039;&#039;&#039;-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ice&#039;&#039;&#039; || 0 || 0 || 1 || 0 || 1 || 0 || 0 || 0 || -1 || -1 || -1 || 1 || 0 || 0 || -1 || 1 || 0 || 0 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dragon&#039;&#039;&#039; || 0 || 0 || 0 || 0 || 0 || 0 || 0 || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || -2 || &#039;&#039;&#039;-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dark&#039;&#039;&#039; || 0 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || -1 || -1 || &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fairy&#039;&#039;&#039; || 0 || 1 || 0 || -1 || 0 || 0 || 0 || 0 || -1 || -1 || 0 || 0 || 0 || 0 || 0 || 1 || 1 || 0 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;font-weight: bold&amp;quot;&lt;br /&gt;
| Total&amp;lt;br&amp;gt;(Defense) || -1 || 0 || -2 || -3 || -1 || 1 || 0 || -4 || -9 || -3 || -2 || 1 || -2 || 1 || 3 || -1 || -1 || -3 || -26&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The rightmost column is the sum over given Attack types (larger is better). The bottommost row is the sum over given base types (smaller is better). The rightmost, bottommost cell is the sum over all relationships; equally, it is the sum over the rightmost column; equally, it is the sum over the bottommost row. Its value of -26 indicates that type effectiveness favors the defender overall, though the most common relationship is neutrality: there are 324 total interactions, and 208 of them (~64.2%) are neutral. Note that this completely ignores e.g. type population and strength of type population.&lt;br /&gt;
&lt;br /&gt;
It is interesting (surprising?) to note that different Attack types have different total strengths. Only two Attack types are strong against their own type: Ghost and Dragon. Nine are weak against their own type: Fire, Water, Grass, Electric, Ice, Poison, Psychic, Dark, and Steel. Only three Attack types have overall net effectiveness: Flying, Ground, and Rock, each with a net 1. Four types sum to -4: Grass, Bug, Normal, and Poison. Electric and Fighting have -3. Psychic has -2.&lt;br /&gt;
&lt;br /&gt;
Likewise, different species types provide different total defense. Rock, Grass, Psychic, and Ice all have net weakness, especially Ice (3). Fighting and Bug are neutral; each have three weaknesses balanced out by three strengths. Water, Electric, and Dragon at -2 have nothing to be embarrassed about. Fire and Poison both enjoy -3. Ghost is less generally robust than its -4 suggests, due to -2 against Normal and Fighting. Steel is pretty insane at -9, with resistance to 10 different types, weakness against three, and strong resistance to Poison. As Josef Stalin said, it&#039;s good to be Steel.&lt;br /&gt;
&lt;br /&gt;
Grass eats the shit sandwich of type effectiveness as the only type both net-susceptible (1) and net-weak (-4). Subtracting the defense total from the attack total for a type yields a net core effectiveness, ranging from -5 (Grass) to a stunning 8 (Steel).&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Attack type !! Total&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; !! Total&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; !! Net&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Normal&#039;&#039;&#039; || -4 || -1 || -3&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fighting&#039;&#039;&#039; || -2 || 0 || -2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Flying&#039;&#039;&#039; || 0 || -2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Poison&#039;&#039;&#039; || -4 || -3 || -1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ground&#039;&#039;&#039; || 1 || -1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Rock&#039;&#039;&#039; || 1 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Bug&#039;&#039;&#039; || -4 || 0 || -4&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ghost&#039;&#039;&#039; || -1 || -4 || 3&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Steel&#039;&#039;&#039; || -1 || -9 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fire&#039;&#039;&#039; || 0 || -3 || 3&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Water&#039;&#039;&#039; || 0 || -2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Grass&#039;&#039;&#039; || -4 || 1 || -5&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Electric&#039;&#039;&#039; || -3 || -2 || -1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Psychic&#039;&#039;&#039; || -2 || 1 || -3&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ice&#039;&#039;&#039; || 0 || 3 || -3&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dragon&#039;&#039;&#039; || -2 || -1 || -1&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dark&#039;&#039;&#039; || -1 || -1 || 0&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Fairy&#039;&#039;&#039; || 0 || -3 || 3&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Dual typing====&lt;br /&gt;
&#039;&#039;&#039;Assuming random Attack type, being a dual-type Pokémon is a benefit more often than a liability.&#039;&#039;&#039; Most types enjoy a net resistance (a negative column total), so having two of them means means greater total resistance (plus more Attack types with a STAB bonus) more often than it does less. Given that every species has exactly one or two (distinct) types, there are C(18, 2) = 18!/2!*16! = 153 total type pairs possible plus the base 18, for a total of 171 possible species typings (not all of them are actually populated in the game). You will sometimes see 324 = 18&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, from 18*17 dual types plus 18 base types, but this counts e.g. Ghost-Dark and Dark-Ghost as two distinct typings. For the purpose of Attack type efficiency, order doesn&#039;t matter, so the 18*17 (the 2-permutations of 18) is irrelevant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Of course, if your opponent can choose Attack based on your Pokémon, dual types gives them more opportunity to select an effective attack.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Against a given typing, an Attack could theoretically have an exponent as low as -4 and as high as 2. No Attack type is very ineffective against two different types, though, so the effective minimum is -3.&lt;br /&gt;
&lt;br /&gt;
Define BN2 as the number of types against which an Attack is very ineffective, BN1 for ineffective, and BP1 for effective (-2, -1, and 1 from the table above). B0 = 18 - BN2 - BN1 - BP1.&lt;br /&gt;
* -3: very ineffective against one type, and ineffective against the other: BN2*BN1&lt;br /&gt;
** Since BN2 is always 0 or 1, this reduces to 0 or BN1&lt;br /&gt;
* -2: very ineffective against the single type, or very ineffective against one type and neutral against the other, or ineffective against both types: BN2*(B0+1) + C(BN1, 2)&lt;br /&gt;
* -1: ineffective against the one type, or ineffective against one type and neutral against the other, or very ineffective against one type and effective against the other: BN1*(B0+1) + BN2*BP1&lt;br /&gt;
* 0: neutrality against all types, or effectiveness against one combined with ineffectiveness against the other: B0 + C(B0, 2) + BP1*BN1&lt;br /&gt;
* 1: effective against the single type, or effective against one of two types while neutral against the other: BP1*(B0 + 1)&lt;br /&gt;
* 2: effective against both types (2 cannot be accomplished against a singly-typed species): C(BP1, 2)&lt;br /&gt;
The sum over these five values will always be 171.&lt;br /&gt;
&lt;br /&gt;
As an example, Normal is BN2 against one type, BN1 against two types, and BP1 against zero:&lt;br /&gt;
* B0 is 15&lt;br /&gt;
* -3 against Ghost-Steel and Ghost-Rock (2)&lt;br /&gt;
* -2 against Ghost, Steel-Rock, and Ghost-{anything but Steel or Rock} (17)&lt;br /&gt;
* -1 against Steel, Rock, Steel-{anything but Rock or Ghost}, and Rock-{anything but Steel or Ghost} (34)&lt;br /&gt;
* 0 against all other typings (118)&lt;br /&gt;
&lt;br /&gt;
The scaled total sums over the products of typing count and net exponent.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
! Type !! BN2 !! BN1 !! B0 !! BP1 !! -3 !! -2 !! -1 !! 0 !! 1 !! 2 !! Total&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Normal&#039;&#039;&#039; || 1 || 2 || 15 || 0 || 2 || 17 || 32 || 118 || 0 || 0 || &#039;&#039;&#039;-72&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fighting&#039;&#039;&#039; || 1 || 5 || 7 || 5 || 5 || 18 || 45 || 53 || 40 || 10 || &#039;&#039;&#039;-36&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Flying&#039;&#039;&#039; || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Poison&#039;&#039;&#039; || 1 || 4 || 11 || 2 || 4 || 18 || 50 || 74 || 24 || 1 || &#039;&#039;&#039;-72&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ground&#039;&#039;&#039; || 1 || 2 || 10 || 5 || 2 || 12 || 27 || 65 || 55 || 10 || &#039;&#039;&#039;18&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Rock&#039;&#039;&#039; || 0 || 3 || 11 || 4 || 0 || 3 || 36 || 78 || 48 || 6 || &#039;&#039;&#039;18&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Bug&#039;&#039;&#039; || 0 || 7 || 8 || 3 || 0 || 21 || 63 || 57 || 27 || 3 || &#039;&#039;&#039;-72&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ghost&#039;&#039;&#039; || 1 || 1 || 14 || 2 || 1 || 15 || 17 || 107 || 30 || 1 || &#039;&#039;&#039;-18&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Steel&#039;&#039;&#039; || 0 || 4 || 11 || 3 || 0 || 6 || 48 || 78 || 36 || 3 || &#039;&#039;&#039;-18&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Fire&#039;&#039;&#039; || 0 || 4 || 10 || 4 || 0 || 6 || 44 || 71 || 44 || 6 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Water&#039;&#039;&#039; || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Grass&#039;&#039;&#039; || 0 || 7 || 8 || 3 || 0 || 21 || 63 || 57 || 27 || 3 || &#039;&#039;&#039;-72&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Electric&#039;&#039;&#039; || 1 || 3 || 12 || 2 || 3 || 11 || 41 || 89 || 26 || 1 || &#039;&#039;&#039;-54&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Psychic&#039;&#039;&#039; || 1 || 2 || 13 || 2 || 2 || 15 || 30 || 95 || 28 || 1 || &#039;&#039;&#039;-36&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Ice&#039;&#039;&#039; || 0 || 4 || 10 || 4 || 0 || 6 || 44 || 71 || 44 || 6 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dragon&#039;&#039;&#039; || 1 || 1 || 15 || 1 || 1 || 16 || 17 || 121 || 16 || 0 || &#039;&#039;&#039;-36&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dark&#039;&#039;&#039; || 0 || 3 || 13 || 2 || 0 || 3 || 42 || 97 || 28 || 1 || &#039;&#039;&#039;-18&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| &#039;&#039;&#039;Fairy&#039;&#039;&#039; || 0 || 3 || 12 || 3 || 0 || 3 || 39 || 87 || 39 || 3 || &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FIXME: analyze population of typings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The actual multipliers end up being:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type effectiveness !! Multiplier !! With STAB&lt;br /&gt;
|-&lt;br /&gt;
| -3 || 0.244 || 0.2928&lt;br /&gt;
|-&lt;br /&gt;
| -2 || 0.390625 || 0.46875&lt;br /&gt;
|-&lt;br /&gt;
| -1 || 0.625 || 0.75&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 1.2&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1.6 || 1.92&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2.56 || 3.072&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Minimal spanning sets====&lt;br /&gt;
It is useful to know the sets of types which can provide efficiency against all types, and the sets of types which can provide resistance to all types. It is particularly useful to know the smallest such sets.&lt;br /&gt;
&lt;br /&gt;
For attack, first we determine independent requirements. To do so, add types which could not have been covered yet:&lt;br /&gt;
* Normal can only be covered by Fighting, so start there.                                                                           &lt;br /&gt;
** Fighting adds Rock, Steel, Ice, and Dark (5 total)&lt;br /&gt;
* Water requires Grass or Electric&lt;br /&gt;
** Grass adds Ground (7 total)&lt;br /&gt;
** Electric adds Flying (7 total)&lt;br /&gt;
*** We now have N, R, S, I, D, Water, (Ground or Flying)&lt;br /&gt;
* Fairy requires Poison or Steel&lt;br /&gt;
** Poison adds Grass (9 total)&lt;br /&gt;
** Steel adds nothing (8 total)&lt;br /&gt;
*** We now have N, R, S, I, D, W, (Gnd or Fly), Fairy, Grass&lt;br /&gt;
* Ghost requires Ghost or Dark&lt;br /&gt;
** Ghost adds Psychic (11 total)&lt;br /&gt;
** Dark adds Psychic (11 total)&lt;br /&gt;
*** We now have N, R, S, I, D, W, (Gnd or Fly), Fairy, Grass, Ghost, Psychic&lt;br /&gt;
* Fire requires Ground, Rock, or Water&lt;br /&gt;
** Water adds Ground if we don&#039;t have it (12-13 total)&lt;br /&gt;
** Ground adds Electric and Poison (14 total)&lt;br /&gt;
* Dragon requires Ice, Dragon, or Fairy&lt;br /&gt;
** Dragon adds nothing (15 total)&lt;br /&gt;
** Fairy adds Fighting (16 total)&lt;br /&gt;
** Ice adds Ground if we don&#039;t have it (16 total, locks in Electric)&lt;br /&gt;
* Fighting requires Flying or Psychic&lt;br /&gt;
** Psychic adds nothing (17)&lt;br /&gt;
** Flying adds Bug (18, done)&lt;br /&gt;
So, we can cover all target types with 7 attack types: Fighting, Electric, Poison, (Ghost or Dark), Ground, Ice, and Flying. There are probably other small sets.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FIXME:&#039;&#039;&#039; Now, we know the target type for Raids and Max battles, so this is only really relevant for PvP. We can only bring 3 Pokémon to a PvP battle, but each can have a different type of Fast Attack and (technically two different) Charged Attacks. So it would be nice to know three sets of two (or three) where one of the Attacks is efficient against a type, and the other class of Attacks is not inefficient against that same type.&lt;br /&gt;
&lt;br /&gt;
==XP rewards==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:right&amp;quot;&lt;br /&gt;
! Event !! XP&lt;br /&gt;
|-&lt;br /&gt;
| Giving a berry to a Pokémon in a gym || 50&lt;br /&gt;
|-&lt;br /&gt;
| Hatching 2km egg || 500&lt;br /&gt;
|-&lt;br /&gt;
| New Pokédex registration || 1000&lt;br /&gt;
|-&lt;br /&gt;
| Pokémon evolution || 1000&lt;br /&gt;
|-&lt;br /&gt;
| Hatching 5km or 7km egg || 1000&lt;br /&gt;
|-&lt;br /&gt;
| Hatching 10km egg || 2000&lt;br /&gt;
|-&lt;br /&gt;
| Research breakthrough || 3000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 1 Raid || 3500&lt;br /&gt;
|-&lt;br /&gt;
| Hatching 12km egg || 4000&lt;br /&gt;
|-&lt;br /&gt;
| Unlocking Max Move || 4000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 1 Max Battle || 5000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 3 or 4 Raid || 5000&lt;br /&gt;
|-&lt;br /&gt;
| Upgrading Max Move to Level 2 || 6000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 2 Max Battle || 6000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 3 Max Battle || 7500&lt;br /&gt;
|-&lt;br /&gt;
| Upgrading Max Move to Level 3 || 8000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 4 Max Battle || 10000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 4 or 5 Raid || 10000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Elite Raid || 12000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Mega Legendary Raid || 13000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 5 Max Battle || 15000&lt;br /&gt;
|-&lt;br /&gt;
| Winning Level 6 Max Battle || 25000&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Many events in Pokémon Go result in XP. Lucky Eggs double XP rewards while active (only one can be used at a time). Certain events double XP as well (this stacks with a Lucky Egg). Research can award various amounts of XP; a Research Breakthrough always awards 3000 XP.&lt;br /&gt;
&lt;br /&gt;
Things which &#039;&#039;typically do not&#039;&#039; reward XP include:&lt;br /&gt;
* opening the game or leaving it running (whether moving or stationary)&lt;br /&gt;
* accepting or sending a Friend request&lt;br /&gt;
* interactions with Team Rocket&lt;br /&gt;
* PvP battles&lt;br /&gt;
* buddy hearts and buddy level progression&lt;br /&gt;
* trading Pokémon&lt;br /&gt;
* use of berries in an encounter&lt;br /&gt;
* creation of a Route or Pokéstop&lt;br /&gt;
* any non-capturing throws in an encounter&lt;br /&gt;
* opening gifts (from Friends or Mateo)&lt;br /&gt;
* receiving items (from gifts, Pokéstops, route completion, or battles)&lt;br /&gt;
* using items&lt;br /&gt;
* and transferring Pokémon to the Professor for soul harvesting.&lt;br /&gt;
Of course, XP can result when these are part of Research tasks.&lt;br /&gt;
&lt;br /&gt;
===Battles===&lt;br /&gt;
No XP is awarded for PvP activity. An &amp;quot;encounter&amp;quot; includes all interactions with a distinct Pokémon, including those following wins against Team Rocket, those following wins in Raids and Max Battles, and those awarded following research. Leaving the encounter screen and returning to the same Pokémon, even multiple times, is all one encounter. An encounter does not end until the Pokémon is captured or flees.&lt;br /&gt;
&lt;br /&gt;
* If the Pokémon flees, the reward is 25 XP.&lt;br /&gt;
* If the Pokémon is captured, the reward is 100 XP, plus zero or more bonuses:&lt;br /&gt;
** A possible bonus for capture with a high-quality throw:&lt;br /&gt;
*** 1000 XP for Excellent, or&lt;br /&gt;
*** 100 XP for Great, or&lt;br /&gt;
*** 20 XP for Nice.&lt;br /&gt;
** 20 XP for capture with a curveball.&lt;br /&gt;
** 50 XP for capture with the first throw of the encounter.&lt;br /&gt;
** 100 XP for 100th collection of each species (all subtypes count as one species) (&amp;quot;Collector&amp;quot;)&lt;br /&gt;
** 300 XP for using AR Plus (&amp;quot;Expert Handler&amp;quot;)&lt;br /&gt;
** A possible bonus for first capture of the day:&lt;br /&gt;
*** 6000 XP for a 7 day streak of at least one capture (the streak resets), or&lt;br /&gt;
*** 1500 XP otherwise.&lt;br /&gt;
** 1000 XP for capture with a Master Ball.&lt;br /&gt;
&lt;br /&gt;
===Friendship===&lt;br /&gt;
200 XP is awarded whenever one sends a Gift (this is awarded when the Gift is sent, not when it is opened).&lt;br /&gt;
&lt;br /&gt;
XP is awarded whenever a friendship reaches a new level.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Level !! XP !! Cumulative days !! Max XP per Friend-day&lt;br /&gt;
|-&lt;br /&gt;
| Good Friend || 3000 || 1 || 3000&lt;br /&gt;
|-&lt;br /&gt;
| Great Friend || 10000 || 7 || 1857&lt;br /&gt;
|-&lt;br /&gt;
| Ultra Friend || 50000 || 30 || 2100&lt;br /&gt;
|-&lt;br /&gt;
| Best Friend || 100000 || 60 || 1811&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Routes===&lt;br /&gt;
Completing a Route always awards XP. The first Route completed on a given day yields 4000 XP. Subsequent Routes award 2000 XP each. Route awards are limited only by time.&lt;br /&gt;
&lt;br /&gt;
A streak of seven days with completed Routes awards 12000 XP, and resets the streak counter.&lt;br /&gt;
&lt;br /&gt;
==Evolution==&lt;br /&gt;
Evolution does not necessarily preserve Attacks, though it does preserve IVs. Evolution preserves Max Move levels. Evolution generates 1 Candy of the Pokémon&#039;s Candy type. Evolution counts as capturing the target Pokémon. Shiny Pokémon stay Shiny through Evolution, and Evolution cannot Shiny up a non-Shiny Pokémon. A Pokémon can be Evolved even at 0 HP. A freshly-Evolved Pokémon has full HP. Evolution does not change Level. Evolution typically raises CP, but not always (and it might even lower it). Evolution preserves traded status.&lt;br /&gt;
&lt;br /&gt;
===Item required===&lt;br /&gt;
Some evolutions require an item in addition to Candy. The item will be consumed.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Target !! Base !! Requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/182 Bellossom] || [https://db.pokemongohub.net/pokemon/44 Gloom] || 100 Oddish Candy + Sun Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/192 Sunflora] || [https://db.pokemongohub.net/pokemon/191 Sunkern] || 50 Sunkern Candy + Sun Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/547 Whimsicott] || [https://db.pokemongohub.net/pokemon/546 Cottonee] || 50 Cottonee Candy + Sun Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/549 Lilligant] || [https://db.pokemongohub.net/pokemon/548 Petilil] || 50 Petilil Candy + Sun Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/695 Heliolisk] || [https://db.pokemongohub.net/pokemon/694 Helioptile] || 50 Helioptile Candy + Sun Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/230 Kingdra] || [https://db.pokemongohub.net/pokemon/117 Seadra] || 100 Horsea Candy + Dragon Scale&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/233 Porygon2] || [https://db.pokemongohub.net/pokemon/137 Porygon] || 25 Porygon Candy + Upgrade&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/474 Porygon-Z] || [https://db.pokemongohub.net/pokemon/233 Porygon2] || 100 Porygon Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/463 Lickilicky] || [https://db.pokemongohub.net/pokemon/108 Lickitung] || 100 Lickitung Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/465 Tangrowth] || [https://db.pokemongohub.net/pokemon/114 Tangela] || 100 Tangela Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/466 Electivire] || [https://db.pokemongohub.net/pokemon/125 Electabuzz] || 100 Elekid Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/467 Magmortar] || [https://db.pokemongohub.net/pokemon/126 Magmar] || 100 Magby Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/461 Weavile] || [https://db.pokemongohub.net/pokemon/215 Sneasel] || 100 Sneasel Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/468 Togekiss] || [https://db.pokemongohub.net/pokemon/176 Togetic] || 100 Togepi Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/469 Yanmega] || [https://db.pokemongohub.net/pokemon/193 Yanma] || 100 Yanma Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/472 Gliscor] || [https://db.pokemongohub.net/pokemon/207 Gligar] || 100 Gligar Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/430 Honchkrow] || [https://db.pokemongohub.net/pokemon/198 Murkrow] || 100 Murkrow Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/475 Gallade] || Male [https://db.pokemongohub.net/pokemon/281 Kirlia] || 100 Ralts Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/429 Mismagius] || [https://db.pokemongohub.net/pokemon/200 Misdreavus] || 100 Misdreavus Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/473 Mamoswine] || [https://db.pokemongohub.net/pokemon/221 Piloswine] || 100 Swinub Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/477 Dusknoir] || [https://db.pokemongohub.net/pokemon/356 Dusclops] || 100 Duskull Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/478 Froslass] || Female [https://db.pokemongohub.net/pokemon/361 Snorunt] || 100 Snorunt Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/424 Ambipom] || [https://db.pokemongohub.net/pokemon/190 Aipom] || 100 Aipom Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/407 Roserade] || [https://db.pokemongohub.net/pokemon/315 Roselia] || 100 Budew Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/212 Scizor] || [https://db.pokemongohub.net/pokemon/123 Scyther] || 50 Scyther Candy + Metal Coat&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/208 Steelix] || [https://db.pokemongohub.net/pokemon/95 Onix] || 50 Onix Candy + Metal Coat&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/186 Politoed] || [https://db.pokemongohub.net/pokemon/61 Poliwhirl] || 100 Poliwag Candy + King&#039;s Rock&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/199 Slowking] || [https://db.pokemongohub.net/pokemon/79 Slowpoke] || 50 Slowpoke Candy + King&#039;s Rock&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/841 Flapple] || [https://db.pokemongohub.net/pokemon/840 Applin] || 200 Applin Candy + 20 Tart Apples&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/842 Appletun] || [https://db.pokemongohub.net/pokemon/840 Applin] || 200 Applin Candy + 20 Sweet Apples&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/464 Rhyperior] || [https://db.pokemongohub.net/pokemon/112 Rhydon] || 100 Rhyhorn Candy + Sinnoh Stone&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] || [https://db.pokemongohub.net/pokemon/718-Ten_Percent Zygarde 10% Form] || 50 Zygarde Cells&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/718-Complete Zygarde Complete Form] || [https://db.pokemongohub.net/pokemon/718-Fifty_Percent Zygarde 50% Form] || 200 Zygarde Cells&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Special requirements===&lt;br /&gt;
The special requirements must be fulfilled while the Pokémon to be evolved is your Buddy.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Target !! Base !! Requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/462 Magnezone] || [https://db.pokemongohub.net/pokemon/82 Magneton] || 100 Magnemite Candy + Evolve near an active Magnetic Lure&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/476 Probopass] || [https://db.pokemongohub.net/pokemon/299 Nosepass] || 50 Nosepass Candy + Evolve near an active Magnetic Lure&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/706 Goodra] || [https://db.pokemongohub.net/pokemon/705 Sliggoo] || 100 Goomy Candy + Evolve near an active Rainy Lure&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/983 Kingambit] || [https://db.pokemongohub.net/pokemon/625 Bisharp] || 100 Pawniard Candy + defeat 15 Dark- or Steel-type in raids&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/979 Annihilape] || [https://db.pokemongohub.net/pokemon/57 Primeape] || 100 Mankey Candy + defeat 30 Psychic- or Ghost-type in battles&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/671 Florges] || [https://db.pokemongohub.net/pokemon/670 Floette] || 100 Flabébé Candy + earn 20 hearts&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/936 Armarouge] || [https://db.pokemongohub.net/pokemon/935 Charcadet] || 50 Charcadet Candy + defeat 30 Psychic-type in battles&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/937 Ceruledge] || [https://db.pokemongohub.net/pokemon/935 Charcadet] || 50 Charcadet Candy + defeat 30 Ghost-type in battles&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/904 Overqwil] || [https://db.pokemongohub.net/pokemon/211-Hisuian Hisuian Qwilfish] || 50 Qwilfish Candy + win 10 raids&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/892-Rapid_Strike Rapid Strike Style Urshifu] || [https://db.pokemongohub.net/pokemon/891 Kubfu] || 200 Kubfu Candy + defeat 30 Water-type in raids or Max battles&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/892-Single_Strike Single Strike Style Urshifu] || [https://db.pokemongohub.net/pokemon/891 Kubfu] || 200 Kubfu Candy + defeat 30 Dark-type in raids or Max battles&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/687 Malamar] || [https://db.pokemongohub.net/pokemon/686 Inkay] || 50 Inkay Candy + turning the mobile device upside-down&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/416 Vespiquen] || Female [https://db.pokemongohub.net/pokemon/415 Combee] || 50 Combee Candy&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/699 Aurorus] || [https://db.pokemongohub.net/pokemon/698 Amaura] || 50 Amaura Candy, and evolve at night&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/697 Tyrantrum] || [https://db.pokemongohub.net/pokemon/696 Tyrunt] || 50 Tyrunt Candy, and evolve during the day&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/675 Pangoro] || [https://db.pokemongohub.net/pokemon/674 Pancham] || 50 Pancham Candy + capture 32 Dark-type&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Walk-assisted===&lt;br /&gt;
The Pokémon to be evolved must be walked a certain distance while actively &amp;quot;on your adventure&amp;quot;, i.e. on the map screen.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Target !! Base !! Requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/528 Swoobat] || [https://db.pokemongohub.net/pokemon/527 Woobat] || 50 Woobat Candy + 1km&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/903 Sneasler] || [https://db.pokemongohub.net/pokemon/215-Hisuian Hisuian Sneasel] || 100 Sneasel Candy + 7km, and evolve during the day&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/122 Mr. Mime] || [https://db.pokemongohub.net/pokemon/439 Mime Jr.] || 50 Mime Jr. Candy + 15km&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/185 Sudowoodo] || [https://db.pokemongohub.net/pokemon/438 Bonsly] || 50 Bonsly Candy + 15km&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/113 Chansey] || [https://db.pokemongohub.net/pokemon/440 Happiny] || 25 Happiny Candy + 15km&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/350 Milotic] || [https://db.pokemongohub.net/pokemon/349 Feebas] || 100 Feebas Candy + 20km&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/923 Pawmot] || [https://db.pokemongohub.net/pokemon/922 Pawmo] || 100 Pawmi Candy + 25km&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Trade-assisted===&lt;br /&gt;
Some Pokémon require no Candy to evolve &#039;&#039;once they have been traded.&#039;&#039; Without a trade, they have usual Candy requirements. The trade can take place prior to the specified Evolution, i.e. a traded Machop Evolved to Machoke can be evolved to Machamp for zero Candy.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Target !! Base !! Requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/65 Alakazam] || [https://db.pokemongohub.net/pokemon/64 Kadabra] || 100 Abra Candy OR the Kadabra was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/68 Machamp] || [https://db.pokemongohub.net/pokemon/67 Machoke] || 100 Machop Candy OR the Machoke was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/76 Golem] || [https://db.pokemongohub.net/pokemon/75 Graveler] || 100 Geodude Candy OR the Graveler was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/75-Alola Alolan Golem] || [https://db.pokemongohub.net/pokemon/75-Alola Alolan Graveler] || 100 Geodude Candy OR the Alolan Graveler was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/93 Haunter] || [https://db.pokemongohub.net/pokemon/94 Gengar] || 100 Gastly Candy OR the Gengar was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/534 Conkeldurr] || [https://db.pokemongohub.net/pokemon/533 Gurdurr] || 200 Timburr Candy OR the Gurdurr was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/526 Gigalith] || [https://db.pokemongohub.net/pokemon/525 Boldore] || 200 Roggenrola Candy OR the Boldore was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/589 Escavlier] || [https://db.pokemongohub.net/pokemon/588 Karrablast] || 200 Karrablast Candy OR the Karrablast was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/617 Accelgor] || [https://db.pokemongohub.net/pokemon/616 Shelmet] || 200 Shelmet Candy OR the Shelmet was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/709 Trevenant] || [https://db.pokemongohub.net/pokemon/708 Phantump] || 200 Phantump Candy OR the Phantump was traded&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/711 Gourgeist] || [https://db.pokemongohub.net/pokemon/710 Pumpkaboo] || 200 Pumpkaboo Candy OR the Pumpkaboo was traded&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Eevolution===&lt;br /&gt;
[https://db.pokemongohub.net/pokemon/133 Eevee]&#039;s evolution is complex, terminating in one of eight different Pokémon. Alternatively, one time per target per Trainer, the evolution type can be specified by naming the Eevee prior to evolving it. All evolutions require 25 Eevee Candy.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Target !! Type !! Name !! Requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/196 Espeon] || Psychic || Sakura || Walk a Buddy Eevee 10km, have that Eevee as your Buddy at the time of evolution, and evolve during the day &lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/197 Umbreon] || Dark || Tamao || Walk a Buddy Eevee 10km, have that Eevee as your Buddy at the time of evolution, and evolve at night&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/470 Leafeon] || Grass || Linnea || Evolve near an active Mossy Lure&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/471 Glaceon] || Ice || Rea ||  Evolve near an active Glacial Lure&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/700 Sylveon] || Fairy || Kira || Earn 70 Hearts with the Eevee as your Buddy&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/136 Flareon] || Fire || Pyro || No requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/134 Vaporeon] || Water || Rainer || No requirements&lt;br /&gt;
|-&lt;br /&gt;
| [https://db.pokemongohub.net/pokemon/135 Jolteon] || Electricity || Sparky || No requirements&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
I am unsure of the precedence among the first five options. If none of them are met, the target is selected randomly among Flareon, Vaporeon, and Jolteon.&lt;br /&gt;
&lt;br /&gt;
Note that Level 42 requires evolving one of each Eevee type (while at Level 41).&lt;br /&gt;
&lt;br /&gt;
==Strategy==&lt;br /&gt;
&lt;br /&gt;
Some parts of this assume you&#039;re in an urban area or otherwise have access to many spawns and Pokéstops per hour, but much applies to all players.&lt;br /&gt;
&lt;br /&gt;
===Leveling up===&lt;br /&gt;
Leveling up (through Level 40) is strictly a matter of accumulating XP. Level 2 requires only one thousand XP. Level 40 requires five million beyond Level 39, for twenty million total. Levels 41 through 50 have additional, formidable Research requirements beyond their already brutal XP demands.&lt;br /&gt;
&lt;br /&gt;
===The mathematics of Friendship===&lt;br /&gt;
State increases upon the first interaction of any kind between two Friends on a given day (how does this work with different time zones? [[User:Dank|Dank]] ([[User talk:Dank|talk]]) 09:15, 9 May 2025 (UTC)). It can only be advanced once per day. There is a single level for each pair of Friends. Removing a friend does not reset the friendship level until 120 days (of Sodom?) have passed. Adding the friend back during this period will reset the counter. An interaction for purposes of Friend state is:&lt;br /&gt;
* Opening (&#039;&#039;not&#039;&#039; sending) a Gift&lt;br /&gt;
* Participating together in a raid or Max battle&lt;br /&gt;
* A PvP battle&lt;br /&gt;
* A trade&lt;br /&gt;
Since the XP bonuses of Friend transitions are large, Lucky Eggs can be effectively employed before a Level change. This can be more effective if several Levels change within the Lucky Egg&#039;s lifespan, which can be accomplished by a burst of Gift opening for synchronized Friends, i.e. a set of Friends all at the same state.&lt;br /&gt;
&lt;br /&gt;
Friends are essentially unlimited resources thanks to online [https://www.reddit.com/r/PokemonGoFriends/ bazaars]. Up to 115 new Gifts are available each day via Pokéstops and a Buddy. You can open up to 20 Gifts per day, and carry 20 at a time (they do not count against your Bag). There is no limit on sending Gifts. Gift XP is maximized by adding 135 friends each day, sending 115 Gifts (assuming all are opened), and opening 20 Gifts (assuming at least this many are received). All 135 friends will become Good Friends, providing 405,000 XP per day before being immediately harvested. This is of course all rather tedious, and leaves no room for actual long-term friends (with benefits beyond XP). I tend to add a dozen people or so every few days, interact through the Ultra Friend level (requiring thirty days), and remove them afterwards. This yields 63,000 XP per harvested friend, ideally 2100 XP per Friend-day, 70% of the optimal 3k with less than 4% of the work. Furthermore, a Lucky Egg applied to the large 50k XP bonus yields XP that would require synchronizing 17 transitions to Good Friends, which I&#039;d rather drink the bathroom cleaner.&lt;br /&gt;
&lt;br /&gt;
For purposes of battle bonuses and reduced Stardust costs to trade, you want to make and keep some Best Friends.&lt;br /&gt;
&lt;br /&gt;
For purposes of prioritizing your limited Gift openings, if a Friend has a blue ring around their headshot, you &#039;&#039;have&#039;&#039; interacted with them today, and opening their Gift will not advance the state. If there is a grey arrow pointing right, that Friend has an unopened Gift from you.&lt;br /&gt;
&lt;br /&gt;
===I&#039;ve got beef===&lt;br /&gt;
Appraisal shows only CP, and IVs. The former is actively misleading, while the latter are largely inconsequential. Oh, it also shows HP, which is quite useful, and kinda shows level in the shittiest way possible.&lt;br /&gt;
&lt;br /&gt;
====CP is a great big lie====&lt;br /&gt;
&amp;quot;Combat Power&amp;quot; or CP is the foremost stat for Pokémon. It is the limit for participation in various PvP leagues, and is the default sort order for your bullpen.&lt;br /&gt;
&lt;br /&gt;
Behold, the CP equation:&lt;br /&gt;
&lt;br /&gt;
* CP = ⌊max(10, Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; * √Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; * √Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; * CPM² / 10)⌋&lt;br /&gt;
&lt;br /&gt;
CP is a terrible stat for PvP (it&#039;s not so bad for raids; see below), where it ought primarily be regarded as a cost function, not a measure of quality. It&#039;s not great for Max Battles, either.&lt;br /&gt;
&lt;br /&gt;
CP overvalues Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; (which gets divided by Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; when calculating damage). It overvalues Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; &#039;&#039;&#039;a lot&#039;&#039;&#039;. The max Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; would be 414+15=429; its square root is ~21, a reduction of over 95%! The lowest Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; is 10; its square root is ~3.2, a reduction of about 68%. Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; isn&#039;t being counted twice as much as other stats, but &#039;&#039;many times more&#039;&#039;. Even worse is level. With a bit of substitution, we can rewrite the CP equation:&lt;br /&gt;
&lt;br /&gt;
* CP = ⌊max(10, (ATK + IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;) * CPM * √((DEF + IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * CPM) * √((STA + IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;) * CPM) * CPM² / 10)⌋&lt;br /&gt;
* CP = ⌊max(10, (ATK + IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;) * CPM * √(DEF + IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * √CPM * √(STA + IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;) * √CPM * CPM² / 10)⌋&lt;br /&gt;
* CP = ⌊max(10, (ATK + IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;) * √(DEF + IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * √(STA + IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;) * CPM⁴ / 10)⌋&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is why you can beat Team Rocket Pokémon with 3x and 4x your CP.&#039;&#039;&#039; It&#039;s almost all in ATK, which is getting divided by DEF. They can hit you hard, but they&#039;re stupid, and your Charged Attacks and type counters beat them down.&lt;br /&gt;
&lt;br /&gt;
The Damage equation is entirely linear. Remember Damage?&lt;br /&gt;
&lt;br /&gt;
* D = ⌊max(1, P * Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;/Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;)⌋&lt;br /&gt;
* D = ⌊max(1, P * ((ATK + IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;) * CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;) / ((DEF + IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * CPM&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;)⌋&lt;br /&gt;
* D = ⌊max(1, P * (ATK + IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;)/(DEF + IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) * CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;/CPM&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;)⌋&lt;br /&gt;
&lt;br /&gt;
Doubling any term in the numerator doubles the Damage. Halving any term in the numerator halves the Damage. Doubling the denominator (Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;) halves the Damage, etc. Breaking out the CPM ratio as its own term changes nothing; it just makes my argument more obvious. Let&#039;s imagine a CPM growth of 0.1 for the attacker, so CPM&amp;lt;sub&amp;gt;NewA&amp;lt;/sub&amp;gt; = CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; + 0.1. Ignoring the floor function, this increases Damage by a factor of CPM&amp;lt;sub&amp;gt;NewA&amp;lt;/sub&amp;gt;/CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;. If the old CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; was 0.2, we increased it by 0.1/0.2 = 0.5 or 50%. If the old CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; was 0.5, we increased it by 0.1/0.5 = 0.2 or 20%. As the Level grows, the impact of constant increases in CPM lessens (in actuality, the increases are not constant, but diminish). For purposes of CP, however, we&#039;re working with a fourth power. Increasing the CPM by 0.1 has far greater effect on CP. A CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; of 0.2 was 0.2⁴ = 0.0016, but a CPM&amp;lt;sub&amp;gt;NewA&amp;lt;/sub&amp;gt; of 0.3 is 0.3⁴ = 0.0081, a CP increase of over 500%! A CPM&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; of 0.5 was 0.5⁴ = 0.0625, while a CPM&amp;lt;sub&amp;gt;NewA&amp;lt;/sub&amp;gt; of 0.6⁴ = 0.1296, a CP increase of over 200%.&lt;br /&gt;
&lt;br /&gt;
Should the attacker move from Level 10 to Level 10.5 takes CPM from CPM(10) = 0.4225 to CPM(10.5) = 0.4329264091, a difference of 0.0104264091. CPM(10.5) / CPM(10) ~= 1.025, an increase of 2.5% to the Damage equation (again, ignoring the effects of floor), independent of base stats and IVs. Should the defender make the same move, it is likewise a ~2.4% reduction in Damage, and a ~2.5% increase in MHP. For either player, dividing the fourth powers yields 1.102, an increase of 10.2% in CP. The ratio of fourth powers will always be greater than the sum of linear ratios, thus &#039;&#039;&#039;Level is overvalued by CP.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll read that defense and stamina are &amp;quot;more important&amp;quot; in PvP. No. Were this true, you&#039;d never use Shadow Pokémon. Rather, ATK contributes linearly to this cost function, whereas they contribute their square roots.&lt;br /&gt;
&lt;br /&gt;
Attack isn&#039;t simply &amp;quot;more important&amp;quot; in PvE; rather, stats have no cost (as there are no CP ceilings, aside from some very specific endgame). You thus want all the stats you can get. Since raids allow you to absorb effectively infinite damage, but have a time component, strong ATK is indeed critical (justifying to a degree its overvaluation in CP &#039;&#039;for raids&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The floor function makes small improvements over unity meaningless, but magnifies small losses from unity. If Power is 4, and the other products yield 1.1, the Damage is unchanged at 4. If other products yield 0.9, the Damage is 3 (a 25% loss). With equal ATK and DEF, a slightly higher level is unlikely to change Damage inflicted, but is likely to reduce Damage suffered. Level 50 against Level 10 is 0.8378 vs 0.4225, an ATK multiplier of ~1.983 for the L50 and a multiplier of ~0.504 for the L10. The CPM contributions to CP are ~0.493 and ~0.032, a multiple of 15.4. Within the 93.5%, can we make up for the ATK/DEF ratio losses with base stats? At L50, we hit CP 1499 with e.g. DEF=STA=169 and ATK=180. At L10, we hit CP 1500 with e.g. DEF=900, STA=ATK=625. The L10 mon would &#039;&#039;devastate&#039;&#039; the L50 mon: ATK/DEF when attacking is ~3.7, for a total product of ~1.9, while ATK/DEF when defending is ~0.4. Of course, no such mon is actually available. The lesson is that L10 has 50% of the L50 CPM, and offsetting this requires a DEF twice the L50&#039;s ATK and an ATK twice the L50&#039;s DEF.&lt;br /&gt;
&lt;br /&gt;
L40 / L20 ~= 1.3, L20 / L40 ~= 0.75. Offsetting this 20 Level gap requires an ATK 133% the L40&#039;s DEF, and a DEF 130% the L40&#039;s ATK. Look at the histograms from [[#Essential_constants|earlier]]. They&#039;re not far from Gaussian, with centers very roughly at 200 and σ below 100: we&#039;ll rarely see 200% improvements over an opponent&#039;s base statistics. With these stats clinging to a center, Level differences converge towards zero. Our intuition, then, is that we want to maximize DEF, then STA, then ATK, then Level (though not exactly). What&#039;s the precise relation?&lt;br /&gt;
&lt;br /&gt;
====Don&#039;t overvalue IVs====&lt;br /&gt;
&lt;br /&gt;
IVs are largely inconsequential for ATK and DEF, due to usually being a small percentage of the effective stat&#039;s total range. Their impact is further reduced (and possibly eliminated) by the floor function used to compute damage. Read that again: the use of the floor function when calculating damage means a 15 IV might have &#039;&#039;absolutely no impact&#039;&#039; vis-à-vis a 0. One more time: no, there is not always &amp;quot;some small advantage&amp;quot; to a higher IV, since the impact might be completely hidden by the floor function. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FIXME Demonstrate that small IV changes usually result in zero change to damage for powerful Pokémon (i.e. those with large ATK/DEF)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that the CPM combined with the floor function imply hit points only actually growing by 1 for every 1/CPM points added to Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;. Read that again: &#039;&#039;&#039;An IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; of n + 1 might have absolutely no improvement over n.&#039;&#039;&#039; This is of course not always true, and in any case only relevant when CP ceilings are in effect.&lt;br /&gt;
&lt;br /&gt;
Especially for powerful Pokémon, Attack Power, STAB, and type effectiveness have &#039;&#039;much&#039;&#039; greater impact than any difference in IVs.&lt;br /&gt;
&lt;br /&gt;
A base ATK of 115 with an IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; of 0 is in every way equivalent to a base ATK of 100 with an IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; of 15.&lt;br /&gt;
&lt;br /&gt;
====Type effectiveness isn&#039;t everything====&lt;br /&gt;
Type effectiveness, STAB, and weather bonuses are powerful (the former two in PvP especially), but they don&#039;t necessarily beat out a truly large base stat or level difference. If there&#039;s a Weather Bonus, that&#039;s a multiple of 1.2. If you have an ATK difference greater than 20% of the opponent&#039;s DEF, that&#039;s a higher damage (and remember that Weather Bonus doesn&#039;t apply to most PvP).&lt;br /&gt;
&lt;br /&gt;
====Optimizing for CP ceilings====&lt;br /&gt;
First off, let&#039;s eliminate any complications due IVs. For every species S with base stats ATK, DEF, and STA, introduce 4096 virtual species, S-n&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;-n&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;-n&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;, where n&amp;lt;sub&amp;gt;X&amp;lt;/sub&amp;gt; is an integer in [0, F]. S-0-0-0 corresponds to the base stats of the species S. S-F-F-F corresponds to that species with maxed out IVs. S-5-A-F represents the species with IV&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; = 5, IV&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; = 10, and IV&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; = 15, etc. We can now dispense with IVs entirely.&lt;br /&gt;
&lt;br /&gt;
For a league with a CP ceiling of C, we want to maximize the three values&lt;br /&gt;
&lt;br /&gt;
* Inflicted damage factor = P * ATK * CPM * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;&lt;br /&gt;
* Inverse suffered damage factor = DEF * CPM&lt;br /&gt;
* Damage absorption = ⌊STA * CPM⌋ = MHP&lt;br /&gt;
&lt;br /&gt;
subject to the constraint&lt;br /&gt;
&lt;br /&gt;
* C ≥ ATK * √DEF * √STA * CPM⁴&lt;br /&gt;
&lt;br /&gt;
remembering that&lt;br /&gt;
&lt;br /&gt;
* We win iff our HP divided by their Damage per unit time exceeds their HP divided by our Damage per unit time.&lt;br /&gt;
&lt;br /&gt;
If the suffered damage factor is greater than the inflicted damage factor, their ratio is less than 1, and the Damage will thus be 1. If this is the case for both players, the game is reduced to who has the greater damage absorption. This is almost never the case, however, because of something we&#039;ve been ignoring. What did we identify as the dominant term in the Damage equation? Attack Power, represented by P. Recall that the most powerful Fast Attack in PvP is Incinerate at P = 20. To reduce this Attack&#039;s Damage to 1 (assuming M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; = 1 and equal Levels), DEF would need be 20x ATK. This is technically possible (recall that the greatest possible DEF/ATK at this time is 411 / 17 ~= 24.18), but usually ATK will be on the same order as DEF: a 2x relationship is already pushing it, and represents a pretty irregular match. So a given Attack, especially a Charged one, is likely to inflict more than 1 HP.&lt;br /&gt;
&lt;br /&gt;
As an example, consider the Fast Attack Bite as employed by an attacker at Level 10 with ATK = 140 against a defender at Level 20 with DEF = 180. CPM(20) = 0.5974 and CPM(10) = 0.4225, so the CPM ratio is ~0.707. The ATK/DEF ratio is 0.7̅. The product is ~0.55. Assume M*M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt; = 1. Bite&#039;s Power is 4, for a product of 2.2 and thus a Damage of 2. This despite the defender having a 28.6% advantage in terms of DEF over ATK, and ten full levels (twenty half-levels) on the attacker! Looking at CP, the relevant contributions are ATK*CPM⁴ (~4.46) and √DEF*CPM⁴ (~1.71), a CP multiple of ~2.61. Now increase the ATK to 180, holding everything else constant. The ATK/DEF ratio is now 1, while the CPM ratio remains 0.707. The total product is now 2.828, for a Damage of...2, the &#039;&#039;exact same Damage as before.&#039;&#039; Meanwhile, the ATK*CPM⁴ has increased to ~5.74, a CP multiple of ~1.29. Now dial the ATK back to 140, but bring the attacker up to Level 20. The CPM ratio is now 1; the total product becomes 3.1̅ for a Damage of 3. ATK*CPM⁴ is now 17.83, a CP multiple of ~4. How much STA could be acquired for these multiples? If STA was originally 140, it is contributing ~11.83 to CP. Multiplying 11.83 by 4 gives us 47.32, and squaring it yields &#039;&#039;2239&#039;&#039;! You could have 4.5x the highest STA in the game. At Level 10, this would be an extra 886 HP, certainly more than offsetting the extra point of Damage dealt each Attack! Such is the power of logarithmic growth.&lt;br /&gt;
&lt;br /&gt;
Should the attacker replace Bite with Acid, Power rises from 4 to 6. The attacker as originally specified now does 3 points of Damage with each Attack (taking ATK to 180 now deals 4 points, and taking Level to 20 accomplishes the same thing). What is the impact on CP? &#039;&#039;There is no impact on CP.&#039;&#039; Power upgrades are free from a CP perspective. The most dominant term is &#039;&#039;completely ignored&#039;&#039; in the CP calculation, as are the potentially huge type bonuses. Mother of God.&lt;br /&gt;
&lt;br /&gt;
So, we will seek to maximize inflicted damage by maximizing P (or inflicted damage per unit time by maximizing P/T, where T is Attack duration in turns), rather than increasing ATK or Level. DEF and STA we can increase at barely more cost than P, and far more freely. We want to keep ATK low, and we want to keep Level low. Every CPM points of STA yield one more hit point. At Level 1, we need ~10.6 points of STA for a hit point (due to the floor function, it&#039;s more like 11, then 10, then 11, then 10...). At Level 50, we need ~1.19 (more like 2, 1, 1, 1, 2...). 140 additional HP cost ~1490 STA at Level 1, and ~167 STA at Level 50. If a 140 HP opponent is hitting us for 2 points of damage every unit time, and we&#039;re hitting them for 1, we need at least twice their HP, which we are unlikely to get.&lt;br /&gt;
&lt;br /&gt;
Given integer stats, our candidate solution space would already be finite. We&#039;re limited to the virtual species at the 99 provided levels, even more finite. Good!&lt;br /&gt;
&lt;br /&gt;
I&#039;m not yet sure how to relate STA and DEF, but we can convert STA, ATK, and P to common values: hit points. HP = STA*CPM, undefended HP inflicted per unit time = P*ATK*CPM/T. Divide CPM out of both expressions. If they double P/T or ATK, we have to double HP. Doubling ATK is unlikely, but doubling P/T is a matter of choosing a different Attack. CP grows with the square root of added STA, grows linearly with added ATK, and grows not at all for added P or reduced T.&lt;br /&gt;
&lt;br /&gt;
How do we optimize for PvP? To first order, we optimize our Attacks, carefully considering P, T, and Attack type. This must be considered along with the populations of each typing. If we can build a spanning set of Attacks, all enjoying STAB, we ought be able to get a 1.92 multiplier from type. With two Charged Attacks available to each Pokémon, it ought be possible to saturate the spanning set with our three (nine total Attacks, when we know seven can cover the defensive types). Even without expensive secondary Charged Attacks, using dual-type species we can get at least six types, all STAB-positive. Charged Attacks pretty much always exceed Fast Attacks in Damage per unit time &#039;&#039;even if the Fast Attack enjoys a type bonus while the Charged Attack suffers a type penalty&#039;&#039;, so it&#039;s almost never to our advantage to forego Charged Attacks (the calculation is trivial, if you want to verify). Find optimal sets of moves, and the populations which can provide them. Find species which provide these moves, preferring low ATK, high DEF, and high STA. Level these species up as high as you can without exceeding the ceiling.&lt;br /&gt;
&lt;br /&gt;
==Towards a better CP==&lt;br /&gt;
I&#039;ve argued that CP is irredeemably busted as a single summary of power. Some people like the &#039;&#039;stat product&#039;&#039;, the product of ATK, DEF, and STA (or, for an individual Pokémon, the product of Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;, and Eff&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt;). I disagree.&lt;br /&gt;
&lt;br /&gt;
The usefulness of ATK and DEF fall off as they grow. Assume you&#039;re attacking an opponent with 100 DEF. The ATK/DEF ratio (ignoring IVs and CPM) for an ATK of 1, 50, 100, 150, 200, and 250 are 0.01, 0.5, 1, 1.5, 2, and 2.5. This ratio is then used in the product determining Damage, which (as noted before) is dominated by the particular Attack&#039;s Power. Against a DEF of 100, 20 more points of ATK are equivalent to a weather bonus. Against a DEF of 100, if the rest of the product (P * M * M&amp;lt;sub&amp;gt;M&amp;lt;/sub&amp;gt;) is 5, each additional point of Damage (equivalent to a hit point) requires an extra 20 ATK. It&#039;s not exactly a 20:1 mapping due to CPM scaling of STA, but for this instance, each STA point of the defender is probably more useful than each ATK point of the attacker.&lt;br /&gt;
&lt;br /&gt;
This does break down if ATK &amp;gt;&amp;gt; DEF. The ATK/DEF ratio can grow quite large (if DEF &amp;gt;&amp;gt; ATK, you&#039;re inflicting only a few points of Damage per Attack, but never zero). An Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt; of 200 against an Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt; of 20 yields a ratio of 10, a very serious multiplier (it&#039;s important to remember that CPM is generally going to drive wildly unbalanced ratios towards 1). But a DEF of at least 140 means an attacker of equal level requires 280 ATK to get a 2x multiplier. More than half of all species have a base DEF of 140, while only a few have an ATK of 280+. Adding a few ATK is likely to get lost in the floor function when calculating actual Damage, whereas a few more STA can mean surviving another attack. When DEF &amp;gt;&amp;gt; ATK, the effect is most pronounced on Charged Attacks, as the guaranteed point of Damage represents a lesser return on the Power. In such a case, it might behoove an attacker in PvE mode to dispense with Charged Attacks entirely. In any case, it is rare that such extreme deltas in base stats exist.&lt;br /&gt;
&lt;br /&gt;
IVs are more important for low ATK/DEF than high. If using a species with an absurdly low base ATK or DEF, a strong IV can be a major assistance.&lt;br /&gt;
&lt;br /&gt;
It would probably be best to define a Win Expectation for each pair of species. Better yet, for each pair of species-levels. Still better, for each pair of species-levels-IVs. Oh shit, also for Attacks. Ideally, for any two sets of individual Pokémon, in any configuration of bonus multipliers (weather, allies, etc.).&lt;br /&gt;
&lt;br /&gt;
But this requires knowing individual opponents. Assuming we must speak of Pokémon in an opponent-independent way, we have two serious problems:&lt;br /&gt;
* PvE and PvP reward two completely different things, and&lt;br /&gt;
* How do we include type effectiveness?&lt;br /&gt;
&lt;br /&gt;
Regarding the first, I think a single stat simply loses too much information (this is why CP is garbage for PvP, and a silly gate for leagues). CP is more or less fine for PvE, I guess. So I&#039;m going to introduce a new stat, Dankness (DvP).&lt;br /&gt;
===Digression: stat product is also bad===&lt;br /&gt;
For PvP, when you&#039;re working against a CP ceiling, the reduced cost of DEF and STA should be reflected. Stat product has the advantage of being simple, but when working under a CP ceiling, I think it ought be more like √A*D*S. If you think they&#039;re equally useful (I disagree, but I&#039;ll allow it), then consider this: a Pokémon with A = 10, D = 2500, S = 2500 has CP growth of 110 (10 + 50 + 50) but a stat product of 62.5M. A Pokémon with A = 100, D = 25, S = 25 has the same CP growth (100 + 5 + 5) but a product of 62.5k, one thousand times less the stat product of the first Pokémon. Think this unrealistic? OK, A = 50, D = 64, S = 64. CP growth is 66. The same CP growth is seen from A = 60, D = 9, S = 9. The stat products are 204800 vs 4860, more than a 42x multiple. The point is, DEF and STA are very cheap compared to ATK in terms of CP.&lt;br /&gt;
&lt;br /&gt;
===Dankness vP===&lt;br /&gt;
We are defeated when the integral of suffered Damage over time meets or exceeds our hit points. We win when the integral of inflicted Damage over time exceeds our opponent&#039;s hit points. The smaller time decides the battle.&lt;br /&gt;
&lt;br /&gt;
Our stat will ideally be dominated by two things, equally:&lt;br /&gt;
* How long it takes to kill us (DEF and STA), and&lt;br /&gt;
* Our ability to inflict Damage per unit time (ATK and Attacks)&lt;br /&gt;
As these are the two things which ultimately decide each PvP battle (assuming perfect play). The difference between two calculations ought reflect the expected change in these things.&lt;br /&gt;
&lt;br /&gt;
Our ability to inflict Damage is a function of Eff&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;, opponent Eff&amp;lt;sub&amp;gt;D&amp;lt;/sub&amp;gt;, our Attacks (Power, Time, Energy, and Cost), and the multipliers (especially type effectiveness). We don&#039;t know anything about our opponent, though. We could assume universal probability of opponent, and average over them, but that&#039;s a ridiculous assumption. Even something like &amp;quot;fewer weaknesses are better than more weaknesses&amp;quot; is hard to justify, because fewer weaknesses are not necessarily better for a given set of opponents (it could be argued that fewer weaknesses impacts opponent selection). So we&#039;re going to leave that out for now. We will, however, consider STAB, and furthermore factor resistance into Power expectations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FIXME yes, and...?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Can Pokémon Go PvP be solved?==&lt;br /&gt;
Define a 3PC as a collection of three individual Pokémon. Given the rule that only one Pokémon at a time may be Mega per Trainer, only one member of a 3PC can be in Mega mode (the Mega multiplier doesn&#039;t apply in PvP anyway). This set can be ordered six different ways. We call a 3PC with an order a 3POC (not a 3PoC, which would be three Pokémon of color, aka &amp;quot;shinies&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
I would like to know whether there exists a 3POC that&lt;br /&gt;
* assuming perfect play on the part of both Trainers,&lt;br /&gt;
* for every opposing 3POC,&lt;br /&gt;
does not lose. I think that this is unlikely, but possession of such a trio would &amp;quot;solve&amp;quot; PvP.&lt;br /&gt;
&lt;br /&gt;
Should none exist, I would like to know whether there exists a 3PC that&lt;br /&gt;
* assuming perfect play on the part of both Trainers,&lt;br /&gt;
* for every opposing 3POC,&lt;br /&gt;
has some 3POC which does not lose.&lt;br /&gt;
&lt;br /&gt;
Should none exist, I would like to know the smallest collection from which, for each opposing 3POC, a 3POC can be selected which does not lose.&lt;br /&gt;
&lt;br /&gt;
==Fucking with the APK==&lt;br /&gt;
The APK can be downloaded from [https://www.apkmirror.com/apk/niantic-inc/pokemon-go/ APKMirror] and analyzed with e.g. [https://apktool.org/ Apktool].&lt;br /&gt;
&lt;br /&gt;
Important content includes (in &amp;lt;tt&amp;gt;base/assets/&amp;lt;/tt&amp;gt;):&lt;br /&gt;
* the plaintext, key-value &amp;lt;tt&amp;gt;text/i18n_en-us.json&amp;lt;/tt&amp;gt; (salt for your language)&lt;br /&gt;
* the binary &amp;lt;tt&amp;gt;bin/Data/Managed/Metadata/global-metadata.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
===On-device===&lt;br /&gt;
* &amp;lt;tt&amp;gt;Android/data/com.nianticlabs.pokemongo/files/il2cpp/Metadata/global-metadata.dat&amp;lt;/tt&amp;gt; (salt for your OS)&lt;br /&gt;
** il2cpp indicates [https://docs.unity3d.com/Manual/scripting-backends-il2cpp.html Unity stuff] fwiw, including in &amp;lt;tt&amp;gt;global-metadata.dat&amp;lt;/tt&amp;gt;&lt;br /&gt;
** you can use e.g. [https://github.com/djkaty/Il2CppInspector Il2CppInspector] to tear this apart&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://pokemongohub.net/post/featured/researching-pokemon-go-spawn-mechanics/|Researching Pokémon GO Spawn Mechanics] by Zeroghan on GOHUB&lt;br /&gt;
* [https://pogo.gamepress.gg/cp-multiplier CP Multiplier] on Gamepress&lt;br /&gt;
* [https://niantic.helpshift.com/hc/en/6-pokemon-go/faq/2132-type-effectiveness-in-battle/ Type Effectiveness in Battle] from the Pokémon GO Help Center&lt;br /&gt;
* [https://pokemongohub.net/post/pvp/mastering-the-turn-system-in-pokemon-go-pvp/ Mastering the Turn System in Pokémon GO PvP] by avrip on GOHUB&lt;br /&gt;
* [https://www.pokebattler.com/ Pokebattler] is legit&lt;br /&gt;
* [https://www.reddit.com/r/TheSilphArena/comments/aa3e1z/guide_primer_on_stats_and_level_when_constrained/ Primer on stats and levels when constrained by CP] by u/glencurio on r/TheSilphArena&lt;br /&gt;
* [https://pogo.gamepress.gg/attack-based-charged-move-priority-added-trainer-battles Attack-Based Charged Move Priority Added to Trainer Battles] by Tyler on Gamepress&lt;br /&gt;
&lt;br /&gt;
[[CATEGORY: PGO]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=MediaWiki:Copyright&amp;diff=12266</id>
		<title>MediaWiki:Copyright</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=MediaWiki:Copyright&amp;diff=12266"/>
		<updated>2026-02-06T09:06:24Z</updated>

		<summary type="html">&lt;p&gt;Dank: another year still worth shit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;copyright © 2008–2026 nick black. all rights worth shit.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12265</id>
		<title>XL Candy</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=XL_Candy&amp;diff=12265"/>
		<updated>2026-02-06T09:05:43Z</updated>

		<summary type="html">&lt;p&gt;Dank: Created page with &amp;quot;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; ! Level !! XL (next level) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified) |- | 40 || 10 || 296 || 10 || 9 || 5 || 4.5 |- | 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5 |- | 41 || 10 || 276 || 10 || 9 || 5 || 4.5 |- | 41.5 || 10 || 266 || 10 || 9 || 5 || 4.5 |- | 42 || 12 || 256 || 12 || 10.8 || 6 || 5.4 |- | 42.5 || 12 || 244 || 12 || 10.8 || 6 || 5.4 |- | 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4 |- | 43.5 ||...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Level !! XL (next level) !! XL (50) !! kStardust !! kSD (Purified) !! kSD (Lucky) !! kSD (Lucky Purified)&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 10 || 296 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 40.5 || 10 || 286 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41 || 10 || 276 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 41.5 || 10 || 266 || 10 || 9 || 5 || 4.5&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 12 || 256 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 42.5 || 12 || 244 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 12 || 232 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 43.5 || 12 || 220 || 12 || 10.8 || 6 || 5.4&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 15 || 208 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 44.5 || 15 || 193 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 15 || 178 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 45.5 || 15 || 163 || 15 || 13.5 || 7.5 || 6.75&lt;br /&gt;
|-&lt;br /&gt;
| 46 || 17 || 148 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 46.5 || 17 || 131 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 17 || 114 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 47.5 || 17 || 97 || 17 || 15.3 || 8.5 || 7.65&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 20 || 80 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 48.5 || 20 || 60 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 49 || 20 || 40 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 49.5 || 20 || 20 || 20 || 18 || 10 || 9&lt;br /&gt;
|-&lt;br /&gt;
| 50 || n/a || 0 || n/a || n/a || n/a || n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12264</id>
		<title>Rescuing Linux</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12264"/>
		<updated>2026-02-04T10:51:19Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* moving a root filesystem + bootloader */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need perform irregular, unpleasant tasks involving a Linux box. One generally picks up the techniques via experience. This kind of thing tends to become less necessary as one learns Linux better, and thus it&#039;s easy to lose currency. The introduction of [[systemd]], for instance, changed almost all of this shit up. Almost everything here requires access to the console, relevant only long before sshd is running (though take a look at e.g. [https://wiki.debian.org/RescueInitramfs RescueInitramfs]).&lt;br /&gt;
&lt;br /&gt;
==firmware==&lt;br /&gt;
System firmware configuration can usually be entered by holding one of Delete, F2, or F1. A boot menu can commonly be accessed with F10. All of these are of course motherboard-specific.&lt;br /&gt;
&lt;br /&gt;
If you need clear a firmware password, try removing the battery and unplugging the machine for 30s.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;systemctl reboot --firmware-setup&amp;lt;/tt&amp;gt; will attempt to reboot into firmware configuration.&lt;br /&gt;
&lt;br /&gt;
==grub==&lt;br /&gt;
If there is no boot delay, but you need interactive control, try holding down space (or with some versions shift) when grub comes up.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t go editing grub&#039;s configuration files directly if at all possible. Edit &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt; and rebuild them with &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. Note that &amp;lt;tt&amp;gt;update-grub2&amp;lt;/tt&amp;gt; is these days just a symlink to &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. If what you want to change isn&#039;t available via &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt;, try to do it via &amp;lt;tt&amp;gt;/etc/grub.d&amp;lt;/tt&amp;gt;. If you&#039;re directly editing &amp;lt;tt&amp;gt;grub.cfg&amp;lt;/tt&amp;gt;, you&#039;re gonna have a bad time (and your changes will be blown away the next time someone runs &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Do yourself a favor and install [https://packages.debian.org/sid/memtest86+ memtest86+], which will be automatically added to your grub menu on [[UEFI]] machines.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the interactive GRUB command prompt, and wish not to be (i.e. to return to the menu), use the command &amp;lt;tt&amp;gt;normal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==kernel command line==&lt;br /&gt;
The bootloader can provide command line parameters to the kernel (they can also be specified at build time, see &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt;). GRUB supports providing them in interactive mode. With UEFI firmware, they can be specified in the EFI shell.&lt;br /&gt;
&lt;br /&gt;
[[systemd]] can take many parameters off of the kernel command line, including &amp;lt;tt&amp;gt;systemd.unit=&amp;lt;/tt&amp;gt; to specify a boot target.&lt;br /&gt;
&lt;br /&gt;
For more output, ensure &amp;quot;quiet&amp;quot; is not present. For still more output, add &amp;quot;debug=vc&amp;quot; (by default, &amp;lt;tt&amp;gt;debug&amp;lt;/tt&amp;gt; writes to &amp;lt;tt&amp;gt;/run/initramfs/initramfs.debug&amp;lt;/tt&amp;gt;; this sends it to the console).&lt;br /&gt;
&lt;br /&gt;
The root process can be specified using &amp;lt;tt&amp;gt;init=&amp;lt;/tt&amp;gt; (this can also be specified at build time with &amp;lt;tt&amp;gt;CONFIG_DEFAULT_INIT&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Note that the kernel does not by default reboot following a panic. This can be undesirable on remote machines. &amp;lt;tt&amp;gt;panic=N&amp;lt;/tt&amp;gt; will reboot N seconds after a panic, if N is positive. &amp;lt;tt&amp;gt;/proc/sys/kernel/panic&amp;lt;/tt&amp;gt; exposes this.&lt;br /&gt;
&lt;br /&gt;
Modules can be blacklisted with &amp;lt;tt&amp;gt;modprobe.blacklist=&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===my video is borked===&lt;br /&gt;
If you can&#039;t get output to the display, [https://www.kernel.org/doc/html/latest/networking/netconsole.html netconsole] is a pretty decent method for quickly getting console output sent to another machine. You won&#039;t have ARP or routing, so the target will need be on the local broadcast domain. Specify the target MAC if you can to avoid broadcasting.&lt;br /&gt;
&lt;br /&gt;
==initramfs==&lt;br /&gt;
Almost all distributions ship kernels making use of initramfs these days. An initramfs can be embedded directly into the kernel image (see kernel config entry &amp;lt;tt&amp;gt;CONFIG_INITRAMFS_SOURCE&amp;lt;/tt&amp;gt;), but it is usually shipped as its own file instead, and specified by the bootloader. An initramfs is a (possibly compressed) &amp;lt;tt&amp;gt;cpio&amp;lt;/tt&amp;gt; archive. On boot, it is unpacked into a tmpfs. The compelling advantage of initramfs is the ability to mount the true root filesystem (which might be on [[NFS]], or encrypted, etc.) from userspace, with a minimal filesystem such as userspace expects. Over time, presence of an initramfs has become more or less assumed, and is is thus now required for all manner of things (i.e. persistent block device names when specifying the root filesystem). In the absence of an initramfs, all code necessary for mounting root must be built into the kernel (i.e. not as modules).&lt;br /&gt;
&lt;br /&gt;
The [https://packages.debian.org/sid/initramfs-tools initramfs-tools-core] package ships &amp;lt;tt&amp;gt;lsinitramfs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;unmkinitramfs&amp;lt;/tt&amp;gt; to easily list or extract the contents of an initramfs file.&lt;br /&gt;
&lt;br /&gt;
You&#039;re unlikely to run into initrd these days, but it can be unpacked the same way (the difference is in how it&#039;s mounted during boot). Initramfs on Debian are named &amp;lt;tt&amp;gt;initrd-*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If built into the kernel, there are no extra considerations for the initramfs. If it&#039;s a distinct file, it needs to live somewhere visible to the bootloader. If booting directly from [[UEFI]], it needs live in the ESP. So long as it&#039;s kept in the same directory as the kernel image, you ought be fine. Be sure to copy the initramfs along with the kernel image if you&#039;re ever backing up the kernel, or moving it to another machine, etc.&lt;br /&gt;
&lt;br /&gt;
The initramfs often has copies of various kernel modules, so most changes to modules require an initramfs rebuild.&lt;br /&gt;
&lt;br /&gt;
===writing an initramfs===&lt;br /&gt;
&amp;lt;tt&amp;gt;mkinitramfs&amp;lt;/tt&amp;gt; is a lower-level tool usually called via &amp;lt;tt&amp;gt;update-initramfs&amp;lt;/tt&amp;gt;, controlled by the many configuration files in &amp;lt;tt&amp;gt;/etc/initramfs-tools/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===initramfs can&#039;t mount root===&lt;br /&gt;
An unpleasant situation is one where initramfs fails to mount the root partition, in which case you will be dumped to the dreaded BusyBox or klibc shells (ash, as in &amp;quot;a shitty shell&amp;quot;). A day when one sees BusyBox is never a good day. If the machine is remote, you are fucked without server-style out of band access (e.g. Dell iDRAC, BMC, KVM-over-IP). Otherwise, if you have a valid root partition somewhere, you can manually continue the boot by mounting that partition to &amp;lt;tt&amp;gt;/mnt/root&amp;lt;/tt&amp;gt; and running &amp;lt;tt&amp;gt;exec switch_root /mnt/root /sbin/init&amp;lt;/tt&amp;gt; or its non-union equivalent. Usually this means you&#039;ve specified the wrong root partition in your bootloader; check the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command line option to the kernel.&lt;br /&gt;
&lt;br /&gt;
If you have [[systemd]] running in the emergency shell (its &amp;lt;tt&amp;gt;emergency.target&amp;lt;/tt&amp;gt;), try manually mounting the root filesystem to &amp;lt;tt&amp;gt;/sysroot&amp;lt;/tt&amp;gt; and then running &amp;lt;tt&amp;gt;systemctl restart mount-sysroot&amp;lt;/tt&amp;gt;. If this succeeds, exiting the shell ought continue the boot.&lt;br /&gt;
&lt;br /&gt;
==fsck on boot==&lt;br /&gt;
this doesn&#039;t happen much anymore since most everyone&#039;s running at least ext3, but ext2 required &amp;lt;tt&amp;gt;fsck&amp;lt;/tt&amp;gt; on boot when not cleanly unmounted, and every so often just to make sure things hadn&#039;t shifted around.&lt;br /&gt;
&lt;br /&gt;
if you don&#039;t want a filesystem to block booting under [[systemd]], use &amp;lt;tt&amp;gt;nofail&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==access sans password==&lt;br /&gt;
Ideally, you can just provide &amp;lt;tt&amp;gt;init=/bin/sh&amp;lt;/tt&amp;gt; on the kernel command line using grub&#039;s interactive mode. This will go through the end of the initramfs and invoke &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt; within the root filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;what if we can&#039;t use interactive mode?&amp;lt;/b&amp;gt;&lt;br /&gt;
===systemd emergency mode with a locked root account===&lt;br /&gt;
If you&#039;ve locked the root account with &amp;lt;tt&amp;gt;passwd -l&amp;lt;/tt&amp;gt;, systemd&#039;s &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; won&#039;t let you enter rescue mode. Use the instructions from &amp;quot;access sans password&amp;quot; above to get a shell if possible, and enable root with &amp;lt;tt&amp;gt;passwd&amp;lt;/tt&amp;gt;. Reboot, and &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; will admit you using the new password.&lt;br /&gt;
&lt;br /&gt;
==all my binaries are gone==&lt;br /&gt;
The situation can arise that one has an active process context (we&#039;ll assume a shell) on a machine where the standard POSIX binaries are unavailable. This can happen due to e.g. a network error, a disk error, memory error, wayward &amp;lt;tt&amp;gt;rm -rf /&amp;lt;/tt&amp;gt;, misadventures in package management. What can be done in such a case? Shell builtins, [[sysfs]], &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; entries, and [[proc]] usually continue to be available.&lt;br /&gt;
===cat without cat===&lt;br /&gt;
The bash shell&#039;s &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;printf&amp;lt;/tt&amp;gt; builtin can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[freebird](0) $ dmesg&lt;br /&gt;
-bash: /usr/bin/dmesg: Input/output error&lt;br /&gt;
[freebird](126) $ printf &amp;quot;%s&amp;quot; &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $ echo &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===reboot without reboot===&lt;br /&gt;
Enable and apply sysrq reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 128 &amp;gt; /proc/sys/kernel/sysrq&lt;br /&gt;
echo b &amp;gt; /proc/sysrq-trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alt+SysRq+B will accomplish this at the terminal if sysrq reboot is enabled. Unlike &amp;lt;tt&amp;gt;reboot&amp;lt;/tt&amp;gt;, there will be no syncing and unmounting of disks.&lt;br /&gt;
&lt;br /&gt;
==moving a root filesystem + bootloader==&lt;br /&gt;
Ideally, mount the source filesystem &amp;lt;tt&amp;gt;ro&amp;lt;/tt&amp;gt;, so it&#039;s not being modified while you copy. Start assuming a clean destination filesystem (otherwise, wipe it). Using the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; flag, &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt; basic toplevel directories *but do not cross filesystem boundaries on the source* (i.e. if &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is on its own filesystem, do not include it below; this includes &amp;lt;tt&amp;gt;/boot/efi&amp;lt;/tt&amp;gt;). Any that you skip in this fashion ought have their mountpoints created; add them to the &amp;lt;tt&amp;gt;mkdir&amp;lt;/tt&amp;gt; below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -a SOURCE/{bin,boot,etc,home,lib*,root,sbin,usr} DEST/&lt;br /&gt;
mkdir -p DEST/{dev,proc,var/tmp,tmp}&lt;br /&gt;
ln -s /run DEST/var/run&lt;br /&gt;
ln -s /lock DEST/var/lock&lt;br /&gt;
chmod 1777 DEST/{var/tmp,tmp}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ESP, bootloader, initramfs...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==reassembling a degraded MDRAID==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Debian wiki page for [https://wiki.debian.org/initramfs initramfs]&lt;br /&gt;
* Kernel documentation for [https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html Ramfs, Rootfs, and Initramfs]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12263</id>
		<title>Rescuing Linux</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12263"/>
		<updated>2026-02-04T10:50:13Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* kernel command line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need perform irregular, unpleasant tasks involving a Linux box. One generally picks up the techniques via experience. This kind of thing tends to become less necessary as one learns Linux better, and thus it&#039;s easy to lose currency. The introduction of [[systemd]], for instance, changed almost all of this shit up. Almost everything here requires access to the console, relevant only long before sshd is running (though take a look at e.g. [https://wiki.debian.org/RescueInitramfs RescueInitramfs]).&lt;br /&gt;
&lt;br /&gt;
==firmware==&lt;br /&gt;
System firmware configuration can usually be entered by holding one of Delete, F2, or F1. A boot menu can commonly be accessed with F10. All of these are of course motherboard-specific.&lt;br /&gt;
&lt;br /&gt;
If you need clear a firmware password, try removing the battery and unplugging the machine for 30s.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;systemctl reboot --firmware-setup&amp;lt;/tt&amp;gt; will attempt to reboot into firmware configuration.&lt;br /&gt;
&lt;br /&gt;
==grub==&lt;br /&gt;
If there is no boot delay, but you need interactive control, try holding down space (or with some versions shift) when grub comes up.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t go editing grub&#039;s configuration files directly if at all possible. Edit &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt; and rebuild them with &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. Note that &amp;lt;tt&amp;gt;update-grub2&amp;lt;/tt&amp;gt; is these days just a symlink to &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. If what you want to change isn&#039;t available via &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt;, try to do it via &amp;lt;tt&amp;gt;/etc/grub.d&amp;lt;/tt&amp;gt;. If you&#039;re directly editing &amp;lt;tt&amp;gt;grub.cfg&amp;lt;/tt&amp;gt;, you&#039;re gonna have a bad time (and your changes will be blown away the next time someone runs &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Do yourself a favor and install [https://packages.debian.org/sid/memtest86+ memtest86+], which will be automatically added to your grub menu on [[UEFI]] machines.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the interactive GRUB command prompt, and wish not to be (i.e. to return to the menu), use the command &amp;lt;tt&amp;gt;normal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==kernel command line==&lt;br /&gt;
The bootloader can provide command line parameters to the kernel (they can also be specified at build time, see &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt;). GRUB supports providing them in interactive mode. With UEFI firmware, they can be specified in the EFI shell.&lt;br /&gt;
&lt;br /&gt;
[[systemd]] can take many parameters off of the kernel command line, including &amp;lt;tt&amp;gt;systemd.unit=&amp;lt;/tt&amp;gt; to specify a boot target.&lt;br /&gt;
&lt;br /&gt;
For more output, ensure &amp;quot;quiet&amp;quot; is not present. For still more output, add &amp;quot;debug=vc&amp;quot; (by default, &amp;lt;tt&amp;gt;debug&amp;lt;/tt&amp;gt; writes to &amp;lt;tt&amp;gt;/run/initramfs/initramfs.debug&amp;lt;/tt&amp;gt;; this sends it to the console).&lt;br /&gt;
&lt;br /&gt;
The root process can be specified using &amp;lt;tt&amp;gt;init=&amp;lt;/tt&amp;gt; (this can also be specified at build time with &amp;lt;tt&amp;gt;CONFIG_DEFAULT_INIT&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Note that the kernel does not by default reboot following a panic. This can be undesirable on remote machines. &amp;lt;tt&amp;gt;panic=N&amp;lt;/tt&amp;gt; will reboot N seconds after a panic, if N is positive. &amp;lt;tt&amp;gt;/proc/sys/kernel/panic&amp;lt;/tt&amp;gt; exposes this.&lt;br /&gt;
&lt;br /&gt;
Modules can be blacklisted with &amp;lt;tt&amp;gt;modprobe.blacklist=&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===my video is borked===&lt;br /&gt;
If you can&#039;t get output to the display, [https://www.kernel.org/doc/html/latest/networking/netconsole.html netconsole] is a pretty decent method for quickly getting console output sent to another machine. You won&#039;t have ARP or routing, so the target will need be on the local broadcast domain. Specify the target MAC if you can to avoid broadcasting.&lt;br /&gt;
&lt;br /&gt;
==initramfs==&lt;br /&gt;
Almost all distributions ship kernels making use of initramfs these days. An initramfs can be embedded directly into the kernel image (see kernel config entry &amp;lt;tt&amp;gt;CONFIG_INITRAMFS_SOURCE&amp;lt;/tt&amp;gt;), but it is usually shipped as its own file instead, and specified by the bootloader. An initramfs is a (possibly compressed) &amp;lt;tt&amp;gt;cpio&amp;lt;/tt&amp;gt; archive. On boot, it is unpacked into a tmpfs. The compelling advantage of initramfs is the ability to mount the true root filesystem (which might be on [[NFS]], or encrypted, etc.) from userspace, with a minimal filesystem such as userspace expects. Over time, presence of an initramfs has become more or less assumed, and is is thus now required for all manner of things (i.e. persistent block device names when specifying the root filesystem). In the absence of an initramfs, all code necessary for mounting root must be built into the kernel (i.e. not as modules).&lt;br /&gt;
&lt;br /&gt;
The [https://packages.debian.org/sid/initramfs-tools initramfs-tools-core] package ships &amp;lt;tt&amp;gt;lsinitramfs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;unmkinitramfs&amp;lt;/tt&amp;gt; to easily list or extract the contents of an initramfs file.&lt;br /&gt;
&lt;br /&gt;
You&#039;re unlikely to run into initrd these days, but it can be unpacked the same way (the difference is in how it&#039;s mounted during boot). Initramfs on Debian are named &amp;lt;tt&amp;gt;initrd-*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If built into the kernel, there are no extra considerations for the initramfs. If it&#039;s a distinct file, it needs to live somewhere visible to the bootloader. If booting directly from [[UEFI]], it needs live in the ESP. So long as it&#039;s kept in the same directory as the kernel image, you ought be fine. Be sure to copy the initramfs along with the kernel image if you&#039;re ever backing up the kernel, or moving it to another machine, etc.&lt;br /&gt;
&lt;br /&gt;
The initramfs often has copies of various kernel modules, so most changes to modules require an initramfs rebuild.&lt;br /&gt;
&lt;br /&gt;
===writing an initramfs===&lt;br /&gt;
&amp;lt;tt&amp;gt;mkinitramfs&amp;lt;/tt&amp;gt; is a lower-level tool usually called via &amp;lt;tt&amp;gt;update-initramfs&amp;lt;/tt&amp;gt;, controlled by the many configuration files in &amp;lt;tt&amp;gt;/etc/initramfs-tools/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===initramfs can&#039;t mount root===&lt;br /&gt;
An unpleasant situation is one where initramfs fails to mount the root partition, in which case you will be dumped to the dreaded BusyBox or klibc shells (ash, as in &amp;quot;a shitty shell&amp;quot;). A day when one sees BusyBox is never a good day. If the machine is remote, you are fucked without server-style out of band access (e.g. Dell iDRAC, BMC, KVM-over-IP). Otherwise, if you have a valid root partition somewhere, you can manually continue the boot by mounting that partition to &amp;lt;tt&amp;gt;/mnt/root&amp;lt;/tt&amp;gt; and running &amp;lt;tt&amp;gt;exec switch_root /mnt/root /sbin/init&amp;lt;/tt&amp;gt; or its non-union equivalent. Usually this means you&#039;ve specified the wrong root partition in your bootloader; check the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command line option to the kernel.&lt;br /&gt;
&lt;br /&gt;
If you have [[systemd]] running in the emergency shell (its &amp;lt;tt&amp;gt;emergency.target&amp;lt;/tt&amp;gt;), try manually mounting the root filesystem to &amp;lt;tt&amp;gt;/sysroot&amp;lt;/tt&amp;gt; and then running &amp;lt;tt&amp;gt;systemctl restart mount-sysroot&amp;lt;/tt&amp;gt;. If this succeeds, exiting the shell ought continue the boot.&lt;br /&gt;
&lt;br /&gt;
==fsck on boot==&lt;br /&gt;
this doesn&#039;t happen much anymore since most everyone&#039;s running at least ext3, but ext2 required &amp;lt;tt&amp;gt;fsck&amp;lt;/tt&amp;gt; on boot when not cleanly unmounted, and every so often just to make sure things hadn&#039;t shifted around.&lt;br /&gt;
&lt;br /&gt;
if you don&#039;t want a filesystem to block booting under [[systemd]], use &amp;lt;tt&amp;gt;nofail&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==access sans password==&lt;br /&gt;
Ideally, you can just provide &amp;lt;tt&amp;gt;init=/bin/sh&amp;lt;/tt&amp;gt; on the kernel command line using grub&#039;s interactive mode. This will go through the end of the initramfs and invoke &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt; within the root filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;what if we can&#039;t use interactive mode?&amp;lt;/b&amp;gt;&lt;br /&gt;
===systemd emergency mode with a locked root account===&lt;br /&gt;
If you&#039;ve locked the root account with &amp;lt;tt&amp;gt;passwd -l&amp;lt;/tt&amp;gt;, systemd&#039;s &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; won&#039;t let you enter rescue mode. Use the instructions from &amp;quot;access sans password&amp;quot; above to get a shell if possible, and enable root with &amp;lt;tt&amp;gt;passwd&amp;lt;/tt&amp;gt;. Reboot, and &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; will admit you using the new password.&lt;br /&gt;
&lt;br /&gt;
==all my binaries are gone==&lt;br /&gt;
The situation can arise that one has an active process context (we&#039;ll assume a shell) on a machine where the standard POSIX binaries are unavailable. This can happen due to e.g. a network error, a disk error, memory error, wayward &amp;lt;tt&amp;gt;rm -rf /&amp;lt;/tt&amp;gt;, misadventures in package management. What can be done in such a case? Shell builtins, [[sysfs]], &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; entries, and [[proc]] usually continue to be available.&lt;br /&gt;
===cat without cat===&lt;br /&gt;
The bash shell&#039;s &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;printf&amp;lt;/tt&amp;gt; builtin can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[freebird](0) $ dmesg&lt;br /&gt;
-bash: /usr/bin/dmesg: Input/output error&lt;br /&gt;
[freebird](126) $ printf &amp;quot;%s&amp;quot; &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $ echo &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===reboot without reboot===&lt;br /&gt;
Enable and apply sysrq reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 128 &amp;gt; /proc/sys/kernel/sysrq&lt;br /&gt;
echo b &amp;gt; /proc/sysrq-trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alt+SysRq+B will accomplish this at the terminal if sysrq reboot is enabled. Unlike &amp;lt;tt&amp;gt;reboot&amp;lt;/tt&amp;gt;, there will be no syncing and unmounting of disks.&lt;br /&gt;
&lt;br /&gt;
==moving a root filesystem + bootloader==&lt;br /&gt;
Ideally, mount the source filesystem &amp;lt;tt&amp;gt;ro&amp;lt;/tt&amp;gt;, so it&#039;s not being modified while you copy. Start assuming a clean destination filesystem (otherwise, wipe it). Using the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; flag, &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt; basic toplevel directories *but do not cross filesystem boundaries on the source* (i.e. if &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is on its own filesystem, do not include it below; this includes &amp;lt;tt&amp;gt;/boot/efi&amp;lt;/tt&amp;gt;). Any that you skip in this fashion ought have their mountpoints created; add them to the &amp;lt;tt&amp;gt;mkdir&amp;lt;/tt&amp;gt; below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -a SOURCE/{bin,boot,etc,home,lib*,root,sbin,usr} DEST/&lt;br /&gt;
mkdir -p DEST/{dev,proc,var/tmp,tmp}&lt;br /&gt;
ln -s /run DEST/var/run&lt;br /&gt;
ln -s /lock DEST/var/lock&lt;br /&gt;
chmod 1777 DEST/{var/tmp,tmp}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ESP, bootloader, initramfs...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Debian wiki page for [https://wiki.debian.org/initramfs initramfs]&lt;br /&gt;
* Kernel documentation for [https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html Ramfs, Rootfs, and Initramfs]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12262</id>
		<title>Rescuing Linux</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12262"/>
		<updated>2026-02-04T10:47:56Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need perform irregular, unpleasant tasks involving a Linux box. One generally picks up the techniques via experience. This kind of thing tends to become less necessary as one learns Linux better, and thus it&#039;s easy to lose currency. The introduction of [[systemd]], for instance, changed almost all of this shit up. Almost everything here requires access to the console, relevant only long before sshd is running (though take a look at e.g. [https://wiki.debian.org/RescueInitramfs RescueInitramfs]).&lt;br /&gt;
&lt;br /&gt;
==firmware==&lt;br /&gt;
System firmware configuration can usually be entered by holding one of Delete, F2, or F1. A boot menu can commonly be accessed with F10. All of these are of course motherboard-specific.&lt;br /&gt;
&lt;br /&gt;
If you need clear a firmware password, try removing the battery and unplugging the machine for 30s.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;systemctl reboot --firmware-setup&amp;lt;/tt&amp;gt; will attempt to reboot into firmware configuration.&lt;br /&gt;
&lt;br /&gt;
==grub==&lt;br /&gt;
If there is no boot delay, but you need interactive control, try holding down space (or with some versions shift) when grub comes up.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t go editing grub&#039;s configuration files directly if at all possible. Edit &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt; and rebuild them with &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. Note that &amp;lt;tt&amp;gt;update-grub2&amp;lt;/tt&amp;gt; is these days just a symlink to &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. If what you want to change isn&#039;t available via &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt;, try to do it via &amp;lt;tt&amp;gt;/etc/grub.d&amp;lt;/tt&amp;gt;. If you&#039;re directly editing &amp;lt;tt&amp;gt;grub.cfg&amp;lt;/tt&amp;gt;, you&#039;re gonna have a bad time (and your changes will be blown away the next time someone runs &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Do yourself a favor and install [https://packages.debian.org/sid/memtest86+ memtest86+], which will be automatically added to your grub menu on [[UEFI]] machines.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the interactive GRUB command prompt, and wish not to be (i.e. to return to the menu), use the command &amp;lt;tt&amp;gt;normal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==kernel command line==&lt;br /&gt;
The bootloader can provide command line parameters to the kernel (they can also be specified at build time, see &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt;). [[systemd]] can take many parameters off of the kernel command line.&lt;br /&gt;
&lt;br /&gt;
For more output, ensure &amp;quot;quiet&amp;quot; is not present. For still more output, add &amp;quot;debug=vc&amp;quot; (by default, &amp;lt;tt&amp;gt;debug&amp;lt;/tt&amp;gt; writes to &amp;lt;tt&amp;gt;/run/initramfs/initramfs.debug&amp;lt;/tt&amp;gt;; this sends it to the console).&lt;br /&gt;
&lt;br /&gt;
The root process can be specified using &amp;lt;tt&amp;gt;init=&amp;lt;/tt&amp;gt; (this can also be specified at build time with &amp;lt;tt&amp;gt;CONFIG_DEFAULT_INIT&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Note that the kernel does not by default reboot following a panic. This can be undesirable on remote machines. &amp;lt;tt&amp;gt;panic=N&amp;lt;/tt&amp;gt; will reboot N seconds after a panic, if N is positive. &amp;lt;tt&amp;gt;/proc/sys/kernel/panic&amp;lt;/tt&amp;gt; exposes this.&lt;br /&gt;
&lt;br /&gt;
===my video is borked===&lt;br /&gt;
If you can&#039;t get output to the display, [https://www.kernel.org/doc/html/latest/networking/netconsole.html netconsole] is a pretty decent method for quickly getting console output sent to another machine. You won&#039;t have ARP or routing, so the target will need be on the local broadcast domain. Specify the target MAC if you can to avoid broadcasting.&lt;br /&gt;
&lt;br /&gt;
==initramfs==&lt;br /&gt;
Almost all distributions ship kernels making use of initramfs these days. An initramfs can be embedded directly into the kernel image (see kernel config entry &amp;lt;tt&amp;gt;CONFIG_INITRAMFS_SOURCE&amp;lt;/tt&amp;gt;), but it is usually shipped as its own file instead, and specified by the bootloader. An initramfs is a (possibly compressed) &amp;lt;tt&amp;gt;cpio&amp;lt;/tt&amp;gt; archive. On boot, it is unpacked into a tmpfs. The compelling advantage of initramfs is the ability to mount the true root filesystem (which might be on [[NFS]], or encrypted, etc.) from userspace, with a minimal filesystem such as userspace expects. Over time, presence of an initramfs has become more or less assumed, and is is thus now required for all manner of things (i.e. persistent block device names when specifying the root filesystem). In the absence of an initramfs, all code necessary for mounting root must be built into the kernel (i.e. not as modules).&lt;br /&gt;
&lt;br /&gt;
The [https://packages.debian.org/sid/initramfs-tools initramfs-tools-core] package ships &amp;lt;tt&amp;gt;lsinitramfs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;unmkinitramfs&amp;lt;/tt&amp;gt; to easily list or extract the contents of an initramfs file.&lt;br /&gt;
&lt;br /&gt;
You&#039;re unlikely to run into initrd these days, but it can be unpacked the same way (the difference is in how it&#039;s mounted during boot). Initramfs on Debian are named &amp;lt;tt&amp;gt;initrd-*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If built into the kernel, there are no extra considerations for the initramfs. If it&#039;s a distinct file, it needs to live somewhere visible to the bootloader. If booting directly from [[UEFI]], it needs live in the ESP. So long as it&#039;s kept in the same directory as the kernel image, you ought be fine. Be sure to copy the initramfs along with the kernel image if you&#039;re ever backing up the kernel, or moving it to another machine, etc.&lt;br /&gt;
&lt;br /&gt;
The initramfs often has copies of various kernel modules, so most changes to modules require an initramfs rebuild.&lt;br /&gt;
&lt;br /&gt;
===writing an initramfs===&lt;br /&gt;
&amp;lt;tt&amp;gt;mkinitramfs&amp;lt;/tt&amp;gt; is a lower-level tool usually called via &amp;lt;tt&amp;gt;update-initramfs&amp;lt;/tt&amp;gt;, controlled by the many configuration files in &amp;lt;tt&amp;gt;/etc/initramfs-tools/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===initramfs can&#039;t mount root===&lt;br /&gt;
An unpleasant situation is one where initramfs fails to mount the root partition, in which case you will be dumped to the dreaded BusyBox or klibc shells (ash, as in &amp;quot;a shitty shell&amp;quot;). A day when one sees BusyBox is never a good day. If the machine is remote, you are fucked without server-style out of band access (e.g. Dell iDRAC, BMC, KVM-over-IP). Otherwise, if you have a valid root partition somewhere, you can manually continue the boot by mounting that partition to &amp;lt;tt&amp;gt;/mnt/root&amp;lt;/tt&amp;gt; and running &amp;lt;tt&amp;gt;exec switch_root /mnt/root /sbin/init&amp;lt;/tt&amp;gt; or its non-union equivalent. Usually this means you&#039;ve specified the wrong root partition in your bootloader; check the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command line option to the kernel.&lt;br /&gt;
&lt;br /&gt;
If you have [[systemd]] running in the emergency shell (its &amp;lt;tt&amp;gt;emergency.target&amp;lt;/tt&amp;gt;), try manually mounting the root filesystem to &amp;lt;tt&amp;gt;/sysroot&amp;lt;/tt&amp;gt; and then running &amp;lt;tt&amp;gt;systemctl restart mount-sysroot&amp;lt;/tt&amp;gt;. If this succeeds, exiting the shell ought continue the boot.&lt;br /&gt;
&lt;br /&gt;
==fsck on boot==&lt;br /&gt;
this doesn&#039;t happen much anymore since most everyone&#039;s running at least ext3, but ext2 required &amp;lt;tt&amp;gt;fsck&amp;lt;/tt&amp;gt; on boot when not cleanly unmounted, and every so often just to make sure things hadn&#039;t shifted around.&lt;br /&gt;
&lt;br /&gt;
if you don&#039;t want a filesystem to block booting under [[systemd]], use &amp;lt;tt&amp;gt;nofail&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==access sans password==&lt;br /&gt;
Ideally, you can just provide &amp;lt;tt&amp;gt;init=/bin/sh&amp;lt;/tt&amp;gt; on the kernel command line using grub&#039;s interactive mode. This will go through the end of the initramfs and invoke &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt; within the root filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;what if we can&#039;t use interactive mode?&amp;lt;/b&amp;gt;&lt;br /&gt;
===systemd emergency mode with a locked root account===&lt;br /&gt;
If you&#039;ve locked the root account with &amp;lt;tt&amp;gt;passwd -l&amp;lt;/tt&amp;gt;, systemd&#039;s &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; won&#039;t let you enter rescue mode. Use the instructions from &amp;quot;access sans password&amp;quot; above to get a shell if possible, and enable root with &amp;lt;tt&amp;gt;passwd&amp;lt;/tt&amp;gt;. Reboot, and &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; will admit you using the new password.&lt;br /&gt;
&lt;br /&gt;
==all my binaries are gone==&lt;br /&gt;
The situation can arise that one has an active process context (we&#039;ll assume a shell) on a machine where the standard POSIX binaries are unavailable. This can happen due to e.g. a network error, a disk error, memory error, wayward &amp;lt;tt&amp;gt;rm -rf /&amp;lt;/tt&amp;gt;, misadventures in package management. What can be done in such a case? Shell builtins, [[sysfs]], &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; entries, and [[proc]] usually continue to be available.&lt;br /&gt;
===cat without cat===&lt;br /&gt;
The bash shell&#039;s &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;printf&amp;lt;/tt&amp;gt; builtin can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[freebird](0) $ dmesg&lt;br /&gt;
-bash: /usr/bin/dmesg: Input/output error&lt;br /&gt;
[freebird](126) $ printf &amp;quot;%s&amp;quot; &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $ echo &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===reboot without reboot===&lt;br /&gt;
Enable and apply sysrq reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 128 &amp;gt; /proc/sys/kernel/sysrq&lt;br /&gt;
echo b &amp;gt; /proc/sysrq-trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alt+SysRq+B will accomplish this at the terminal if sysrq reboot is enabled. Unlike &amp;lt;tt&amp;gt;reboot&amp;lt;/tt&amp;gt;, there will be no syncing and unmounting of disks.&lt;br /&gt;
&lt;br /&gt;
==moving a root filesystem + bootloader==&lt;br /&gt;
Ideally, mount the source filesystem &amp;lt;tt&amp;gt;ro&amp;lt;/tt&amp;gt;, so it&#039;s not being modified while you copy. Start assuming a clean destination filesystem (otherwise, wipe it). Using the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; flag, &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt; basic toplevel directories *but do not cross filesystem boundaries on the source* (i.e. if &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is on its own filesystem, do not include it below; this includes &amp;lt;tt&amp;gt;/boot/efi&amp;lt;/tt&amp;gt;). Any that you skip in this fashion ought have their mountpoints created; add them to the &amp;lt;tt&amp;gt;mkdir&amp;lt;/tt&amp;gt; below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -a SOURCE/{bin,boot,etc,home,lib*,root,sbin,usr} DEST/&lt;br /&gt;
mkdir -p DEST/{dev,proc,var/tmp,tmp}&lt;br /&gt;
ln -s /run DEST/var/run&lt;br /&gt;
ln -s /lock DEST/var/lock&lt;br /&gt;
chmod 1777 DEST/{var/tmp,tmp}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ESP, bootloader, initramfs...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Debian wiki page for [https://wiki.debian.org/initramfs initramfs]&lt;br /&gt;
* Kernel documentation for [https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html Ramfs, Rootfs, and Initramfs]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12261</id>
		<title>Rescuing Linux</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12261"/>
		<updated>2026-02-04T10:46:29Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* fsck on boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need perform irregular, unpleasant tasks involving a Linux box. One generally picks up the techniques via experience. This kind of thing tends to become less necessary as one learns Linux better, and thus it&#039;s easy to lose currency. The introduction of [[systemd]], for instance, changed almost all of this shit up. Almost everything here requires access to the console, relevant only long before sshd is running (though take a look at e.g. [https://wiki.debian.org/RescueInitramfs RescueInitramfs]).&lt;br /&gt;
&lt;br /&gt;
==firmware==&lt;br /&gt;
System firmware configuration can usually be entered by holding one of Delete, F2, or F1. A boot menu can commonly be accessed with F10.&lt;br /&gt;
&lt;br /&gt;
If you need clear a firmware password, try removing the battery and unplugging the machine for 30s.&lt;br /&gt;
&lt;br /&gt;
==grub==&lt;br /&gt;
If there is no boot delay, but you need interactive control, try holding down space (or with some versions shift) when grub comes up.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t go editing grub&#039;s configuration files directly if at all possible. Edit &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt; and rebuild them with &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. Note that &amp;lt;tt&amp;gt;update-grub2&amp;lt;/tt&amp;gt; is these days just a symlink to &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. If what you want to change isn&#039;t available via &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt;, try to do it via &amp;lt;tt&amp;gt;/etc/grub.d&amp;lt;/tt&amp;gt;. If you&#039;re directly editing &amp;lt;tt&amp;gt;grub.cfg&amp;lt;/tt&amp;gt;, you&#039;re gonna have a bad time (and your changes will be blown away the next time someone runs &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Do yourself a favor and install [https://packages.debian.org/sid/memtest86+ memtest86+], which will be automatically added to your grub menu on [[UEFI]] machines.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the interactive GRUB command prompt, and wish not to be (i.e. to return to the menu), use the command &amp;lt;tt&amp;gt;normal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==kernel command line==&lt;br /&gt;
The bootloader can provide command line parameters to the kernel (they can also be specified at build time, see &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt;). [[systemd]] can take many parameters off of the kernel command line.&lt;br /&gt;
&lt;br /&gt;
For more output, ensure &amp;quot;quiet&amp;quot; is not present. For still more output, add &amp;quot;debug=vc&amp;quot; (by default, &amp;lt;tt&amp;gt;debug&amp;lt;/tt&amp;gt; writes to &amp;lt;tt&amp;gt;/run/initramfs/initramfs.debug&amp;lt;/tt&amp;gt;; this sends it to the console).&lt;br /&gt;
&lt;br /&gt;
The root process can be specified using &amp;lt;tt&amp;gt;init=&amp;lt;/tt&amp;gt; (this can also be specified at build time with &amp;lt;tt&amp;gt;CONFIG_DEFAULT_INIT&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Note that the kernel does not by default reboot following a panic. This can be undesirable on remote machines. &amp;lt;tt&amp;gt;panic=N&amp;lt;/tt&amp;gt; will reboot N seconds after a panic, if N is positive. &amp;lt;tt&amp;gt;/proc/sys/kernel/panic&amp;lt;/tt&amp;gt; exposes this.&lt;br /&gt;
&lt;br /&gt;
===my video is borked===&lt;br /&gt;
If you can&#039;t get output to the display, [https://www.kernel.org/doc/html/latest/networking/netconsole.html netconsole] is a pretty decent method for quickly getting console output sent to another machine. You won&#039;t have ARP or routing, so the target will need be on the local broadcast domain. Specify the target MAC if you can to avoid broadcasting.&lt;br /&gt;
&lt;br /&gt;
==initramfs==&lt;br /&gt;
Almost all distributions ship kernels making use of initramfs these days. An initramfs can be embedded directly into the kernel image (see kernel config entry &amp;lt;tt&amp;gt;CONFIG_INITRAMFS_SOURCE&amp;lt;/tt&amp;gt;), but it is usually shipped as its own file instead, and specified by the bootloader. An initramfs is a (possibly compressed) &amp;lt;tt&amp;gt;cpio&amp;lt;/tt&amp;gt; archive. On boot, it is unpacked into a tmpfs. The compelling advantage of initramfs is the ability to mount the true root filesystem (which might be on [[NFS]], or encrypted, etc.) from userspace, with a minimal filesystem such as userspace expects. Over time, presence of an initramfs has become more or less assumed, and is is thus now required for all manner of things (i.e. persistent block device names when specifying the root filesystem). In the absence of an initramfs, all code necessary for mounting root must be built into the kernel (i.e. not as modules).&lt;br /&gt;
&lt;br /&gt;
The [https://packages.debian.org/sid/initramfs-tools initramfs-tools-core] package ships &amp;lt;tt&amp;gt;lsinitramfs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;unmkinitramfs&amp;lt;/tt&amp;gt; to easily list or extract the contents of an initramfs file.&lt;br /&gt;
&lt;br /&gt;
You&#039;re unlikely to run into initrd these days, but it can be unpacked the same way (the difference is in how it&#039;s mounted during boot). Initramfs on Debian are named &amp;lt;tt&amp;gt;initrd-*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If built into the kernel, there are no extra considerations for the initramfs. If it&#039;s a distinct file, it needs to live somewhere visible to the bootloader. If booting directly from [[UEFI]], it needs live in the ESP. So long as it&#039;s kept in the same directory as the kernel image, you ought be fine. Be sure to copy the initramfs along with the kernel image if you&#039;re ever backing up the kernel, or moving it to another machine, etc.&lt;br /&gt;
&lt;br /&gt;
The initramfs often has copies of various kernel modules, so most changes to modules require an initramfs rebuild.&lt;br /&gt;
&lt;br /&gt;
===writing an initramfs===&lt;br /&gt;
&amp;lt;tt&amp;gt;mkinitramfs&amp;lt;/tt&amp;gt; is a lower-level tool usually called via &amp;lt;tt&amp;gt;update-initramfs&amp;lt;/tt&amp;gt;, controlled by the many configuration files in &amp;lt;tt&amp;gt;/etc/initramfs-tools/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===initramfs can&#039;t mount root===&lt;br /&gt;
An unpleasant situation is one where initramfs fails to mount the root partition, in which case you will be dumped to the dreaded BusyBox or klibc shells (ash, as in &amp;quot;a shitty shell&amp;quot;). A day when one sees BusyBox is never a good day. If the machine is remote, you are fucked without server-style out of band access (e.g. Dell iDRAC, BMC, KVM-over-IP). Otherwise, if you have a valid root partition somewhere, you can manually continue the boot by mounting that partition to &amp;lt;tt&amp;gt;/mnt/root&amp;lt;/tt&amp;gt; and running &amp;lt;tt&amp;gt;exec switch_root /mnt/root /sbin/init&amp;lt;/tt&amp;gt; or its non-union equivalent. Usually this means you&#039;ve specified the wrong root partition in your bootloader; check the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command line option to the kernel.&lt;br /&gt;
&lt;br /&gt;
If you have [[systemd]] running in the emergency shell (its &amp;lt;tt&amp;gt;emergency.target&amp;lt;/tt&amp;gt;), try manually mounting the root filesystem to &amp;lt;tt&amp;gt;/sysroot&amp;lt;/tt&amp;gt; and then running &amp;lt;tt&amp;gt;systemctl restart mount-sysroot&amp;lt;/tt&amp;gt;. If this succeeds, exiting the shell ought continue the boot.&lt;br /&gt;
&lt;br /&gt;
==fsck on boot==&lt;br /&gt;
this doesn&#039;t happen much anymore since most everyone&#039;s running at least ext3, but ext2 required &amp;lt;tt&amp;gt;fsck&amp;lt;/tt&amp;gt; on boot when not cleanly unmounted, and every so often just to make sure things hadn&#039;t shifted around.&lt;br /&gt;
&lt;br /&gt;
if you don&#039;t want a filesystem to block booting under [[systemd]], use &amp;lt;tt&amp;gt;nofail&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==access sans password==&lt;br /&gt;
Ideally, you can just provide &amp;lt;tt&amp;gt;init=/bin/sh&amp;lt;/tt&amp;gt; on the kernel command line using grub&#039;s interactive mode. This will go through the end of the initramfs and invoke &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt; within the root filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;what if we can&#039;t use interactive mode?&amp;lt;/b&amp;gt;&lt;br /&gt;
===systemd emergency mode with a locked root account===&lt;br /&gt;
If you&#039;ve locked the root account with &amp;lt;tt&amp;gt;passwd -l&amp;lt;/tt&amp;gt;, systemd&#039;s &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; won&#039;t let you enter rescue mode. Use the instructions from &amp;quot;access sans password&amp;quot; above to get a shell if possible, and enable root with &amp;lt;tt&amp;gt;passwd&amp;lt;/tt&amp;gt;. Reboot, and &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; will admit you using the new password.&lt;br /&gt;
&lt;br /&gt;
==all my binaries are gone==&lt;br /&gt;
The situation can arise that one has an active process context (we&#039;ll assume a shell) on a machine where the standard POSIX binaries are unavailable. This can happen due to e.g. a network error, a disk error, memory error, wayward &amp;lt;tt&amp;gt;rm -rf /&amp;lt;/tt&amp;gt;, misadventures in package management. What can be done in such a case? Shell builtins, [[sysfs]], &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; entries, and [[proc]] usually continue to be available.&lt;br /&gt;
===cat without cat===&lt;br /&gt;
The bash shell&#039;s &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;printf&amp;lt;/tt&amp;gt; builtin can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[freebird](0) $ dmesg&lt;br /&gt;
-bash: /usr/bin/dmesg: Input/output error&lt;br /&gt;
[freebird](126) $ printf &amp;quot;%s&amp;quot; &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $ echo &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===reboot without reboot===&lt;br /&gt;
Enable and apply sysrq reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 128 &amp;gt; /proc/sys/kernel/sysrq&lt;br /&gt;
echo b &amp;gt; /proc/sysrq-trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alt+SysRq+B will accomplish this at the terminal if sysrq reboot is enabled. Unlike &amp;lt;tt&amp;gt;reboot&amp;lt;/tt&amp;gt;, there will be no syncing and unmounting of disks.&lt;br /&gt;
&lt;br /&gt;
==moving a root filesystem + bootloader==&lt;br /&gt;
Ideally, mount the source filesystem &amp;lt;tt&amp;gt;ro&amp;lt;/tt&amp;gt;, so it&#039;s not being modified while you copy. Start assuming a clean destination filesystem (otherwise, wipe it). Using the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; flag, &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt; basic toplevel directories *but do not cross filesystem boundaries on the source* (i.e. if &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is on its own filesystem, do not include it below; this includes &amp;lt;tt&amp;gt;/boot/efi&amp;lt;/tt&amp;gt;). Any that you skip in this fashion ought have their mountpoints created; add them to the &amp;lt;tt&amp;gt;mkdir&amp;lt;/tt&amp;gt; below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -a SOURCE/{bin,boot,etc,home,lib*,root,sbin,usr} DEST/&lt;br /&gt;
mkdir -p DEST/{dev,proc,var/tmp,tmp}&lt;br /&gt;
ln -s /run DEST/var/run&lt;br /&gt;
ln -s /lock DEST/var/lock&lt;br /&gt;
chmod 1777 DEST/{var/tmp,tmp}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ESP, bootloader, initramfs...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Debian wiki page for [https://wiki.debian.org/initramfs initramfs]&lt;br /&gt;
* Kernel documentation for [https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html Ramfs, Rootfs, and Initramfs]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12260</id>
		<title>Rescuing Linux</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Rescuing_Linux&amp;diff=12260"/>
		<updated>2026-02-04T10:38:19Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* initramfs can&amp;#039;t mount root */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes you need perform irregular, unpleasant tasks involving a Linux box. One generally picks up the techniques via experience. This kind of thing tends to become less necessary as one learns Linux better, and thus it&#039;s easy to lose currency. The introduction of [[systemd]], for instance, changed almost all of this shit up. Almost everything here requires access to the console, relevant only long before sshd is running (though take a look at e.g. [https://wiki.debian.org/RescueInitramfs RescueInitramfs]).&lt;br /&gt;
&lt;br /&gt;
==firmware==&lt;br /&gt;
System firmware configuration can usually be entered by holding one of Delete, F2, or F1. A boot menu can commonly be accessed with F10.&lt;br /&gt;
&lt;br /&gt;
If you need clear a firmware password, try removing the battery and unplugging the machine for 30s.&lt;br /&gt;
&lt;br /&gt;
==grub==&lt;br /&gt;
If there is no boot delay, but you need interactive control, try holding down space (or with some versions shift) when grub comes up.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t go editing grub&#039;s configuration files directly if at all possible. Edit &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt; and rebuild them with &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. Note that &amp;lt;tt&amp;gt;update-grub2&amp;lt;/tt&amp;gt; is these days just a symlink to &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;. If what you want to change isn&#039;t available via &amp;lt;tt&amp;gt;/etc/default/grub&amp;lt;/tt&amp;gt;, try to do it via &amp;lt;tt&amp;gt;/etc/grub.d&amp;lt;/tt&amp;gt;. If you&#039;re directly editing &amp;lt;tt&amp;gt;grub.cfg&amp;lt;/tt&amp;gt;, you&#039;re gonna have a bad time (and your changes will be blown away the next time someone runs &amp;lt;tt&amp;gt;update-grub&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Do yourself a favor and install [https://packages.debian.org/sid/memtest86+ memtest86+], which will be automatically added to your grub menu on [[UEFI]] machines.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re in the interactive GRUB command prompt, and wish not to be (i.e. to return to the menu), use the command &amp;lt;tt&amp;gt;normal&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==kernel command line==&lt;br /&gt;
The bootloader can provide command line parameters to the kernel (they can also be specified at build time, see &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt;). [[systemd]] can take many parameters off of the kernel command line.&lt;br /&gt;
&lt;br /&gt;
For more output, ensure &amp;quot;quiet&amp;quot; is not present. For still more output, add &amp;quot;debug=vc&amp;quot; (by default, &amp;lt;tt&amp;gt;debug&amp;lt;/tt&amp;gt; writes to &amp;lt;tt&amp;gt;/run/initramfs/initramfs.debug&amp;lt;/tt&amp;gt;; this sends it to the console).&lt;br /&gt;
&lt;br /&gt;
The root process can be specified using &amp;lt;tt&amp;gt;init=&amp;lt;/tt&amp;gt; (this can also be specified at build time with &amp;lt;tt&amp;gt;CONFIG_DEFAULT_INIT&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Note that the kernel does not by default reboot following a panic. This can be undesirable on remote machines. &amp;lt;tt&amp;gt;panic=N&amp;lt;/tt&amp;gt; will reboot N seconds after a panic, if N is positive. &amp;lt;tt&amp;gt;/proc/sys/kernel/panic&amp;lt;/tt&amp;gt; exposes this.&lt;br /&gt;
&lt;br /&gt;
===my video is borked===&lt;br /&gt;
If you can&#039;t get output to the display, [https://www.kernel.org/doc/html/latest/networking/netconsole.html netconsole] is a pretty decent method for quickly getting console output sent to another machine. You won&#039;t have ARP or routing, so the target will need be on the local broadcast domain. Specify the target MAC if you can to avoid broadcasting.&lt;br /&gt;
&lt;br /&gt;
==initramfs==&lt;br /&gt;
Almost all distributions ship kernels making use of initramfs these days. An initramfs can be embedded directly into the kernel image (see kernel config entry &amp;lt;tt&amp;gt;CONFIG_INITRAMFS_SOURCE&amp;lt;/tt&amp;gt;), but it is usually shipped as its own file instead, and specified by the bootloader. An initramfs is a (possibly compressed) &amp;lt;tt&amp;gt;cpio&amp;lt;/tt&amp;gt; archive. On boot, it is unpacked into a tmpfs. The compelling advantage of initramfs is the ability to mount the true root filesystem (which might be on [[NFS]], or encrypted, etc.) from userspace, with a minimal filesystem such as userspace expects. Over time, presence of an initramfs has become more or less assumed, and is is thus now required for all manner of things (i.e. persistent block device names when specifying the root filesystem). In the absence of an initramfs, all code necessary for mounting root must be built into the kernel (i.e. not as modules).&lt;br /&gt;
&lt;br /&gt;
The [https://packages.debian.org/sid/initramfs-tools initramfs-tools-core] package ships &amp;lt;tt&amp;gt;lsinitramfs&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;unmkinitramfs&amp;lt;/tt&amp;gt; to easily list or extract the contents of an initramfs file.&lt;br /&gt;
&lt;br /&gt;
You&#039;re unlikely to run into initrd these days, but it can be unpacked the same way (the difference is in how it&#039;s mounted during boot). Initramfs on Debian are named &amp;lt;tt&amp;gt;initrd-*&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If built into the kernel, there are no extra considerations for the initramfs. If it&#039;s a distinct file, it needs to live somewhere visible to the bootloader. If booting directly from [[UEFI]], it needs live in the ESP. So long as it&#039;s kept in the same directory as the kernel image, you ought be fine. Be sure to copy the initramfs along with the kernel image if you&#039;re ever backing up the kernel, or moving it to another machine, etc.&lt;br /&gt;
&lt;br /&gt;
The initramfs often has copies of various kernel modules, so most changes to modules require an initramfs rebuild.&lt;br /&gt;
&lt;br /&gt;
===writing an initramfs===&lt;br /&gt;
&amp;lt;tt&amp;gt;mkinitramfs&amp;lt;/tt&amp;gt; is a lower-level tool usually called via &amp;lt;tt&amp;gt;update-initramfs&amp;lt;/tt&amp;gt;, controlled by the many configuration files in &amp;lt;tt&amp;gt;/etc/initramfs-tools/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===initramfs can&#039;t mount root===&lt;br /&gt;
An unpleasant situation is one where initramfs fails to mount the root partition, in which case you will be dumped to the dreaded BusyBox or klibc shells (ash, as in &amp;quot;a shitty shell&amp;quot;). A day when one sees BusyBox is never a good day. If the machine is remote, you are fucked without server-style out of band access (e.g. Dell iDRAC, BMC, KVM-over-IP). Otherwise, if you have a valid root partition somewhere, you can manually continue the boot by mounting that partition to &amp;lt;tt&amp;gt;/mnt/root&amp;lt;/tt&amp;gt; and running &amp;lt;tt&amp;gt;exec switch_root /mnt/root /sbin/init&amp;lt;/tt&amp;gt; or its non-union equivalent. Usually this means you&#039;ve specified the wrong root partition in your bootloader; check the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; command line option to the kernel.&lt;br /&gt;
&lt;br /&gt;
If you have [[systemd]] running in the emergency shell (its &amp;lt;tt&amp;gt;emergency.target&amp;lt;/tt&amp;gt;), try manually mounting the root filesystem to &amp;lt;tt&amp;gt;/sysroot&amp;lt;/tt&amp;gt; and then running &amp;lt;tt&amp;gt;systemctl restart mount-sysroot&amp;lt;/tt&amp;gt;. If this succeeds, exiting the shell ought continue the boot.&lt;br /&gt;
&lt;br /&gt;
==fsck on boot==&lt;br /&gt;
&lt;br /&gt;
==access sans password==&lt;br /&gt;
Ideally, you can just provide &amp;lt;tt&amp;gt;init=/bin/sh&amp;lt;/tt&amp;gt; on the kernel command line using grub&#039;s interactive mode. This will go through the end of the initramfs and invoke &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt; within the root filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;what if we can&#039;t use interactive mode?&amp;lt;/b&amp;gt;&lt;br /&gt;
===systemd emergency mode with a locked root account===&lt;br /&gt;
If you&#039;ve locked the root account with &amp;lt;tt&amp;gt;passwd -l&amp;lt;/tt&amp;gt;, systemd&#039;s &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; won&#039;t let you enter rescue mode. Use the instructions from &amp;quot;access sans password&amp;quot; above to get a shell if possible, and enable root with &amp;lt;tt&amp;gt;passwd&amp;lt;/tt&amp;gt;. Reboot, and &amp;lt;tt&amp;gt;sulogin&amp;lt;/tt&amp;gt; will admit you using the new password.&lt;br /&gt;
&lt;br /&gt;
==all my binaries are gone==&lt;br /&gt;
The situation can arise that one has an active process context (we&#039;ll assume a shell) on a machine where the standard POSIX binaries are unavailable. This can happen due to e.g. a network error, a disk error, memory error, wayward &amp;lt;tt&amp;gt;rm -rf /&amp;lt;/tt&amp;gt;, misadventures in package management. What can be done in such a case? Shell builtins, [[sysfs]], &amp;lt;tt&amp;gt;/dev&amp;lt;/tt&amp;gt; entries, and [[proc]] usually continue to be available.&lt;br /&gt;
===cat without cat===&lt;br /&gt;
The bash shell&#039;s &amp;lt;tt&amp;gt;echo&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;printf&amp;lt;/tt&amp;gt; builtin can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[freebird](0) $ dmesg&lt;br /&gt;
-bash: /usr/bin/dmesg: Input/output error&lt;br /&gt;
[freebird](126) $ printf &amp;quot;%s&amp;quot; &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $ echo &amp;quot;$(&amp;lt;/proc/kmsg)&amp;quot;&lt;br /&gt;
.....&lt;br /&gt;
[freebird](0) $&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===reboot without reboot===&lt;br /&gt;
Enable and apply sysrq reboot:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 128 &amp;gt; /proc/sys/kernel/sysrq&lt;br /&gt;
echo b &amp;gt; /proc/sysrq-trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alt+SysRq+B will accomplish this at the terminal if sysrq reboot is enabled. Unlike &amp;lt;tt&amp;gt;reboot&amp;lt;/tt&amp;gt;, there will be no syncing and unmounting of disks.&lt;br /&gt;
&lt;br /&gt;
==moving a root filesystem + bootloader==&lt;br /&gt;
Ideally, mount the source filesystem &amp;lt;tt&amp;gt;ro&amp;lt;/tt&amp;gt;, so it&#039;s not being modified while you copy. Start assuming a clean destination filesystem (otherwise, wipe it). Using the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; flag, &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt; basic toplevel directories *but do not cross filesystem boundaries on the source* (i.e. if &amp;lt;tt&amp;gt;/home&amp;lt;/tt&amp;gt; is on its own filesystem, do not include it below; this includes &amp;lt;tt&amp;gt;/boot/efi&amp;lt;/tt&amp;gt;). Any that you skip in this fashion ought have their mountpoints created; add them to the &amp;lt;tt&amp;gt;mkdir&amp;lt;/tt&amp;gt; below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -a SOURCE/{bin,boot,etc,home,lib*,root,sbin,usr} DEST/&lt;br /&gt;
mkdir -p DEST/{dev,proc,var/tmp,tmp}&lt;br /&gt;
ln -s /run DEST/var/run&lt;br /&gt;
ln -s /lock DEST/var/lock&lt;br /&gt;
chmod 1777 DEST/{var/tmp,tmp}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ESP, bootloader, initramfs...&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* Debian wiki page for [https://wiki.debian.org/initramfs initramfs]&lt;br /&gt;
* Kernel documentation for [https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html Ramfs, Rootfs, and Initramfs]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>https://nick-black.com/dankwiki/index.php?title=Hack_on&amp;diff=12259</id>
		<title>Hack on</title>
		<link rel="alternate" type="text/html" href="https://nick-black.com/dankwiki/index.php?title=Hack_on&amp;diff=12259"/>
		<updated>2026-01-08T04:28:46Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* QEMFD! (wikipedia, wolfram) also provides... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==&#039;&#039;&#039;rien n&#039;est simple, mais tout est facile&#039;&#039;&#039;==&lt;br /&gt;
[[File:Ourheroreturns.jpg|right|thumb|your humble wikist 2025-06-29]]&lt;br /&gt;
this is the wiki of [mailto:dankamongmen@gmail.com nick black] (aka [[User:Dank|dank]]), located at [[LOC record|33°46′44.4&amp;quot;N, 84°23&#039;2.4&amp;quot;W (33.779, 85.384)]] in the heart of [[Atlanta|midtown atlanta]]. dankwiki&#039;s [https://www.youtube.com/watch?v=i2tukPoF2ww rollin&#039; wit&#039; you], though i make no guarantees of its correctness, nor its relevance, nor its timeliness. track changes using the [[Special:RecentChanges|recent changes]] page. i&#039;ve revived [[dankblog|DANKBLOG]], this wiki and [[Grad_school|grad school]] having not satisfied ye olde &#039;&#039;furor scribendi&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
hack the planet! don&#039;t mistake my kindness for weakness.&lt;br /&gt;
&lt;br /&gt;
i primarily write to force my own understanding, and remember things (a &#039;&#039;few&#039;&#039; entries are actually semi-authoritative). i&#039;m just a [http://en.wikipedia.org/wiki/The_Rime_of_the_Ancient_Mariner disreputable Mariner] on your way to the Wedding. &#039;&#039;&#039;if you derive use from this wiki, consider yourself lucky, and please get confirmation before relying on my writeups to perform surgery, design spacecraft, determine whether a graph &#039;&#039;G&#039;&#039; is an [https://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture#Deterministic_query_complexity Aanderaa–Rosenberg scorpion], or feed your pet rhinoceros.&#039;&#039;&#039; do not proceed if allergic to linux, postmodern literature, nuclear physics, or cartoonish supervillainy. ■&lt;br /&gt;
&lt;br /&gt;
==[[:Category:Projects|projects?]]==&lt;br /&gt;
Nothing that&#039;s any good works by itself, just to please you; you&#039;ve got to make the Damned Thing work.&lt;br /&gt;
&lt;br /&gt;
* Still growing! The world&#039;s largest(?) collection of [[computer science eponyms]].&lt;br /&gt;
* [[Notcurses]], a library for blingful TUIs and character graphics&lt;br /&gt;
* I created and taught CS4803UWS, &amp;quot;[[UNIX Weapons School]]&amp;quot;, Summer 2013 at Georgia Tech.&lt;br /&gt;
* [[Hackery]]! (projects and open source work). The [[Personal machines|machines]]. Matrix of [[large cases]] and [[Titanium_power_supplies|Titanium PSUs]].&lt;br /&gt;
* The [[WORDHORDE]]. Some [[book ideas|books]] I&#039;d like to write. Too many [[morphisms]]!&lt;br /&gt;
* An ambitious [[Decay_chart|chart of decays]].&lt;br /&gt;
* [[Grad school]] and [[CS GRE]] prep pages. You can&#039;t have grad school without [[LaTeX|XeLaTeX]]!&lt;br /&gt;
* [[Elemental naming]] and good [[wordlist|words]]. Ramblings on [[Dankblog|DANKBLOG]].&lt;br /&gt;
* [[BlackBerry]] crap. F&#039;n [[bookshelves]]. [[PC_Fans|Fans]] from [[Noctua]], of whom I am a fan.&lt;br /&gt;
* What does worldwide [[TaB|TaB®]] consumption have to do with [[nuclear weapons]]?&lt;br /&gt;
* I found myself playing a lot of [[Pokémon_Go|Pokémon Go]] in 2025, rather to my surprise.&lt;br /&gt;
* My grad school [[:Media:CS8803MCAPresentation.pdf|presentations]] tended to [[:Media:CS8803DCPresentationKlaiber.pdf|run slightly]], just a little, [[:Media:CS8803DCPresentationGschwind.pdf|unorthodox]]...&lt;br /&gt;
** enjoy the ghastly background of my [[:Media:Libtorque-presentation.pdf|masters thesis]] presentation&lt;br /&gt;
** ...yep, [[Trail of Frames|still weird]] (invited lecture for the opening of [https://wiki.freesideatlanta.org/fs/Info Freeside Atlanta])&lt;br /&gt;
** professionally weird! [[:Media:Public_LPC2015_-_Dynamic_iSCSI_at_Scale-_Remote_paging_at_Google.pdf|&amp;quot;Dynamic iSCSI at Scale&amp;quot;]] for Google ([https://blog.linuxplumbersconf.org/2015/ 2015 Linux Plumbers&#039; Conference])&lt;br /&gt;
** [[:Media:Pwl09.pdf|&amp;quot;Miscompiling Programs with &#039;Benign&#039; Data Races&amp;quot;]] for [https://www.meetup.com/Papers-We-Love-Atlanta/events/bhvjlpyxnbmb/ Papers We Love Atlanta #9] 2018-10-09&lt;br /&gt;
** [[:Media:Multire.pdf|&amp;quot;Efficiently Matching Multiple Regular Expressions&amp;quot;]] for BetterCloud 2013-12-06&lt;br /&gt;
** &amp;quot;[https://mdco2.mini.debconf.org/talks/6-notcurses-making-terminals-do-things-that-were-never-intended/ Making Terminals do Things Never Intended]&amp;quot; for [[Debian]] [https://mdco2.mini.debconf.org/ MiniDebConf #2] 2020-11-20&lt;br /&gt;
** &amp;quot;[https://nick-black.com/tabpower/notcurses-fosdem-2021.pdf Notcurses: Blingful TUIs and Character Graphics]&amp;quot; for [https://fosdem.org/2021/ FOSDEM 2021] 2021-02-06&lt;br /&gt;
** &amp;quot;[https://debconf21.debconf.org/talks/3-proposing-a-new-d-i-disk-preparation-tool-growlight/ Proposing a New D-I Disk Preparation Tool]&amp;quot; for [https://debconf21.debconf.org/ DebConf21] 2021-08-28&lt;br /&gt;
** &amp;quot;[[:Media:Black - Fast Linux Networking 2023.pdf|Fast Linux Networking: DPDK and XDP]]&amp;quot; for Microsoft Azure Orbital 2023-02-03&lt;br /&gt;
** &amp;quot;[[:Media:Self-publishing_and_nuclear_secrets.pdf|Self-publishing and nuclear secrets]]&amp;quot; 2024-01-27 release party for &amp;lt;i&amp;gt;[https://midnightssimulacra.com midnight&#039;s simulacra]&amp;lt;/i&amp;gt;&lt;br /&gt;
* My video channel, [[DANKTECH]].&lt;br /&gt;
* Other people&#039;s [[repositories|projects]]. Other people&#039;s [[programming quotes]]. ■&lt;br /&gt;
&lt;br /&gt;
==unix==&lt;br /&gt;
[[File:LookForAnswers.jpg|right|thumb|link=https://nick-black.com/dankwiki/images/5/5b/LookForAnswers.jpg|i like to stay up late on the computer, looking for answers.]]&lt;br /&gt;
* Writing high-performance, scalable [[Fast UNIX Servers|UNIX system applications]] is my greatest passion.&lt;br /&gt;
* [[Linux APIs]], [[FreeBSD APIs]], [[ELF]] (which is not, in itself, an API).&lt;br /&gt;
* [[Power Management]]. [[Sound Software]], [[Using Unicode]].&lt;br /&gt;
* Keeping FreeBSD [[Updating FreeBSD|up-to-date]]. Hacking [[CUDA]] on [[Debian]].&lt;br /&gt;
* [[Debian]], [[Xorg hell]], [[Consoles]] and [[Framebuffer|Framebuffers]]. [[Systemd]] and [[DBus]]. Making graphs with [[dot]].&lt;br /&gt;
* Notes on [[MediaWiki editing|editing]] and [[MediaWiki|running MediaWiki]]. [[Core]] files happen when one dances fandango on [[core]].&lt;br /&gt;
* Notes on [[subversion]], but my biggest note would be to use [[git]].&lt;br /&gt;
* [[Linux on Dells]], [[SMART]] and [[SATA]], [[udev]], various linux-related [[hardware detritus]] (mainly random personal crap).&lt;br /&gt;
&lt;br /&gt;
did autistic people design this software? BECAUSE I&#039;M STARTING TO LOVE IT. ■&lt;br /&gt;
&lt;br /&gt;
==remarks regarding computers &amp;amp;c==&lt;br /&gt;
* [[glibc]], other [[interesting libraries]], [[working with libraries]], some implementing interfaces like [[pthreads]].&lt;br /&gt;
* [[X Macros]], [[ISO C18]], [[rpaths]], [[GCC|gcc]] notes, [[GNU Make|gmake]] notes.&lt;br /&gt;
* a [[Book_list_for_streetfighting_computer_scientists|book list]] for streetfighting coders&lt;br /&gt;
* There&#039;s [[Buses and Ports]], of course, of course.&lt;br /&gt;
* Intel&#039;s [[Sandy Bridge]] and [[Nehalem]] x86 [[microarchitectures]].&lt;br /&gt;
** or, if you&#039;d prefer, [[Transmeta|Transmeta&#039;s]] or [[Tilera|Tilera&#039;s]] processors.&lt;br /&gt;
** It&#039;s dangerous to go alone! Take [[microcode]].&lt;br /&gt;
* The [[cpuid]] instruction, [[SMP on x86]], [[Performance Counters]], [[simulators]].&lt;br /&gt;
** Simulators ought not be confused with the [[4000 Linux VT Solutions|4,000 Linux VT Solutions]]!&lt;br /&gt;
* Getting into [[ARM]] (which is everywhere, including [[Raspberry Pi|Raspberry Pis]]).&lt;br /&gt;
* Getting into [[ACPI]]. Getting into [[Arduino]]. Getting into [[Architecture]].&lt;br /&gt;
** I want a (PIVT, middle-endian, 27-bit word) MISD machine; until then, there&#039;s [[SIMD]].&lt;br /&gt;
* [[Lamport&#039;s Hash]], [[Skip Lists]], I will put thoughts about [[automata|automata here]], [[Dijkstran Method]].&lt;br /&gt;
* [[ROS]] seems a pretty good way to write robots, and one day automate luvvvvv&lt;br /&gt;
* [[Flash]] sucks. Need get a handle on [[Compiler Design]] by tomorrow&#039;s midterm.&lt;br /&gt;
** Now it&#039;s [[Programming Language Theory]] by tomorrow&#039;s final, heh.&lt;br /&gt;
* [[Trees]] for smoking and computing. [[Lock-free algorithms|lock- and wait-free]] algorithms. [[Cache-oblivious algorithms]]. [[RCU]].&lt;br /&gt;
* [[Allocators]] get us that free store, son (usually through a [[DRAM]]-backed VM)!&lt;br /&gt;
** Said VM &#039;&#039;might&#039;&#039; implement [[transactional memory]], and &#039;&#039;almost certainly&#039;&#039; works on [[pages]].&lt;br /&gt;
* Via [[Grover&#039;s Algorithm]], we might be able to discover the monster at the end of this quantum book.&lt;br /&gt;
* While we&#039;re at it, [[timer wheels]] and even [[x86 timing]].&lt;br /&gt;
* Let&#039;s get bipartite, bipartite...with [[bip buffers]].&lt;br /&gt;
* I don&#039;t much care for writing [[Gecko Addons]] (aka [http://www.mozilla.com/en-US/firefox/upgrade.html FireFox plugins]).&lt;br /&gt;
* [[Blum&#039;s axioms]] and [[Rice&#039;s Theorem]] are both named after people smarter than me...&lt;br /&gt;
** ...as are [[Chaitin&#039;s Constant]] and [[Kolmogorov complexity]], and [[Computer science eponyms|lots of other junk]]. ■&lt;br /&gt;
&lt;br /&gt;
==networking==&lt;br /&gt;
* Please adhere to the various [[Standards#Networking_standards|standards]] (even where [https://en.wikipedia.org/wiki/Base64#Variants_summary_table mutually contradictory])&lt;br /&gt;
** As one judge said to another, &#039;&#039; &#039;Be just, and if you can&#039;t be just, be arbitrary.&#039; &#039;&#039;&lt;br /&gt;
* [[Topology Discovery]]. Online tools for [[Internet analytics]].&lt;br /&gt;
* [[SSHFP]] and [[LOC record|LOC]] records. [[DNSSEC]]. The Sender Policy Framework ([[SPF]]). [[VoIP]] and telephony, NAPTR records.&lt;br /&gt;
* Some [[TCP]] notes. [[Syncookies]]. Radio of the [[SDR|software-defined]] kind.&lt;br /&gt;
* [[ARP]] is no longer used in [[IPv6]], which more fully embraces [[Zeroconf|zero-configuration networking]].&lt;br /&gt;
* [[ICAP]] page. [[Tunneling]] (perhaps over [[VXLAN]]), [[SNMP]], [[NFS]]...&lt;br /&gt;
* I don&#039;t drive, but when I do, I drive via reverse engineered [[CAN bus|CAN buses]].&lt;br /&gt;
* [[QMI]] replaces the venerable Hayes command set aka &amp;quot;AT commands&amp;quot; for modems&lt;br /&gt;
* [https://nick-black.com/BIginternet Mirror] of the BIg-Internet list from ftp://munnari.oz.au&lt;br /&gt;
* [[Van Jacobson Channels]] get everybody all [[DPDK|hooting]] and [[XDP|hollaring]] every decade or so.&lt;br /&gt;
* My FCC callsign is [https://wireless2.fcc.gov/UlsApp/UlsSearch/license.jsp?licKey=5060966 KQ4ZNN]. ■&lt;br /&gt;
&lt;br /&gt;
==QEMFD! ([http://en.wikipedia.org/wiki/Q.E.D. wikipedia], [http://mathworld.wolfram.com/QED.html wolfram]) also provides...==&lt;br /&gt;
* A page for our 2015 [https://nick-black.com/wedding/ hax0r wedding], the event of the century&lt;br /&gt;
** There is no page for our 2020 divorce, natch&lt;br /&gt;
* Documentation for [https://www.notcurses.com Notcurses], my poorly-named but always-rockin&#039; console graphics library &lt;br /&gt;
* [https://www.dsscaw.com Dirty South Supercomputing], my [[WeWork|Tech Square consultancy]], launched 2019&lt;br /&gt;
* The [https://nick-black.com/processorzoo.html Processor Zoo], which has been wildly surpassed by [https://en.wikichip.org/wiki/WikiChip WikiChip]&lt;br /&gt;
* [https://nick-black.com/blog/ Sprezzablog] from my now-defunct but forever-beloved Linux distribution SprezzOS&lt;br /&gt;
&lt;br /&gt;
still have any [[Questions|questions?]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;quod erat motherfucking demonstrandum!&#039;&#039;&#039;&#039;&#039; ■&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;quot;I have never known a greater monster nor miracle than myself.&amp;quot; — Michel de Montaigne&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=dankwiki, the wiki of nick black&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=nick,black,dank,dankamongmen,dankwiki,blackwiki,notcurses,unix,nuclear,supervillain,growlight,omphalos,sprezzos,dsscaw&lt;br /&gt;
|description=Nick Black of Atlanta and his personal wiki of linux, computers, postmodern literature, nuclear physics, and cartoonish supervillainy.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
</feed>