Posts Tagged 'programming'

Power in programming, and another research idea I’ll never have time to get into

I have friends who code. Some of my most favorite friends code. We talk about coding, and since I don’t really do it (not yet, anyway) I let them talk at me and over years I’ve started to develop some understanding of the experience.

One thing that has regularly popped out at me in these conversations is when they talk about power and things in coding-land that are powerful. I think, “What does powerful mean? Code can’t move itself, can’t move at all. It doesn’t generate or expend energy. It can’t punch me out. What is power in computer science?” So I started asking these questions out loud and got what I can only describe as fuzzy answers (which indicated I was on to something). And I think I’ve finally developed a working definition of what power means in the coding/computer science context.

My hypothesis: when something is described as powerful, it means that that thing realizes some higher objectives particularly well. For instance, if one objective is expressivity (apparently this is a word only in biology), something is powerful if it allows for a high degree of expressivity. But there are I think two issues here: 1) power is only really used when multiple objectives are realized with minimal mutual sacrifice, and 2) to some extent, people disagree on which objectives are important.

I look forward to teasing this out, particularly that last issue, in my own informal grounded theory way.

(And seriously, are linguists looking at the extent and degree of metaphor used in computer science terminology? They really ought to be.)

And my random research idea stems from this post over at The Shifted Librarian, which is a reference to another post altogether regarding using tag cloud mechanisms for “pattern recognition.” I want to call it text analysis, or coding as it is often done in qualitative research studies. In any case, my idea is to conduct some kind of study on qualitative research(ers), with a control group doing traditional coding of interviews, and an experimental group using this automation hack, and see if conclusions differ. I wonder if there’s any way to test the influence of the display, since that’s what many find so evocative of tag clouds.

Yet another thing I will do in my copious spare time with my massive resources. Indeed.

Today’s project work status

I wrote functions. It was hard, but I eventually got them down in a concise way and it worked! My book doesn’t have a solutions sheet so I really am on my own, which is both good and bad, but I suppose mostly good at this point.

Also, while looking up today’s dollar-euro exchange rate to write a function for that, I noticed this chart showing the value of the dollar to the euro over the past year. Against the euro, the dollar lost ten cents of its value in a year (and if I misread that, let me know). One year is all it took for that something to become nothing. Damn.

I think the the most unexpected revelation today is that writing expressions makes solving word problems really fun. I used to hate word problems, but now it’s really nice. My expressions can be reused for other values, not just the one in the question. I guess programming goes green.

I also took a short jog today but it started fully raining when I was halfway out on my route. I got a soaking. Hopefully I don’t get sick.

Other projects today

I did a couple more things today:

I drew up a short list of things I’m interested in investigating and possibly seeing through for this quarter at least, with some notes for how to go about doing them.

I started trying out some self-directed programming education via How to Design Programs, which was suggested to me as a good way for beginners to start learning. So far I have done some addition, subtraction, multiplication, division, square root, sine, max, and min, but it’s still fun to watch it happen the way I intended.

Also, I made a soup broth. It’s cooling now. It might actually be killer.