This week has been a blur. Equal parts of me feel like it both has dragged on forever but also like I have no memory of what occurred and I’m left wondering what happened to the days. Mr. Kitty and Ms. Kitty arrived last Thursday and are now settled in. Last night I thought an earthquake was happening, but in fact it was just the cats running across my bed at full tilt at about 3 AM. Awesome. I think they’re arriving and getting used to them being here, combined with a cinco de mayo party, a stressful week before, and then having a friend come to visit this week has just left me feeling kind of out of it. I feel like I could sleep for a week. What usually cures this is a project… unfortunately the coffers are spoken for: I’ve gotta pay off my beautiful living room toolbox as well as save money for DEFCON in August.
I’m not sure I have a whole lot tonight. I’m really here writing because I’m killing time until Lea’s plane gets here. On any other night I’d probably already be in bed and/or asleep. Ok, I guess I’ve got two things tonight:
Similar to the bus stop problem I wrote about a while ago, I’ve been wondering about walking through a city. Say you have a route that you walk every day (for instance, just pulling this out of the air, from UCLA to Palms). Many of the roads cannot be crossed when the light isn’t green, so you have to wait for the light to change. Now, I walk pretty quickly. In fact, I’m not sure if I’ve ever been passed by another walker in Los Angeles. Seriously. A lot of times, this whole “stop-light” thing causes people who I pass to catch up and then I feel foolish… but then I dust them so it’s ok.
Ultimately, I guess the question is what’s the most efficient way to walk between lights? As a corollary, and possible at the root of the problem would be are there any interesting patterns in the way the stop lights change here (besides just trying to maximize traffic flow)? Could it have any implications for driving or other problems? I’ll mull it over and see if I can’t turn anything up.
Learning. Lately I’ve been in information download mode trying to learn a few things: namely Matlab and OpenCL. Now, I actually am pretty good with Matlab and it’s a much more conventional programming language, but through my job with Toshiba I’ve gone from a fair/mediocre Matlab programmer, to one that’s pretty fluent in both the basics as well as application development and significantly more advance concepts with Matlab dealing with optimization, memory usage, and other fun computing things, all in about four months.
OpenCL on the other hand is a bear. I used an analogy to try and explain it to a friend the other day: it’s like someone telling you you have to learn poetry, but before you can write ANY poetry you have to KNOW and understand ever different type of poetry, their grammatical structures, all of their rules, quirks and whether they pass data through value or reference… I mean, how many syllable go in each line or something.
It’s been really enlightening, challenging, and after two weeks I’m just now able to dabble a little bit in the OpenCL world. For you non-programmers out there, this probably seems like a trivial amount of time, but take for comparison C or Matlab: I could have you writing basic programs within an hour at most. I know how to program; OpenCL is written in C; and it has STILL taken me hours and hours of reading to get going.
OpenCL isn’t really the point: it’s been this process of learning that I’ve been going through. For one, I’m loving it. I feel more on my game than I have in years both inside of work and in the rest of my life. Two, I can almost feel myself learning. I feel it when I play the guitar. I’ve made a lot of progress lately but it’s come in a very granular type of way, almost as if I were learning a language. In playing more and more, I’ve built up a vocabulary of both things I’ve heard other people say (i.e. learning songs), and also things that I’ve just kind of come up with (i.e. like a baby babbling and then stumbling across fun sounds or phrases that causes them to pause).
Similarly with Matlab, the code that I wrote only a few months ago is childish compared to what I feel comfortable writing now. I’m still in the earliest stages of OpenCL, but the difference is that you can’t just say words in OpenCL and get feedback, you can’t even just say phrases, you have to know how to write a paragraph coming out of the gate, which is a little different. This noisy learning process that we go through is fascinating. I’m sure I’ll have more to say about this later.
So, it’s been an interesting week. I bet things will only get interestinger.
P.S. Here’s a picture of my cats.