Ten Simple Rules for Reproducible Computational Research

This link via irreal is another “must read” if you’ve never done systems work before (coming from a system person myself, not a data person).

Ease of use in Cask 0.6

Cask is the best way to manage your Emacs packages and MELPA is the best place to find them. Because not all packages are set up to be run specifically with the packaging in mind, a lot of feature are still loaded manually (additionally, I am to be blamed for setting them up incorrectly and needing to do something manually in the first place). The convenience with the approach below is never having to update directory paths with each new release of your favorite package on MELPA that may so easily be installed with a cask update. Cask is still under active development, though, so this code may break eventually (my previous approach for example broke as of the 0.6 release).

Continue reading “Ease of use in Cask 0.6”

The Infinite Abacus

An Infinite Abacus (AIA) is both a mathematical and computational tool. Its features include the ability to store any kind of numerical measurement along with the ability to retrieve it. Conceptually it may record any number of measurements, but from an analysis perspective it would only make sense to record a single value “on” a particular device (datum), and as many as you see fit “with” a particular device (metadata). Its beads and frames may be used to model various computational systems, but it is not a mandatory feature of the tool.
The AIA should be viewed as a physical device that lives within the constraints of this reality but also exists beyond them. You may work with 1 of them as easily as you would work with 1 million of them. Additionally they have no identity or location within the time-space continuum, but for the sake of analysis they may be granted those elements for the sake of modeling so that spatial and material-property analyses may be performed given attributes of each AIA that we find valuable. AIA is not subject to death or decay. They have no mass of their own, or value of their own; instead they live only to serve. The masses of the things that they define, though, maybe be utilized; along with the reason for their existence.
The computational engineer is responsible for defining, allocating, collecting, analyzing, refining, and redefining a system of AIAs. An iterative processes is repeatedly performed as new AIAs are revealed and existing AIAs are returned. The primary limiting factors in defining a system of AIAs are the ignorance of the fundamental nature of this reality that comes with being human, the limited cognitive capacity that comes with it, and the relatively small knowledge base held by humanity given the magnitude and volume of the entirety of reality.

The Role Of Compiler and Interpreter Writers

Compiler and interpreter writers fill a delightful yet barely occupied role of those who are tasked with bridging the literal gap between machine and implementation and philosophical gap between desire for feature and fulfillment.
My lack of experience in the topic and with such professionals leaves me surprised that not more roles and holders of the expertise exist compared to the more common areas of implementation.