Featured

Time and empathy

The primary attribute I try to look for in a person is how small or localized their temporal perspective is. Are they curious about people that existed before now? About how their actions will affect the future? Are they truly aware they have no more right to exist than any other person?

Most importantly, can they combine data from past and present events and use that to make practical, educated guesses at future events?

For many people, this isn’t only something you do, it’s part of who you are.

For many other people, though, their concerns are confined to the more immediate – the time settings, loops, and games in which they directly are involved – their job, their family, their neighbor – but not their neighbors neighbor.

What terrifies me is exactly that – the tiny locality.

When you don’t look into the past or future, it means your decision-making is based on the assumption of a static reality – a reality where things generally remain the same. A set of consequences that permanently affects reality, if it’s too dissimilar to the current reality, is never considered.

To paraphrase Dan Carlin:

QUOTE

“I think it’s something encoded into our DNA – that we’re conditioned to believe our society is the last and final version of humanity. There will be no more revisions, because we got it right this time. In my research of history, nothing stands out more than the realization that *every civilization thought that*”

END QUOTE

About 12 years ago was when I truly noticed, with a full bearing, that horrifying, quiet awareness most of us have, kept deep inside: how close we are to ending ourselves, that I’m a powerless, insignificant node in a machine intent on cannibalizing itself, and that I am unable to change anything.

That “Statue of Liberty sticking out of the sand” fate (to quote Carlin again) – it destroyed me. I went deep into self-harm, self-isolation, depression, and drug use. It was so permeating, so self-absorbed, that it permanently ended multiple friendships I had then.

I do mean it destroyed me- I’m so fundamentally different from the man I was then, that at times, I feel like I’m recalling implanted memories.

Do I have hope? It depends on the time range. I have hope for our species, if we can manage to escape the loop first.

First the positives… It seems that scientists are close to being able to harness antimatter and now-discovered graviton particles. Perhaps within a few centuries, human travel beyond the confines of this system will be trivial.

The qubit, once the ~spooky action~ isn’t so spooky anymore, will completely revolutionize computers. I’m not going to pretend I understand how to design hardware and software in which hyper-localized teleportation and time travel is the fundamental building block, but I grasp enough to be aware of the applications.

But first, as it goes, maybe the forest has to be burned down, so that clearings emerge, and new things can grow. That’s purposely vague because I concede there’s thousands of ways these apathetic ass clowns could bring it about.

Hell, the World Wars started because some pissed off teenager in Eastern Europe named Gavrilo killed a somewhat minor Austrian politician outside of a deli. Doesn’t take much.

Of course I hope I’m wrong – but if I’m right, I need you to know that I believe all of you to be survivors. You *are* the type to murder 63 zombies on the way to get milk in the morning, if that’s what it takes. You will weld seven schoolbuses together and bury them underground to make a bunker if the need arises.

*gets on soapbox, straightens tie*

They have the money, the power, and the loud, infectious voices.

We have something much more useful in the long run: time, and empathy.

I’m going to spend this week being around people I care about, making music, and shutting out the nightmare a little longer.

I hope anyone with whom this may resonate is ok. ❤️❤️❤️

A macabre scherzo of plotting sibilants

‪Nearly every night, I fall asleep to the sounds of drone music, ambient noise, a podcast, or an audiobook. I use the built-in speakers on a touchscreen tablet. ‬

‪Tonight, it was the ‘Hardcore History’ podcast; specifically, a three-part series about the Punic Wars. ‬

‪Because of the length, it can play for several hours after I’ve fallen sleep. I enjoy it because it’s like being wrapped in a magic blanket made of stories.‬

‪I got up at 4am. As I woke and ventured to the bathroom, I passively made note of a familiar episode playing. ‬

‪The tablet has moved around a little, with the speakers partly muffled under a blanket.‬ this reduces the bass, but keeps the higher-frequencies.

‪I live in an old house with bizarre acoustics; sonic reflections can ping-pong in ways that make the reflection appear to emerge from places distant to the generating audio source.‬

‪The physical properties of the house are such that plosives and sibilants (“p” and “s” sounds, and other related phonemes) reflect with a chorus-like effect.‬

My business in the bathroom concluded, I descended to the first floor, graduating myself to the familiar role of Person Eating Snacks When They Shouldn’t.

By then, I’d either forgotten whether or not audio was playing upstairs, or that bit of information was never stored in the first place.

My snack business concluded, I made my way back to the bedroom.

That return journey was entirely uneventful, with one exception – a two-second period which I’m now able to decompress and share – with context.

—-

A macabre scherzo of plotting sibilants scurries by me under the floorboards, taking final refuge in every dark ceiling corner, tickling my ears and inciting dread with thousands of rude, sawtooth-wave tendrils.

For a moment, I consider the impossible – a question I suspect most adults quietly find themselves asking throughout their lives, given a similar situation.

Am I experiencing a supernatural event?

Are demons about to congeal from my wall and steal me down into the fiery depths of hell for eternity?

