Day 46: I Wrote This on My iPhone and It Was OK

I started writing this post on a smartphone at lunch and finished it in my hotel room. I’m not used to typing on a smartphone, but I got tired of losing the thoughts that slip through my head while walking, eating, and people-watching.

I wonder why each person is here, in Quebec City, as they walk past — who he is, if she is on vacation or on sabbatical, if they work here or study at a university or travel, with one foot in this city and one in the next place.

I love this city. I haven’t been super-productive, choosing instead to enjoy the Summer Music Festival and my family’s company for the few days they also were here. Today was different — I read for five hours and then stepped out for lunch. Later, I’ll read and write for five more.

Low-Level Hardware-Software Interaction

I’m learning about low-level hardware-software interaction — the stuff that happens when mouse clicks and typing are translated into machine instructions that whiz between the central processing unit (CPU) and the memory and back. My vehicle for learning these things is a great Coursera course, The Hardware-Software Interface by University of Washington professors Gaetano Borriello and Luis Ceze, complemented by Zed Shaw’s Learn C the Hard Way and Bill Dudney’s All the C You Need to Know. Even though Objective-C is going away, I think it will still be a good idea to understand it and the C underlying it, so I can make maximum use of Swift alongside those tools (since I think they will coexist for a couple of years at least).

I learned Objective-C as my first programming language (and I love it, despite its to-be-deprecated status), so I’m in a bit of a weird spot. I think it’s a sweet spot: I understand enough about low-level programming to learn the guts and internals of machine language — so I’m taking that opportunity because I think it will make me a better programmer. I also understand enough about high-level programming that I’m able to comprehend Swift fairly well and expect to grasp JavaScript/node.js when I dive into it later this summer.

For now, I’m having lunch on a street in Quebec City, watching people pass by.

Goals and Productivity

On last week’s goals:

  1. I fixed the search functionality in my flashcard app. I also identified ways to improve it.
  2. I implemented swipe-up functionality. The card doesn’t disappear yet after the swipe, but I’m working on fixing that.
  3. I read part of the Swift book, but then got distracted by the Coursera Hardware-Software Interface course.

This week’s goals are:

  1. Fix the swipe-up functionality in my flashcard app so the card disappears after the swipe.
  2. Delve into low-level programming topics and struggle through what I don’t understand, including the C underlying Objective-C.
  3. Finish creating questions for my flashcard app database.
FacebookTwitterGoogle+Share

Leave a Comment

Your email address will not be published. Required fields are marked *