Alzheimers and Fungi

A recent nature publication demonstrated fungal material in the forebrain and hindbrain regions of an alzheimer patient’s brain.

This story reminds me of that brilliant story of Dr. Barry Marshall. Dr. Marshall won the Nobel prize for medicine in 2005 for establishing the cause of stomach ulcers. Before his discovery, stomach ulcers were attributed to spicy food, stress and a poor lifestyle. The discovery established that ulcers were caused by bacterial infection - thus ensuring that antibiotics were a solid cure for stomach ulcers.

A pretty interesting anecdote - the test subject for the experiment was Dr. Marshall himself. He downed some of the bacteria in question and developed symptoms rapidly - contrary to an expected long-term development of symptoms.

Dr Marshall’s Wikipedia page.

Paper Is Still King

Last week, a rich, powerful, and large technology company announced a stylus to go with their popular product.

I have been looking for a paper replacement for quite a while. I typically read literature that contains a lot of math symbols. Constrained by my intellect, I am forced to write a lot of what I am reading - working through the equations on the page is a mechanism of reconstructing the short-term memory of the author as they worked through a proof.

I have owned at least 3 iPads over the last few years. The original intention was to use them as a device to read papers. They all turned into a bedside TV replacement.

I can’t put my finger on it but an LCD display and an expensive stylus cannot recreate the experience of reading and taking notes on an A4 paper with a $2 bic pen.

One possibility I am willing to concede is that the stylus industry is optimized for graphic artists. And it is possible that our needs don’t overlap - I certainly can’t imagine a paper-heavy workflow for something that involves an digital display.

A New Weapon In The Fight Against Syphilis

The American war effort in WW2 was characterized by one of the largest compulsory drafts in history. A staggering 50 million men were registered and nearly 10 million inducted.

There was just one problem. Circa 1940, we didn’t know how to mass-produce penicilin and contraceptives weren’t considered an important public health tool. Syphilis - which earned the moniker The Great Imitator (owing to the wide variety of symptoms that victims exhibited), claimed 6 out of every 100,000 deaths. In fact, a mere 20 years before - in the 20s - Syphilis earned a spot among the top 10 killers in the US.

These conditions meant that every inductee was subjected to a blood test - a brutal exercise in logistics for a rapidly expanding military.

Robert Dorfman, a Harvard economist, produced an elegant process to cut down on the number of blood tests needed and in the process produced a seminal paper in the field of group testing.

In this post, we’ll derive the results from that paper - which as you’ll observe boils down to simple algebra.

Today, group testing is leveraged in several domains. We’ll look at one such application of this technique that solves a neat problem in cryptography.

On Arches

Marco Polo describes a bridge, stone by stone.

“But which is the stone that supports the bridge”, Kublai Khan asks.

“The bridge is not supported by one stone or another”, Marco answers, but by the line of the arch they form.

Kublai Khan remains silent, reflecting, then he adds, “Why do you speak of the stones? It is only the arch that matters to me.”

Polo answers, “Without stones there is no arch.”

A Beautiful Gift With Clojure and LaTeX

For my parents’ 26th anniversary, I decided to convert an online religious text they read into a beautiful, well-typeset book.

The online text was built by volunteers using an archaic version of Microsoft Word and looks like this:

Anyone who has read science or math literature is exposed to the high-quality output LaTeX produces.

Fortunately LaTeX’s abilities extend far beyond the domain of mathematical symbols.

I was able to combine Clojure’s excellent HTML processing infrastructure (enlive) and LaTeX to produce a nice looking document.

The entire process took a few hours.

Here are two pages from the final output:

This blog post contains latex and clojure snippets to produce that output. I am not good at designing books or combining typefaces and would appreciate advice.

The Smallest Eigenvalues of a Graph Laplacian

Given a graph $ G = (V, E) $, its adjacency matrix $ A $ contains an entry at $ A_{ij} $ if vertices $ i $ and $ j $ have an edge between them. The degree matrix $ D $ contains the degree of each vertex along its diagonal.

The graph laplacian of $ G $ is given by $ D - A $.

Several popular techniques leverage the information contained in this matrix. This blog post focuses on the two smallest eigenvalues.

First, we look at the eigenvalue 0 and its eigenvectors. A very elegant result about its multiplicity forms the foundation of spectral clustering.

Then we look at the second smallest eigenvalue and the corresponding eigenvector. A slightly more involved result (YMMV) allows us to partition the graph in question. A recent publication by John Urschel (who apparently moonlights as a sportsperson) focused on this quantity.

The insights provided here sacrifice some rigor for the sake of brevity. I find such descriptions help me study without getting bogged down too much with details. A bibliography provided at the end contains links to actual proofs.

Switching Gigs

Kimono Labs and I have parted ways; I will be working on problems at a stealth startup starting Monday.

Leveraging a scalable web-crawler in clojure

Update: I have been working on a nicer fuller crawler in clojure - Pegasus

Nutch and Heritrix are battle-tested web-crawlers. ClueWeb9, ClueWeb12 and the Common-Crawl corpora employed one of these.

Toy crawlers that hold important data-structures in memory fail spectacularly when downloading a large number of pages. Heritrix and Nutch benefit from several man-years of work aimed at stability and scalability.

In a previous project, I wanted to leverage Heritrix’s infrastructure and the flexibility to implement some custom components in Clojure. For instance, being able to extract certain links based on the output of a classifier. Or being able to use simple enlive selectors.

The solution I used was to expose the routines I wanted via a web-server and have Heritrix request these routines.

This allowed me to use libraries like enlive that I am comfortable with and still avail the benefits of the infra Heritrix provides.

What follows is a library - sleipnir, that allows you to do all this in a simple way.

Twitter: @shriphani
Instagram: @life_of_ess
Fortior Per Mentem
(c) Shriphani Palakodety 2013-2020