Monthly Archives: February 2012

C Is for ANSI, That’s Good Enough for Me

In a bid to expiate myself, I’m currently reading “The C Programming Language, Second Edition.” Written by Brian Kernighan and Dennis Richie, the inventors of the language, this book is the bible when it comes to learning the language. Most modern languages owe their existence to this one. All modern operating systems are primarily written in C. Most client applications are written with C’s direct descendants. Since I work at a high technology company, it would behoove me to bother trying to learn it again. Most of the high-level languages I’ve used in the past 2 decades cannot match the speed, specificity, and hardware-level capability of C. But these aren’t reasons enough for me to learn it.

When I say “expiate”, I mean to make amends for failing a semester of C in college. In a class of 3 students, it was difficult to stand alongside my classmates and lean on them for support. When they started excelling, I fell behind and somewhere around a month after learning about pointers and indirect references, I just gave up. I swore I’d never bother learning the language again. But that’s all changed now. I could do well if I could wrap my head around it and succeed where I failed before.

What bothers me is I still have a lack of support from my fellow programmers. Even the guys who I thought would support my decision to take up the language again are saying things like, “Man, why are you messing around with C?” or “You must really want to punish yourself.” I say they’re missing the point. I’ve had my time with the high-level languages. I know that I can split a sentence into an array of words in three lines in Perl; I know that doing the same in C would require a bit of memory allocation, a handful of variable declarations, and a set of functions to perform each bit of the search and copy operation. But you know what? I don’t care. I’m getting thrilled with seeing how it all actually happens under the covers of all the other languages.

I want to succeed in this. I want to use C to make stuff that runs fast. I want the chance to flip bits in hardware without needing special libraries. I want to have a shallow learning curve if I decide to go into microcontroller programming. Some people put puzzles together; I have this.

Making Room for Two

If I am to overcome being alone, my first step would be to acknowledge that I would no longer be living for myself; that I, being not alone, must consider the partner in my decisions; that my self-intent necessitates the mental presence of another person in my self-view. That I must change my thinking and build out the room to accommodate two people. It could be a sudden change, like picking up a new hobby, moving to a new neighborhood, working a new position; there’s a mental click that happens at some point (usually mediated by oxytocin) where the connections in my mind fuse together to create a redefined sense of self and my self’s place in the world. This is necessary.

I must admit, not necessarily verbally, but to my own self, that being not alone requires an expectation of chaos and surprise. My partner will make decisions on their own, just as I would. I must elevate myself above the simplicity of living for my own self and be ready to respond to novelty, trouble, and surprise without losing track of my own goals. I must adapt, adjust, acknowledge change, and seek out novel ways to fix the things that break and work out agreements to overcome potential troubles down the road.

The idealist’s view is that “coupling” is the continual act of hitching two horses together; if the wagon is to go anywhere, it requires the horses to act in some semblance of a unit. Each horse cannot act alone of its own free will without diminishing the momentum and direction of the whole. You and I know that this image is too simple and far from the truth. In reality, a couple is more like a pair of first-graders tied together with a bungee cord and sent into the big kids’ playground. First, there’s strain, there’s struggle, there’s compromise, then finally there’s planning and partnership. Both partners must be willing to commit to it to attain the greater rewards.

Talking is necessary. Without talking, there is only uncertainty, fear, and failure. The most successful of animals chatter a lot. It’s not something I do very well, but with practice I could get better. Being a deaf-mute dreamer means I won’t be troubled with the relationship for long. I cannot afford that.

Most people have learned these lessons in their youth. I, for some reason, must keep relearning them. Bear with me.

Dreamo Yawndustrial

My music doesn’t have a dick. Just so you know.

I can listen to the most aggressive industrial, the most brash, dissonant glitch electronic, the cone-destroying crunch of lo-fi loop tech. I can crank that shit up until my ears get fatigued and go, “Yeah, man, I totally dig it! I wanna make this shit!”

But with my hands on my keyboards, what comes out? Soothing, pretty, solemn stuff to make my soul feel OK about life. I don’t understand. And my latest attempt at semi-industrial aggression just sounds like a man in midlife crisis trying to scream like an untrained teenager. Hmph.

I obviously need more time in my studio.

Gum Shoes

Cannot shake the feeling that I’m wrong. Somewhere, I made the wrong choice, and everything afterwards is a byproduct of that fault. It would be nice if I knew, if I could navelgaze enough to determine where it happened, or if I could have the foresight to see where to get back on track. But I don’t have that level of facility. I suspect very few adults do.

Keep wanting to close my eyes and walk away, as if all the problems, rifts, troubles, stresses, trials would vanish the moment I leave. But you and I know that’s not the case; it’s not ever the case. The desire to walk away and start anew is the cause and the source of most of these problems. Instead of dealing with them face-on, I’m doing the glazed stare at the horizon, letting the problems pile at my feet, sticking me to the ground.