Saturday, December 29, 2012

Well the names have all changed since you hung around

Wow.  Check out those dates on the other two posts.  I really did set out to write about my experiences with grad school.  My blog even had the tag line: “One student’s journey through grad school.”  Yep...still embarrassed about that.  Also, it had the word “musings” in the description.  Those were sad times.  They were hopeful times.

There are two things about graduate school someone who’s been through it will tell you:
  1. It’s a learning experience
  2. If you want to enjoy it, don’t write about it
At the end of the day—after lectures, papers, computer system diagrams, reading textbooks, and writing code—the last thing I wanted to do was write about it.  Well, I wanted to write about it, but was unwilling to do it when there were video games to play and people to talk to.

While I still have a final project to do, I’m done with coursework.  I've discovered something about me after six years:  while I like software development, I still like writing. I like the problem-solving aspect of software development.  I like reading technical blogs.  However, I feel like all the smart kids are writing the smart things about smart coding practices.  I may have something to contribute in a year or so, but I’d rather write about other things.

Further, I pigeonholed myself by focusing this blog on grad school and computer science.  I've had many ideas for things to write about, but never felt like this was the forum and I don’t want to have another vehicle for miscellany.  Between all my work, personal, and social media accounts, I have enough to keep track of.  I guess this is another “by two”: I’m going to write about a lot of things unrelated to software development.

For instance, there’s a lot of what I consider cliche around the concept of finding your passion and then doing that for a living.  This assumes you have one.  More to the point, it assumes you have one you can do for money.  Would that we lived in a society where you could do something because you love it and not just to stay alive.  I’m not even sure I have one passion.  Like you, I’m interested in all kinds of things.

What I’m interested in these days, of course, is writing.  Well, I've been interested in writing for many years, but came up with ways to ignore and deny it.  I think one of the reasons I like software development is because it’s writing. It’s not like writing fiction (Some engineers may think some of the code I write is made up. Plus, I do have dubious character development in my for-loops sometimes.), but Ruby is my language of choice and it’s rather expressive. With Ruby it feels like I’m writing closer to English.

I now finish this, my first post in a long time, giving myself a 0.6 probability of following it with another.  This may seem pessimistic, but given my last post is two years old, I’d say I’m stacking the odds in my favor.

Sunday, November 4, 2012

I have a mailbox on campus!

Originally published August 23, 2010

Yes, I was made slightly giddy by the announcement I have a mailbox on campus. Today was my first day of classes as a graduate student at Colorado University at Boulder. I attended both of my classes and then was supposed to drop by another place for a down-and-dirty new-grad-student orientation. There were several of us from a class scheduled at the same time as the orientation and we got the shorter version--we still got lunch, at least.

During orientation, I learned very little I didn't already know from the department website. However, I did find out I have a mailbox and I decided I'd go try to find it right after orientation. I did. There was my name amidst a huge group of graduate students. And there was something in my mailbox. It was just the Computer Science Cache--a department newsletter found in any graduate student's mailbox--but I was charmed by it being there.

It's amazing how quickly you can feel a part of something larger because of something small. I have mostly considered my graduate education a means to an end--I just wanted my degree so I could get out of school (it's already been 3.5 years just qualifying for grad school) and go to work. I'm not a PhD student, so I didn't expect a lot of research assistant opportunities. I don't even live in Boulder. I figured I'd take my hour-long bus ride, walk to class, take notes, and take the bus back home each day; each semester.

After seeing my name in the taped-on-particle-board community, something shifted in me a bit. I still don't want to remain in academia any longer than I have to--that won't change. However, I realize I am sort of a fringe-part of the CS department. I read the Cache on the bus ride home to see if there were any possibilities for me to give something back (aside from thousands in tuition). I haven't found them yet, but I will contact some professors within the next couple weeks to see what's out there.

So...why the name?

Originally published July 3, 2010

I started this project two months ago. Then, after two short posts, it ended. I lacked motive. I was lazy; low blood-sugar; alien invasion. It doesn't really matter why I haven't posted again in such a long time. The important thing is, I'm posting again.

