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.

Goal: scolding among harpsichord/solarium

One of my greatest goals as an adult is to artfully scold a child as I play harpsichord in a solarium. I haven’t achieved this yet, but I wake every single day with the hope and prayer that one day I’ll make it there.

If a reverberated delay chain is left running unattended all day, does it make a 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.

My never-ending quest to shut up

A word that I’ve noticed is frequently used to describe me is charming. I think what some have termed as charming is really a high amount of curiosity, manipulation, and attention to micro-gestures and other behavioral cues – which provide contextual data in nearly every interpersonal encounter, or at the very least, betray some position held by my conversational partner.

This data is then used to steer the conversation, amuse, or complete some other related objective.

Maybe that’s the definition of charming? I’m not going to check, but you can. Go ahead, I give you permission as WebMaster of This Blog.

I have many friends and colleagues that are extremely shy, or introverted. Some have asked how they can be more open, meet people, engage more in conversation, and the like.

While I don’t mean to belittle these goals, let me share a different world. My world. It’s a world of quickly-made friends, constant conversation with strangers, too much volunteering, and a problem saying no. 1

Most importantly, it’s a world where The Burn-out Meter is constantly running.

The Burn-out Meter isn’t a real object. If you work at a computer every day, you’re probably very familiar with the concept.

The goal is to keep the value of this meter at golf-like digits. Zero – par – is the ultimate achievement. This occurs, usually, only when I take explicit vacations. No coding, no music composition, no client work. Nothing but rest.

Any other time, this meter is at a non-zero integer value. It gradually grows, with me aware of the rising value.

Most of the things that contribute to burn-out I’ve corrected, or I’ve cut them out of my life, when possible.

Yet the biggest offender remains – the big one that controls and feeds the others: I never shut up.

If you’re an introvert, imagine with me a world with these variables changed:

  • You are now exceedingly charming; nearly every encounter, from gas stations to restaurants to parties, and nearly everything in between, usually results in conversation with someone you didn’t know before that moment.

Sounds like a TED talk moment, I know. Keep going though:

  • You make friends easily.
  • You enjoy helping others, and find yourself your mouth volunteering for things before you know what’s going on.

Aww, isn’t that sweet. No. In writing, I realize, it could seem like I’m steering this toward telling you to open up more or whatever, or that I may be bragging about some magical insight I have into the human condition.

Not the case. Here’s why – the most important variable is this:

  • You can’t turn it off. Why? I have no idea. 2
  • Ultimately, it’s because you (I) have a problem shutting your (my) big mouth.

Here’s a practical example. Let’s say you’re waiting in a queue/check-out line, at a consumer goods store. A person walks by, and you notice they have a very pleasant, familiar smell. Oh! It’s pipe tobacco and lilacs – a unique combination. Or maybe it’s a particular perfume, combined with the smell of cedar.

Why is this smell so familiar to you? You struggle to wring the reason from your mind, as the stranger gradually fades from your life. Milliseconds become centuries as you mine your thoughts for the source. Silently, in another part of your brain, you wonder why this is so fucking important a task to you.

Finally, you arrive. Your mind gifts you the source of this olfactory bliss: Your uncle’s friend, the owner of that neat little horse farm in upstate New York. Or perhaps it’s your aunt, or a former teacher, or your old cell-mate Joey.

By now, there’s only one person left in the line ahead of you. The lovely-smelling person is about twenty paces away. What do you do?

Gradually, I’ve learned that the most common thing to do is apparently to remain internal. You thank your nifty brain for giving you the memory. Maybe you call the lovely-smelling benefactor from your past, or you go purchase some pipe tobacco and lilacs. What you don’t do is leave the line, and go talk to the lovely-smelling stranger, because that’s weird.

And how would you phrase something like that? Um excuse me, you smell good. Why do you smell good? Can I be your friend? Let me smell your hair.

Of course not. Back to the scene; now it’s your turn in line. You pay for whatever it is you came for, and get in your car.

I do not; I’ve already been talking with the lovely-smelling stranger for two minutes by this moment.

I won’t attempt to articulate how one approaches others in these contexts, or how to phrase things like this – I’m sure many have done exactly that. But on that note, I can assure you – there’s always a way to phrase it.

More importantly, why did I leave the line? Infinity. That really is the reason.

  • What if they’ve had a nearly identical life to the person in your past which has that same wonderful smell? How weird would that be?
  • What if you introduce the two of them – new good-smelly and past good-smelly – and they end up writing the most amazing 80s pop-synth album the world has ever heard?
  • What if this person has a badass pair of neon orange pants, and through a gradually growing friendship, they end up giving those pants to you next spring, which results in you looking great on that particular day next spring, which results in someone else approaching you that later becomes your husband/wife/partner, which results in you having a child who, in her twenty-third year, invents a completely renewable energy source, which results in all of humanity having access to computers and clean drinking water, which results in a young boy from rural India receiving a computer they would’ve otherwise never had, which results in he and his sister studying theoretical astrophysics on their own, which results in them creating a new Grand Unified Theory, which results in scientists being able to create the first, true, faster-than-light spaceship engine, which results in our species finally being free of the chains of our solar system, which results in humanity finally being a member of the galactic community? 3

Don’t get me wrong, I hate people, too. But I love people. Learning about the complexities and ideas from another mind, to me, are irresistible. But my lack of an off switch can take a huge toll on free time, and, eventually, I’d think, sanity.

You know what prompted this post? I got up at 6, went for a run. Then I went to the store. Talked with some people, then we had breakfast at their house, and I showed the dad how to reset a router. This is the second time something like that has happened this month. 4

