The End of the World

For people who haven't seen it, this flash animation is highly enjoyable:

The End of the World

I sometimes randomly go into "Hokay, here's the earth..." or "but I'm le tired," and now you know where I got that from.

One thing I noticed several weeks ago while watching it is that, near the when when California "breaks away from the US to go hang with Hawaii... Alaska can come too," there are actually two Alaskas and Hawaiis. The map which California breaks from already includes those two states, in the left bottom corner. I wonder if the animator ever noticed that.
No comments

Information Tags

I'm working on two big projects this quarter (and hopefully the quarter to come), both of which requires understanding a large amount of information, and one of which requires gathering information and generating ideas. The way I organize all this knowledge right now is purely chronological: I have a directory titled "notes", and it in goes all my stuff, each in a file for that day (say, "20071030"). Obviously, this method doesn't help with organizing my notes in a semantic way. I did have a small habit of writing "idea" on one line if what follows in an idea worth exploring, so I can grep the entire folder and find all my ideas. This doesn't do much for everything else though.

The idea I had is to organize it the same way GMail organizes emails: tags. Each piece of information, besides having the date that I found it, the source, and so on, would have one or more labels of what that information relates to. Then I can see everything that's related to, say, Linux, on one page, and everything about Windows in another. Obviously, using simple text files would not suffice, unless I have some syntax. I am however too lazy to write a command line script to read and/or add syntax, so I've just let it slide for now.

