Strange Loops

No Matter Where You Go, There You Are

Maybe I’ll Try This

| Comments

I was looking around at people who have similar goals and I saw this recommendation for Culinary Communion. They are based in West Seattle and their website indicates they have beginner cooking classes. I’m not sure what their definition of beginner is. I should give them a call and ask.

I Cook Kind Of

| Comments

I have a whole bunch of cooking books and I’m an avid fan of the food network. In recent months, I’ve done a better job of cooking. But I want to really cook. Prepare dishes that make friends say, “Damn! you cooked this. Seriously? You da man!”.

Vacation Ideas

| Comments

In March, I intend to take a vacation. Not because I really want but because I have to use my vacation time before they expire April 1st. For budgetary reasons, I need to do something cheap (I’ll blame the economics on the new powerbook). I was thinking of treating it like a sabbatical. University professors get every seventh year off to do whatever catches their fancy. I want to do something like that. Everyday I spend in the office, I work on designs and code for somebody elses project. I just want to spend those 9 days off doing something I want to build. I want to focus on writing code. With the languages and tools I want to use. With design ideas I want to pursue. And little to no  documentation. And no project schedule! It gets done when I say it’s done and not a moment sooner.

The question: What should I build?
The secondary question: What should I build it in?

I’ll answer the secondary question first: With one of the new impractical languages I’ve been studying. Objective C, Groovy, Lisp, Io, Ruby, Python are the ones I’m most comfortable with currently. I’m leaning towards  doing it with Io. The language has some  nice properties that just appeal to my sensiblities. Why I find Io attractive shall be the subject of another blog entry I suspect. Here are some possible project ideas:

- Embed Io into X, where X = {VIM, Frontier Kernel}
As a proof of concept, embed Io into X. I’ve been meaning to spend more time exploring VIM. Same story with Frontier. Doing either of these is going to be the hardest task on my list. I’ll need to look at the X source code before my vacation to decide whether to do this. I suspect the tricky bit will be integrating Io garbage collection and the legacy C code.

- Write a RSS/WebServices Cocoa application
Seems doable. A number of examples supplied with the Io tarball are Objective C related. Plus RSS/Webservice kinda stuff is what I’ve been wanting to play with for awhile. Maybe I’ll write an Amazon Web Services client. Or a RSS reader. Or both if they turn out easy enough.

- Write a webserver
HTTP 1.0 is a simple enough spec to implement. I’ve done it in the past. Maybe add persistent connections and pipelining if I have the time. It’ll be interesting to write a webserver with a language that has support for coroutines. The event driven model for a webserver intrigues me to say the least.

- Write a blog
Doesn’t need to be anything fancy. Blosxom is a small blog software that does really fancy stuff with very little code. That should be my goal but initially I just want to display text files in reverse chronological order of their creation date.

I’ll probably do the blog and improve it. With any time left I’ll try and write a Cocoa application. This seems like an entirely sensible plan.

MSN Spaces

| Comments

Link: MSN Spaces.

Found this while reading the jobster blog. Looks like MS is getting into the blog space. Might be interesting to see what happens as they have a large captive audience using their products. I might get an account to see how it compares with other blog tools I’ve tried in the past (Blogger, LJ, Radio Userland, TypePad, Blosxom, MT).

Knoppix Linux

| Comments

Link: Knoppix Linux.

I just had to give a shoutout to the folks who do Knoppix. My Linux box at work seized up Monday and it looked like I was going to lose a bunch of important stuff (e.g. muttrc, vimrc …). My root partition had horked itself for no particular reason and I was unable to even boot to a command prompt (the kernel panics if it cannot mount the root partition). I spent Monday afternoon downloading the Knoppix ISO and burnt myself a CD to bring into the office.

After some initial problems getting Knoppix to run (it kept booting into X and my crappy monitor just refused to show anything; solution: type "knoppix 2" at the lilo prompt), I got a shell on my linux box. I did some poking around and ran a fsck on my root partition. The journal on the partition was corrupted and fsck fixed it by deleting the journal (thus reverting it back to ext2). After fsck was done, I was able to boot my Linux box and recover a whole bunch of stuff. I used the box the rest of the day but the disk appears flaky. I’ve noticed some long pauses while typing which I have not been able to attribute to anything (but I’m guessing disk problems).

Once again, thanks Knoppix!!! And thanks Knoppix Hacks for giving me the idea to use Knoppix in the first place.

Why GTD?

| Comments

One of the things that resonated with me when listening to the audiobook was Why? GTD works.

David Allen talks about the idea of “open loops” and how they occupy our mind even when we are not thinking about them. That is the point of having a system to organize things. When we are confident that we have captured everything into our system, we can rest easier knowing that nothing will slip through the cracks.

This is one explanation for why I’ve been nervous and edgy lately. A long time habit of mine is to always remember things I need to do. Lately, I’ve been forgetful and perhaps it is making me tense at some subconscious level.

Finished GTD Audiobook

| Comments

At some point, I should get the actual book. The audiobook does a pretty good job of summarizing GTD though. I was able to get the gist of GTD but I’ll need the book as a reference.

These are the ideas I remember:

  • Having an Inbox. You put items into your inbox. When you take items out, you must decide what to do with it. Putting it back into the inbox is not an option.

  • 43 folders. One for every day of the month (31). One for every month in a year (12). This is used to help organize stuff you take out of the Inbox but need to be deferred.

  • X minute rule. If X is below some personal threshold, you’re better of doing it right now.

Done With Chapters 1,2,3

| Comments

I understood most of the first three chapters. It was mostly review for me as I had covered the material in my CS syllabus. There were some new material that Feynman discussed though. “Reversible Logic” was one such topic.
I found his explanation of how computers work brilliant (chapter 1). He explains how computers work using the example of dumb but fast mail clerks. He starts off giving them high level instructions on what to do and eventually drilling down to extremely low level instructions. He covers the idea of sub-procedures and abstractions matter of factly. Actually all three chapters were brilliant. Lucid, laymen level explanation of how things works but with real intellectual substance too.
Chapter 4 is about information theory and coding I believe. Feynman is going to talk about Claude Shannon’s theories. I’ve not explicitly learnt anything about Shannon before so this will be interesting stuff for me.