I had no awareness that this is uncommon behavior, until some friends, over several gradual conversations – some spanning many years – pointed it out in different ways.

That spawned a journey that eventually, this year, has lead me to this conclusion:

I need to shut the hell up.


The other side of this is my professional life. I’ve spoken at a fair quantity of conferences, and have had the opportunity to teach or lecture on behalf of some universities. What began happening, gradually, is a compulsion to speak. At times, speaking was no more than an excuse to see friends. I soon began repeating talks, or hastily preparing slides.

It wasn’t until my last speaking engagement – one for which I invested a considerable amount of time and effort – that I realized this should be every talk. If I can’t do this for every talk, I’m wasting everyone’s time.

I have little interest in speaking on instructional matters, eg “How to use (some code library intro, or programming style)”. That’s likely so because I don’t learn that way. I learn code-related things by doing. The best talks I’ve attended left me energized and inspired. The technical side of things I pursue later. I’m there to listen to the person, their experience, and what they’re sharing.

So that’s what I’m going to do. I’m shutting up unless I feel I have something of that quality prepared.

This is the first New Year’s Resolution I’ve ever made.

So far I’m doing OK with items that are somewhat easier to manage:

  • No conference-speaking engagements accepted or applied-to
  • No volunteering for code or music projects just because it seems cool.

The one-off social contexts are a bit tougher to see developing, though. How do you say no to extended conversations with strangers, or lunch with an interesting person? I think I’ll keep those.


  1. I will, however, always try to say no to the following: (1) requests for custom projects, and (2) my own capacity to over-engineer things.

  2. I’m a developer, not a psychologist! Haha we have fun around here.jim

  3. carl-sagan-dope

  4. the other was playing video games in a Target break-room. I do not work at Target.

An objective analysis and conclusion of the three best movies ever made

After a lengthy multi-decade period of research and analysis, I have concluded that the following three movies are the best movies ever made. Please note that subjective weighting concerns, such as humor, acting talent, plot, etc, were not considered in this process.

The following attributes were used to determine the rating of each movie:

  • Usage of color and cinematic composition (20% of total rating).
  • Whether or not there is a canine protagonist (80% of total rating).

This slideshow requires JavaScript.

I wasn’t accurate about the analysis part; this is really just a conclusion.

But the data is implicit! he said.

Mildly-amusing anecdotes about Mondays. Also, we all live in a waking nightmare.

Dear Readers,

As the two three of you know, I haven’t been blogging on my blog at all, which is bad. Anyways, welcome back to my blog. Blog blog blog, blog blog blog blog blog blog.

I enjoy writing, in many forms. For blog posts, it’s far too infrequent. I know myself enough to be aware that I can’t just order myself to write more. It won’t happen.

There has to be some incentive, or goal, or twist. The rules I came up with are:

  1. I will write each post from the perspective of me writing to someone in the future, a post-IOT future, in which many of the predictions of dystopia, economic anarchy, and cyber-feudalism reign.
  2. I will try to keep it short. I have this tendency – in most areas of my life – to turn projects into This Big Thing.Contemporary examples: I create a small tool to automatically update all repos in a dir. Done? Nah, let’s abstract it for general-use, build some options, account for different versions of git, explore porcelain and other plumbing stuff in git way more than I should for the scope of this project…

I’m not going to post daily. Assigning an arbitrary minimum-frequency goal sets me up for failure.

I don’t need another daily emotional blackmail and self-loathing trigger – I already have physical fitness stuff for that.

Is this one of those posts?

Yes it is. The Actual Post starts below:


BLOG POST SECTION

Working title: “Mildly-amusing anecdotes about Mondays, also we all live in a waking nightmare.”

BEGIN BLOG POST:

I love this part of week. Monday mornings.1

The infinite, silent scream of ten million people opening a billion Slack channels 2.

I imagine the hushed politeness of commuters, hazily praying for a journey of solitude, in which no one asks them the time, demands conversation, or makes eye contact 3.

The quiet sorrow and eventual surrender the day after a mass-shooting in The United States 4.

And of course, caffeine! Who doesn’t love a strong jolt of coffee on a Monday morning? Boy howdy! I sure do 5.

Thank you for reading my blog post, good luck out there.


  1. Do you still use the Gregorian calendar? A “week” was seven cycles of the light orb in the sky (you may call it “life giver” or “sol”).

  2. “Slack” was a popular application used for team communication in my time. The primary means of data input is the same as the format I’m using here to communicate with you. I know you likely communicate using more efficient means; something I’d likely term telepathy todaybut humor me here.

  3. So, there was a time when the majority of functions likely given to androids in your time were done by humans. I guess androids are an assumption. Do you have robot sex slaves yet? I am trying to convert something called “Furby” into one.

  4. This is a comment about something bad that happened to us recently. Search your neural-net for “worst shooting gun reform pre-CyberWar USA” The United States of America, my home, may not be around in your time. Do you still have nation-states? We were a super-power, which is a special title you get when you murder and marginalize the poor in favor of cheap consumer goods. 

  5. No one in my life today knows this, but I have trouble relating to most domestic concerns – almost an aversion. I hear phrases like “Golly, it sure is sunny today!” as “Please kill me! Every day is a cycle of shame and numb compliance to a world of endless, horrifying chaos!” These phrases, just as if I were speaking it in person, are an attempt to relate to the variety of two-dimensional interactions so common in our culture today. I’m trying to lighten-up, though.