I was thinking about this today, and suddenly realized how similar this is to the categories on Wikipedia. It serves the same purpose: to classify documents or information into different categories, so one can retrieve all related articles in one click. So I looked up what different wiki software exists, and I discovered (or rediscovered - I think I've seen it before) TiddlyWiki. It's a HTML/JavaScript based wiki, using a single HTML page to store everything. It does some magic to ask for write privileges, so each time you save you're overwriting the original file. From what I've been experimenting with so far, it seems to work quite well as an information organizer. I mean, it sells itself as a "reusable non-linear personal web notebook," which is what I need.

Later tonight I might import some of my notes into a TiddlyWiki, and see how well it actually works.
No comments

Cased-Based Reasoning

There are a lot of theories in artificial intelligence, attempting to explain a plethora of phenomenon. I guess I am relatively easily persuaded every time I hear a new theory. This time it's one of my professor's spiel on case-based reasoning (CBR).

CBR is a model of how humans can adapt to so many different situations. We can survive in an unfamiliar city perfectly well, we can write essays on different topics without too much pain. Some people will argue that we have different knowledge (say, a set of rules) for writing essays, and for navigating cities. CBR argues that there's a more abstract meta-theory behind it all: that we learn from experience.

Put it this way, it seems really obvious. Of course we learn from experience! The theory goes on to say that we don't do logical inference and reasoning on all possible choices in a given situation, but only change what we have done before to suit the situation. So when we face a problem, we have to find a similar situation that we have solved before, then look at the plan and reason with that plan to see what should be changed.

If you are still totally un-convinced (or at least want some evidence), consider what you do in school. When you learn math, or physics or any science, you do exercises. Why? So you get practice. How does that translate to CBR? You're broadening the number of cases you can reason from. The more previous plans you have to approach a problem, the less actual thinking (reasoning with the plan) you actually have to do, until it becomes "automatic." Business schools and law schools teach cases, which serve the same purpose as textbook exercises in math. When teaching we give different examples of the same abstract idea, and what do we hope the students do? Eventually abstract out the idea from all these cases.

I'm not saying that's a definite proof of humans are case-based reasoners at its base, but it's strong evidence for it.

One interesting side effect of building a system that does CBR is the seemingly simple, "find a similar situation." If CBR is to work, that would imply a highly abstract mechanism for making analogies. It's not that if you've looked for keys before you use the same plan to look for keys again, but it will also apply if you look for your wallet, your credit card, and any number of other things. Without this systematic (and highly efficient) find and match system, CBR would fail.

One of the things this reminds me of is a program I learned about last year, called the Structure Mapping Engine, or SME for short. This time it's a model of analogy making. It assumes that analogies are made on the relationships between objects, but not on the objects itself, and that the deeper and more numerous these relationships are, the stronger the analogy. The mapping from lost keys to lost wallets is a shallow analogy, but something like applying the traffic network to a computer network is a deep analogy. Of for that matter, how we use "shallow" and "deep" to describe analogies, as though it was an ocean of thought.

Whether these examples of linguistic metaphors provide evidence that all learning is based on metaphors is another issue entirely. Interested readers can start with George Lakoff.

Besides having the ability to make analogies, there is another brain function required for CBR to function: memories. The way CBR relies on structural similarities between the present and the past reminds me of something else: schemas, a model of how we make memories. The schema theory is really a sort of case-based reasoning for memory. We have memories of a general event - say, what it means to eat at a restaurant - and then when ever we visit an actual restaurant, we have new episodic memory. The schema theory says that we don't remember each and every restaurant visit individually, but instead use the general event to help reduce the number of things we remember. We don't need to remember that the waiter came to us at this restaurant, because that happens no matter which restaurant we're at. In other words, we only remember what is different about this new memory.

The trade off for remember less things is of course that we remember less details. If you go to a restaurant too often, you'll eventually mix up what happened on which trip. Schema theory accounts for this by saying that some of the details were generalized, and lost its connection to the individual event.

Now here's something I'm interested in. For CBR and schemas, there remains one big problem. How do we learn the "original" case or memory? It can't be that we were born with a schema of how restaurants work, or a plan for what to do if we lose stuff. There has to be something which made the first case or schema, a meta-meta-theory of learning if you will. And I'm curious what that is.
No comments

Quelle heure est-il?

I don't own a watch, and don't have a clock in my room. If I'm out and about, I could either look at clocks (found in classrooms, banks, on top of towers, etc.), look at other people's watches (which requires a little skill in mental rotation), or look at something I have which has a clock (laptop, camera, etc.).

Although I usually leave my laptop on when I sleep, I blank the screen so it doesn't brighten the room at night. If I wake up but don't feel like getting out of bed yet, I can't really tell from my laptop what time it is.

Instead, I've sort of trained myself to get a rough idea of the time by looking at what color the ceiling is, and how big a difference in brightness there is between the window "shadow" and the rest of the ceiling. If it's dark all round, it's probably before 6:00. 7:00 or so is a little lighter, but the contrast is not that big, as the sun is not up yet. The largest contrast is about 7:30 to 8:00, when there are actual lines delineating the window "shadow". Past that, the room keeps getting brighter, while the contrast disappears, until past 9:30 or so when the room is comfortably well lit through the curtains.

An alarm clock would probably be less work, but this works too.
No comments

Chicago Botanical Gardens

A day cycling trip to the Chicago Botanical Gardens. Again, the weather was really nice, and the gardens were actually quite interesting. I guess I had envisioned rows and rows of greenhouses, so the islands of bonsai trees and rose gardens were a pleasant surprise.

No comments

Religion as a Mind Body Paradox

I've never believed in a religion, even when I was younger and (I think) there was daily prayer in school. I have written in my journal before about being "rationally and logically agnostic but practically atheist." I am rationally agnostic because we cannot prove a negative; we cannot prove that God doesn't exist unless we search the entire universe (and that's under the assumption that there's physical evidence for God). The other main problem which I admit natural philosophy has trouble explaining is the beginning of the universe. It's hard to imagine someone spring out of nothing; although of course, if you say God is eternal, that's just begging the question of how God came to be.

A recent thought I had, however, is more an argument against religion or philosophy in general than against the existence of God. I'm not particularly well read in the debate between atheism and religion, but I do believe this has been mentioned somewhere before. Some people argue that religion (and God) should not be put under scientific scrutiny, since there are things which science could not explain. Therefore, God does not require a reason for existence, and people cannot ask for "proof" of His existence.

My new thought was that this is a version of the mind body problem. Under Cartesian dualism, the mind is a completely non-physical entity, on a utterly different realm than the body, which is entirely physical. This famous problem in philosophy tries to find the answer to the question: if the mind has not relation to the body at all, how can we move our body simply when our mind wants to? By setting up a dichotomy between the mind and the body, which seems logical, we lose the mechanism through the mental is tied to the physical.

How does this relate to religion? Well, some people say God is not a physical being. I've never heard of people saying He's completely non-physical, but since if he is physical there would be evidence, let's assume for now that He is entirely on a different plane of existence. This sets God up in the same position as the mind, completely dissociated from the physical world.

Well, not completely, or we wouldn't have any problems. The mind-body dilemma arises when we hear stories of God creating the world, or parting the Red Sea, or setting a bush on fire. Science, as a discipline and a philosophy, studies what happens in the physical world. Clearly, parting the Red Sea is a physical phenomenon, and therefore should be subject to the same scrutiny as we give to say, the Newtonian physics of two pool balls. Physical phenomenon, therefore, is the analogical body of a person.

The question is clear: how does God, as a non-physical entity, influence the physical world? Hence we have the religious analog of the mind-body problem, which has been around for several hundred years without resolution.

There is another problem, unique to religion, if God has the power to influence the world. By changing objects in the world, God is essentially opening Himself up to scientific scrutiny. After all, if the water in the Red Sea parted, there must have been some force which prevented the water coming down. Given the amount of water, the water level of the sea would have risen, flooding some coastal areas. I don't suppose Moses's staff is a force field generator.

In the same way that the scientific method has been extended to study the mind (also known as the field of psychology), God, by interacting with the world, is open to scientific study. Of course, this would be a lot easier if the Red Sea parted every day, so we could do experiments. But God has refused to do anything in the last 2000 years or so, since his son came down, so it has been kind of hard for us to collect experimental data.

I apologize if that sounded sarcastic. Going back to religion, there is one way in which God is closed to scientific inquiry: if He does not affect the physical world at all. The problem facing religion then is not science, but of practicality. If God cannot affect the world, well, why do you even believe in God? I can believe that a chain of keys will help me get through life, but if that believe can't change anything, then the belief is unfounded. Similarly, a religion believing in a God who has no influence in the world means nothing.

Which brings us back to the mind-body problem. Some people would argue that God cannot influence the world, but can influence people's minds. With a belief in God, people are more confident, optimistic, kind, etc. These are all great things, and it is through the power of the people which God acts in the world. Which is great, but hidden there is the question, how does being "optimistic," a state of mind, create physical changes in the body? And we're back to square one.

What I just wrote is based on several assumptions, which I will state here explicitly. It is my believe that God will not hold up to scientific scrutiny, and hence religions will attempt to bar such investigations from extending to God. The point of this piece is to show that such an attempt is without grounds.
No comments

Change is Good

Apparently all my other drafts require lots of writing, and since I have a midterm in... an hour or so, my contribution today will be short.

When I go around every day, I keep a small bag of change with me. I don't really buy stuff that often, but it has come in handy before. The problem I face is that I don't want to carry too much change, but want enough so I don't get coins in return. I found a website several weeks ago (probably during new student week) talking about what's the minimum number of coins you need to give exact change, and I thought I should share that.
  • 3 quarters
  • 1 dime
  • 2 nickels
  • 4 pennies
Which is not too bad at all to carry around, compared to, say, a Moleskine notebook.
No comments

Re: Blogger Bug (or Bugger Blog)

In response to my previous post Blogger Bug (or Bugger Blog):

The way to fix that is to put a line in the Blogger template CSS. Simply add this line somewhere to the posts section:

.post * { line-height: 1.6em; }

and that should fix all line spacing problems.
No comments

Regular Posts

As of this post I average one post every day (since the beginning of this blog). I will try to keep this up, but no promises, especially for when I'll be away from my computer for an extended period of time (like when I'm traveling, on vacation, etc).
No comments

