Archive for the ‘General’ Category

malstrom’s nintendo strategy articles

Thursday, June 26th, 2008

Via a link from Niels ’t Hooft, I ran into Sean Malstrom’s Birdmen and the Casual Fallacy. By far the most interesting explanation of Nintendo’s business strategy that I’ve seen, and it turns out that he has a whole website full of articles like that.

Which I’ve spent most of the evening reading. A warning: his articles are quite a bit longer than is fashionable for web content; fortunately, they more than make up for that by being quite a bit better thought-out than most web content (and I think they’d be of interest to anybody curious about business innovation), but you might want to make yourself a cup of tea before you start reading, or something.

No RSS feed on the site, but it seems that he has a blog; presumably he announces new articles there?

excessive whining narrowly avoided

Monday, June 23rd, 2008

I’m tempted to start filling this blog with complaints about recent customer experiences I’ve had, but on reflection I will avoid doing so. I am grateful to the nice person from KitchenAid customer support who spent a good half hour going out of her way to try to sort out an issue I’m having; the flip side of today’s lunch break is that whoever designed AT&T phone support is sadistic or insane.

nlp, motivation, success

Sunday, June 22nd, 2008

I read a book on neuro-linguistic programming recently. It’s basically a way to reprogram your brain (e.g. to strengthen motivations or weaken phobias), using techniques like visualizing the trigger in question, then changing the way you visualize the scene. (Moving the trigger object farther away from you or closer to you, adding colors, adding theme music, …)

Which I was strangely taken by, but I have to admit that it sounds more like snake oil than not. At least I hope that the psychological profession is sensible enough to pick up on techniques that can cure serious phobias in five minutes, if those techniques actually work! Then again, it’s not like I actually took the few minutes to go through any of the exercises in the book; maybe traditional psychologists took the same approach to the ideas as I did…

Having said that, there were a couple of ideas in the book that seemed worthwhile. One was the notion of the direction of motivation: you can either be motivated towards something you want or away from something you don’t want. Or, of course, a mixture of both, even in a single situation, and certainly people can be motivated towards something in one aspect of their lives and motivated away from something in other aspects of their lives. But their claim that most people, in general, lean in one direction or the other sounds plausible to me; and I think it’s worth playing around with the idea of exploring both sorts of motivations in various context. (Of course, I still think it pales in comparison to the power of the distinction between intrinsic motivation and extrinsic motivation.)

In particular, I’m starting to buy into the notion of how powerful having a strong vision of a future goal can be. This is, of course, the core of “motivation towards”, and also ties in with their approaches that I outlined in the first paragraph. Thinking back on my life, or even about my present-day life, I think it’s not too implausible to think that the areas where I’ve been successful are areas that I’ve had a strong vision pulling me forward, while areas where I’ve been less successful are ones where that hasn’t been the case.

For example, I think you could make a reasonable claim that part of the reason I left academia was that I didn’t transform my vision of somebody who knew a lot of mathematics into a vision of somebody who discovered a lot of mathematics. I was quite good at the former and mediocre at the latter; some of that is doubtless due to my innate talents, but I bet a lot of the reason why I would pull out a math book at a moment’s notice (and work through all of the exercises in it) during parts of my life without putting in the same energy towards discovering new math later in my life had to do with my lack of vision of what the latter would be like.

Though, of course, having a strong vision by itself isn’t good enough. On that note, I thought their presentation of research on what factors lead to successful rehabilitation for injured athletes was quite interesting. The list they presented was:

  1. Inner Motivation. Both towards a future vision and away from the painful present, in the case of rehabilitation.
  2. High Standards. The successful athletes wanted to get back to their former peak performance levels or better: they wanted to run like the wind, not just get to where they can walk.
  3. Chunking Down Goals. They broke goals into extremely small chunks, e.g. gaining an extra quarter-inch of range of motion in their feet.
  4. Combining Present and Future Time Frames. They concentrated on the present when moving towards those small goals, while also having a vision of the future to sustain them through the rough times.
  5. Personal Involvement. They helped design their recovery plans and carry them out themselves, not just putting themselves in others’ hands.
  6. Self-to-Self Comparisons. They’re not worried about comparing themselves (especially in their injured state!) to other athletes: they’re comparing themselves today to themselves last week, and noting how they’ve progressed.

There are several things that I like about this. For one thing, it fits well with my view of areas when I’ve been successful: in those situations, I have a vision for what I want, I break that down in small steps, I take charge of my own plans, I don’t worry particularly about comparing myself against others but instead note the progress that I’ve made on my own. Whereas in areas where I don’t satisfy those criteria (which is also frequently the case), I make much less progress.

To take a much more modest example than a world-class athlete recovering from injury, I want to become a fluent reader and speaker of Japanese. That’s my motivation, mostly towards, though there’s a bit of an away from motivation in that there are art works I can’t really access right now! I won’t claim that my standards are wonderfully high, since even if I succeed fabulously there will still be more than a hundred million people who are more fluent in the language than I am, but I’m also rejecting goals of being able to just get by: one of my goals right now is to memorize the two thousand basic kanji and all of their common readings and meanings, for example, and I have no intention of stopping when I get there. But that goal will take me years to reach; that’s okay, as long as I know 14 more kanji this week than I did last week, and can keep that up for a little over two more years, I’ll make it to that goal. (I suppose that will also serve as an example of combining time frames!) I’m certainly involved personally: I’m not depending on anybody else laying out a course of study for me, I’m doing the best I can of finding resources to help me wherever I can and combining them to make a coherent plan that I’ll actually be able to carry out. And I’m not comparing myself to anybody else while doing this; sure, the kindergartener two houses down is probably learning Japanese much more quickly than I am, but that’s her, I’m me.

