Wednesday, March 16, 2011

I can't write.

I really have no idea how to write.  This saddens me, because reading is one of the things I enjoy the most.  It seems amazing to me that someone can take the day-to-day experiences of their life, decompose them into their constituient parts, and create something that transcends their single experience.  How do you take the joys and sorrows of even an exceptional life and turn them into distilled essenses ready for consumption by the masses? 

My life and attitudes have been pretty significantly affected by the things I read.  I grew up reading a lot; I read less now than I did, but probably still more than average.  I don't think I've written anything longer than 10 pages in my life...and that was a paper on Crime and Punishment, which hardly counts.  With the least bit of ego possible, let me say that it's rare for me to attempt a mental task and fail at it so completely.  Yet fail I have.

When I look at any writers I admire, I'm amazed by their ability to craft a story, to take the ebb and flow of character interactions and pithy dialogue and turn it into a tapestry of events and feeling. Sure, I know the words; I can even understand some of why it's so evocative. But like the trapped fly is unable to see the glass of the window, I can't break free of the formulaic parrotry of my betters.

I suspect it's something to do with my emotional distance.  This line of thought was brought on, oddly enough, by watching an episode of Glee.  I don't like sharing my feelings; I don't like being "open".  I suspect that none of my writing is ever really honest for that reason. I'm smart enough to see the subtext in what I write, and so I scrub it clean and sanitize it until no one can see any residue of my true feelings. The irony is that I think I've had enough experiences to write about...but they're too personal, they carry too much of my very soul in them for me to risk sharing that with others... so I clutch them close, like dying embers, greedy for the last bit of warmth I can suck from the fading memories.

I am pretty self-aware.  I don't fear writing because it may reveal unpleasant truths about me.  I know exactly how terrible of a person I am, and I've made my peace with that.  I fear writing because I think if other people know too much about me, I lose something in their eyes.  This may or may not be true; it strikes me as irrational...surely everyone has a darkness inside them? It doesn't matter, I'm still paralyzed.

Maybe writing about this did help; I'm not sure I could have admitted it was fear that held me back when I started this post.

Saturday, February 19, 2011

Why I Still Use Facebook

Recently, a friend of mine made a post on why he's leaving facebook.  Ordinarily, I dismiss such statements as the inevitable non-conformist outrage against anything that's actually simultaneously useful and popular... however, in this instance, considering the source, I actually read his reasoning.

I agree with his assessment of the facts, however I disagree with the conclusion. Briefly, he says that Facebook is the junk food of relationships: it emphasizes shallow, meaningless communication at the expense of deeper, more significant contact.

In my case, that's definitely true.  I use facebook to comment on people whom I otherwise wouldn't interact with at all.  I use it to notify people of important events in my life, and to stay informed of major events in their lives.  In short, it makes the minimum effort to maintain a casual acquaintance very, very low.

I have long been of the belief that maintaining social relationships is a skill that requires considerable amounts of brainpower to maintain and hone.  In some respects, it's just like any other complex skill: you have to keep at it if you want to become better at it.  Facebook (and to a lesser extent, other social media) for me is like the graphing calculator of social relationships...sure, it'll help you pass calculus, but it won't actually help you learn math.

I find it extremely difficult to remember all the details necessary to be casual friends.  I don't know when people's birthdays are... I don't know who they're dating (or married to), how many kids they have, what they do, or even where they live...This is not restricted to my casual friends.  I have close friends whom I've known for a decade and a half who I barely remember their birthdays (despite them being within a week of mine).  Facebook makes it unnecessary for me to remember all that.  I can, when I post on their wall or comment on their status, look up all that supplemental information and give the illusion that I'm actually informed about their life.  It doesn't help me actually be better friends with these people...but it provides a useful tool to make it easier for me to maintain a casual relationship.

I find that if I limit myself to people I interact with in real life, I tend to withdraw pretty significantly.  There was definitely a period of my life when the only people I interacted with were my family and my wife.  Facebook makes it hard to lapse into that.  I don't think it has made any friendships deeper, but it definitely makes them easier to maintain.

In short, for someone who isn't "good" at the mechanics of friendship (at ALL), it lightens the load a bit; and that's enough reason for me to use it.

Also, I really like Bejeweled Blitz.

Sunday, January 23, 2011

Private vs. Public Schools (or, How I Was Wrong)

Disclaimer: I'm not an education professional.  I barely know enough to make a decision for my own kids.

Today, the family and I went to an open house for a private (non-parochial) school in Dayton, to see if our oldest son (Alex) would be comfortable attending kindergarten there.  I had been pretty adamant in my assertion that public school was fine, and that I had gone to public school, so clearly there's nothing wrong with it.

My own parents sent me to public school; at least partially due to financial restrictions (my younger sister, on the other hand, went to private school).  However, they were extremely interested in my academic performance and made every effort to be involved in everything I did.  In typical Indian parent style, they constantly pushed me to do better.  When I was discussing public vs. private schools with my wife, I always came back to the same central point: above a certain minimum threshold, the level of parental involvement is a better predictor of success than the school itself.
Clearly we were going to be involved parents, so why worry about sending him to a private school instead of a public school where he can be with the kids from the neighborhood?

Then I went to the school.

