Well, that has been quite the extended Thanksgiving holiday! It’s been two weeks since I’ve posted.
(Which calls for a word or two of self-criticism. At the end of the post.)
This week I’m continuing to work on the Go Language and the MLO parser. I think I’m going to continue with this through the Hannukah and Christmas holidays. So I’ll probably pick up 7 Hard Problems in January.
The goal this week is to find the right architecture for the parser now that I’ve read most of the Go Language book (except for the sections on concurrency, which I’m not ready for and which is not an issue for my parser project.) I’m wrapping up the book this week (again, except for those concurrency chapters 8 and 9).
This week is going to be a combination of reading and work on the parser, which I haven’t done since September. So there’ll be some context switching and dusting-off to do.
After the dusting-off I want to find the right way to handle the key problem of the parser, which is how to treat the various actions the parser might perform in response to the same input for varying contexts.
For example: I want to be able to parse an MLO file and output just the “views” from the file in a way that they can automatically synchronize with MLO instances on other computers and platforms. Right now I have to do this manually.
Another example: I want to be able to translate an MLO file into a nearly-equivalent ToDoist file (which is complicated because the ToDoist paradigm isn’t really hierarchical.)
We’re traipsing through a giant XML file in the same basic fashion for both of these, but the actions to be taken for each node in the XML couldn’t be more different.
I’m looking to use Go’s interface capability to represent these similarities and differences in a uniform manner.
Enough said. Happy to say more offline if you’re interested in Go, interfaces, MLO, my parser, and anything else related.
Now for the self-criticism…
I don’t know whether or not I’ve blogged about self-criticism, but I have a couple of non-standard ideas about it:
- It’s actually a good thing, provided
- You do a real self-criticism.
What makes a self-criticism real?
- You have to cotton to the problem: “I screwed up. I shouldn’t have called you those names.”
- You have to say something about why the problem happened: “I get defensive when I feel like it’s my fault something bad happened.”
- You have to say how you think the problem can be averted in the future: “I think I can keep from lashing out if I take a moment between feeling responsible for stuff and reacting.”
So here, what’s the self-criticism:
- I didn’t really process that I was going to be on the road and on vacation during the week of Thanksgiving, so I should have said up front that I wasn’t going to be able to keep up my pace of blogging. In the week after, I thought to myself, “well, in a dime, in for a dollar” and decided to not blog last week either.
- It’s a cycle familiar to me from diets and other attempts to break bad habits: you realize you’ve screwed up and so you give yourself permission to screw up big time! “What’s another week of not blogging?”
- I think I can avert the problem in the future if I’m straight with myself beforehand about what I can and can’t do.
I think that’s a decent self-criticism. What do you think?