And, of course, I’m always gratified to see somebody talk about the virtues of breaking large tasks into small steps. I’ve certainly spent enough time obsessing about that over the last five years, whether in the TDD cycle, in breaking up features into small, coherent stories, or in the GTD notion of “next action”. It’s a very powerful concept.

The list also sheds an interesting light on Seth Godin’s The Dip. I blogged before about my mixed feeling towards the book: I initially found it seductive, but when I thought about it more it didn’t really feel right to me. And comparing it to the above list is useful: Godin does great on the High Standards part, and okay on the Inner Motivation part. (Though even there I think the fit is a bit uneasy.) I think he’s fine on the next three factors (they’re not particularly the focus of his book, but that’s okay), but the Self-to-Self Comparisons seems to me where his presentation really doesn’t work with me. Don’t worry about being better than everybody else in your niche: follow your nose, and see if you’re getting closer to your vision every day. Maybe this will lead you to being king of your niche, maybe you’ll open up a glorious blue ocean, maybe you’ll just end up having your life quietly spiritually richer without being able to say you’re more successful than your neighbors. Any of these seems like a good outcome to me; focusing on being the best has its virtues to the extent that it encourages you to set High Standards, but is harmful to the extent that you’re excessively comparing yourself against others.

Hmm, maybe I should figure out what, if any, my vision is for this blog?

memory and references

Thursday, June 19th, 2008

In response to a tweet and tumblr post from Brian Marick:

According to the speaker in a talk I went to several years ago, it was the case until some time last century that educated Chinese people would have memorized hundreds of books going back as far as thousands of years. And these books wove together in a thicket of references: when an author wrote a phrase, it wouldn’t just be an allusion to a phrase/incident in a single book X. Instead, it would be an allusion to a phrase in book A written two thousand years ago and also to phrases is books B, C, D, and E that were written over the intervening centuries/millennia that all also alluded back to book A.

memory

Sunday, June 8th, 2008

The SuperMemo ideas don’t seem to be leaving my head, and I’ve finally gotten my todo backlog under control, so I think I’ll take a shot at implementing them. Some notes:

What algorithm should I use to schedule the reminders? I’ll work under the theory that each item that I want to remember is best reviewed at exponentially increasing intervals; see, for example, Wozniak’s Algorithm SM-4. (Though I should note that Algorithm SM-11, his most recent version, seems to drop this assumption.) And, of course, different items are best reviewed at different rates, depending on how easily my brain seems to remember them; let’s call the multiplication factor that we use in the exponential curve for an item its “difficulty factor”. (Where smaller DF = more frequent repetitions = more difficult.)

In SM-4, he suggests that a natural goal is to try to remember items correctly 90% of the time, and that a difficulty factor of 2.5 makes sense as a first guess. In earlier versions of the algorithm, he has what seem to me somewhat complicated ways of tweaking the difficulty factor, but, in later versions, it gets simpler: if you get it wrong, start over reviewing the item from scratch, and increase the difficulty.

Given that, assume you’ve gotten an item wrong W times, and have S winning streaks of 10 correct answers. (So a 20-win streak would count two towards S.) (Though, with the power of exponential growth, a 20-win streak would take decades at all but the hardest difficulty factors.) Then I’ll set the difficulty factor DF for that item equal to 2.5 - .1(W - S). The point here is that ten correct answers balances one mistake, which fits with getting it right 90% (or 91%, I suppose) of the time. And I pulled the .1 more or less out of my hat: I don’t want the difficulty factor to get too close to 1 most of the time, and subtracting .1 each time I get it wrong should fit in well with that goal, based on my experience over the last year with Japanese vocabulary.

With the above definitions, assume that your current winning streak for an item has length n. Then I’ll say that you review the item immediately if n=0, and review it in DF^(n-1) days if n > 0. Actually, I think I’ll change that last to (DF^(n-1)) - .5 days, since I only plan to do the review once a day, and I want to avoid weirdness that might occur if I do it at 8pm one day and at 6pm the next day, or even 11am.

This looks pretty simple: for any given item, I just have to store the next review time, W, S, and n to have enough information to schedule future reviews. (And the fact that one of the items to store is the next review time is very convenient, because that means I can figure out what to review by just doing a simple database query on that column.) I could even store W - S instead of storing both W and S, but I think I’ll keep them separate. One reason for this is that one of the ideas in the original is that different items can be considered more important to learn or less important to learn; if I have something that’s really important to learn, e.g. kana characters, then I could have each mistake count as -.2 instead of -.1, while each 10-time winning streak would still only count as +.1.

That’s the algorithm; what do I use to program the application? One of my motivations is to make it easy to continue my studies when I’m on vacation, or for that matter during my lunch break at work, so I’d like to make this a web app. It looks like a good fit for Rails, and I’d been meaning to get practice with Rails anyways, so that’s what I’ll use. Hmm, what are the best ways to learn about Rails? It’s alleged to be simple enough that I should probably just jump right in and program instead of spending hours reading about it.

The program will have to present questions and answers; each one will be a simple Unicode text field. (And I’ll want to do automatic line wrapping but to preserve manual line breaks.) It won’t affect the programming, but I’ll have to learn a bit more about multilingual input in the various operating systems I use; I’ve done kanji input on the Mac, hopefully it won’t be too hard in Linux, either, and hopefully it will be easy to switch between keyboard layouts on the fly. I can start off with buttons for “show me the answer” and “correct/incorrect”, but eventually I’ll want keystroke inputs for those, to minimize typing. And that’s all there is for the “test yourself” part of the interface; I’ll also need an interface for adding questions and for editing them. (Where the latter will require search functionality.)

