Skip to main content

Qualitative Data” is Experience

Being “data-driven” is a common refrain - often followed by an insistence that people consider both “quantitative” and “qualitative” data. The subtext is that, on their lonesome, numbers are incomplete, and possibly cold and insensitive. Human intuition, and compassion, is necessary to supplement dry quantitative analysis.

Logic is, in fact, incomplete - though not really in the way most people think. And the human perspective is integral to many decisions (as they impact humans) and should not be neglected.

But the best way to balance “quantitative” data (henceforth simply data) and human needs and perspectives isn’t to conflate the two. Doing so dilutes numerical explanations while skewing opinion, leading to an overconfident “data-driven” rationalization of what is actually a distorted analysis.

Data (in the modern “data science” sense of the term) is a series of observations, consistently recorded facts and information. It is inherently quantitative (even if it is categorical, messy, or unstructured), as each observation can be enumerated, and on that basis some form of statistics can be calculated (at least counts, aka quantities, for unstructured data - and that’s before applying whatever clever techniques to engineer proper features).

Qualitative information (N.B. not data) is about qualia - a concept even fuzzier than NLP and unstructured data. You can (and should!) dive into the sundry academic perspectives, but for a pithy contemporary take:

Tragedy is when I cut my finger. Comedy is when you fall into an open sewer and die.” - Mel Brooks

Read more…

Codebases are Amortized Intelligence

Anyone who has written more than a handful of lines of code gains the intuition that measuring productivity in terms of code quantity is not a promising approach. But the perception that a codebase is an asset - whether proprietary or otherwise - is present even in engineering cultures.

How do we explain that having code is worth something, but measuring work in terms of writing it isn’t? One answer is that lines of code are valuable, but in such a nonlinear and context-sensitive way that counting and assigning some sort of score is futile.

I find that perspective compelling - but incomplete. To understand why code is valuable we have to first ask what a codebase really is.

Read more…

Profit from Effort

A continuation of Profit as a Series of Asymmetries.

When one party is monetarily compensated by another due to their hard work, that is capitalism “working as intended.”

Work reduces not just to capitalism, but to physics - it is the energy transferred by applying force to effect displacement. In other words, it’s pushing stuff around, and when considered figuratively it is an apt description for many capitalistic enterprises.

Read more…

Monad Lisa

#!/usr/bin/env python

class MonadLisa:
    """A Monad-ish structure containing the Mona Lisa."""

    def __init__(self, func):
        """Set Mona Lisa inner state, execute function."""

        self._mona = """
        8'-    -:8888b
        8'         8888
        d8.-=. ,==-.:888b
        >8 `~` :`~' d8888
        88         ,88888
        88b. `-~  ':88888
        888b  --' .:88888
        `88888| :::' 8888b
        8888^^'       8888b
    d888           ,%888b.
    d88%            %%%8--'-.
    /88:.__ ,       _%-' ---  -
        '''::===..-'   =  --.  `
        self.error = None
        self.result = None

    def _run(self, func):
        """Run function on inner state, set result or error."""
            self.result = func(self._mona)
        except Exception as e:
            self.error = e

def run_examples():
    """Examples of the MonadLisa class."""
    print("Monad Lisa examples")
    print("Each run instantiates a MonadLisa")
    print("and gives it a different function")

    print("\nm1 is the built-in 'print', causing below side effect")
    m1 = MonadLisa(print)
    print("m1 error:", m1.error)
    print("m1 result:", m1.result)

    print("\nm2 is the identity function")
    m2 = MonadLisa(lambda x: x)
    print("m2 error:", m2.error)
    print("m2 result:", m2.result)

    print("\nm3 is the built-in 'abs'")
    m3 = MonadLisa(abs)
    print("m3 error:", m3.error)
    print("m3 result:", m3.result)


Thoughtless Niceness

In erstwhile eras, when “corona” referred to astronomical halos and terrestrial beverages, certain behavior was, in some circles, considered nice. Small talk in grocery stores, Girl Scout cookies sold door-to-door, surprise birthday parties - all assorted opportunities for spontaneous social interaction.

The (apparent) intent of these events was always benevolent - and many participants derived as genuine of joy as most of us can claim to. The sudden shift to pandemic life was particularly challenging for those whose identity centered on communal engagement - but it also offered an opportunity for an unprecedented introspection into what we do and why.

Read more…

Fortune as Cognitive Bias

Think about the most money you’ve received as a windfall - perhaps you deserved it, but its arrival was unexpected. You could have literally been gambling, or simply been in a situation that favored you in unanticipated ways.

Similarly, think about the most money you’ve ever lost unexpectedly. Again, you might have been gambling - or maybe you suffered a very real loss, and whatever form of insurance that should have mitigated the situation was inadequate.

For both of these, you should focus on situations with immediacy. Getting a raise or taking a loan both have substantive impacts on your finances, but neither have the psychological punch of a poker hand.

Our fortunes, good and bad, shape us in many ways. Their direct impact is most obvious, but they also become perceptual reference points.

Read more…

Typing is Thinking

You probably type a lot.

It’s a pretty strange thing, considered historically. Rather than interact directly, we serialize our thoughts and send or broadcast them (often lossily and asynchronously). In the past, written correspondence was an occasional luxury, used for special purposes and communiques. Now it is our default mode, how humans reach one another for work, family, friendship, and more.

The modern ubiquity of literacy is a societal boon and equalizer - but the accompanying commoditization of communication has had unexpected side effects. We produce and consume - materially and ideologically - yet despite the prodigious growth of production, consumption has become so automatic as to outpace it for most individuals.

But this post is not yet another consideration of “doomscrolling” (see my previous post if interested). This post is about the creative side of the equation, and will hopefully encourage you to consider and create a bit more yourself.

Read more…