Bed Making

You will need a large piece of wood, four poles, hammers, nails...


I just realized something about my bed making habits. I don't always make my bed when I wake up. It doesn't serve a purpose, and I'd rather be surfing the net than spend time doing that. One exception is if I wake up and keep my door open, say on the weekends or if I don't immediately have class. Then I make my bed, because it looks nice.

I've noticed, however, that I tend to make my bed when I come back from class. Like just a few minutes ago, I came back from natural language processing, and made my bed without even taking my backpack off. Presumably it's for the same reason I make my bed when I leave the door open - it looks nice. I found it curious that I can find my room messy when I leave and come back, but not really do anything about it when I first wake up.
No comments

Blogs Blogs Blogs

I was bored (read: I didn't want to work) and so I clicked on the little "Next Blog" link. I found out some things about Blogspot/Blogger:
  • There's a lot of blogs just with ads. I had to turn off Java and Javascript to deal with them; they crash Firefox
  • There's a lot of blogs with porn, which really is the same as above
  • There's a lot of finance, economy, job, etc. related blogs.
  • There's a lot of blogs in foreign languages
  • There's very little actually blogging.
Which is sad. Would have been fun to blog stalk someone.
No comments


One problem I face constantly is that file formats do not necessarily transfer from Windows to Linux. I use OpenOffice, which very few people at Northwestern uses, so often I have to safe it as a Word file or a PDF document before sending it out. The conversion problems aside, sometimes I may be dropping by the computer lab to print something I had planned on printing later. I ssh into my laptop, and find that I haven't converted the document yet. Since the university computers do not have OpenOffice either, I can't open the file.

Enter Zamzar.

Zamzar is an online file conversion service, with a wide range of file formats to convert to and from. Not only does it do documents, but it can also handle images, videos, and compressed files. It should provide 99% of every day needs, especially if people are desperate. I just realized it doesn't support StuffIt files though, which is a shame since I still haven't found a way to open those on non-Mac OSes.

The last time I needed the service, I had to convert an OpenOffice document to PDF. If it was just text I would probably have opened it in Notepad and see if there's anything I can do (in old Word files you can see the text, without formatting of course). However, it was a stats homework, and I had a number of OO Math equations embedded in it. The first thing I tried was attaching it to an email and sending it to myself, knowing Google could open it in Google Docs and save as PDF. It worked alright, except the equations were crooked.

So I used Zamzar. My only complaint against them is that the service is not instantaneous. I had to wait 10 or so minutes before I got an email with the download link. That file, however, was perfect. If I had saved it as PDF directly from OpenOffice it would have looked exactly the same. No doubt they somehow hijacked that portion of OpenOffice for this purpose. I printed the document and was on my way.

In summary, Zamzar is great for converting all kinds of files, especially if you can't do it yourself. The only down side is it's a tad slow, but that's far outweighed by the pros.
No comments

Out of Context

Yesterday while crossing Sheridan Road, a driver stopped at the light poked his head out and asked me, "Did we win the game?" I told him that I didn't know, and continued on my way to the library.

Only afterwards did I thought about how strange an encounter that was. Maybe it's because I'm in natural language processing, but that question has so many hidden contextual meanings, some which were not resolved even when I answered. The biggest among them:
  • Which "game"? He simply used "the game," implicitly making the assumption that there's only one game, and I know which game that is. In fact, I have no clue.
  • Who is "we"? It could have meant Northwestern - in which case I guess we won, since the clock tower was lit up on Saturday night - or it could have meant the Cubs, Bears, Bulls, White Sox, and all the other major/minor league whateverball teams. Or he could have been out of state, and was asking from the opposing side's perspective.
I wonder if he even knew the problems in that. Did he really expect anyone on the street know about his sport preferences, and watched the whateverball game?

Whateverball. Someday I'm going to invent a sport with that name.
No comments

Real Life Search Trees

I've known this for a while, but was reminded of it when I visited the library today and thought I should share.

The main Northwestern University library has a very strange structure. Inside each level in each tower, the book shelves are arranged in a circle, so that each shelve is on a diameter. Books are arranged by call number along the radius. That is, if you call the direction of the door 0 degrees, the further you go clockwise, the higher the call number.

To make the NU library configuration clearer, here's a map of a standard floor. The lines arranged in a circle are shelves.

Compared to normal libraries, where the shelves are arranged by call number in rows, this makes no sense at all. But get this: finding a call number is quicker in the circular system than the traditional system.

Here's the reason. Because the shelves at NU are not all along the circumference, but have a distance from the center, the shelves essentially form a search tree. Instead of starting from where you enter, you walk to the center first. Then just follow down the aisle which has a call number closest to the book you want. In mathematical terms, the shelves have a depth of roughly 3 and a branching factor of 2, which makes the books really easy to find. Of course, once you get to the correct shelf you have to find the book the normal way.

In contrast to the tree structure of NU library, traditional libraries is a linked list. You have to walk through shelves with a lower number before you get to the shelf you want. There's no short cut for this process. Therefore, the NU library search time is logarithmic (log base 2), while traditional libraries have a linear search time.

I don't think too many people know this. Today was the first time I saw someone (besides myself) going to the center first and finding books that way. Shame.
No comments

Blogger Bug (or Bugger Blog)

If you look closely at my last post, you'll see that the first paragraph has a slightly different spacing than the paragraphs after the blockquote text. The line spacing is wider for the first paragraph. The same thing happens with unordered lists. If I take out the blockquote though, everything would go to the wider line spacing as in the first few lines. I can't think of any weird CSS that would make that happen.
No comments

Text Based Mind Map

Last year for my learning and organizational change class I visited Willard for a meeting. Willard has a "library" of sorts, which is really just a bookshelf with some old books people never read. One of books on that shelf was James Gleick's Genius: The Life and Science of Richard Feynman. I was more attracted to the word "genius" than to Feynman, having no idea who he was at the time. It was a great read, really gets you into admiring Feynman's intelligence. The passage that gave me this idea, however, does little to show how smart Feynman is.

"In high school he had not solved Euclidean geometry problems by tracking proofs through a logical sequence, step by step. He had manipulated the diagrams in his mind: he anchored some points and let others float, imagined some lines as stiff rodes and others as stretchable bands, and let the shapes slide until he could see what the result must be. These mental constructs flowed more freely than any real apparatus could. Now, having assimilated a corpus of physical knowledge and mathematical technique, Feynman worked the same way. The lines and vertices floating in the space of his mind now stood for complex symbols and operators. They had a recursive depth; he could focus on them and expand them in more complex expressions, made up of more complex expressions still. He could slide them and rearrange them, anchor fixed points and stretch the space in which they were embedded. Some mental operations required shifts in the frame of reference, reorientation in space and time. The perspective would change form motionlessness to steady motion to acceleration. It was said of Feynman that he had an extraordinary physical intuition, but that alone did not account for his analytic power. He melded together a sense of forces with his knowledge of the algebraic operations that represented them. The calculus, the symbols, the operators had for him almost as tangible a reality as the physical quantities on which they worked. Just as some people see numerals in color in their mind's eye, Feynman associated colors with the abstract variables of the formulas he understood so intimately. 'As I'm talking,' he once said, 'I see vague pictures of Bessel functions from Janke and Emde's book, with light tan j's, slightly violet-bluish n's, and dark brown x's flying around. And I wonder what the hell it must look like to the students.'"

At first my thought was to write a program that could do physics, allowing for as much abstraction as the user wanted. For example, one could model a roller coaster as one train, or as several cars, or as several cars with people in it, and so on. It has the same "recursive depth" that Gleick described, except it was for actual objects and not for equations. And if you think about it, we do this all the time: understand the whole, and only go into the details if necessary.

I only wrote a sparse amount of documentation then, and never wrote a single line of code for it. The idea slowly turned from physical modeling to mind mapping. My problem with mind maps is that, one you can't search them with computers, and two it gets really messy when you have lots of stuff on it. The latter is especially true if the lower branches have a lot of connections, so you have lines flying from this side to that side. And yet, mind maps are really all about these connections; without them the mind map would just be a spread out hierarchy tree.

One way to solve this ugly mess is to visualize the tree in 3D. You would only see a small part of the tree at a time, a cluster of branches at the same level. Links to other parts of the tree would be, well, links, and clicking on them would take you to another cluster of ideas, with the link highlight somehow. Each individual idea would perhaps be identified with a URI based on its location in the hierarchy. This way, any idea can be placed into the map, and be easily linked without making the map complicated. This would also embed the idea of recursive depth; one could keep pushing ideas down the tree, and again keep them linked without uglifying the map.

The only downside I see to this is the lack of complete picture, being unable to see everything at once. Perhaps on each level the size of the words would indicate how many nodes and links that branch has underneath it, giving the map the appearance of a tag cloud?
No comments

Blogging Habits

I've been using Blogger for the past month, and I like it a lot.

There's a trend in how I write. I tend to make several posts on the same day, then neglect the blog for a few days before repeating. Apparently blog ideas come to me in spurts.

In truth, it's more like the blog is on my mind more on some days than others.

One could say that in the end I still sit down for a long period of time and type, which is what I used to do with LiveJournal (and also my personal journal). The difference in that if I make several smaller posts a day, I can easily jump from subject to subject without worrying about transitions. In my personal journal, I would spend the first few minutes thinking of the most logical way to present events and ideas. That's probably because I don't have paragraph formating though.

In short, this blog does what I set out to do: capture more spontaneous ideas.
No comments

Indiana Dunes

So I spent the day at Indiana Dunes, as an Outing Club trip. Only me and one other guy went, which is a shame. It was pretty - it looks better in the sun than the last time I went.

No comments

Secure Browsing

I came across a link today, with no context provided as to where it might link to. The real URL was hidden with's help. Fearing that I might screw up my computer, but really wanting to know where the link goes, I took some precautions.
  • I could use IE in Windows, but that would be stupid and would get me a score of 0 in security.
  • I could use Firefox in Windows, which is better, but with the recent Firefox protocol bugs it could still screw over my computer. I suppose it would only damage my Windows partition, although of course it could also go and reformat my disk, in which case I'm screw. Score: 1 (which is still infinitely better than IE on Windows)
  • I could use Firefox in Linux, but then the virus would still have access to my personal files. It wouldn't damage anything else though. Score: 2
My final solution was...

Use Firefox on Linux on a different partition than my main distro (running Xubuntu), with my Arch and Windows partitions unmounted, and using Epiphany to check my email at the same time just in case the site's a cookie stealer.

Score: Priceless.
No comments


No, it's not a pun, it's webpage.

Ever had to create an account to see something on the web, but don't want to give them your real email address? You know if you sign up you will get 20 more spam emails a day (although Gmail puts it all in one place, so that's solved), but you really want an account just to check that one thing. is your solution. Think of it like a drop box; you tell people what your address is, and they drop stuff there. Mainlinator allows you to create fake email accounts with no signup, login or anything at all, and you can just check your mail there. Besides the speed of access (you just type in your username, no password needed), the main difference between Mailinator and normal email providers is you can't send mail. In fact, Mailinator was built explicitly for the purpose of using a fake email to get access information.