If this works well for me, I may well want to let Miranda use it to help with her German; so I’ll have to think about account management, authorization, security. (And if any of my readers are curious, I’d be more than happy to open it up to y’all, too.) OpenID is the trendy up-and-coming authorization mechanism these days; maybe I’ll give that a shot? I would assume that there’s probably some Rails plugin that makes OpenID easy to use.

That should be enough to get me going; in particular, I have a clear next step, to get my hands dirty with Rails, and I have a clear first goal, to get the basics of adding and reviewing items working locally. And then followup goals of searching/editing and of doing this remotely in a not-hopelessly-insecure fashion; I’m going on vacation for a week in August, so I’ll try to get to that stage by then. The multiuser stuff can wait until after that.

Should be a pleasant way to spend some of my free time over the next few months. Andd it will directly address some of the issues I’m having with my current Japanese review: I’m currently managing to review vocabulary items both too frequently and not frequently enough! So I’d really like an algorithm that asked me questions at just the right time.

looking for phone company recommendations

Sunday, June 8th, 2008

Anybody have a (landline long-distance) phone company that they like? I recently discovered that the long distance company that we’ve been using has been treating us badly (hint: grandfathering people into their plans only makes sense if their old plan is better than the plans new customers get), so we’re shopping around.

random links: june 4, 2008

Wednesday, June 4th, 2008

erik ray, r.i.p.

Sunday, June 1st, 2008

I was very sad to learn that Erik Ray died on May 14, after being hit by a car while riding his bicycle. He was more of a friend-of-a-friend than a direct friend, but I certainly enjoyed the time I spent with him when we were both living in the Boston area.

For those of you who come here for video-game-related reasons, he worked on the excellent System Shock in a variety of roles, including doing some of the level design. He also wrote a pleasant introduction to XML.

But the main reason why I miss him is Lambda Expressway. It’s a fabulous quirky audio novella, mixing a sort of adventure story with mentions of the virtues of building your own backhoe, a character with a theme song immortalizing the virtues of buns, and, well, just go listen. (I do every year or so.)

I think I have another tape or two of his around somewhere; I really need to go and get them digitized. I hope they haven’t fallen apart…

piercey toyota in milpitas can go fuck themselves

Wednesday, May 28th, 2008

Liesl’s car is getting a bit long in the tooth, so a week and a half ago we went and test-drove some cars. And decided on a Prius; one of the surprises was that I actually preferred its interior dimensions to the Camry’s. (I kept bumping my head on the Camry’s ceiling.)

We didn’t like the dealer we test-drove it at enough to want to give them our money (and the only package 2 Prius they had in stock was black, which didn’t sound great for summer driving), so we sent out some inquiries via cars.com. Piercey Toyota in Milpitas got back to us saying that they had a non-black package 2 in stock for $23,909. That sounded fine, so we left them a voice mail.

And didn’t get a response—I guess the person we were dealing with was unavailable on the weekend?—but we heard back from them yesterday, and made an appointment to drop by there this evening.

So we show up; the first words are “I have some good news and some bad news”. It turns out that they don’t have one in stock any more, which was pretty annoying; couldn’t they have e-mailed us to let us know? Still, we wanted a car, so we probably would have been willing to put down a deposit or something and wait for a week for the one they had on order to show up.

But, it turns out, Toyota has raised the MSRP in the interim: not only would we have to wait a week, we’d have to pay a few hundred bucks more. They kept us sitting around for a good twenty minutes or so while thinking about whether or not they really wanted to charge us the MSRP, but ultimately they stayed firm: if we wanted a car, we’d have to pay the higher price, instead of the price they quoted to us.

Which Liesl and I were both furious at, and were completely unwilling to do. The reason why we went through cars.com in the first place is so we wouldn’t have to deal with stupid dealer crap: they’d make us their best offer, we’d take it or leave it, no hard feelings either way. Instead, they told us one thing, gave us no indication that anything had changed, had us drive through rush-hour traffic to get there on an evening when, frankly, we had better things to do, only to tell us then that they wanted to change the price on us.

I’m not particularly mad at them for selling the one they’d mentioned on the e-mail: it’s a hot market, we didn’t jump in our car to drive there and buy it immediately. (Though, you know, it would have been nice if they’d indicated that they wouldn’t hold it for us unless, say, we called them to put down a few hundred bucks as a down payment or something: we got back to them pretty quickly, after all.) But if they are going to sell it and we’ll have to wait for a week or two to get another one, it’s simple basic courtesy to spend a minute and send us an e-mail: that way, we would have known what was going on, and hopefully we could have avoided tonight’s trip entirely, arranging whatever needed to be arranged over the phone.

Even with that, though, we would have been willing to put down a deposit for the next car tonight when we showed up and were told that, in fact, they didn’t have a car for us. But to change the price like that with no advance warning is completely unacceptable. Basically, it turns out that what their original “we have a #2 Prius to sell you for $23,909″ e-mail actually meant was “we’re a Toyota dealer, it’s likely the case that we’ll be able to sell you a Prius at some point in the future for some undetermined price.” Which we could have figured out quite nicely on our own without blowing an evening on it, thank you very much.

Liesl will contact the next dealer on our list tomorrow; hopefully they’ll be more honest in their dealings with us.

gtd and standardized work

Monday, May 26th, 2008