The open house started off with the headmaster saying some words, things about how they were committed to creating better "global citizens" and how they wanted to foster an attitude of "continual learning".  He bought up some statistics about college acceptance rate and schools. Pretty standard stuff when talking to parents that obsess about their precious little snowflakes doing as well as they can.
Then, he invited some of the current students to speak.  I guess they have "ambassadors"; and we heard from 2 seniors.
Many of my friends are outgoing people, and I may have some high standards for public speaking...but yeah. These kids were amazing.  They were engaging, they were funny, they were articulate...more than what they said (all praising the school for their experiences there), the manner in which they spoke was incredible.  They had confidence and poise, and it was obvious they were speaking from their personal experiences, not from material prepared by others.  Granted, I'm sure the school picked its best seniors ,but still.  I remember valedictory addresses from my school and (apologies to my former classmates) these blew them away.

When I spoke to the teachers, they all seemed to think that it was more important to promote an (for lack of a better term) organizational culture that rewarded learning.  The social culture of the school itself meant that being smart didn't set you apart.  I remember quite vividly the mental effort I had to put forth to fit in in elementary school, a non-trivial matter for a kid coming from a different country, with different color skin, who spoke English with a distinct, thick accent.  It's hard enough to fit in without having to worry about seeming "too smart".  I'm not certain, by the way, that my son IS smart.  I think so, but I'm biased.  I just don't want him to be socially outcast for it.

I didn't get a chance to talk to the other parents, but I'm guessing (hoping?) that they'll be as involved in their children's school lives as we plan to be in ours.  It's always easier to be around people like yourselves, and I wasn't looking forward to PTA meetings at our local public school...but I think they might be enjoyable here.

Anyway, I think I just had my mind changed.

Saturday, January 22, 2011

How I Learned to Program

Or, Do I Even Know How to Program?


Recently, I was thinking about how to teach programming, and that naturally led to me thinking of how I learned.

A little background. 
I moved to Vancouver, BC (Canada) when I was 5.  My mom was in a Ph.D. program at UBC, and because of this, we had a computer on loan from the university, presumably so she could work on her thesis. I remember her spending a lot of time on it.

Fast forward 2 years.  We had moved to Chicago. We had another computer, I'm not sure what it's official purpose was.  However, I remember my dad connecting to BBSs and downloading zip files for various games (Centipede, Commanche, Pac-Man).  My mom used LaTeX to typeset her papers, and I was amazed at what the various sequences of symbols would lead to being displayed.  I remember trying to read The TeXbook and not really getting how it all worked.
We also had a computer at school, and because my parents couldn't pick me up until 5pm, I would spend the last 2 hours of every day playing BubbleBobble or something on the AppleIIs that were in the school computer lab.  I used to take copies of 3-2-1 Contact and type in the BASIC code from it in order to "load" new games.  I couldn't save any of them, so it was usually about 1.5 hours of typing and a half hour of playing. I'd change some of the numbers in the programs to see what they would do, and sometimes they would change the colors, other times it would just not work.

I remember one of my parents' friends showing me C code at that age, and me not getting it AT ALL.  The idea of immediate execution was too tightly ingrained in my head.

Back to the present.
An entertaining diversion, but how is this relevant? Well, 22 years later, I think I can say that typing in those programs and changing them was probably the start of me learning to program.  I didn't get any formal training in programming until about the 7th grade, when I went to a computer camp and programmed in LOGO, and had it control a LEGO car.

One of my favorite metaphors for programming is to compare it to carpentry.  They're both used to create items, and thing created by them have an esthetic value as well as a functional value.  They are both dependent on tools, and both have a wide variance in individual skill.  They can both be used to create small, personal projects, or giant industrial ("enterprise") constructions.

I learned to program essentially by whittling a block of wood, and then picking up the tools as they were introduced to me to learn how to make bigger and better things.  Is this the only way to learn? Probably not.  There are some extremely talented programmers who learned the "formal" way... picked up a programming class in college and fell in love.

Regardless, the common thread between all the excellent programmers I know is that they are all interested in programming.  They see improving their abilities as an end in and of itself, not just as a means to a better job (or whatever). Without it being a labor of love, I think it's impossible to be a good programmer.  That's not to say that you can't get a job programming (and even get promoted) without loving it; but it's unlikely that your job performance will match the guy who constantly talks about type-discrimintating unions and lock-free algorithms.

I'll leave you with a quote from one of my favorite authors, and leave it as an exercise to the reader to figure out how it relates to teaching programming:

"Quand tu veux construire un bateau, ne commence pas par rassembler du bois, couper des planches et distribuer du travail, mais reveille au sein des hommes le desir de la mer grande et large."
If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.



Friday, January 21, 2011

Twitter has failed me for the last time.

I need a place to rant about things in longer than 160 characters.  Also, occasionally I like to have these conversations with myself that I think would be generally edifying.

Topics I plan to talk about:
- How to teach programming
- How to learn programming
- What I've done with my kids that's awesome
- Books I like
- Anything that irritates me on a given day
- Anything that I think about on my drive to work

I'm also open to people giving me topics to rant about, such as "Hey Sandy, what's your opinion on XXXX" and I'll respond with appropriately violent offense/defense of XXXX.  That should be moderately entertaining.

I've got to go to a work holiday party at the aquarium.  This is despite 1) it not being a holiday 2) my employer has literally nothing to do with fish/marine biology/aquarium science 3) having no alcohol, can it really even be a party?
Regardless, my wife will yell at me if I haven't showered for it.