It has been floating around the web for a while, but today is the first time I thought I should use it.
No comments

Open Blogging

I've noticed that not only do I write more often (probably adding up to the same if not larger amount of text) in Blogger, but I also write in a different style. It's probably because it feels like no one reads this, and so I take on a more playful personality. I also don't feel like I'm constrained to talking about my life, and share other nerdy things. Or more feelings, like this post.

Case in point: the last post. I can't remember the last time I used the phrase "Just Kidding"
No comments

Week of 2007-10-15

I have in store for me this coming week, besides the usual classes and teaching and meetings:
  • A hiking/camping trip to Indiana Dunes, IN
  • Readings, supposedly for reflection on how I understand language
  • Programming, making a computer understand propositional logic
  • Problem set 3 for stats
  • Problem set 4 for stats
  • Summary of a psychology experiment
  • Draft for our research so far in the submersible project (which you know nothing about)
  • Differential equations to be modified so the 5-link model can walk on a slope.
Go away and leave me alone.

Just kidding. You can distract me from my work as much as you like.

Well, not too much.
No comments

Devil's Lake

No, it's not filled with fire. Devil's Lake is a Wisconsin state park, about 4 hours away from Chicago. It's where I spent Friday and Saturday night this past weekend, on a rock climbing trip. It was fun, except for the last part when we got very lightly rained on for 4 hours Sunday morning, before we left. If only it held off till the afternoon, we would have gotten some more climbing in as well as a dry sleeping bag. I would post pictures, but I don't have any.