One thing which I was expecting to find in the GTD book, but didn’t, was some sort of version of Standardized Work. This is an idea that I’ve seen in lean: it says that, if there’s a task that you do repeatedly, you should write down the best way you know of to do that task. From then on, you should either follow your standardized work guidelines when performing that task or be consciously experimenting with a new way to perform that task. (And then, depending on the results of the experiment, either updating your standardized work or going back to the old way.)

This is, of course, not an idea that is original to lean, and, in fact, I have heard David Allen mention it (either in a podcast or in another book, I can’t remember), under the term “checklist”. But I still think its absence in the book creates a gap; here’s why.

One of his quotes in that book is “There is no reason ever to have the same thought twice, unless you like having that thought.” (p. 22) That’s perhaps a bit of an exaggeration, but it is true that GTD trains you to capture certain kinds of thoughts (worries, ideas, …) as they flit through your mind, and write them down.

So: if the thought is a next action, it goes on your next action list. If it’s related to a project, it goes on your entry for that project. If it’s something you’re thinking about but haven’t yet committed to, it goes on your someday/maybe list.

But what if it relates something that you do repeatedly? You may be able to place that in one of the above categories, but, for me, they’re not a particularly good fit. That may sound a bit abstract (or wrong!), so let me give you an example as an explanation: sometimes, I am hiring. When I hire, I bring candidates in for interviews. And setting up an interview involves several steps: the candidate and I have to agree on the time, I have to reserve a conference room, I have to register the candidate with the visitor system, I have to make an entry in my calendar, I have to e-mail the candidate driving directions. And probably other steps that I can’t think of right now, which is exactly my point: I can try to hope that I’ll remember all of those steps, but they’re exactly the sort of thing that GTD teaches us not to keep in our brains, to keep instead in some trusted location.

But where? If I’m hiring, I’ll have a ‘hiring’ project, so I could keep it there. If I’m not hiring, I guess I could shuffle it over to the someday/maybe list. But that sounds like a lot of busywork for no particular reason; instead, I find it simplest to have a ‘checklist’ folder where I keep stuff like that. (If you’re curious, the GTD directory on my computer contains my tickler file plus four subdirectories: ‘projects’, ’someday’, ‘reference’, and ‘checklists’.) So, at work, this is more or less my current set of checklists: a couple of hiring-related ones, one for when somebody leaves, one giving the steps of my weekly review, and my favorite ones, the checklists for when I get to work and leave work. (I created the “get to work” checklist the second time that I realized that it was almost lunchtime, that I’d been too busy to eat breakfast at home, and that I’d gotten distracted and hadn’t eaten breakfast at work; so I created a checklist whose fifth item is “have I eaten breakfast?”.)

Incidentally, my GTD system is settling down pretty well. I’ve made peace with the e-mail sorting issues that I mentioned earlier; once I’d added short keystroke commands to file an e-mail as action/waiting/scheduled (along with keystrokes for various reference folders), I found that having separate folders for those categories worked fine. I’ve instituted weekly reviews at both home and work; they haven’t had any big effects yet, but seem to be a positive occurrence as a whole. My personal next action list has been getting out of hand recently, but I made some progress in taming that this weekend, and it’s been a successful feedback mechanism in preventing me from taking on more personal projects that I really don’t have time for; my work next action list has remained pleasantly manageable. In fact, while I plan to continue tweaking the system indefinitely, I’ve declared the “adopt GTD” project at work a success, and I only have a couple of action items left on the home version of that project.

2007 and 2008 pictures

Monday, May 26th, 2008

In a bit of a shocker, I not only just put up pictures from 2007, I even got around to putting up the pictures we have so far from 2008. No, I don’t like zoos as much as you might think from these pictures, I just found more stuff that I wanted to take pictures of in zoos than elsewhere.

Resizing that many pictures at once makes me understand why people like batch image-processing software; at least I’ve noted down the keystrokes to do it in GIMP, so that I won’t have to spend a few minutes figuring that out next time.

paris 2008

Monday, May 5th, 2008

