isn't quite ashamed enough to present

jr conlin's ink stained banana

:: Cutting Out the Brain Candy

i’ve come to realize that i’ve been a horrible slacker.

Not just here (this blog exists pretty much for my own evil purposes as well as my private well to scream down), but in a lot of things. i’ve become a consumer. i’ve come to realize that when i’m bored, i simply consume. i dine on a regular digital diet of fatty brain food like reddit, twitter, and crappy youtube videos.

i’ve come to realize that i’ve started consuming more than i create, by quite a lot, really. i’m not sure when (although i have an inkling) and i’m not sure why (again, inkling), but i’ve let myself stop creating things. To me, at least, this is horrible.

i used to drive myself constantly to make something. Heck, i used to post inanity to this blog daily. i gave myself a strict schedule to write a new chapter of a serial thing every two weeks (with a minimum of five pages). i hacked on damn near anything i could get my hands on and have bins filled with bits an pieces to dozens of unfinished projects. i would never give myself the opportunity to be bored.

Yeah, that’s no longer a problem.

Which is a problem.

As an engineer, i hate problems, so i’m going to solve that particular problem.

i’m making it a point to make at least one something every month. That includes conceptualizing, building and documenting whatever in however long the month is. Big things may get divided into littler things, but each thing needs to be able to stand alone as a thing. If i don’t finish one thing in a month, i have to finish two the next month. Oh yeah, and blog posts don’t count (well, not as just a blog post, gotta be more to it than that. Just writing a post is too easy.)

i’ve tried being bored. It sucks and makes my brain fat. i’m not going to do it any more.

:: F*ck You, Brain.

i feel fortunate that i am reasonably mentally healthy. There’s a lot of people who actually have depression, bi-polar disorder, ADD and other conditions and those people have my respect.

That said, i can understand a tiny fraction of what they go through. i tend to be very hard on myself. i tend to favor criticism more than complements. This is normal, of course, and chances are exceptionally good you do the same thing. i know this because a few years ago when i felt i was at a very low point i wanted to understand what the hell was wrong with me. It was a pattern i found myself falling into and since i didn’t enjoy it, i wanted to know what i could do to solve the problem.

Turns out, little, since we as a species are pretty firmly hardwired for it. i found that at least for me, understanding what was going on did help. Later on, finding books like You Are Not So Smart really helped me understand even more of this sort of self inflicted crap.

Part of this is also my industry of choice. Long ago, i consigned myself to be a tradesman in the midst of artists. There are programmers that craft things of magic and joy. These are wonderful creations that improve life in this veil of tears immeasurably. Granted, those things often need to be maintained and supported. At times, bits need to be built out of things stronger than pixie dust and gossamer, and i take a bit of joy trying to make sure that folks don’t know that some of the “magic” is now rebar.

i’ll also admit that i’m not the best at what i do. Even after working a lifetime in the industry. There are others that i work with that make me look like an amateur. These are people i can greedily learn from, and i’m damn thankful of the opportunity, but it also means that in a culture that spotlights “Rock Stars” and “Ninjas”, i’ll be the guy near the back of the auditorium clapping.

All of this can be a bit… i don’t want to say depressing, but it’s certainly draining. i’ve had numerous, very dark thoughts, but generally can dismiss them. There are days where i feel reasonably good about myself and completely understand that in very short order, my mood will be completely reversed by something. i’ve learned that this swing happens in both directions, and frankly it’s best to simply not let the pendulum swing that hard in any direction.

Take, for instance, right now. At this time, i’m feeling very low. i was responsible for a bit of infrastructure. i drafted the design, implemented code, and got it working, and felt reasonably good about myself. Projects started relying on it. Outside groups started playing with it. There was a significant challenge, i needed a bit of help, and we met the challenge with some tweaking.

The code has since been rewritten by someone far younger than me and is, in many respects, far better than what i originally built. It’s lighter weight, more responsive and probably more maintainable than what i had built. i already see ways that it could be improved and expanded.

It’s also probably going to be a failure point because of things outside of my control, which may cause the projects that were relying on it to also fail. None of the breaking points are my fault, and i’ve noted what the problems are, how to address them, and what actions are available to all. When i dismiss fault, i am being very clear. The failure is due to a behavior in a system i did not code for nor did we clearly understand at the onset of the project. If this system is removed, the fault is also removed, however this system is required for it’s own reasons. It’s a bit like saying “Well, the crop harvest failed due to the dam break.”

Still, it’s damn hard for me to shake the “This is your fault, and you suck as a human being” mindset. The program was written in a language and construct i wasn’t fully familiar with. The younger engineer is, so that’s why the code is better after his attention. The failing system is one that i am also unfamiliar with, and the subsystem that is an issue came as a surprise to a good many folk. i view all of these as being “excuses”. My psyche demands that excuses don’t matter, only results. (Yes, i was brought up in a strict, military household, why do you ask?)