Hope you all had a good weekend too.
No comments

Calendars and To-Do Lists

I don't know how many of you use Google Calendar, which is a great piece of software. I myself don't use it, even though I use ten thousand other Google products (the Blogger page you're reading being one of them). I developed my own "in-house" calendar, which I put up on Google Pages (another one) so people can see it. It's actually three separate files:

The actual thing
The JavaScript program
The style sheet

Of the three, the style sheet is the least important, although without it the page would look really ugly. The HTML file is where I store all my events, since the beginning of 2007. I actually liked this version of my calendar (it's 4.0.x; I lost count) so much that I ported all my previous events to it.

Anyway, one problem with all calendars that I've seen (including mine, GCal, and Apples iCal) is that they don't really integrate a list of to-do items very well. iCal puts it to one side, GCal doesn't do it at all. It's strange that no one has thought of a way to integrate the two, considering that they are so interrelated. A to-do list requires action (events) to complete, and when that is done the to-do item should be done too. In all the calendars I've seen, the to-do lists are shoved to one side, while the calendar takes main stage. In iCal you can drag the an item to the calendar, to create an event, but those two are not related in any way.

For my calendar, I have a slightly (but only very) better approach. I have a to do list, but the items also show up when you mouse over the date, so you know what you have do to for that day. The ideal way I would integrate to-do lists and calendars would be some graphical method of showing it, like the thumbtacks on Google Maps (another!). It would stick to the point in time when it's due, so you know how to plan for it before.

My problem right now is my to-dos are not sorted in any way. I recently read a LifeHacker article (which I read through RSS on Google Reader) talking about using your Moleskine as a planner. I was really more interested in the way the author uses different markings to indicate the status of the event.
  • An open box indicates it's still to be done
  • An open box with a dot in the middle indicates it's important
  • A crossed box means it's dropped
  • A slashed box means it's deferred (and the author writes when it's deferred to)
  • A checked box means it's done
That is probably all the categories you need. The author also makes a chart for his day, which my calendar automatically does for me. I don't really need the deferred mark (since I can just change the date), but all the other features would be nice. However, as long as I can't see the to-dos graphically, it doesn't really help. Right now I'm thinking I might try overlaying a second table on my calendar just for to-dos, but at the same time that would obscure some parts of my calendar, especially small events like "turn in homework" which takes all of 15 minutes. Another idea was to alternate small and large rows; small rows would be for to-dos, and large rows for real events. I don't think it's too pretty though, and the elegance of my program will be messed up as well.

I heard Leopard's iCal integrates the to-do list with the calendar. I'm anxious to see how they do it.
No comments

Journaling and Blogging

Some people may ask (like "frequently asked questions"... no one ever asks) why I keep a blog as well as a personal journal. They both serve the same purpose of recording one's life, thoughts, and other events.

I don't know about other people, but for me there is a fairly big difference between what I write in this blog and what I write in my journal. The topics of this blog are much more mundane. That doesn't mean they're not important, but that they are not personal. The most personal thing I will write here is a surface description of an event, like a GSW session or an NUOC trip. I don't write about feelings or emotions, at least not the ones that matter.

This blog does however serve a purpose. I wouldn't write about Doodle in my journal, because it's insignificant to my life as a whole. I won't talk about micro-blogging, or theremins, or how to use Javascript to cheat free hosting servers. These all belong here. They form the smaller details in my life, things that make me happy on a minute to minute basis. I may forget them soon, but by putting them here I hope other people will discover something about life that they didn't know before, and in so spread the joy in finding something new.

In my journal I may keep detailed analysis of people, doubts about my life, about the future. Those may be pages long, with references to previous journal entries, filled with juicy details about other people's lives (, and long lists like this one). These thoughts and feelings are too personal to share, and so I don't post them up. In fact, I'm sure a lot of people will be angry at me if I posted my entire journal. There are too many secrets and internal judgments.

Having said that, I still hope you dear readers will enjoy this blog. If you find something interesting, leave a comment! I would love to know what ideas interest other people, to "make that secret connection that's nothing more than finding out that someone else is wandering through this world with the same hopes and uncertainties as you." -
No comments


In my design class we were introduced to the free online tool Doodle, a website where you can easily set up polls. It's main selling point was for setting up meetings, but I actually disagree with them. The main problem is they don't show a way of including lots of different time slots. Well, they do, but the page can get really wide and even more ugly.

Instead, I like to use it like normal polls. If there aren't too many options, like just the seven days of the week without time constraints, it works very well. Or to decide a movie to watch, or something like that.

Maybe you can use it to help with communication too.
No comments


Today's the first time I've heard of the term, from the news that Google acquired micro-blogging site Jaiku (a play on Haiku, by the way). I sort of like the idea, but don't intend on trying it. After all, most of my posts are fairly lengthy, like my last one, and I can't talk about integrating logical and stochastic artificial intelligence in 200 characters or less.

I like micro-blogging because of its spontaneousness. Instead, what I'll try to do is write down random thoughts in my Moleskine, and convert them into sentences, posts, essays later on.

That's what Moleskines are for.
No comments

Combining Logic and Stocastic Methods

This is a computer science heavy post, so if you don't have the stomach for a lot of abstract, mathematical, theoretical ideas, you'd better skip this one.

I hope you would read it though.

Right now you can say that there are two big camps in artificial intelligence: those whose methods are based on logic, and those whose methods are based on mathematics.

One logic based system would be Cyc, a knowledge base which can reason. So if you put in "All men are mortals; Socrates is a man;" the program can tell you that "Socrates is a mortal." Well, not in plain English (although professor Chris Riesbeck and others are working on that), but it has an understanding of what those words mean. It connects, say, George Bush with USA, presidency, war on Iraq, and so on. Basically, it's the "common sense" that a lot of people feel computers don't have.

On the other hand are stochastic or statistical systems, generally labeled "machine learning" systems. They operate mostly on numbers, although some use strings and other data structures as well. Most of the cool-sounding AI techniques are in this category, including neural networks and genetic algorithms. These programs are essentially giant calculators, which take past events into account and try to mathematically create the optimal solution. For example, a photograph with a sun in it would have a much brighter spot somewhere on the surface, and the program could analyze the distribution of light over the surface to categorize whether a photo has the sun in it or not. It doesn't really know what a sun is (a star that gives off heat and light), but it does the job.

Obviously, both sides have their advantages and weaknesses, or there wouldn't be two camps. The logicians require large amounts of data beforehand - where the computer stores all that common knowledge - and it could take a very long time to logically derive anything. Using the Socrates example again, it also knows that men have two legs and dogs don't have four legs, so it might conclude that Socrates is not a dog, which is not very useful at all. The main problem here is how to sort through all this junk. For stochastic methods, the problem is the opposite. It is relatively faster than logic, but it doesn't really know much about the thing it's doing. You can say that there is no creativity involved, no way to do something unexpected. They are in a sense limited to what they were programmed to do, within a very specific domain.

So the idea I had, and have held it for a while now, is to introduce statistics into a knowledge base. This is how it will work. Cyc is essentially built on connections between ideas, a hierarchy of different relationships. Buying might be a subset of all possession transfers, which in turn might be a subset of all human interactions.

The problem is that each idea, object, and relationship has so much other stuff connected to it, you don't know where to begin. Example: a story about animals making false cries of danger might induce thoughts of Boy who Cried Wolf. There is however a lot of junk in both those stories, when the central concept is very abstract, that of deceiving others as entertainment and a trade off between humor and protection. Humans can find connections without a problem, but machines have to explore millions of concepts to hit on the right now.

So what you can do (or try do to; this is a theoretical discussion) is put a weight on each relationship. Wolves might be more connected to animals than to dogs, and birds more to doves than to penguins. Humans have a tendency to use shortcuts, cognitive heuristics so we don't just stand and think the whole day. Statistical information about the strength of each link would be similar, allowing the machine to know which links are more commonly encountered, and therefore should be explored first.

Taking knowledge bases as relationships between objects, the entire KB can be seen as a mathematical graph. And with statistical linkage associated with each link/edge, guess what? We now have a undirected weighted graph on our hands. The theorem proofer can now rely on the large amount of graph algorithms (Dijkstra's algorithm, A* search) to either find the shortest path to proof a statement, or to generate new statements. There is still the matter of the machine not knowing what results are important, but that's a different problem.

One last thing about the statistics: one way to get the different weights between different (but related) objects would to be search another knowledge base: Wikipedia. Although Wikipedia is written in English, the text is still somewhat machine readable. For example, the machine will know to link to other pages if the user encloses something in double brackets ([[ ]]). So one easy way to find the links is take the inverse of the number of links it takes to link two wikipedia pages. This is in fact another graph traversal problem, but much more easily solved. So objects which are link directly to each other (say dog and animal) would have a much higher chance of being evaluated than objects far apart (say dog and black holes).

I think that's one way to take advantage of both worlds. I don't know if this has been done before, and I'm not really in a mood to find out.
No comments

Quick Updates

I'm slipping. Here's what has happened in my life since the last post:

- Saw Ratatouille. (Walked out of it. Did not buy it. Although, it was better than that "Throw Mama from the Tambien" crap.)
- I bought a bike! A Trek 750. Haven't gone on a trip yet though. Should do so sometime this week.
- Wrote a chat bot which insults people. Here's a transcript:

no you shut up
it was your faut
Yes it was
dont insult me
you pinhead
Mother lover
This is stupid
youre so dumb you have to repeat yourself
I didnt repeat myself
Im not a loser
alright Im sorry
I give up

That's it for now!
No comments

Fire Alarms

I think it's normal for some idiot college student to not know how to use a microwave, set popcorn in there for 60 minutes, and cause the fire alarm to go off. I think it's normal for that to happen at 3 in the morning, since that's when students are most active. They do it once, they know how much it annoys other people, they learn what they did wrong, they don't do it again.

That's one alarm.

This morning our fire alarm went off. Three times. Within 3 hours.

Either that's a really dumb (and really persistent student, or the system's messed up.

I really don't know which one to go with.
No comments

Realizations from Optical Illusions

That's a mouthful. We were doing some sensory (mostly optical) illusions today in cognitive psych, and while there were a number which were new to me, a bunch of them were pretty familiar ones. I thought back to my childhood when I bought several optical illusion books, and came to a realization:

I enjoy being tricked by my brain.

First, let me give you these two lesser known (but really good) optical illusions:

The Spinning Ballerina Illusion
The Face Mask Illusion

The second one in particular shows how our brain is so used to seeing faces, that we can't help but believe the face pops up, even when we know it's the back of a mask. Of course, we all know that our senses can't be trusted entirely. Not only our sight, but also our sense of touch (poke yourself with two toothpicks about a quarter inch apart; you could tell the difference with your fingers but not your back). Our brain is trying to make sense of a lot of information at the same time, and takes some short cuts in doing so, but in doing that some very specific situations results in our brain telling us the wrong thing.

You can argue that there are other areas in life where our brain makes mistakes. One area I thought of are jokes, especially puns. Puns work by defying our common expectations, which may be cultural or habitual in origin, but this doesn't show up in the grammatical structure of the sentence itself. Here are a few puns, although I must warn you that I take Edgar Allan Poe's quotation ("The goodness of the true pun is in the direct ratio of its intolerability") to heart.

  • Two antennas met on a roof, fell in love and got married. The ceremony wasn't much, but the reception was excellent.

  • Deja Moo: The feeling that you've heard this bull before.

  • Here's a dead give-away: what's a will?

Of course, my love for both of these things doesn't really indicate that I like being tricked by my brain, but that I like finding how the brain works.

Some other area which this applies to came into my mind moments before, but now it's gone. Isn't that fascinating?
No comments


As many of you know (how many of you are there anyway?), I don't like cell phones. It's mostly because I don't like to be interrupted so often, and just let anyone find me. Plus, I already have a ton of stuff in my pockets (Moleskine, pen, keys, coins, bills), and I don't want to cram them even more. Some people have said that by doing so I inconvenient people, which is sort of true. Some people have also proposed to give me a phone for my birthday. Er, thanks.

You see, it's not that I don't think phones are useful, I just don't like them.

But my solution is actually not too bad of one. At Northwestern each dorm room gets their own phone line, but while we can receive calls, we have to pay to call out. Works okay if people really want to find me, but email is still easier, as I can check that anywhere on a computer and I don't have an answering machine. In fact, despite living within 15 minutes walking distance from all of campus, I like to check my email whereever I am first before going back to my dorm. So people can find me (of sorts) if they want to, but that does not help me find other people, especially for people who don't check their email very often.

The solution:

Click2Voice is a free VOIP page. It's not software that you install, but you use their service through their page, which influences the real world. You enter your phone number, and the number you're going to call, and hit enter. In 5 seconds, your phone will ring, as though someone is calling you. You pick up, and you will hear a prerecorded message thanking you for using their service and to hit 1 to connect your call. You do so, and in another 10 seconds your calls goes through, just as though you had dialed that number.

The beauty of this website is that it doesn't require your phone to be able to call out, which is perfect for my dorm line. So now I can find people, people can find me with less difficulty, and I don't have to put extra crap (yes I did just call cell phones "crap) in my pockets.


Eventually though, I'm thinking I'll get a good headset for my computer, sign up for Skype Out, and do everything through my laptop instead. Look, ma, no phones at all!
No comments


Evanston is foggy tonight. Visibility is about 20 feet, max. It was a slightly overcast day, but I didn't expect fog to roll in. Except it did, after I left GSW.

And one cool thing about fog: each particle of water reflects light. So what I did, I took out my laser pointer. Usually, laser pointers have invisible beams, because there isn't enough energy or something. There are ones you can get with a visible beam, on ThinkGeek for example, and I think they use four times more energy than normal pointers. Well, one thing this fog is good at: reflecting light. Whenever my laser points into the fog, I can see the entire beam. Now that is cool.
No comments