What if the multiverse theory is real, and I’m hearing trans-dimensional signal overflow from another reality? Can they hear us?

Or perhaps I’m telepathic and hearing the thoughts of my neighbors as they dream?

A mercilessly rapid array of these considerations flies through my mind in milliseconds. I’m now paralyzed with terror and wonder, ready to embrace this new discovery about the universe.

In my heart I know it’s aliens. They’re finally here for me. Maybe I’m ready. Maybe not. They could’ve picked me for a reason. I don’t care. NO – I won’t cry. I need this. No one needs me here. I will go. Make the sacrifice for our species. I will find a way to come back, to tell them all that we are not alone, there’s hope, there is life beyond our star system, and they’re not going to let us obliterate ourselves. But even if I die immediately from cardiac arrest, at least I’ll know. I’ll know the truth. Take me.

—-

“Ah, right. The podcast. I’m an idiot”.

Personal goals publicly stated in response to the arbitrary incrementing of the solar year for this star-system

The solar year is the period of time for the ecliptic longitude of the Sun to increase about 360 degrees relative to the perspective of the Earth. It’s not precise, since it varies from year to year depending on the days each seasons’ equinox occurs, but it’s an adaptation upon which my species (Humans) has come to depend.

In many cultures, this event is celebrated in different ways:

– A “party” – one of the greatest inventions of Humans
– Promiscuity and other mating behavior
– Depression
– Temporary modification of ones mental and physiological parameters via “drugs”
– Declarations, usually public, of various changes you’d like to make to your own life, coinciding with the new solar/tropical year.


It’s the latter tradition that I now employ; I’m going to claim I’ll do some stuff, even though it’s proven that doing so actually harms your ability to complete the task.1


To be more specific, these are things I’m already doing, but will do better.

1. Volunteer more efficiently

As the line goes – I’m spread thin. Several of these efforts are things that can be done by others just as well – there’s nothing of benefit that’s specific to me being the particular asset. I aim to engage others to take over in my stead.

Like too little butter over too much bread.

Bilbo Baggins

2. Allow failed projects and experiments to die an early, noble death.

I have a real problem letting go. It’s a very good thing when I’m debugging code, or memorizing music, or learning a new skill – that of “deep work” from the famous book of the same name.

But it’s bad at scale. When I’ve tried something, given it my best, and I’ve still failed, I hit replay. Whether conversation, code, music, electrical engineering – it doesn’t matter.

Because I’m involved in many seemingly disparate things, it means I fail a lot. Outwardly, it can even seem shiftless, since few would know the common goal tying it all together.

There’s a monolithic chant in the professional culture of which I’m incidentally a part…

failure is super great wow we love failure mmm good stuff omg, so much learny time.

Tech

That’s fine if you let go, apply what you’ve learned, and move on. Not fine if you circle back to it, trampling the problem into a nebulous mud of exasperated debugging and over-analyzation.

3. Shutting up even more: remain silent about larger pursuits.

I’ve found this works well for me. Last year I decided not to speak at conferences for the foreseeable future (context). I’ve been working on a few bigger projects the last few years, and have so far resisted the urge to share or announce anything prematurely. I aim to continue that.


That’s really it. Thanks for reading my blog.

Waste disposal anecdote

I’ve been experimenting with a new routine when emptying garbage bins. When the garbage bag is full, I empty it immediately, instead of interpreting it as a challenge to create an intricate, fragile steeple of waste matter, incrementally building it to the stars with each gingerly-executed Jengic ascension.

It’s less fun, but also less smelly.

Identity crisis

I wanted to register for a conference, not have an identity crisis.

how-describe-self

I’m looking forward to completely re-doing the registration for conference tickets next year. There’s this and many other that are incidentally structured in a way that can have an exclusionary affect on the attendee.

If a reverberated delay chain is left running unattended all day, does it make a sound?

Yes, it does. A very caustic, interesting sound.

Yes, it does make a sound. A very caustic, interesting one.

I left the house today, and in doing so forgot to disable a considerable DSP chain of various delays and spatial effects in a project I’d worked on this morning. When I returned home, I didn’t hear it at first (the studio is far from the entrance I typically use to enter the house).

The sound is generated from an unknown source (it could’ve been any number of VST instruments, synthesis, or samplers, as all are present in this particular project). I’m guessing the culprit was the primary signal, a series of textural modifiers that generally follow this architecture:

[source] -> [1-16 digital delays, consecutively chained] -> [last few delays looped back into the first delay] -> [reverb effects]

When I returned home, I became aware of the sound through a series of graduating realizations:

That’s an interesting siren…police? No. An ambulance? Definitely not. What the hell vehicle is that?

I then approached a window in the study to see what machinations were responsible for making such a bizarre structure. As I got closer to the study, I in tandem approached the stairs leading to the studio.

My hearing then corrected for the spatial assumptions the brain had made in order to fit the sound into the nice little version of reality in which I resided upon first hearing it. Then I knew.