As I have, perhaps, alluded to previously, we spent the second half of April in Paris. Notes:

  • It’s the most wonderful place in the world, but I’m actually not feeling particularly compelled to visit it again any time soon. Some of this has to do with the fact that I’ve been there eight times; some of this has to do with the fact that I rather enjoyed spending the week between Christmas and New Year’s at home, and am not sure how much I want to do any vacationing for the sake of vacationing. Of course, this is all subject to change at any time, and Liesl and Miranda may have different opinions.
  • We’ve had bad hotel luck in the past; based on recommendations from comments on this blog post, we decided to try renting an apartment this time. We went with absoluliving; not as cheap as a cheap hotel, but for the same price as a decent hotel, we could get two bedrooms and a living room, with a clothes washer, a stove (not that we used it), a fridge. Or at least we thought that’s what we were getting; the day before we were supposed to leave, they e-mailed us to tell us, with no explanation whatsoever, that they were changing apartments on us; we ended up in a one-bedroom apartment, which they had the gall to call an upgrade because it was in a trendier neighborhood. To be fair, the apartment wasn’t a complete unknown, since we’d marked it as acceptable from the list of apartments they’d initially proposed to us, but I still didn’t appreciate the bait-and-switch, or whatever it was, at all. (Also, to be fair, I’m happy enough with the area we ended up in, and will consider staying near République in the future, but I didn’t like being in the middle of a very long block on a side street.) The other problem with the apartment was that one window kept squeaking open and closed all night when it got really windy; I’m not really mad at them about this, because I’m not sure how they would have discovered it by inspection, but it does point out a problem with an apartment agency that you don’t have with a hotel, namely that you can’t just complain about a maintenance problem and have them move you, because they might, say, be closed on the weekend. (Fortunately, it happened on a Thursday, and they managed to get somebody in on Friday who eventually stopped the squeaking by duct-taping it shut.) Anyways, one separate bedroom (Miranda was in a sofabed in the living room) is vastly better than everybody sharing a bedroom, so the general idea was a good one.
  • Poor Liesl was sick some of the time; fortunately, it wasn’t nearly as bad as when we were in Amsterdam, but she stayed in the apartment for three (two?) of the days because of that. Partly because of that, we didn’t go to as many restaurants as we might, but we still got some good food out of the trip (including one from a restaurant that apparently changed hands about a week after our last trip and was completely, surprisingly different this time); visiting salons de thé in the afternoon may have been my favorite part of the trip. (The pizza at decent Italian restaurants in Paris is quite nice, too.)
  • Why had I never heard of Lovis Corinth before? My first reaction is that I’d rather look at his art than, say, that of Van Gogh or Gaugin or Seurat. Looking at labels suggested that part of the reason is that his art is scattered around museums in Germany instead of clustered in museums in Paris; glad I’m aware of him now.
  • The baboons at the zoo in the Bois de Vincennes are a hoot.
  • Having internet access in your apartment is a good thing. And no, this is not a sign that I need to relax and tear myself away from the internet: this is a sign that I don’t feel compelled to spend every vacationing hour traipsing from site to site and can, instead, spend time in my hotel just enjoying myself without feeling guilty that I should be doing more on vacation.
  • Having a washing machine in your apartment is also a good thing. And points out another benefit to the internet: if your washing machine is refusing to wash and just blinking when you hit a number, you can google the model name and get a manual. (Answer: you accidentally hit the child lock button; hold it down for four seconds to unlock, and what you thought was the off button is actually the start button.)
  • Miranda’s favorite museum turned out to be the sewer museum.
  • Sacré Coeur is distinctive to look at from a distance but boring on the outside. Not so Notre Dame: there’s something to be said for thousands of people working for hundreds of years to produce something glorious.
  • I really am not impressed by the current Orangina ad campaign: large-breasted zebras just don’t do it for me. Sex, fine; animals, fine; combining the two, ick.
  • We forgot to buy a power converter; fortunately, the basement of BHV had them for sale. (They had one that went both directions, 110-to-220 and 220-110.)
  • Traveling with several puzzle books from Nikoli was an excellent idea: not only are the puzzles top-notch, but the narrower-than-US form factor meant that I could slip one into my jeans pocket, which is very useful when walking through museums where I’ve had to check my backpack, finding myself a room or two ahead of Liesl and Miranda because we go through them at a different pace, and needing to amuse myself. I’m getting a bit burned out on Nurikabe (though I still think they’re an excellent puzzle variant), and Number Link isn’t my fave (once the puzzles get out of the easy range, I have a hard time proving my solution is unique, which frustrates me), but I’m still a big fan of Masyu and Slitherlink. I’ll have to try some of their other puzzle types.
  • I really can dial down the number of books that I take on a trip these days: I have enough other entertainments that I don’t need to carry nearly as many to avoid running out of them. (And there are always bookstores if I guess wrong.)
  • Heavy curtains are great for the first night or two after getting off the plane, but in retrospect I should have stopped closing them completely after that: I never really got my clock adjusted to Paris time. The flip side of which was that lying awake at night gave me lots of practice in going over my Joyo kanji…

pruning my library

Monday, May 5th, 2008

My bookshelves have been getting tight, so I just wandered through the house, and found about a hundred books to give away. Given the frequency with which I’m using the library these days, that should give me a good couple of years more space on the shelves, I hope.

I would seem to be ready to give up on much of the random fiction that I acquired during grad school. I’m still hanging on to more of my academic books than I should, though: I didn’t select any math books to discard, or any Sanskrit/Pali/Indian studies books. (I’m certainly not about to give away my 45-volume edition of the Pali canon, what with the stylish elephants on the spine! But other stuff I could probably stand to give away.) Also, I somewhat surprised myself by giving away some books by some authors while keeping other books by those same authors: in the past, I’ve been more of a select-by-author person.

Incidentally, for what it’s worth, this is the sort of blog post that I’m not sure I would have made in my pre-twitter days. But giving away books seemed to meet the twitter-worthy threshold; and when I thought about it a bit more, I decided I had more than 140 characters that I felt like saying on the subject. A good thing, I guess?

types of actions

Sunday, May 4th, 2008

Another thing that I’d forgotten since the first time I read the GTD book: not everything that advances a project is a Next Action. Some actions are for the future (and hence belong on your calendar or tickler file); some actions need to be carried out by other people.

One concrete effect of this realization is that it gave me a way to flag the current status of all of my projects. I have a list of projects; each project has to have to have at least one item associated to it with the label NEXT, WAITING, or SCHEDULED. I may have multiple such actions, if I’m proceeding along multiple fronts; I may also have items on the project that don’t have any of those labels. (Those items might be ideas for future actions or reference materials.) But I have to have at least one item that’s flagged with one of those labels: if I don’t, that’s either a sign that it’s really a someday/maybe item, not a project, or that I need to sit down and come up with a next action on the project.

This also applies to e-mails. Some e-mails, even e-mails that I have flagged as active instead of archived, aren’t associated to a project; I stick these in a folder called ‘conversations’. But lots of my active e-mails are associated to a project. So I have folders ‘actions’, ‘waiting’, and ’scheduled’, corresponding to the labels above. (As well as another folder, ‘projects’, for reference material that I don’t want to archive just yet.) (Actually, not every e-mail in actions/waiting/scheduled is associated to a project in my formal project list: some of them are single-action projects that I don’t feel compelled to capture elsewhere. Though some may be few-action projects that really should be captured elsewhere? I don’t think it’s hurting me yet, though.)