To celebrate, I thought I'd address the title of this site: Off By One By Two. The programmers reading this are asking, “why the two?” The non-programmers are asking, “why am I reading this?” To both of you, it's a strange title. Let's start with some background for those who don't think like programmers or are tired of thinking like one.

Off by one


There has been a sneaky little error in programming called “off by one.” It refers to some bad math—the sort of math I often do. Most commonly found in programming loops, it results from forgetting the inclusiveness of your range. I know to some that sounds like gibberish. You're right. To give an example many of us struggle with, let's consider dates versus days.

When we think about a date (calendar, not the fruit), it's concrete: July 12th. The trouble starts when we try to figure out how long it is until the date. I can't wait until my road trip to Apple Headquarters, some sycophants say, it's my first trip to Mecca. “How many days must I wait?”

Well, let's do “the math.” Today is July 3rd and my holy excursion is on July 12th  Twelve minus three is nine (I just blew the minds of a thousand computer scientists who've never seen a mathematical expression written in English. I'm kidding—computer scientists can't read English).

“I have nine days until Apple HQ,” they think, and the countdown begins. On the ninth day, our intrepid traveler realizes there is one day left—the trip is tomorrow. This is an off by one error.

The proper way to prepare for Mecca is to view this as an inclusive range. It's written [3..12] and means you have to include the day that hasn't happened yet—July 12th  In programming, it can result in a loop not going through an entire array or going too far into computer memory containing who-knows-what.

By two


Why the strange name? The truth is, off by one was taken in all its permutations or, at least the ones I was willing to use. However, I've had some time (not writing productively) since I started to ponder the meaning of the “by two” and how well it fits me.

The first correlation is about my school situation—two degrees. I already have an undergraduate degree in, what my engineering friends of the day used to call, “Arts and Parties.” They'd be huddled around the dorm-issued down the hall, studying what I only knew as “Diffy-Q.” They would study, groan, curse, and occasionally laugh (though never at Diffy-Q) until about two in the morning when I'd come in from drinking on a school night. It wouldn't be until some 17 years later I'd come to know Diffy-Q as differential equations. Diffy-Q sounds far less intimidating.

The real name of my degree? Speech Communication with an emphasis in radio and television broadcasting (now, called Communication Studies, evidently). I got it from Colorado State University and my credits mostly focused on rhetorical criticism, interpersonal communication, and critical thinking. I affectionately refer to it as “my B.A. in B.S.” When I could write a paper about a subject I barely understood, on the night before it was due, and get an A from a professor in the Speech Communication department, I knew I'd arrived. That was the best grade I got on a paper in that class.

So, this M.S. in C.S. Is my second degree—my “by two.”

Recently, I've added another “by two." I'm also torn between two hemispheres. In this case, I mean my brain. Okay, the whole left-brain vs. right-brain thing has been out of neuroscience fashion for a while. However, most people still believe two myths about the brain: we only use ten percent of it, and we have a left brain responsible for logic and language; a right brain for patterns and abstraction. However, it's easier for me to use this outdated paradigm to describe my studies—I”m not very good at math.

That last was a generalization. I'm actually quite competent at math (I got all A's this time around). I didn't think I would be (Speech Comm doesn't require math beyond College Algebra), but I've had to reach, as the University of Colorado at Boulder CS department calls it, “mathematical maturity.” That is, I've had to crawl and claw my way from College Algebra through Calculus Two and three credits beyond. I went 12, actually, in what I would call my worst semester.

When I say I'm not very good at math, it's with the perspective of being around a bunch of other fellows who are tremendous at math. I can get the concepts and do the work, but I have a hard time thinking mathematically. I can do it given enough time, but it's not my default behavior—I don't automagically try to solve computer problems using algorithms for efficiency or correctness. A lot of programmers don't, but my teachers were great at it and always caused me to think, “I never would've thought of that!”

So, I'm riding the line between science and the arts; predicate logic and Aristotelian logic; applied mathematics and applied for Starbucks.

That's why this is called “Off By One By Two” and is also why I write about subjects in computer science as well as everything else. Now, I'll get on with it...