• Wilbur Wright and George Polya Agree!

    “If you really wish to learn you must mount a machine and become acquainted with its tricks by actual trial”.

    – Wilbur Wright

    (Thank you, Jim Hefferon)

  • Summer Project

    Among all the other things I have on my plate, this summer I’ll be coding a simulator for a combinatorial architecture proposed back in 1998 by Berkovitch and Berkovitch. Their paper “presents a new principle for microprocessor design based on a pairwise-balanced combinatorial arrangement of processing and memory elements.” This was suggested to me by Prof Alan Ling.

    Just an exercise at this point. Should be fun. ;)

    [1] E. Berkovitch and S. Berkovitch. A combinatorial architecture for instruction-level parallelism. Microprocessors and Microsystems 22 (1998) 23-31.

  • No One Will Believe You

    This is why we use Git!

    No one will believe you.

  • Found On the Interwebz

    Why Use arrays

  • Art Spiegelman: How Not To Position a Lavalier Mic


    Art Spiegelman is speaking at UVM right now. What is the subject of his talk? Something about comics and graphic novels, I gather, but beyond that I could not say.

    An acute listener could, however, ascertain a great deal regarding the resonant frequencies of Mr Spiegelman’s chest cavity.

    A badly positioned microphone and inept sound reinforcement meant that only the lower frequencies emanating from Mr Spiegelman’s general vicinity were amplified. (I wondered if he might be wearing his microphone inside his jacket.) Projected from speakers on either side of the hall, the first thing to reach the listener’s ears were booms and muffled sounds like one might hear through the walls of a cheap hotel. These drowned out the natural unamplified sound of Mr Spiegelman’s voice.

    The only higher frequencies to reach the listener’s ear without being masked by the booms, were conveyed by reflected, reverberant sounds arriving a few tens of milliseconds later, at much lower volume. It is, of course, these higher frequencies that convey most information about the position of the lips, the shape of the mouth, the articulation of the tongue relative to teeth and palate—all that constitutes a meaningful stream of phonemes. These were lost, or muddied, or arrived too late.

    This left my poor superior temporal gyrus at a loss. I felt like I was watching a film in French without the subtitles. (I don’t speak French.) I might have caught every fourth or fifth word.

    About 15 minutes into the talk, a person in the middle of the audience spoke up and said, “We can’t hear a word you’re saying.” Some people gave up and walked out. I was among them.

    Here I offer my sincere apologies to Mr Spiegelman. I am a great admirer, but I wasn’t about to sit through two hours in which I could scarcely make out a word.

    It is not often I would call for someone’s dismissal, but whoever was in charge of sound reinforcement for this event should be sacked immediately.

    The University of Vermont Center for Holocaust Studies, the Jewish Studies Program, the Department of Russian and German, and the Vermont Folk Life Center should be ashamed for squandering such an opportunity.

    The interviewer, Professor Dan Fogel, was not picked up on microphone at all. At least for this I was grateful.

  • Hume on What Makes Truth Agreeable

    David Hume, A Treatise of Human Nature, Book II, Section X:

    "The first and most considerable circumstance requisite to render truth agreeable, is the genius1 and capacity, which is employ'd in its invention and discovery. What is easy and obvious is never valu'd; even what is in itself difficult, if we come to the knowledge of it without difficulty, and without any stretch of thought or judgment, is but little regarded."

    1. Here Hume means one’s own effort, or application of one’s abilities, not “genius” in the modern sense of someone with extraordinary mental capacity.

  • Lemke Oliver's Dodgy Primes

    On Friday, Robert J. Lemke Oliver presented a talk at the UVM Mathematics Colloquium entitled “Prime Numbers, Randomness, and the Gambler’s Fallacy.”

    Abstract: “Prime numbers are often said to be ‘random’, but, given that primes are deterministic, what does that actually mean? One way in which this randomness manifests is in the last digits of primes: it turns out that each possible last digit is equally likely in a certain strong sense. A similar story holds for the residue class of primes modulo any fixed integer, and this is a well-understood classical theorem of analytic number theory. Surprisingly, however, in joint work with K. Soundararajan, we find that an analogous phenomenon does not hold for patterns of consecutive primes. For example, a string of consecutive primes ending in the digit 1 strongly predisposes the following prime to not end in a 1; thus, prime numbers are subject to the gambler’s fallacy. This talk will be aimed at the level of graduate students and non-experts, but should be satisfying to practicing number theorists as well.” [1]

    What Lemke Oliver presented was, in a word, peculiar. While the last digits of primes are randomly distributed in the limit, there is considerable bias that adjacent primes tend not to be in the same residue class at smaller values. Moreover, this bias decreases very, very slowly (like which ain’t going anywhere any time soon). Weird, huh?

    Related reading: From Prime Numbers to Nuclear Physics and Beyond, Institute for Advanced Study, Princeton University

    [1] http://www.uvm.edu/cems/mathstat/news/mathematics-colloquium-september-29

  • September 2017 Blogroll

    A Fundamental Theory to Model the Mind

    Jennifer Ouellette, Quanta

    Of course, I’m going to make a joke. While the claim of the research described in the article is that “localized episodes of disordered brain activity help keep the overall system in healthy balance”, I can’t help but wonder (in my own case) about the effects of widespread episodes of disordered brain activity. Ha.

    I was interested to find that the phenomenon described, involving self-organizing criticality, has been applied in modeling blackouts in power grids (a subject near and dear to UVM). See: Noel, Brummitt, and D’Sousa, “Controlling Self-Organizing Dynamics on Networks Using Models that Self-Organize”, PRL 111, 078701 (2013); and Dobson, Carreras, Lynch and Newman, “Complex systems analysis of series of blackouts: Cascading failure, critical points, and self-organization” Chaos 17:2, 10.1063/1.2737822 (2007).

    I will explore a little more to see if there are applications in machine learning.

    Sand Brain

    What If Cantor’s Proof Is Wrong?

    Dick Lipton, Gödel’s Lost Letter and P=NP

    I was led to this amusing article by reading another amusing paper published in the Bulletin of Symbolic Logic, entitled “An Editor Recalls Some Hopeless Papers” (Hodges, BSL 4:1, March 1998). Hodges paper makes an account of various “refutations” of Cantor’s diagonal argument. Doing a little more poking around, I found Lipton’s article.

    Lipton demonstrates some interesting results that would be valid if the reals were countable. The most straightforward of these (for me at least) is that if the reals were countable they would be well-ordered!

    Audio Fingerprinting with Python and Numpy

    Will Drevo, WD

    Maybe I’ll use this in a little pet project I have going at home (machine learning to identify clusters and classify my music library by genre accordingly), maybe not.

  • Prof. J. Yang: Nonlinear Waves and Their Application

    Yesterday, I had the pleasure of attending Professor Yang’s University Scholar Lecture: “Nonlinear Waves and Their Application.” This presentation was for a general audience, and not specifically for applied mathematicians or engineers.

    Nonlinear waves are, well, nonlinear, which means that they are described by nonlinear equations and that there is no general method for solving them. Specifically, the superposition principle that’s so handy when solving systems of linear equations generally does not apply.

    Being unfamiliar with Prof. Yang’s work, I found the range of applications he has addressed surprising. His presentation touched on a few:

    Event poster

    For more information:

    Addendum: 13 November 2017. I just met Prof. Yang in person and thanked him for the presentation. We had a brief but pleasant chat on the topic. He was very kind, very modest.

  • Processing Community Day / MIT Media Lab

    I plan on attending. I’ll have room for three two more in the car. Anyone from UVM interested?

    Processing Community Day
    21 October 2017
    MIT Media Lab
    75 Amherst Street
    Cambridge, MA


    MIT Media Lab

  • August 2017 Blogroll

    Programming as if the Correct Data Structure (and Performance) Mattered

    Tom Ellis, H2 Wiki

    Simple and to the point. I wonder how many opportunities like this are lurking in my own code. :/

    Dijkstra was right: recursion should not be difficult

    Maxim Koretskyi, Medium

    Interesting, with some good examples, including some examples from functional programming. I suspect if folks learning to write software were introduced to functional programming earlier, then recursion might not seem so difficult.

    Sound Matters

    Super Symmetry (Amsterdam)

    A rather odd approach to audio fingerprinting. But pretty!

  • Cook Demolition

    Cook is coming down!

    Cook demolition

  • Please G*d Kill Me Now

    For any Pythonistas out there. Found in someone else’s code:

    except UnicodeEncodeError:
        logging.error(u"Please god kill me now. {}".format(s))
  • Norbert Blum Claims Proof of P≠NP

    I’m working my way through this and will spend more time on it this weekend. Certainly I’m not qualified to judge, but there are some interesting bits to ponder.

    ARXIV.ORG [1708.03486] A Solution of the P versus NP Problem

    Fortnow, Lipton, Aaronson have all given a preliminary thumbs down without providing specifics. The next few days should be interesting. Chances are, of course, that it’ll get shot down.

    For others not hip to the significance of this, here’s the tl;dr: Hard unsolved problem in computer science with important implications. Clay Mathematics Institute has offered $1,000,000 for solution. Many experts in the field believe that we’re a long way from a proof. Elderly—but highly regarded—theorist from Germany just lobbed this hand grenade into the discussion. Surprising in that it uses fairly conventional techniques and none of the newfangled tools that others are working on.

    Update 2017-08-19: It’s looking bad for Blum. Alexander Razborov gives it a thumbs down.

    Update 2017-09-01: Blum has acknowledged proof is incorrect. “The proof is wrong. I shall elaborate precisely what the mistake is. For doing this, I need some time. I shall put the explanation on my homepage.” Look for statement, once released at http://theory.cs.uni-bonn.de/blum/


  • What Happens?

    What happens if I try to put a formula in Markdown? Does this work? Let me see.

    Oh, dear. My first try did not look so good. But this looks OK…

    You need to put a link to MathJax JavaScript into your head. That sounds funny, doesn’t it. “Into your head.”

    And you need double dollar signs, not just single dollar signs. Like this…

    $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}$$

    Anyhow, it works now. Yay.

  • Building a Data Science Pipeline

    I attended Wolfram’s “Building a Data Science Pipeline” webinar today, presented by Abrita Chakravarty.

    Here’s the diagram of the pipeline presented. Pretty conventional.

    Wolfram Data Science Pipeline

    (Image copyright Wolfram Research)

    The primary example used was a simple recipe classification project: classifying list of ingredients in the pantry by cuisine type to determine which recipes might work with what is on hand. (Yes, a little forced, I know.) Chakravarty walked through importing data (in JSON format), doing a little tidying up, partitioning the data into training and testing sets, running a few iterations of training, testing, and interpreting results.

    It was a decent overview of supervised learning for classification, but their (implicit) pitch was not sufficiently compelling to induce a change of toolkits.

    If you’re interested in seeing the workbooks they provided, please let me know.

  • Clustering of Traffic Signals in Charlotte, NC

    Showing clustering by geolocation (lat./lon.) of traffic signals in the City of Charlotte, NC, Traffic Signals (data from https://catalog.data.gov/dataset/traffic-signals-67768)

    Toolkit: KeplerMapper Python class for visualization of high-dimensional data and 3-D point cloud data.

  • Quantitative Reasoning

    UVM adds quantitative reasoning requirement for general education. Good move.

    Memo: Approval of a proposal for a University-wide General Education requirement in Quantitative Reasoning

  • Ramsey Theory

    Giving a presentation on Ramsey Theory today. Wish me luck!

    Getting ready

  • March For Science

    March for Science, UVM / Burlington, VT. I was pleased to see so many people!

    Outside Royall Tyler Theatre

    Outside Royall Tyler Theatre

  • Chalk Fairies Are Real!

    Earlier this AM I saw a chalk fairy—a real bona fide, honest-to-goodness chalk fairy. He was extremely diminutive and looked to be about 100 years old. Sighting occurred in Votey.

  • LaTeX Styles for Fitch

    If you’re studying logic at UVM, and if you’re interested in creating Fitch-style proofs in LaTex, and if you want them to look like the proofs that are presented in Language, Proof, and Logic (2011; Barker-Plummer, Barwise, and Etchemendy; CSLI Publications, Stanford, CA), then this fork of Peter Selinger’s LaTeX macros for Fitch style natural deduction is for you!

    Selinger is Professor of Mathematics at Dalhousie University. His website is http://www.mathstat.dal.ca/~selinger I have only given his macros a tiny tweak.

  • My Valentine's Day Message To Gary Derr

    via email

    Dear Mr. Derr:

    I usually read your email messages with great gusto. However, your most recent Announcement and Events excludes an item of such importance that it must be reported – it cannot be swept under the rug! Of course, I am referring the results of the recent poll conducted on MyUVM where students indicated, by an overwhelming majority of 95%, that you – yes, YOU – were the thing they most loved about UVM. You won by a landslide. This is new. (Poll results attached.)

    I hope to see this item reported in your next missive. Otherwise, please expect to see protestors assembled outside of Waterman peacefully, but fervently, demanding justice.

    Thank you very much.


    Derr email

  • McCullen Pi and Arduino Show and Tell

    I had the pleasure today of attending Kevin McCullen’s IEEE-sponsored presentation of… well, honestly, gadgets, doodads and the fruits of his tinkering. The presentation was hosted by Global Foundries, in Essex, VT.

    Kevin is an assistant professor of computer science at SUNY Plattsburgh and long-time friend and associate of David Hathaway (who taught computer architecture / CS 222 when I took it at UVM).

    Kevin presented a number of projects he’s worked on in his spare time using Raspberry Pi and Arduino. One of my favorites was a humidity sensor he used to tell if his kids had showered in the AM when they were supposed to!

    I have a Pi lying around the house here somewhere. He’s inspired me to turn it into a streaming music server for my home. I’ll let you know how that turns out.

    Update 2017-05-20: I’ve set up my Pi to stream audio from my NAS using the Volumio music library. We just upgraded by installing a IQAudio Pi-DAC+.

    DAC hat

    This is really easy to do and our system now has audiophile-grade output.

    Here’s how:

    • Volumio is free. Download disk image and burn to microSD card (16 GB or up).

    • Almost any Raspberry Pi other than the very earliest models will work. Replace the OS / disk image that came with the Pi with the microSD with the Volumio image.

    • Connect to your LAN so that the Pi can discover your NAS. In configuration select your NAS as storage device. Volumio will automatically begin scanning and building your library.

    • At this point, you will have a functional streaming music server. Connect audio output to powered speakers or your stereo and you’re off to the races.

    • UI is accessible from any device in your home with a web browser.

    • For the audiophile upgrade: Get the DAC hat from IQAudIO. Assembles in a minute; no soldering. Change Volumio config to use an I2S DAC. For DAC model, select IQAudIO DAC Plus. Reboot your Pi. Done.

    Lemme know if you have any questions.

    Update 2017-07-12: The fun part: getting all your files cleaned up and categorized. As I have a (clearing throat) very large music library, updating tagging manually just isn’t practical. So I made use of the superb Mutagen library for Python, and wrote a few programs to remove unwanted tags, clean up remaining tags, create missing tags as needed, and programmatically assign genre tags to files. Mutagen works like a charm. The API is easy to work with and supports almost any file type you can imagine (I have MP3, M4A, OGG, APE, FLAC, and WAV files in my library). My only complaint (and it is minor) is that there are slightly different interfaces for each file type. I suppose this makes sense since, for example ID3 tags are highly structured, and FLAC tagging is pretty much a free-for-all. Nevertheless, I’d have preferred a little more in common between types. No biggie though, and Mutagen retagged and saved tens of thousands of files without incident. If you’re interested in the source code, please let me know.

    Update 2017-08-15: Still unsatisfied with genre tagging so I’m embarking on a little (supervised) machine learning project to extract fingerprints and then categorize audio files by genre. This bit will merit its own post. Stay tuned.

  • It Pays For Everyone To Be Nice

    Resilient cooperators stabilize long-run cooperation in the finitely repeated Prisoner’s Dilemma


  • Generator Presentation at IEEE Meeting

    Attended IEEE Green Mountain Sections awards ceremony and presentation by Lars Hasselblad Torres, of Burlington Generator. Torres gave a brief overview of Generator’s activities and expansion into their new space on Sears Lane (off Pine Street). For more information, visit the Burlington Generator’s website.

  • Peculiar

    Some professors are more-or-less normal. Some professors are peculiar.

    Some professors are more peculiar than others. Most times, peculiar is good. This is one of those times.

    I am learning a lot, so I am very happy.

    It is hard, hard work, and I am very happy.

  • A Proper Preamble

    A proper preamble:

    # This is my.cnf. There are many others like it, but this one is mine.
  • Eytan Bakshy Seminar

    Attended Complex Systems Group seminar “The role of causal inference and machine learning in engineering complex systems”, Eytan Bakshy, Data Science Team, Facebook

  • Back In the Saddle Again

    Hey there, cowboys and cowgirls.

    I am back in the saddle again. Yippee-yai-o-kai-yay!

  • No Classes For Me This Fall

    Wow. Summer session went by very fast.

    Here I am, but I will not take a class this semester. This makes me unhappy.

    Boo hoo.

  • Summer Session

    I am back in school this summer. Are you?

    The snow is gone.

    Campus is quiet. Library is very quiet. That makes it easier to study!

    On weekends I will go hiking. But I will always dream of snow.


  • Hello There

    Hello there. How are you? I am fine, thank you.

    I study computer science and mathematics.

    You may be very far. You may be very near. I do not know. Nevermind.

    If you see my dog hat, you know it is me.

    Dog hat

    Think snow. Good-bye!

  • Static Typing

    Often I wish that natural languages had static typing of return values for questions.

  • C. Brandon Ogbunu Seminar

    Attended Complex Systems Group seminar “How Bugs Invade: Arrival (and Survival) of the Fittest Bridges”, C. Brandon Ogbunu, Department of Biology, UVM

  • Computer Science Research Day

    Attended UVM Computer Science Research Day presentations in the Davis Center.

    Talks by

    • Elke Rundensteiner, Worcester Polytechnic Institute, “Complex Event Analytics on Big Data Streams”

    • Josh Bongard, “Crowdsourcing Education”

    • Maggie Eppstein, “Assessment, Visualization, and Mitigation of Cascading Failure Risk in Power Systems”

    • Byung Lee, “Causality over Event Streams”

    • Dawei Li, “Genetic Association Studies of Mental Disorders”

  • I Am Going Back to School

    Yay. I am going back to school.

    It as been a very, very, very long time since I have been in school.

    Going back to school makes me happy. Also it makes me a little nervous. But is is good to learn new things. Don’t you agree?

    Study hard! Good-bye!