The problem is that this requires too much work for some common operations. Say that an e-mail comes in that I’m waiting for. Then it’s a response to something that’s currently in my ‘waiting’ folder; to avoid forgetting that I’ve gotten the response, I typically move the response to ‘waiting’ as well, then (once I’ve finished clearing out my inbox), go to ‘waiting’, look for e-mails that have gotten responses, and characterize them accordingly. Another difficult issue is when an e-mail requires some amount of context to respond to entirely: do I just have a single message in my actions folder, or the whole thread?

I’m starting to think that gmail has gotten it right by replacing folders with (per-thread) tags. But I’m not willing to move even my personal e-mail usage to gmail’s web interface, and I certainly can’t move my work e-mail there. Does Thunderbird use tags, and make it easy to restrict your view to only messages with a certain tag? (Looking at the web page, I think so, but I’m not completely sure.)

For the time being, I am one of the eccentrics who reads e-mail using Gnus. I assume I’ll move off of it one of these years, but that time hasn’t yet come, and (despite Gnus’s folder-centric nature) I don’t think this will push me off of Gnus, either. I spent a few hours digging through the source code and asking questions of the newsgroup; Gnus doesn’t have tagging support, but it looks like it should be workable to add an extra header to saved e-mails and tell Gnus to limit its view to headers matching a certain value on that header. (A nice benefit of having a mail reader written in a scripting language.) I haven’t yet found the time to implement this, so there might be something that I’m missing, but I’m optimistic.

Once I’ve done that, I can get rid of the separate action/waiting/scheduled folders: those messages can all be in my projects folder, and I can add keystrokes to narrow my view to messages with a certain tag. Of course, this doesn’t solve the ‘response to waiting’ problem listed above; I may actually have my inbox be the same as my project folder. (I’m not sure what the effects of that will be.)

Even the current system is a big improvement over what my inbox used to look like. My actions folder never gets very big; when I got back from vacation, I had 50 e-mails in there when I was done with my inbox scanning, but that was an exception, and having those e-mails all in one place was very useful. (In particular, it allowed me to get it down to the normal 5-or-so level by the next day.) And the waiting and scheduled folders are useful views for periodic reviews. But it’s clearly an area where improvement is possible.

wozniak the memorious

Saturday, May 3rd, 2008

Jim pointed me to this article a few weeks ago, and I’m annoyed to say that I can’t get it out of my head. It’s about a guy who claims to have an algorithm (implemented by a computer program) to help you remember a lot more stuff a lot more solidly than you can with other methods, and it strikes just the right balance of potential importance and buy-in required to get me thinking about it more than I’d like.

The basic idea is this: if you want to remember something, you have to practice remembering it periodically. So it’s not enough to cram facts for an exam and then pretend that you know something: a few months later, you won’t consciously remember most of it. (Which is one reason why I question significant parts of our educational structure, but that’s a separate rant.) Instead, you have to periodically refresh your memory of the facts; fortunately, you can refresh less and less frequently over time and still remember those facts. Basically, the optimal time to refresh each fact is right before you’re about to forget it; this guy claims that he has a computer program that will serve up facts to you at the appropriate time for optimal practice.

This would be very useful to me (and, for that matter, to Miranda) right now: while he will happily apply it to anything, it’s clearly extremely applicable to learning foreign-language vocabulary. (And grammar!) And the theory is also obviously quite plausible (and apparently supported by the empirical psychological literature): I’ve spent a lot of time memorizing facts over the years (and in particular over the last year), and I can testify that this phenomenon of memorizing a word, and then not quite having it at the tip of your memory (or barely still having it at the tip of your memory) some time later is quite correct, and I’m quite willing to believe that there’s some optimal decay pattern for the refreshes.

But I also have a system for memorizing vocabulary that works moderately well right now: not perfectly, by a long shot, but I’ve gotten a lot of use out of it. In particular, right now I have 1200 or so vocabulary cards written down; I’m not about to sit down and digitize them all (which isn’t really necessary), but I’m also nervous about switching to another system which may or may not work, and (if I decide to switch back) to then deal with having some of my vocabulary on a computer and some on physical cards.

Also, to make matters worse, the software is basically Windows-only. So using it isn’t a realistic possibility for me. (It does seem like the sort of software that would strike a chord among Mac geeks, but who knows…)

But then I was idly thinking about it some more over the last day or two. Just how hard could it be to whip together a version of the software myself? The basic infrastructure is pretty straightforward: I need a way to save questions and answers, I need it to display questions to me, and I need to tell it whether or not I’ve answered the questions correctly. Then the software could save my history of when I’ve answered each question successfully (or unsuccessfully), and, based on his magic curves, figure out when it should next offer that question up to me. I’d never written a Rails app (a deficiency that I’d like to remedy), but all the data entry/display sounded like it should be very easy to whip up using Rails; I didn’t know what the magic sauce was, but it’s probably some sort of exponential decay curve, so I should be able to just look up his algorithm and implement it, right?

So I spent some more time at his web site, looking up his algorithm. And, at first, I was pretty disappointed. The most obvious place to start was with the paper version, but it had a few glaring deficiencies. The main one is that it had you work on groups of items all at once, treating each group as equally difficult (i.e. with the same decay curve). (Both the grouping and the equal difficulty seemed wrong to me.) Also (and this is, of course, just a minor annoyance, easily tweaked around), having the first review come four days after you’ve written down a group seemed way too long to me.