People talk about failure as a benefit. It’s how one learns. It’s inevitable, and constant, and what makes success so remarkable is that it’s uncommon enough to be remarkable. This does not make failure any less pleasant. Culturally, and personally, it’s a stigma. Feeling that way is irrational, but very common.

At this point, i’ll also think about the various other projects that i feel the need to accomplish, and the sorry state that they’re in, the 60+ articles moldering in my unread queue and a thousand other reasons i have to beat myself up. i should be accomplishing more. i’m not. i should be more creative. i’m not. “Nobody else knows how big a screw up you are” as Mr. Savage points out, but i am acutely aware of it.

Like i said at the top, there are folks out there with serious medical issues who are constantly struggling with far bigger demons than me. i admire every day that they succeed in beating those demons and they have every right to scoff at me and my personal pity party. If you’re one of those, i welcome your well earned derision.

Possibly, you may feel the same way i do. Here’s to letting you know you’re not alone.

And thanks for reading my bit of personal therapy.

:: MacGuffin!

Last night, a bunch of friends watched a show called Scorpion. i had no idea it was on, nor did i really have any interest in watching it, but they took to twitter to comment about how bad it was. From what i understand (again, having little interest in actually watching the show) it was the usual Techno-Crime thriller about a group of “geniuses” who use Technology to battle Crime. The show featured such techno crime fighting as driving a Porche behind a plane so that the heroes could grab a network cable dangling beneath, apparently because nobody on the plane had a cellphone or anything that could do wifi, and tossing a few USB sticks would have probably been out of the question as well.

Honestly, it reminded me of something my Sister in law (who is in the entertainment industry) yelled at me while watching a similar sort of show “It’s Entertainment! It doesn’t need facts!”

That flash of insight into the mind of what’s making this stuff really helped me understand quite a bit. i mean, how does one possibly counter something like that? It did, however, make me understand that there’s a huge opportunity there for folks.

i realized that what was sorely lacking was a show that treated the rest of the planet the way that technology is horribly abused. i’d call it “MacGuffin“!

It starts off with a sweeping shot of the city that’s central to the story:
McGuffin

We see our hero, Jack MacGuffin engaged in a chase with his partner Alan Smithee.

Smithee: “Jack, they’re getting away, we need to go faster.”
MacGuffin: “Alan! Quick, grab the wheel and start driving!”

Alan grabs the wheel and starts pounding on the brake and gas pedals of the car. With a cloud of tire smoke, the car lunges ahead and quickly overtakes the van containing the enemies, a group of 80 year old women who had once seen a crime drama and were acting out the overwhelming influence of that corrupting medium.

MacGuffin and Smithee soon learn of a gang that plans on flooding the streets of Phoenix with drugs and white slavery purchased using counterfeit Monopoly money.

Smittee: “Jeez, imagine the number of houses you could buy with that kind of money”
MacGuffin: “Houses? you could fill the block with hotels.”

They reach their biggest break when they spot a “Classified Ad” in a local “newspaper” that they quickly correlate to a “phone number” using a copy of “Yellow Pages” and with that phone number in hand, race to the abandoned warehouse of the gang.

Before they go in, they quickly construct some guns out of some tinker toys and sheet metal they find outside, before bursting in and taking out the gang with a 2 X machine.

Of course, my biggest fear would be that it actually would be made.

:: Disposable Medium

i’ll admit that i generate content that is disposable. i tweet, occasionally post crap to facebook and sometimes toss images up on imugr. Sometimes, i comment on reddit. All of that is disposable.

It’s disposable because i don’t own or manage the forum or pay for the servers. It’s not mine to archive, index or monetize. My account may be blocked or dropped for reasons i have no control over. Whatever i generate may go away tomorrow and i’ll have zero say in the matter. If i’m lucky, i’ll be able to pull a portion of the content off of these sites, but who knows if i’ll be able to do anything with it.

Sites, even very popular ones, shut down all the time. It’s a well documented fact of life. All the stuff you put on that site disappears when they decide it’s no longer profitable/viable/fun anymore. Heck, there’s even a team that tries to rescue your crap before it disappears forever. All of that kinda rose up when i tweeted:

i was half kidding, but honestly a bit serious. For reasons i’m still not quite sure about, Medium has become the latest blog substitute. The replies i got on that tweet were equally unsatisfactory. Yes, posts do look pretty-ish, provided you can figure out to get images to do what you want, but you’re pretty damn limited, and let’s face it, every post is basically “Large Hipster style banner pic with Headline, followed by paragraphs of 22px Georgia font. Ok, so this blog clearly illustrates that i have zero modern styling sense, but it’s not terribly difficult to duplicate that look.

