This page is a changelog for
gwern.net: a monthly reverse chronological list of recent major writings/changes/additions.
Following my writing can be a little difficult because it is often so incremental. So every month, in addition to my regular /r/Gwern subreddit submissions, I write up reasonably-interesting changes and send it out to the mailing list in addition to a compilation of links & reviews (archives).
<q>quote syntax highlighting due to maintenance/annotation burden; removed PNG preview popups due to low screenshot quality (the Web is why we can’t have nice things) & many reader complaints
- GPT-2 Folk Music
- On Correlation & Causality in the Social Sciences (see also my Replication Crisis bibliography)
- “Hydrocephalus and Intelligence: The Hollow Men”
- “The Most Abandoned Books on GoodReads”
gwern.net: Tufte-CSS margin notes support (glossing experiment—demonstrations in Folk-Music/Hydrocephalus/GoodReads/Internet Search Tips)
- Sperm selection as minor enhancement to embryo selection
- On Selective Emigration and Personality Trait Change in Scandinavia
gwern.net: added Bitcoin support to
Inflation.hs; CSS optimizations to cut mobile load time by half; full-width image support
popups.js: a new JS library which reads link annotations and displays them in a popup (eg WP displays title/summary, and papers display title/author/date/abstract); works on mobile; generalizes & obsoletes
popups.jsreads static annotations, removing the runtime spam, and importantly, annotations are now cached at compile-time, so additional sources can be included. It currently provides link annotations for Arxiv, bioRxiv, Pubmed Central, Crossref,
gwern.net, and hand-written annotations, in-popup YouTube video support, with a fallback to Chrome/Ghostscript-generated screenshot previews for all other URLs
- added more custom-SVG/text link icons for link icons (custom: arXiv/BioRxiv (unofficial), Google Scholar, Pubmed, Internet Archive, Guardian, NYT, New Yorker, Washington Post, DeepMind, OpenAI, MIRI, Erowid)
- “How To Generate Faces With StyleGAN”
- “Finetuning the GPT-2-117M Transformer for English Poetry Generation”
- “Glue Robbers: Sequencing Nobelists Using Collectible Letters”
- rewrote “The Gift of the Amygdali”
gwern.netCSS changes: Tufte-style sidenotes (for displaying footnotes in margins on wide screens) via Obormot’s new JS library,
sidenotes.js; static compilation of MathJax’s rendering of MathML math via
mathjax-node-page(enables math for JS-disabled users & eliminates the <5s rendering time on math-heavy pages like the embryo selection page); added support for drop caps (Goudy Initialen, yinit, Deutsche Zierschrift; Cheshire; Kanzlei; other examples) for thematic emphasis; disabled Disqus ads; second ad A/B test ended, so disabled banner ad; prototype automatic inflation-adjustment of dollar amounts via new Hakyll plugin; outdent headers & left shift H1 headers for scannability; more Tufte-style tables with different styling for small/simple tables vs complex full-width tables; better highlighting on ToC;
image-focus.jsnow runs in slideshow mode; Wikipedia link annotations; resized & optimized images with advpng/mozjpeg
gwern.netCSS/HTML/JS changes: click-to-zoom images (using
image-focus.js); headers are now self-links; Tufte CSS-style epigraph support; Table of Contents: Wikipedia-style section numbering, margin & size tweaks, lightweight subset of Source Sans Pro (for Mac users); nicer diamond list icons; sleeker sidebar (especially nice on mobile); PDF/internal/section links are now annotated with icons; borders on tables, image figures, and blockquotes; old-style numerals in text & tabular numerals in tables; justified text (but not in Chrome due to decade-old lack of hyphenation); narrowed maximum body-width in characters & made line-height responsive to body-width (hopefully addresses the perennial complaints that pages are always too wide/too narrow/lines too close); quote highlighting disabled by default; collapsible code-blocks; inline smallcaps support; optimized SVG logo & favicon; page-specific CSS overrides enabled; list paragraph bugs in Pandoc fixed; compressed JPEGs; changed code syntax-highlighting scheme to match overall esthetics better; miscellaneous responsive design/mobile improvements
- Danbooru2018 released: a dataset of 3.33m anime images (2.5tb) with 92.7m descriptive tags
gwern.netCSS/JS changes courtesy of Obormot: implemented collapsible sections for hiding digressions/especially large sections, for more readable pages; more varied headers to convey the semantic hierarchy; added use of a lightweight subset of Source Serif Pro, as a better Baskerville font with real small caps; improved font selection on Macs; minimized MathJax library use, for faster loading
- Acne: a good Quantified Self topic for self-experimentation
- “The Tragedy of Grand Admiral Thrawn” (why he had to be assassinated at the end of the Thrawn trilogy)
- Jailbreaking Frank P. Ramsey’s papers
- “Internet Search Tips”: effective use of Google/Google Scholar/Libgen & other resources for papers/books/pages (I’m also offering bounties for papers/books I haven’t been able to get)
- “Multi-Stage Selection Bean Machine Demo”
- “Littlewood’s Law and the Global Media”
- “Evolution as Backstop for Reinforcement Learning”
- Cat Sense, Bradshaw 2013: Are We Good Owners? (on cat psychology, genetics, domestication, & dysgenics)
- Embryo selection: FAQ, multi-stage selection, chromosome/gamete selection, optimal search of batches, & robustness to error in utility weights
- “Oh Deer: Could Deer Evolve to Avoid Car Accidents?”
- “Urban Area Cost-of-Living as Big Tech Moats & Employee Golden Handcuffs” (speculations on Bay Area real estate & SV’s future)
- My hardware/software setup
- moved newsletter from MailChimp to TinyLetter due to exorbitant MailChimp fees
- Danbooru2017: a new dataset of 2.94m anime images (1.9tb) with 77.5m descriptive tags
- “The Gift of the Amygdali”
- “Dynasties and Embryo Selection”
gwern.netSVG logo courtesy of Kezarin Brando
- On the history of the tank/neural-net urban legend
- provided fulltext for most of the Arthur Jensen bibliography by tracking down and jailbreaking or scanning ~153 papers, books, magazines, or encyclopedia articles
gwern.netupdates: Google AdSense banner ads removed (due to initial analysis of A/B test results); URL scheme changed to replace spaces by hyphens & delete commas/apostrophes (due to persistent user error); footer moved to sidebar; re-tagging pages; font/CSS tweaked for faster loads & wider margins; hosted documents reorganized & expanded with personal archives; began buying & scanning all cited books to provide fulltexts; added sitemap generation to expose fulltexts to search engines
gwern.net: HTTPS now mandatory; HTML sections rewritten using HTML5 semantic markup for hopefully better compatibility with screen readers & offline browsers like Pocket/ReadItLater; “importance” metadata added to all pages to rank them; “belief” metadata renamed more intuitively as “confidence”; finish adding 301 Redirects for all broken links & common typos; renamed & all darknet market pages for current terminology; rewrote Patreon profile
- Why Tool AIs Want To Be Agent AIs
- WiFi bandwidth benchmarking
- why aren’t there powerful general languages?
- statistical model criticism with machine learning
- compiled my epigrams
gwern.net: CSS, logo, and index page redesigns; redirects for broken incoming URLs; scripts & YAML updates for upstream Pandoc/Hakyll changes
- frequency of catnip response in cats: a meta-analysis (and launched a survey to expand the dataset)
- modafinil user survey (running 26 September—26 October 2015)
resortertool for statistically re-ranking a set of ratings
- Bitter Melon experimental & cost-benefit analysis
- noisy polls: modeling potentially falsified poll data
- Value of Information for suicide (example cost-benefit analysis of weakly predicting suicide)
Air conditioner upgrade cost-benefit analysis
- switched to Patreon for donations
- optimized website loading (removed CSE, A/B testing, non-validating XML, outbound link-tracking; simplified Disqus; minified JS, and fully async/deferred JS loading)
gwern.netCSS to be mobile-friendly; should now be readable in an iPhone 6 browser
- wrote two summer poems, on earthworms and the rain
- DNM arrests compilation finished & summaries calculated
- analysis of Effective Altruists’ donations as reported in the LW survey
- LLLT self-experiment finished: no effect (so earlier correlative results were grossly overestimated; I’m starting to expect this from anything non-randomized…)
- an ICE subpoena on my Reddit account caused me a good deal of trouble
- playing with inferring Bayesian networks for my Zeo & body weight data (powerful generalization of SEMs, but requires a lot of data before networks stabilize)
- “Silk Goxed: How DPR used MtGox for hedging & lost big”
- A/B tests: no positive results from sidebar test; set up in-page metadata format
- A/B indentation test: no real result, defaulted to 2em
- Redshift self-experiment: screen-reddening software shifts bedtime forward by 20 minutes
- LLLT re-analysis: no change in sleep as hypothesized by another LLLT user
- analysis of sceaduwe’s spirulina/allergies self-experiment (no reduction in allergies)
- childhood story on inventing laser bombs
- Noopept experiment (no benefits)
- Treadmill spaced repetition experiment: expanded analysis to cover treadmill’s impact on successive reviews with SEM (no additional damage to recall beyond that implied by the original damage)
- anthology on how “everything is correlated”
- probability/gerontology problem: can one visit 566 centenarians before any die? No.
My window tracker/time-logger of choice is arbtt which records X window info for later classification and analysis; but one of the challenges is you don’t know how to set up arbtt or improve your environment or write classifications rules. So I wrote a tutorial.
Time-lock crypto: wrote a Bash implementation of serial hashing time-lock crypto, link to all known implementations of hash time-lock crypto
lithium orotate experiment finished: no effects positive or negative
magnesium citrate experiment finished: initial benefits but apparent cumulative overdose led to net negative effect and mixed effects on sleep
- do causal networks explain why correlation ≠ causation is so often true?
- a little example of estimating scores from censored data
- Bicycle face
- “Rail travel at high speed is not possible because passengers, unable to breathe, would die of asphyxia.”
- did Fifty Shades of Gray have only 4k readers as the original Twilight fanfiction?
- humorous little essay on The Matrix
- long hair as a costly signal of fitness & tradeoff
- how I gather & organize my information in Evernote & elsewhere
Mistakes: added a section on how my complacency about free-market mechanisms lead to no serious archiving
an anonymous user sent in a fanfiction about Satoshi Nakamoto, which was too good to simply delete
I have posted the past issues of the newsletter online:
- Radiance: finished.
- Public release of the Mnemosyne spaced repetition dataset (18GB of 121.2m flashcard reviews, collected ~2004–2014)
- nootropics survey analysis
- verse: obituary for my dog; a poem apropos the end of Genshiken Nidaime
- A/B testing: header capitalization finished (result: upcase title & all section headers); began table of contents placement
- I have begun systematically spidering all operational English darknet markets
- Haskell Summer of Code: 2013 review
- font/number size & table of contents background AB test finished, with consideration of value of interactions
- diff of “Radiance” and part I of Radiance
- rewrote configuration for Hakyll 4
- converted site’s Darcs repository to Git & hosted on GitHub
- compiled an updated table of all known darknet markets with lifetimes
- wrote up an essay on 3 attempts to blackmail/extort/scam
- analyzed a self-experiment about low level laser therapy improving reaction time
- power simulation of the penalty from omitting key covariates in A/B testing
- critique of Chinese moxibustion study
- transcribed novella “Radiance”
- transcribed & annotated the autobiographical essay “Old Legends” by Gregory Benford on his physics career, SF & science, the “Star Wars” program, Edward Teller, etc
- tracked down and scanned a copy of “The Astounding Investigation: The Manhattan Project’s Confrontation with Science Fiction” (Berger 1984, Analog)
- reviewed Umineko
- posted my biographical research on an old family friend who has passed away, Arthur Moulton
- signed up for MailChimp & started a monthly mailing list for
- my Gratipay is up to $9.17 a week. I thank all donators.
Another busy month:
DNB meta-analysis: corrected multiple mistakes based on Redick’s review
Lunar cycle effect on sleep: split out, acquired 2 other Zeo users’ data, expanded into a multi-level model & power analysis (Cajochen still has not responded)
Modafinil: price table update
- estimating DPR’s net fortune based on the FBI numbers
- Darknet market survival analysis
- publicly betting Sheep & BMR to shut down soon (which was vindicated even quicker than expected)
- Mike Power email interview
- BBC Radio 5 interview (not yet broadcast)
- doxed the owner of Sheep Marketplace (see http://pastebin.com/raw.php?i=9spTATw6 & /docs/sr/2013-11-03-sheepmarketplace-doxxing.maff)
Radiance: finished transcription & added all notations
AB testing: blockquote finished, status quo performed best
- anonymous feedback analysis
- deleted Flattr, trying out Gratipay for donations
My focus for October was coping with the fallout from the bust of Silk Road—dealing with the revelations, copying the SR forums, tracking down leads, talking to various people, recording the ensuing arrests, tracking the darknet markets popping up in its wake… I still have much material to work through, but some things I managed to do included:
- Drugs 2.0: “Your Crack’s in the Post” (book chapter)
- rescuing the vendor public profiles and using some in my page
- betting all and sundry that BlackMarket Reloaded & Sheep Marketplace will be busted or shut down within a year (no takers)
- researching the “digitalink” bust
I decided to post my most extensive self-experiment yet, on LSD microdosing. While there was a lot of criticism, I still regard it as worthwhile and setting a new benchmark for any future research in that area.
A/B testing has been active since Hacker News traffic furnished large sample sizes:
- compiled a small meta-analysis of creatine’s effect on intelligence
- combined previous progress reports all into a single page (this page) & added it to the sidebar. Should help out everyone who keep asking for an RSS feed of major changes rather than every change.
- started a new A/B test on foreground/background colors
- expanded the Google Alerts over time analysis with fresh emails from the past half-year, for its Hacker News submission
- started a bigger Noopept self-experiment
- did some spaced repetition research using the Mnemosyne logs: found weekly & time of day effects on memory performance—with a clear circadian rhythm
A/B testing: the line-height test found no difference, so I did a quick one where I tested an empty test to check the A/B testing tool I’m using; I successfully failed to reject the null. The next test is whether underlining hyperlinks annoys people or not.
Book reviews: I wrote a Haskell program to parse my GoodReads ratings & reviews into flat Pandoc Markdown; it works somewhat well, it seems to be eating blockquotes & neutering hyperlinks, I’m not sure why. Was also an opportunity to clean up some reviews: inline some of them, spellcheck, expand references & links, which was a lot of work. But it’s nice to have my reviews gathered somewhere with a readable interface. kiba thinks the work may pay for itself in affiliate revenue with Amazon, but I’m skeptical.
Scholz’s Radiance: Added a hundred pages or so. Annotating some of it is quite difficult; Scholz’s familiarity with Wagner’s operas is a challenge, since I’ve only ever read his Ring Cycle.
I’ve started two new self-experiments:
Touhou music growth rate: made a little more progress on Touhou music, with an analysis # of releases vs time: seems like we may’ve reached peak Touhou in 2009.
Silk Road mirrors: I’ve started hosting public copies of subsets of the darknet markets; these are backups for particular incidents or timeseries
Spaced repetition statistics: I’ve been analyzing my Mnemosyne data and the giant public database for time of day effects. While my results aren’t conclusive, my analysis of 48m flashcard reviews from the public database finds that the best time to study your flashcards seem to be noon. A little surprising, you’d think that late at night, before bedtime, would be the best time.
My forgotten cleaning methods like Sand polls aren’t done because I got a much lower rate of responses to the polls than I was hoping for and only got enough responses in the final poll the other day.
Interesting things I wrote during July:
- Google Alerts: Statistical analysis of all my emails from Google Alerts to see whether/when they started to be less useful.
- 2013 Lewis meditation quasi-experiment: A Quantified Selfer and a few other guys did some meditation while doing an arithmetic game; turned out to be a perfect application for multilevel modeling
- Sleep and lunar phases: A recent paper claimed that there’s a phase-of-the-moon effect on circadian rhythms; since I have so much sleep data on myself, I thought I’d see if there’s any effect…
- Sand: continues to progress; I closed the LW poll and set up 3 new polls on
gwern.netto test problems with the original poll.
- Betting Made a list of things I’ve bet on or at least tried to bet on with people (as opposed to prediction market use). Disappointingly short.
- Scholz’s Radiance: I’ve started transcribing and annotating one of my favorite tech/lit novels. It’s mostly done.
- Cicadas for dinner: I finally got around to eating the cicadas I caught during the most recent Maryland emergence; so of course I had to write up this outré dining.
Right now, I’m listening through my Reitaisai 10 downloads (more Touhou music work); and working with this coach who is interested in predicting triple-jump performance by college athletes, and has collected a bunch of data about triple-jumpers.
Hm, what did I get done this June…
It was a little boring, honestly; jury duty was a mental distraction where I couldn’t plan to do anything but I ultimately wound up going in once and not being picked up for the jury! So I spent a lot of time simply digging up fulltext papers for citations, so at least there’s now something like another 100 papers available online for melatonin/nicotine/modafinil etc…
- I was thinking of trying to meta-analyze the correlation of lithium in drinking-water with suicides/murders/mental-illness, but after I got copies of all the citations I knew of, I’m not sure the data is homogenous to do that, which is disappointing, and the meta-analysis papers/textbooks I’ve checked don’t seem to be very encouraging about the utility of doing it with epidemiology stuff.
- And reorganizing & fixing broken links & updating various pages (I figured out how to make a fun forest plot showing the active/passive split in dual n-back studies)
- My long-running font A/B test finished but with the most boring possible results of close to zero difference between the 4 fonts
- I researched an old family friend in his 90s who has never been willing to talk about his government work during the Cold War and found some stuff using released Census records, but that’s not really of interest to other people, and I decided to not make it public. Likewise when I added ~40 book reviews from my old notes to my Goodreads account.
- I managed to trace an arrested drug dealer back to his Silk Road account, which was somewhat interesting: Reddit discussion
- Is one familiar with Fukuyama & ‘the end of history’? I think he’s right but no one seems to agree with me, so I wrote a short essay defending him Like most political essays, it’s probably worse than I realize.
- From my perspective, probably the most interesting thing I wrote all month was some criticism of early SF, pointing out the obsolete science behind some stuff written off as fantasy.
I’ve made a little more progress on the Touhou project
Added 2 new studies to the DNB meta-analysis and also a new covariate (whether payment reduces gains: it doesn’t)
updated my analysis of SDr’s sleep data
oh wait, I did do a new project: applied survival analysis to modeling fiction reviews
And in my Google analysis (which I credit to last month and not May, even if it went viral in early May), I added in random survival forests, fixing that gap in evaluating prediction methods, which was a little burden of guilt off my mind.
While I was at it, I reproduced that recent paper analyzing Bitcoin exchange shutdown or theft risk. The dude’s since given me his source code. (What can I say? Survival analysis is a great hammer, and it cost me enough tears and sweat to learn how to use the R library that I plan to use it everywhere I can.)
I started a little Noopept self-experiment using the Noopept someone gave me, but unfortunately they gave me too little for the results to be very meaningful (see the power analysis); but maybe they will have a trend and I can try a bigger experiment later.
TruBrain sent me a month’s supply of their all-in-one nootropic, but I haven’t tried it yet because it would interfere with the Noopept. I also purchased magnesium l-threonate, which is a disappointment so far, and some nicotine patches, which I haven’t used yet. A small sample order from a new modafinil website selling the usual Indian Modalert is in progress but hasn’t arrived yet. (It ultimately did not arrive as the delivery required a signature.)
I have a weird little literature/historical/survey article in progress; we’ll see where that goes
I posted an analysis I wrote a few months ago in private of whether a particular vendor on Silk Road is a federal mole (probably not)
Actually, I guess it was overall a pretty productive month. Probably helped that jury duty has so far turned out to be a bust: I’ve been on call since 21 May but have yet to actually go into the courthouse to do anything.
“But where shall wisdom be found?
And where is the place of understanding?
Man knoweth not the price thereof;
neither is it found in the land of the living
…for the price of wisdom is above rubies.”
Here is material I’ve worked on in the 477 days since my last update. In roughly chronological & topical order, here are the major additions to
I interviewed translator Michael House about his work in Japan as a translator
finished data collection for my hafu anime statistics page and begun analysis. (I’ve achieved good coverage of characters, found an astonishingly consistent absence of Korean characters, and confirmed the blond-haired/blue-eyed stereotype; but my original thesis doesn’t seem to work and the data is too unevenly distributed to identify time trends.)
did a meta-analysis on whether dual n-back increases IQ, and examining possible biases and various claims about what makes the training work or not work
did another meta-analysis on whether iodine increases IQ, etc
did 2 potassium experiments; neither improved my mood/productivity, and one damaged my sleep
my Silk Road page has been expanded with a BBC interview, putting SR in a historical cypherpunk context, an updated account of all arrests & law enforcement actions, and application of basic statistics to ordering
ran 2 sleep experiments on the timing of taking a vitamin D supplement: I found that taking vitamin D before bed substantially damaged my sleep, while taking vitamin D after waking up did not hurt & somewhat helped. (A later re-analysis revealed this result to be due to a flaw in the analysis; a better-done analysis revealed no particular improvement or damage to sleep.)
checked whether a walking desk (treadmill) damaged typing speed or accuracy
I have run 3 Wikipedia experiments establishing that: Talk page edits are ignored by editors; random link deletions (and their restoration) are also ignored by editors; and external link suggestions on Talk pages are also ignored by readers. (I take the former 2 as indicative of the decline in edit activity and rise of deletionist beliefs on Wikipedia.)
tried some economic/historical analysis: “Reasons of State: Why Didn’t Denmark Sell Greenland to the USA?”
tried estimating the bandwidth of a Death Note
compiled predictions for Harry Potter and the Methods of Rationality
looked into Conscientiousness and online education; studies so far are useless from a meta-analytic standpoint
tripled length of appendix dealing with the reliability of mainstream science (methodological flaws, replication rates, etc)
finished meta-ethics essay, “The Narrowing Circle”
explained the philosophy saying “one man’s modus ponens is another man’s modus tollens”
speculation about a restoration of the British monarchy
clean up & exploratory data analysis of SDr’s lucid dreaming data
Turing-completeness in surprising places (inventory of particularly “weird machines”; relevant to computer and AI security)
Transcribed or translated:
- Nash’s letters on cryptography
- Douglas Hofstadter’s superrationality columns (from Metamagical Themas, 1985)
- “The Iron Law Of Evaluation And Other Metallic Rules”, Rossi 1987 (lessons from the large RCTs evaluating social & welfare interventions)
- “The Ups and Downs of the Hope Function In a Fruitless Search”, Falk et al 1994
- Gene Wolfe on writing
- “Shiny balls of Mud: William Gibson Looks at Japanese Pursuits of Perfection” (2002)
- “Otaku Talk”, Okada et al 2004
- “Earth in My Window”, Murakami 2005
- “On The Battlefield of ‘Superflat’”
- “Ero-Anime: Manga Comes Alive”, Sarrazin 2010
- 1996 NewType interview with Hideaki Anno (translated by me, with the help of an EGFer)
- 1997 Animeland interview with Hideaki Anno (bought, transcribed, and translated by me with the help of other LWers)
- 1997 Utena interviews
- added edit history statistics/visualization for
- site traffic updates: July–December 2011, January 2012–July 2012, July 2012–Jan 2013
- There’s also been a lot of backend changes: switching to Amazon S3+Cloudflare, adding error pages, metadata like tags, A/B testing, but no need to go into detail.
“I’d like to poison your mind
With wrong ideas that appeal to you
Though I am not unkind…”
Per my past practice of linking stuff I think LWers will find interesting, here is what I’ve been up to lately:
- “Politicians are Ethical”: applying base-rate neglect
- Modafinil: a dual-pronged argument for low-balling estimates of modafinil harm by pointing to both temporal and quality discounting of health in old age. (If you missed it the first time around, I still think my mini-tutorial on drug ordering with Bayes’s theorem is worth reading.)
- “The Narrowing Circle”: argument that the usual belief of ‘moral progress’ and the ‘expanding circle’ assume many of their conclusions by pointing to the beliefs and classes of entities discarded along the way. (As many LWers share those assumptions and will be unsympathetic, the interesting parts may be the appendices on perpetuities and waqfs, inasmuch as those bear directly on cryonics.)
- Both Modafinil and Spaced repetition have been expanded with scores more links to studies & PDFs. (Nicotine and Melatonin are next.)
- “Worldbuilding: The Lights in the Sky are Sacs” is a silly bit of SF/alternate history speculation involving floating hydrogen-sac organisms.
- “Wikipedia and Knol” has been completed, as the 7 predictions I made on the matter have been judged thanks to Google’s recent announcements; I blew one.
- Stuff which is incomplete or which is just a pile of notes:
- I stuck a link in the footer of every page to a Google spreadsheet form, borrowing the idea from Luke Muehlhauser - I’ve only gotten 1 feedback so far, IIRC, but that was before I put it in the footer and updated all the pages a few hours ago. (As of 2015, there are hundreds of responses and I consider the feedback form to have paid its way; see my later writeup detailing the benefits.)