Reading that, I was pretty let down. After more poking around, though, it turns out that the algorithm has changed a fair amount over the years; I believe this is the most recent version of the algorithm listed on the website, and that page gives links to earlier historical versions. I haven’t tried to fully understand the most recent version (and, as far as I can tell, there’s not enough information there to reconstruct it, some of the constants there apparently need to be determined empirically), but there are enough ideas to try to remedy the above flaws. It seems like the current version doesn’t always use exponential decay, but I believe earlier intermediate versions did (version 4 seems a particularly useful touchstone), so I could easily start with that; there is a per-item difficulty factor, and there’s some idea that you can calculate the difficulty factor by counting the number of times you’ve gotten the item wrong.

Based on that, it sounds plausible that I could hallucinate an algorithm that probably wouldn’t do any worse than my current method for learning vocabulary. (My current method wastes too much time up-front in going over words that I would ideally review in intervals longer than a day, while at the same time not doing enough review of old words.) And I don’t think it would be too much work to whip up a program to implement it, and I’d get some practice with Rails to boot.

So: would doing that be a good idea? I’m still not sure: if I ultimately decide that I don’t like the results (whether because I don’t think it works well or because I don’t want to be tied to a computer when doing vocab review or because of some other reason), then there would be a real cost in switching back. And it may turn out that this is all really a side-issue: maybe it would be more effective than my current system, even significantly so, if I wanted to memorize a dictionary. But I don’t want to memorize a dictionary, I want to be able to, say, read Japanese, and doing so would probably give me frequent enough review of the words I was actually using to make a program like this superfluous.

Not sure where I’ll go with this yet; for now, I’m too busy, so it’s on the someday/maybe stack. But it’s surprisingly close to the top of that stack; we’ll see where I am in a couple of weeks.

saved items queue: april 30, 2008

Wednesday, April 30th, 2008

Time for another tour through my saved items queue in Google Reader. No new categories since last time; the numbers of items in those categories, with the difference from last time, are:

  • blog: 7 (+5)
  • book: 32 (+7)
  • commented: 0 (-2)
  • flash-game: 10 (+2)
  • long: 28 (+14)
  • music: 13 (+6)
  • podcast: 28 (+8)
  • recommendation: 17 (+6)
  • short: 0 (0)
  • think: 12 (+3)

For a total of 147 items, an increase of 49 over last time. Which is 49 off of my prediction.

Hmm, not sure I’m learning anything any more from these posts. Note that all the categories except for blog, commented, and short are part of my someday/maybe list; the three short-term categories aren’t growing (the 7 items in “blog” just means it’s been a little while since a “random links” post), but the someday/maybe categories are. Which is fine; I still get occasional use out of the collection of saved items, and the fact that those categories are growing just says that I have other priorities in my spare time right now.

sticking with twitter

Sunday, April 27th, 2008

I’m sticking with Twitter, at least for the time being: twittering turns out to be reasonably fun, and my earlier blog post plus a mailing list query turned up enough names to make a critical mass of both people I’m interested in following and people interested in following me. Including a couple of other people who were apparently prompted to join because of my messages, which suggests that I’m not the only person I know who was thinking of joining.

I guess the next steps are to find a Linux client (shouldn’t be hard, I guess I can just do it via IM?) and add a few more people to follow. So far I’ve been following a few people I know and a few of the bloggers I read whose tweets are relatively interesting. Which certainly isn’t the case for all bloggers I read; come to think of it, the sort of tweets I prefer from people I know personally are rather different from the sorts I prefer from people I don’t know. I still need more people to follow, because my stream is thinner than I’d like and too heavily dominated by the relatively few frequent posters, but it’s a good start.

someday/maybe

Thursday, April 24th, 2008

I went back and reread the GTD book to see what I’d forgotten from my first read-through a year or two ago. Quite a lot, it turns out (in fact, almost everything except for the definition of a next action), about which more later, but one of the concepts that struck me the most was the notion of a “someday/maybe” list.

This is a list of things that you’re thinking of doing but don’t currently have in progress. As with most GTD concepts, much of its power comes from allowing you to create clear boundaries: the relevant boundary here is that something you’re thinking of doing is either in progress (in which case it’s on your projects list) or is something you’ve consciously decided to defer (in which case it’s on the someday/maybe list). This forces you to think for a few seconds: do I want to work on this now or postpone it? If I want to work on this now, what’s the next action? But once you’ve done that, you can stop worrying about it. (Or at least that’s how the theory goes, and it matches my experience well enough.)

So, basically, the someday/maybe list is a repository for all those pipe dreams and worries that you’ve had that you’re not dealing with right now. Much of its value is simply as a place to write things down: part of the GTD idea is that, when a thought flits through your mind, you probably want to write it down somewhere unless you particularly want that thought to continue flitting through your mind. And many such thoughts translate into either new items for the someday/maybe list or comments on existing items for that list.

Of course, just making a list won’t do you any good if it turns into sweeping unpleasant thoughts under the carpet: that will translate into some combination of not getting things done that should get done and of worrying that you won’t get things done. So you’re supposed to look at your somebody/maybe list once a week, to ask yourself if any items there should be promoted to active projects.

The reason why this struck me so much is that it gave another way to look at my preferred way of dealing with books, namely to have a very short stack (ideally of length at most 1) of books that I’ve bought but haven’t yet read, while keeping a much longer list of books that have caught my eye for some reason. I got this revelation from lean (inventory is waste), and it’s served me very well over the last couple of years, but I had a hard time explaining just why it is that having a big stack of books that I really want to read but haven’t gotten around to reading is bad while having a long list of books that I really want to read but haven’t bought or gotten around to reading is good. (The third option would be to not have a list or a stack; for me, that would translate into an unreliable mental list, which is worse than a physical list.)