You’re also fairly limited in the sort of things you can do in your text. In my blog, i’ve got carte blanc. There, i’ve got the limited styling features that they demand i use. i suppose the next item would probably be the network effects, i post there because all the cool kids post there, therefore i’m a cool kid too! This is like standing in front of stuffed toys and claiming to have given a Ted Talk. (Granted, there are some that probably should have stuck with the stuffed toys, like this one:



$7500 spent to hear that talk. Money well spent, huh? And granted, that one was probably for laughs, so there’s this one instead). Granted, since folks don’t seem to like RSS anymore, it’s a bit harder to find interesting articles outside of twitter, facebook, reddit, buzzfeed, digg, slashdot, your aunt’s forwarding email, bathroom walls, …

Honestly, it’s the message, not the platform that makes one cool or interesting.

i get that some folks don’t want to run their own site. That’s fine, it can be a hassle to make sure that software is up-to-date. What i don’t really understand is the value folks are seeing. Is it like the early days of the internet where things that weren’t written in comic sans on a gray background were considered to be believable, published articles? Is it that these folks don’t really want to be all that closely associated with what they’re creating? Is it that blogger/wordpress.com/facebook/google+ isn’t the latest new thing? (Ok, Google+ is probably never really going to be a thing.) Is it that they don’t care if what they’re spending time making lasts longer than a reddit karma cycle? Do these folks not realize that the most effective way to build a known presence on the web is to have a known presence on the web?

i have absolutely no idea.

For throw away stuff, i don’t mind using disposable services, but i think i’ll keep using stuff i have some control over for things i want to stick around.

:: The Streetcar Problem

Streetcar-CrashProgramming nerds love theoretical technical problems like The Prisoner’s Dilemma, or The Dining Philosophers. Here’s a fun mental exercise for your afternoon: What would happen to your favorite library/service/product if the principal engineer was suddenly killed by a streetcar? For an astonishing number of services, the answer will probably not be “continue to work seamlessly”.

(i’ll note that i decided to break this out of a different post about Being Nice for Selfish Reasons: Work Edition. i decided that it’s a question that needed it’s own post.)

Most projects, like most movements or causes, tend to have a singular leader. There’s a lot of reasons for that, including the facts that running a successful project kinda requires someone to make hard decisions, say “No, we shouldn’t do that” a fair bit, and “We’re going to go in this direction, in spite of your personal interests”. There are ways to present all of those statements, sometimes in friendly, happy ways, other times like a overbearing jerk, but there are ways. The problem is also the Achilles Heel of Open Software Projects: Getting someone else to give a damn about what you’re building. You have to be nice enough or provide enough value that people want to help you and deal with your pushy ideas on how to do things.

There’s a weird psychological edge to successful software development that many folks don’t think about. If you even think about the tools and services you use, you probably associate them with one or a very small group of lead folks. These are the captains of the project and in some respects are cult leaders for their ideas, even if they aren’t in direct control. Python has Guido; jQuery has jresig; PhP has Rasmus; etc. Larger projects like Webkit require a large, organizational structure to deal with the huge, complicated code base. However, even these projects have a small group or even an individual who is the acknowledged leader. This is pretty much how humans set things up.

So, what happens when such an individual leaves a project? Usually, it’s “not good things”. In the sudden vacuum, there can be a power struggle as folks fight to become the replacement, or things drift as the next person in line has a slightly different view of how to do things. In rare instances, it’s possible for the project to continue or improve, but that’s usually because one of the goals of the individual at the helm was to ensure that he or she is replaceable. Yeah, not a lot of folks think that way. It’s very uncomfortable for people to confront their lack of permanence.

All of this does impact you, however. You invest in a given resource. Whether you like it or not, you become dependent on that resource more and more. When the streetcar comes, you’re also subject to the repercussions. If you’re lucky, skilled and have the time, you can fork the project and keep it alive long enough to find a suitable replacement. If not, well, you’re dorked.

It can also be exceptionally difficult to keep your product “Streetcar proof”. Sure, there’s principals of abstraction, but the big problem is that there are reasons you’ve picked a technology or service over it’s competitors, and those reasons will be reflected in the core of your product’s design. Replacing or degrading those will not be easy, or potentially possible for whoever is maintaining your code.

Yeah, that’s right. You’re also subject to Streetcars.

So, when your personal streetcar arrives, how will folks deal with it?

Blogs of note
personal Christopher Conlin USMC memoirs of hydrogen guy rhapsodic.org Henriette's Herbal Blog
geek ultramookie

Powered by WordPress
Hosted on Dreamhost.