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.

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

When I was a college first-year, some friends and 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!

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.

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. Andrew Wiles's proof of Fermat's Last Theorem is 109 pages long. Assuming each page contains roughly 2000 characters, the text can be encoded in order 1,000,000 bits. Generate this number of bits and check to see if they prove Fermat's Last Theorem. If they do not, repeat this step. If they do, proceed! You've paid the penalty. (This step was defined in collaboration with Mirac Suzgun).
  3. Produce N blockbuster action films, each with an advertising budget proportional to a number in the list. For consistency, ensure each film is released in the same theaters at the same time of year. (Practically, this means the list cannot exceed a dozen or so items. If N>12, simply delete all but twelve items from the list). Read off the box office earnings for each film in order, printing the number corresponding to each.

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

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.

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 LaTeX or facts about latex?

Click the line you think is about LaTeX!

Example 1

Example 2

Example 3

Score: 0 • Streak: 0

All facts lovingly taken from Wikipedia.