If you think about it in GTD terms, though, what’s going on is this: you see a book, and the thought flits through your mind that you should read it. Being a trained devotee, you know that you need to write this down somewhere: so is reading that book a current project, or a someday/maybe item?

If it’s a current project, then the logical next action is to buy it, so by all means do so at once. If you don’t have definite plans to read it soon, though, then it should go on the someday/maybe list, in which case buying it now isn’t appropriate. If you want to get a bit subtler, you can say that you have a current project of “always have a book to read”, in which case buying the book is appropriate if you’re close to finishing your current book and you want to read that book next, but isn’t appropriate otherwise.

Basically, there are (in my experience) a few reasons why I’m tempted to buy the book on the spot. One is because I like to fantasize how exciting it will be to read the book. That’s very pleasant, but buying the book isn’t a good response to fantasies like that: I should only buy the book if I’m actually going to read it, not just because I want to bask in the thought of reading it and can hallucinate that buying the book right now is a constructive step towards that end. Another reason is because I’m afraid that I’ll forget about the book if I don’t buy a copy right new, and I really would like to read it at some point in the future; fair enough, but making an entry on a list (possibly with some notes about what attracted me to the book) is a better response than buying it. A third is because I feel guilty walking into a bookstore, browsing their books, taking notes about what books to buy, and then walking out without giving them money; I still think that’s actually a pretty good reason to buy a book, but what I’ve found is that, if I have a low (frequently zero) unread book inventory, then I can assuage my guilt by buying one book and reading it next (or possibly after I’ve finished my other book in inventory). And if I’m not sure that I want to read the book next, then maybe that’s a sign that I shouldn’t buy it right now: I have lots of experience with the strategy of buying books because I feel that I should read them, and the results aren’t generally particularly positive.

The upshot is that I’ve moved my books-to-read (games-to-play, music-to-listen-to) lists to a ’someday’ subdirectory of my GTD directory, and added a generic someday list there. And the results have been generally pleasant: it’s nice to have a place to write down ideas about things that I’m thinking of doing in the future. Equally importantly, it let me stop worrying about certain things that I knew I should get around to doing but just didn’t have enough spare cycles at the moment to work on; enough items have graduated from the someday list to full-fledged projects that it’s not just a sham.

floor repairs

Saturday, March 29th, 2008

The latest victory of my new, organized self: after putting up with quite bouncy floors in this house for the four and a half years that we’d been living here, we finally got it fixed!

The barriers here were was psychological as much as organizational: my brain was imagining all sorts of possible causes that were either too serious or too expensive for me to want to confront them. Having said that, I’d actually finally faced up to the fact that that behavior wasn’t doing me any good and begun dealing with the issue several months ago; at that time, I looked through the phone book, found a house inspector, learned that house inspectors didn’t (in general) do termite inspections, decided that I wanted a termite inspection first, had that inspection, and paid for treatment. Which was a big step.

But not big enough: I still had a bouncy floor! When I took my first GTD steps, I decided that I didn’t have any reason to not be doing some house work, but that floor repairs weren’t actually the highest priority: getting the dryer vent replaced was. So I got that taken care of. (And stopped feeling guilty about not looking at the floor: I’d made a conscious decision not to do it then for a good reason!)

Once the vent was replaced, though, I did decide to launch on the floor repair project. The next step was easy: I’d already found a candidate by leafing through the phone book, so when I had some free time at work (which took most of a week), I called and arranged for an inspection. Which cost more money than I expected, but was worth it.

And the news was actually as good as I could possibly have imagined: yes, the floor was bouncy, but it was bouncy for a reason, the reason wasn’t a structural problem, and the reason was something that could get fixed without paying an arm and a leg. Basically, the floor under the house had dried out and compacted in the three decades since the house was built. (Incidentally, having it be dry was also good news, since I was a bit worried that water had gotten under the house.) So now some posts weren’t touching beams that ran above them. This meant that if you stepped on an area of the floor supported by the beams, the floor would sag until the beam touched the post. Which is easy to fix: you just shim up the beams.

The inspector gave me a contractor recommendation, and they both seemed like reasonable people, so I went with that. And he cleaned out various other things under the house while he was there: aside from shimming the posts, he put in some earthquake straps, cleaned out some lint from the dryer problems, moved some cables off of the floor of the crawl space, and even cleaned up some beer cans that had apparently been left there by some prior worker on the house. (I’m not sure I want to know the story behind that one…)

And now the floor feels a lot more sturdy, and I have one fewer low-level worry: huge success!

Unfortunately, our house work isn’t over: we’d been thinking for a while that there were certain aspects of the kitchen that we didn’t like, and recently the stove has given us more problems than we’d like. So it’s time to replace the stove, and if we’re doing that, it’s not going to be a simple replacement: there’s an electric stovetop in one place (above some cabinets) and a pair of electric ovens in another place, and we want instead to have a single gas stove/oven combo located where the stove is currently, with cabinets where the oven is currently. Which sounds like a reasonable amount of work; we will, I think, work hard to have it not turn into a complete kitchen remodel, because while I don’t, for example, like the tile countertops, I also don’t want to have my kitchen unuseable for a long period of time. But some significant work is unavoidable, and poor Zippy will have to be shut up in our room again while people are working downstairs.

I’m not starting it just yet, though: we have other things coming up over the next month or so, so right now just isn’t a good time. We should probably start in May; hopefully Sun’s Q3 bonus will be a good one this year…

random links: march 23, 2008

Sunday, March 23rd, 2008

A bit video-heavy today.