Computer drawing in air, showing the earth, with the words Drew's website on top

HomeProjectsNewsletterEventsInterviewsEphemeraCV

Scientific: PublicationsPresentationsCHEEREIOGithubGoogle Scholar

Interdisciplinary: BooksWritingGamesMusic

A collection of things I decided to post online

Some things listed here are useful. Most are not.

One randomly-generated sorting algorithm, please!

These algorithms were written while waiting for our experiments to complete in my Advanced Lab class in the third year of my physics major.

Do you have an unsorted list of N natural numbers? Do you just hate it when programs are guaranteed to terminate? Do you get angry when algorithms do better than factorial time? Then you're in luck! The following algorithm has been generated just for you:

  1. Feed your list into a black hole, permanently destroying the information. The list is as good as sorted now! If people shake their heads and insist you actually sort the list, just generate a new one and proceed to the next step.
  2. Uh oh! You've triggered a penalty step. Before you proceed, you must perform a task. Obtain one (1) chess grandmaster. You are generous, so you let them go first. After they move their piece, move a random one of yours to a random cell on the board. If this move violates the rules of chess, flip the board in anger and start again. If it is a legal move, continue playing until either the board is flipped or checkmate. If the grandmaster has won, repeat the game. If you won, proceed to the next step. You've paid the penalty.
  3. You turn to mathematical ecology for inspiration. For each number in your list, generate a population of rabbits proportional to the number and a population of wolves inversely proportional to the number. Wait for each system to equilibrate. Gather the equilibrium population of rabbits, sort them in order of population size using bogobogosort, then print off the number corresponding to each sorted population size.

Congratulations! Your list is now sorted. You can find a permalink to this particular algorithm here.

Statistical Learning in Atmospheric Chemistry (SLAC) community

With a group of other scientists at universities across the US, I facilitate the Statistical Learning in Atmospheric Chemistry (SLAC) community. SLAC is an online space supporting scientists interested in learning about and applying machine learning and data science methods in their research. Because these methods are relatively new to the discipline, SLAC is designed to supplement the support scientists get from their own research groups and collaborators — many find themselves the first in their circles to use a particular algorithm. SLAC provides members three things: (1) a monthly one-hour virtual seminar series, (2) an online bank of video tutorials, code, and slide decks made by and for atmospheric chemists on machine learning and data science topics, including our public archive of past speakers, and (3) an email list for questions and discussion.

The monthly seminar is core to SLAC and is designed and moderated to be useful (not just another obligation). Seminars consist of a recorded 40 minute Zoom talk on recent research at the intersection of machine learning and atmospheric chemistry/science, followed by an off-the-record question session. We invite speakers to go in-depth on methodology, such as by including code walkthroughs, in addition to high-level discussion.

Anyone at any career stage doing work related to atmospheric chemistry is welcome to join. Email one of the coordinators to be added to the mailing list. All members have full access to the past speakers and tutorial archive which we have catalogued since Spring 2021. The public can access recorded talks through our YouTube channel.

More information available on the SLAC website.

The iPfoho Chrome extension

The iPfoho extension replaces all f's with pf's and all instances of the word "millennial" with "Matt Young." The official description:

This app provides the missing support that Pforzheimer House residents need in their Chrome experience. Have you ever read an article and wanted the f's to be replaced by their true form, pf? Have you ever wanted the word millennial replaced with its archetype, Matt Young? Have you ever wanted Google to load improperly in order to meet the above requirements? Then iPfoho is for you!

Log on wheels

The hottest new startup in town.

The JoyceScript programming language: a tortured technologial tribute to Ulysses!

When I was a college first-year, I wrote up notes for an esoteric interpreted computer programming language based on James Joyce's novel Ulysses. Leopold Bloom acted as a pointer who wandered a 1D "tape" memory/command structure, representing Dublin. The arrangement of eight objects in his pockets represented 8-bit data, which could be manipultated with bitwise operators; items could also be dropped on the tape and returned to the pockets using a stack data structure. As a result, the language should be Turing-complete (though I haven't written the proof); however, a variety of "features" based on the novel make programming in the language near-impossible.

See our implementation notes for JoyceScript here. No interpreter has yet been written!

Chemical data assimilation crash course

A long PowerPoint slide deck that examines major data assimilation algorithms (3D-Var, 4D-Var, Kalman Filter (KF), Ensemble KF (EnKF), Localized Ensemble Transform KF (LETKF, and a few others) from the perspective of developing tools for chemical data assimilation. Please email me any questions or corrections to the address in the PowerPoint!

Facts about Robert Bork or facts about Björk?

Click the line you think is about Robert Bork!

Example 1

Example 2

Example 3

Score: 0 • Streak: 0

All facts lovingly taken from Wikipedia.