I knew it was coming from Buzztracker. I knew I’d forgotten to at least turn down the volume. As it turned out, I’d thankfully not destroyed any monitors or other devices.

Digital audio feedback is difficult to assign a flavor, or even coax with any surety. You can get baseline behavior, of course, but calculating the behavior and shapes of longer-living structures (such as this) are, in environments as complex as modern electronic music composition, a solid, non-logical axiom against a sea of chaotic variables. It’s great.

Note – this is a very< in your shit sound, and may damage your hearing if you listen too loud. This is an mp3 at 320kbps (or an ogg, if using FireFox). See below for the .wav.

Here’s the wav, feel free to use it for anything you’d like.

Transitioning from client services to products

I amicably departed from a developer lead position at WebDev Studios, and joined the product team behind products like EDD, and AffiliateWP this past May.

I’m new to some of the organizational and interpersonal components of product teams, but more to the point, I was consistently surprised by the differences in how I work.

Although I’m just a few months in doing this full-time, I want to note some of the observations in transitioning into full-time product development from full-time client services, because wow. Different.

Here are some of those observations in no particular order.

Commit behavior

Commit good stuff, not an arbitrary timestamp of progress. With client services, common project management expectations mean that a supervisor/lead needs to code-review regularly. It was something I did multiple times per day, every day.

It may also mean that frequent updates need to be sent to the client. If you’re leading a team with several active projects, you can’t look through everything in detail, or have a call with every person on your team. So, you make it easy. At the end of every day, everyone pushes what they have – even if it’s not working (just don’t take down the dev site). Occasionally, a short scrum is adequate instead. For any very particular or abstracted things, you need some code perusin’.

This is a dynamic I’ve found my co-workers, today, don’t care about in a daily context. What they do care about is the stability of the software, and not having to potentially bisect a heap of commits beause of some janky commit.

Regular communication and progress notes are certainly just as important, I just (try to) do it without committing until the thing works1.


QA

If you’re in the business of creating websites or apps for clients, consider this:

How do you sell unit testing?

Unless your client is another engineer/developer/ etc, it’s tough to communicate why a considerable portion of the budget should be set aside for testing.

What gets tested on sites? The appearance, and the apparent functionality. We’re all familiar with this round of issues on a project:

– This doesn’t work if the .csv file is larger than 2mb.
– “The numbers are wrong” -> Replicate issue -> Yay, a floating-point corruption is modifying integer values.
– A memory leak in your sort method gradually coaxes the operating system into a kernel panic.
– This looks weird || broken || bad in IE.
– Unicode.
– “We changed our minds, so”.
– Unicode.

Many agencies try to work in actual unit testing when possible, but the budget and time constraints frequently make this impossible.

If you’re thinking: “Just don’t tell the client! Bill them whatever it’ll cost with unit testing. Make it your requirement!”

Then you’re either one of the few people that are in such high demand that you can make these demands, turning a project with a budget of $x into one with a budget of $x + $x, or you’ve likely not spent much time doing client work. Either way, you’re a fan of writing tests, so good for you.

Prior to this position, my only experience with unit testing was with Mocha, qUnit, and Jasmine – and for concerns testing bare logic chains – essentially basic mathematical proofs. Those I could do, as the necessary deconstruction is all there for you.

The abstractions used in software development so far are very different, and requires similarly different thinking about the reduction of components when creating tests.

I suck at unit tests. But their value is abundantly clear. Thankfully, I have some coworkers that hate me have been willing to share their experience and help me when needed.


Too much ghost mode == bad

In short, don’t arbitrarily isolate yourself when building something, madly toiling away in a corner, only to emerge weeks later with whatever machination you’ve created.

At agencies, especially in supervisory positions, it’s sometimes a requirement to completely unplug and be unavailable (unless a server is on fire). I say requirement because it can be the only way you’re able to get something done that isn’t tied directly to project management or code reviews. It’s a necessary evil, and something you learn to balance.

In contrast, software development thus far is very hands-off. You’re given the flexibility to create, at your own pace, during the time you know you’re most productive. This is a freedom I wish every coder could know.

But it also introduces a risk of working on something without feedback for way too long. This is bad for any team, of course. For remote teams especially, communication is crucial.

Do you feel you’re way too experienced for this to happen to you?

I’ve talked about this at meetings with teammates, notified developers one-on-one that they need to communicate more, and even was forced to let someone go because of zero regular communication for weeks at a time. So you can imagine my surprise when I realized that was the very first thing I did when building my first product feature. It can slip in quite easily.

If you don’t check yourself, you may or may not find that you’ve wrecked one or more things, including, but not limited to, yourself.


I end with something that has been identical in both career directions: support.

Support is the same: super, super important.

No team gets my praise as much as one that has extreme dedication to their customer/client support efforts.

Both the prior and present companies are the embodiment of this. Documentation, response times, and overall commitment and quality make an unbelievably significant difference with how customers/clients view you, share your stuff with others, and stay with you.

As long as I’m still writing code, I’ll always want to have some connection with the people making use of it.


  1. Or, at least until I think it works.