I was talking to a friend about high-level philosophy, e.g., metaphilosophy and philosophy of consciousness, and they compared it to mental masturbation, implying that it may be fun, but was ultimately useless, since the theories couldn't be tested.

I like to philosophize, and defended its legitimacy by comparing it to art, saying that the creation of art is not just fun, but can be measured and evaluated in terms of beauty. It is also important for a piece of art, as well as a philosophical idea, to "jive" with the setting in which it is placed. For philosophy, this often means being consistent with what we think we know about how things work.

It occurs to me that I'll sometimes hear an idea, and I'll "like" the idea without really having a good guess about whether it is true, and if I like it, I'll consider it. In fact, it occurs to me that my biggest objection to certain religion views is that I don't like them, rather than me having some sort of "scientific proof" that they are false.


partial access idea

When hiring people to do stuff, it would often be convenient to provide partial access to various services. For instance, I'd like to hire someone to post some HITs and Mechanical Turk for me, but I don't want to give out my AWS access keys. It would be great if I could create a sort of limited access token that would let someone spend up to say $10 of my money, that would be good for the next week. Or I'd like to get a token that would allow someone to edit a particular blog post, that would expire in a couple days.

It would be convenient to create access tokens that are not specific to a particular person, sort of like the edit-URLs you can get to a Google doc. This would make them easier to give hired hands, without needing to exchange account information.

I feel like the only way to do this would either be to convince companies to provide such limited access, or for some startup like ifttt to do the work of wrapping lots and lots of APIs, and being the trusted-middle-man for partial access.

list experiment

I keep remembering "the list experiment idea is so cool", but I keep forgetting what it is.

So here is what it is. We want to ask people if they agree with X, but they don't want to tell us, because they don't want to be thought of as someone who agrees with X.

So we get two groups of people, and we ask everyone in the first group this question: of A, B and C, how many do you agree with?

Then we ask everyone in the second group this question: of A, B, C and X, how many do you agree with?

If we then subtract the average response of the first group from the average response of the second group, we'll get the percent of people who think X.

Of course, one hole in this scheme — it seems to me — is that if I'm presented with A, B, C and X, and I agree with all of them, I'm unlikely to provide 4 as my answer, since then people will know that I agree with X. It would be cool to think of some way to guarantee plausible deniability for each person who takes the survey.

update: Here's an idea for guaranteeing plausible deniability: the user picks a number between 1 and 6, then they click a button to roll a dice, and if the number on the dice is their chosen number, then they are instructed to lie. Otherwise they tell the truth. That way, if people don't like their answer, they can say "well, I lied, because my chosen number came up."

It would be fun to test this on Mechanical Turk...

decision support

This is just a note that I'm interested in decision support tools, aggregating some things I've heard..

The oldest idea I've heard is creating a matrix where each row is an option, and each column is a dimension along which the options can vary.

Another idea I've heard is creating a kind of decision tree, where the top node may be something like "decide to migrate to node.js", and beneath that would be arguments, each labeled "pro" or "con", and recursively each argument would also have arguments beneath it, supporting or rejecting it, and so on.

Another idea I've heard is helping people calculate probabilities by helping them break down the probability into parts, and recursively assessing the probability of the parts. For instance, the top node might be "what is the probability that Obama will win", and that might be broken down into smaller events like "what is the probability that Florida will go for Obama" and X and Y...

Anyway, I like the idea of trying to automate/facilitate/enhance "reason", especially in a group. We usually think of group decisions with a bit of cynicism — a decision by committee — but with tools, perhaps group decisions could actually be better than a high paid executive.

gaussian mixture modeling tutorial

I created this tutorial for some reason while an undergrad at ASU. I think I had just figured out how to do gaussian mixture modeling (GMM), and I thought it was the coolest thing ever. The original version was a sort of slide show, but that seems hard in blogger...

Here's a Gaussian (bell-curve)

Here's a couple of Gaussians together
(notice that one is taller than the other).

We select one of the Gaussians randomly
(but the taller one has a higher probability of being chosen).

We place a dot beneath the Gaussian
(the dot is more likely to fall toward the center of the Gaussian).

We repeatedly choose a Gaussian and place a dot;
notice the dense clusters beneith each Gaussian.

Here's the dots without the Gaussians.
How can we find the Gaussians now?

Assume we know there are 2 Gaussians.
Make a wild guess about the size, shape and location of these Gaussians
(we'll make one red, and one blue).

Draw a vertical line up from a dot to each Gaussian.

Now stack these lines.

Now paint the dot with the same percentages of red and blue as this line.

Do this for all the dots.

Reconstruct the shape and location of the red Gaussian based on all the red in the dots.
Set the height of the red Gaussian to the amount of red in all the dots.

Do the same for the blue Gaussian.

Now we are ready to repaint the dots given the new Gaussians,
after which we'll reconstruct the Gaussians again...
and again...
and again...

Until they stop changing.
The End.

idea: talent court on mobile/tablet

So, the drawing game in talent court is somewhat similar to DrawSomething, which people seem to like. Of course, DrawSomething involves guessing what an image is, whereas Talent Court is more about drawing something well, so it's unclear to me whether people would like it the same way.

One reason people might not like it is that if lots of people use it, the competition will be very steep, meaning that most people will "lose", which may not be fun. StarCraft 2 gets around this by having leagues. Perhaps talent court could do the same thing.

In any case, having a drawing competition style game on a mobile/tablet platform seems like a good idea.

acting game idea

The idea is this: a game where you play a role in a play, like karaoke for acting. I envision an interface showing a stage with graphics similar to The Sims. Players would select a play, and that play would have pre-prepared sets for each scene in the play (there could be an editor for people to prepare plays).

After choosing a play, each player would control a different character, and the interface would tell them where to go, what to do, and what to say, and they would do it.


sci-fi future


In version A, man colonizes the galaxy. In version B, man becomes super-duper civilized here on earth.

My current guess is option B.

unidentified noise

I was woken last "night", or sometime in the morning, not sure when, by an extremely loud noise. Now, the thing is, I live next to the Caltrain station, so I've become somewhat desensitized to loud noises, yet this woke me up instantly and caused me to open the window. It sounded like a low flying jet.

I checked twitter for "loud noise san francisco", but nothing. If twitter can't confirm and elaborate on loud unidentified sounds that I hear, what can it do?

In any case, I went back to bed.


episode 1: I'm in a house. I'm looking for a place to dance. All the rooms are taken. I find a secret door, which leads into a room with a billiard table in it, and lots of ques hanging from the ceiling. Beyond this room is another room which I can dance in, except that there is an open door facing a room I had already been in. At first, I think this is find, because that door was in a very dark part of that room, and must have been open-yet-unseen before, so probably nobody can see me now. However, I notice that the light is on, and figure people must be able to see me.

episode 2: I have a bird's eye view of the united states. I'm looking for a city in the south east. I see a city call Nineveh. It seems to be surrounded by extremely tall and vertical mountains, and everything is covered in vines, but people live there, evil people it seems, though I'm not sure what they do that is evil. I think I'm looking for a house.

episode 3: I'm working on a programming problem of some sort. There is something which happens every night, I don't remember what, which I am trying to program a solution for. I seem to recall figuring out the solution earlier in the night, but am unable to remember it. As an aside, this is a recurring theme for me, of working on some sort of math-type problem to solve something in the real world, but when I wake up, the problem I'm trying to solve makes no sense at all, and I'm not even sure how to put the problem into words.


I get depressed sometimes. I just thought that one thing that may lead to depression for me is running into dead ends: thinking "I'll do X!" and then for some reason not doing X, because someone said not to do X, or because I thought about it and decided maybe X wasn't a good idea, or because it turned out X was impossible.

On the other hand, I don't get too discouraged when my ideas don't work out.. though that's generally because I have in mind some other idea to try. But when I'm out of ideas, that's pretty depressing. Or when there is some obstacle to advancing on my ideas.

Oddly enough, depression doesn't seem like a great state to be in to discover new ideas to try. Not sure what my brain's strategy is there..


I'm trying to get rid of stuff. I find it difficult. I played a hypothetical in my mind: what if all my stuff was burned in a fire, except my wallet, phone and backpack, which has my laptop?

I decided I would worry about the clothes on my back getting dirty and stinky.. but if I could magically have clean clothes all the time.. then it would be fantastic. I felt like my stuff really is a burden.

I tried to think about a potential time in the future when I'll decide that I've lost everything, and all I have are artifacts from my past that I'll find precious.. and.. I hope that doesn't happen.

getting people to be honest about probability

A friend sent me an e-mail mentioning an interesting probability problem which I thought about and am posting my attempt at solving...

Problem Setup

Let's say there's a biased coin, e.g., maybe it lands on heads 70% of the time instead of 50% of the time.  Now some people think they know how biased the coin is, but they are unmotivated to just tell you how biased they think it is, so you need to offer money.

So you offer some "stocks", the value of which will be determined by a single coin toss. For instance the Tails stock is worth $1 if it lands on tails, and nothing if it lands on heads. The Heads stock is similar, worth $1 if it lands on heads.

Now, if you just let each person pick either Heads or Tails stock, then everyone who thinks the coin is more than 50% biased towards heads will pick Heads, and everyone else will pick Tails, but this won't tell you how biased people think the coin is.

So you could offer a number of different stocks, e.g., Heads-0%, Heads-10%, Heads-20%, ..., Heads-100%, where the Heads-70% is worth say 70 cents if it lands on heads, and 30 cents if it lands on tails.


It turns out there are various ways to set the payoffs for these stocks to motivate people to pick the stocks that match their true beliefs about the coin. That is, you can get it so that if someone thinks the coin is 70% biased towards heads, then they will pick the Heads-70% stock.

The question is: is there someway to characterize all the different ways of setting the payoffs that have this honesty-inducing property?


Here's a solution for the case where we have 5 stocks: Heads-0%, Heads-25%, Heads-50%, Heads-75%, and Heads-100%. Each stock is represented by a colored line on the graph (dark blue, green, red, orange and light blue respectively).

The height of each line as it crosses the 0% vertical line on the left is the payout of that stock when the coin lands on tails. The height of the line as it crosses the 100% vertical line on the right is the payout when the coin lands on heads. The height of the line in general is the expected payout of that stock for various biases of the coin. Note that math forces these lines to be straight — all we get to choose is the payout for tails and heads.

Now when I say it's a "solution", I mean that a different line is highest at 0%, 25%, 50%, 75% and 100%. For instance, at 25%, the green line is highest, which is the Heads-25% stock. This means that if the true bias of the coin is 25%, then the stock with the highest expected payout is the Heads-25% stock. So if someone thinks the true bias of the coin is 25%, they should pick this stock.

More generally, we can think of all the colored lines as tangent lines to a curve. You can sort of see the curve they create, like a basket:

The curve tells us the payouts for an infinite number of possible stock options, e.g., if we want to know the payout for Heads-56.32%, we just find the line tangent to our curve at 56.32%, and see where it intersects the 0% and 100% lines to get our payout for tails and heads respectively.

I claim that any honesty-inducing payout scheme with many stock options can be defined by a concave up, U-ish-shaped, curve like the one above, where the stocks are effectively tangent lines to this curve.

Proof: any set of stock payouts will create a bunch of lines on this chart, and we can always trace a curve which is the height of the highest line at each point along the x-axis. I claim this curve will never be concave down — if you draw a concave down curve and draw a line through any point in it (except the ends), that line will not be entirely below the curve, meaning it will be above it somewhere, meaning that we failed to have our curve be the hight of the highest line somewhere.

So the curve, if not straight, will be concave up, like our sample above. The lines touching this curve are the only ones we care about, since all the other ones are stocks which are never picked, since there's always a better option than those stocks for any bias of the coin.

In fact, we can define any payout scheme with a concave up curve, where tangent lines to the curve define all our stock payouts. Honesty-inducing schemes are really just ones where we correctly label the stocks. That is, if someone thinks the coin is biased 75% heads, they will pick the stock with the highest expected payout for 75%, whatever it is called, so hopefully it is called Heads-75%.

leet-hacker game idea

In thinking about helping kids program.. my favorite tool is Philip Guo's python tutor. It would be great to create a "javascript tutor". It might be possible to do this completely client side (I think the python tutor makes an ajax call to essentially parse python code and figure out how it runs, since there is no python interpreter built directly into the browser as there is with JavaScript).

The idea of a "javascript tutor", in combination with this existing javascript tutor-ish game-like thing got me thinking about a game for helping kids program. The link I gave is a sort of game. There's a monster, and he's giving the kid goals, but I tried it a bit, and the monster doesn't check to make sure that the goals were accomplished.

So I got thinking of a game that would make sure the goals were accomplished. Perhaps there's an output box that you can print to, and the goals are like "display 'a' in the box", or "display 1000 a's in the box with a program that is less than 1000 letters long", forcing the use of a for-loop. It could sort of be like project euler, but for kids.

Then I was thinking, perhaps that could be game-ified in a "serious" way. By "serious", I mean maybe some decent effort could be put into art and a sort of story, "you're a leet-hacker person, and you're trying to infiltrate something or other", when it's really just a puzzle game, except that the puzzles require you to write honest-to-goodness actual JavaScript code, but when you pass levels you see honest-to-goodness actual "game" art congratulating your progress and revealing more of the cheesy game story.


light-weight server idea

This is an idea that came up in conversation with a friend, and I'm writing it here to put it somewhere.. hopefully I'll do it, but if you think it's a good idea, do it and let me know ;)

Idea: A server that allows any webpage to read and write data. Kind of like a pastebin for prototype websites to use. For example, let's say I want a very simple multiplayer chess game. Currently, I could host a JavaScript based webpage in Dropbox, but there's no way for one client to communicate with another. But what if the client could include a JavaScript file from some benevolent server that gives a simple API for reading and writing data — then the clients could write their moves, and poll for the opponent's move. It might even be simple to get real-time comet communication with whatever other clients happen to be logged into a given channel.

The data wouldn't need to be guaranteed to live forever, especially for applications like simple multiplayer games. Also, the client wouldn't need to depend too much on a particular benevolent server, since the server could be open source, and anyone who wants to run a server could do so, like Etherpad.

update: It may also be possible to include a simple login system. This would allow read/write access rules. For instance, someone could create a survey, and allow clients to submit data, but not allow clients to read the submitted data of other people (only a certain user could read that.. whichever user it was that setup that particular "bin").

This would also allow a strange mechanism whereby a user "runs a server on their own machine" which is really just a webpage logged in as a certain user which access to periodically update various bins according to certain "server logic".


I was telling a friend about how I tense up when I'm concentrating, but how I couldn't seem to solve difficult math problems without doing this.

He asked why I thought tensing up was a problem.

This was a good question. I had thought I wanted to avoid tensing up because the tension would eventually get me tired and stuck and possibly give me a headache.

However, it occurred to me that that isn't true. I can think for days or weeks about a difficult math problem, and I love it.

The things that get me tired and stuck and give me headaches are particular types of problems. I will try to list some of them here:
  • Figuring out whether to throw something out.
  • Responding to an e-mail.
  • Planning a date and time for something where other people are involved.
  • Deciding when a flight should leave.
  • Context switching, especially into a difficult project that I don't want to work on (though once I'm working on it, I'm fine, and it's actually painful to context switch away from it).
  • others...
I'm frustrated by decisions that seem like they'll potentially have a big impact on my life, but for which I'm not sure what that impact will be, especially when other people are involved.



Yesterday I was reading something about meditation. It mentioned the importance of keeping the muscles relaxed. I hadn't heard that about meditation before. It also mentioned clearing the mind, but it said that after the mind was clear, the point was to view aspects of my life, and see them objectively and dispassionately (whereas under tenser circumstances, I might get too emotional or egotistical, and not "see myself as I am").

So I lied down, facing up, and tried to relax all my muscles. It took a long time. I tried various things. I tried counting down from 10 to 1 with each breath, trying to relax a little more on each out breath. I tried relaxing my body parts in turn. I tried imagining walking into water, and relaxing the muscles as they entered the water.

I would notice my mind coming up with images and feeling as if I was entering a deep state of meditation, but I decided they were fake, and kept just relaxing.

By the end, I wasn't counting or imagining anything in particular, I was just breathing and relaxing.

I was still awake, but my mind was pretty clear. I suspect that if I had been on my side, I would be close to sleep, but for whatever reason I cannot sleep facing up, which is why I chose that position.

I remember feeling heavy, and feeling like the arms by my sides weren't really mine.

I could say things to myself. I said "I'm flying", and I did feel a sense of floating in the air, but I knew also that I wasn't.

I examined some aspects of my life, and felt like I was seeing them dispassionately  I feel like I gained some valid insights. However, I also felt like I was cheating somehow, and not really seeing things as they were, but rather perhaps as what I expected a "dispassionate" view to be.

This seemed like self hypnosis. It also seemed like meditation. I'm not sure there is a difference.

I watched Fringe, and then went to bed.


episode 1: I'm in a math class. I'm nervous. The teacher pulls me aside and asks me what's wrong. I tell him I forgot to bring a calculator. He loans me a calculator. It turns out none of the people have calculators, and now I feel like I'm cheating. I try to talk to them about sharing it, but I'm not sure what the teacher would consider cheating. The episode goes on, but I forget the "story", but I recall images of taking the square roots of large, e.g. ~20 digit, numbers. I recall the square roots being half the digits of the original numbers (which is right), and most of the digits in all of the numbers being the digit "9" (which is wrong).

episode 2: I'm in an apartment building. I'm told to look at an apartment on the 6th floor, where me and my roommate are thinking of moving. The apartments have numbers on them, but the number indicates how good the internet connection is in the apartment. I think the lowest number I see is 6, and the highest is 8. The numbers tend to get higher as I go up, but the apartment I'm supposed to look at has an 8, and the one above it has a 7. I knock on the door, and a woman opens it. I was told her name, and something to say to prove who I am, but I forgot it. I ask her is so-and-so is interested in moving into her place. I ask her if she was told about me (I give her my name). She lets me in to look around. It is a single floor, with a view of the street. It looks nice. I ask her why she is leaving. She says her mom thinking it would be a good idea for her to invest in a house because housing prices are so low right now.

I woke up and wrote those things down. Then I decided to try "meditating/self-hypnosis" again. I lied down as before, and relaxed as much as possible. I got very relaxed, but nothing came to my mind. I was suspicious of anything coming to my mind as coming there from my conscious rather than subconscious, and so I suppose some things did come to mind, but I kept on relaxing.

Eventually I decided to roll to my side and fall asleep.

I had many dreams. I don't recall them all.

I had my first successful lucid dream. I was outside a house where the cars were. It occurred to me that I was dreaming, and I tried to pass through a car, but I bumped into it, finding it to be quite solid, and was surprised. I said "this car will be open". I was able to open the door and get in. I was somehow able to get the car moving down a hill, but I hadn't actually started it yet, since I didn't have the key. I said "I have the key", but it did not appear in my hand as I was expecting. I said "I will find the key" and I searched around in some compartment and did find the key and start the car. I was on the onramp to a freeway. I got onto the freeway and went very fast, passing cars, but the cars were very small. I said "the cars will be bigger" (or maybe "make the cars bigger"), and the cars became very big, filling their entire lanes. I kept going. Eventually I wanted the car to turn into an airplane. I think it got wings, and I think it started to fly, but then the dream stopped, and.. I'm not sure what happened next..

But at some point I found myself in "my" room, on the top bunk of "my" bed. My mom came in and brought a kitten to my bed. I recall seeing an object moving in the sky out the window. I could see it clearly. I could then see other spacecraft in the sky, and I remember knowing they were hallucinations  and think "hm.. the lucid dreaming has spilt over into real life.. I'm not sure this is good."

I think it eventually occurred to me that that was a dream as well, and I had another lucid dream experience, including petting my first cat (which was not the kitten on the bed, but rather the first cat my family owned when I was a kid, named Tiger). I could see the cat clearly, and it moved in a very convincing cat fashion. But eventually I "woke" from that dream too, again to be lying in the same bed as before, and my mom bringing in a kitten, and I remember thinking "how strange that my dream predicted this"..

actually she brought in three kittens, but one was in a plastic bag because it was mean (the bag was not closed). The mean one started biting my finger, and I said "oh, it's biting me", and my sister was there and said "oh, you live in California, so you need to make up problems." and I remember thinking this was very funny, and trying to tell her so.

I think I woke up for real soon after that, and wrote what I remembered down here.


too much to do

A while back, I commissioned a comic on oDesk called too much to do. Here it is:

The last frame of the comic isn't drawn because the artist got too mired in todo items, and wasn't able to draw it. This was conceived during grad school, when I felt like I was getting mired in too many todo items.

I created my own todo list to tackle the problem. I called it PIMA (personal information management assistant). It has gone through many iterations, starting as a Java Swing application, and currently takes the form of a webpage running on a local python server.

The main idea of PIMA is to allow me to manage a giant todo list, by making it easy to push items back, e.g., procrastinate them. It is like the Boomerang tool for gmail, that lets me effectively send an e-mail into the future, to a time when I hopefully have more time to deal with it.

I manage my whole life in PIMA. When I have an idea, I put it in PIMA. I have a tool to import my e-mail. I keep track of projects, personal goals, and all my accounts. It is an extension of my working and long-term memory.

I still use PIMA, but I'm encountering a failure mode that I have encountered in the past. The failure is that the sheer number of items in my list is so long that even the process of pushing them back takes too much time.

There are 220 items for today. There aren't 220 every day, but there are a lot — so many that I am motivated to procrastinate the process of procrastinating stuff, and stuff piles up very quickly.

The last time I fixed this by telling everyone, "hey, I'm deleting everything in my todo list and starting over, so if you were expecting me to do something, let me know again!"

That doesn't seem like a sustainable model. What to do...

DISQUS, how could you?

Come on DISQUS. I don't want ads on my blog. I hate ads. Now I have to remove you. But where will I turn? Can I pay DISQUS to not have ads?

Oh phew, this new "Discovery" feature can be turned off:

more on decisions

I can do what feels very much like consciously proactively making a decision. I just picked up a pen on my desk, and put it back down, for no other reason than prove to myself that I could decide to do it.

I can do what feels very much like unconsciously passively making decisions. I just walked to the store and bought some groceries, and a Subway sandwich, and I ate the sandwich, and I did this all on a sort of auto-pilot.

I cannot seem to observe myself making either of these kinds of decisions. If my introspective eye is watching to observe a passive or active decision be made, it is not made, and I just keep waiting. It is like trying to watch myself fall asleep. I can only fall asleep or make a decision when I stop watching. Or so it seems.

waking up


It can take me a while to make decisions. I've spent an hour deciding what pen to buy. It's worst when the different options don't seem to make much difference, but might. Different pens are pretty similar, but since I'll be using the pen so much, those differences might make a big impact. It's hard to know.

I want to make decisions better. I've considered going with my gut, but sometimes I don't know what my gut wants. I've also tried making charts with a row for each option, and a column for each relevant property, like color or size. But it is hard to know whether I've gotten all the numbers correct, and whether I've weighted everything correctly.

At some point I do make a decision, and it is a big mystery to me what threshold was crossed that made the decision happen. I think that if I understand this better, I'll make better decisions. So when I'm making a difficult decision, I end up doing two things: thinking about the decision, and introspecting about the decision making process.

Waking up

I hate waking up. Usually I get up because I need to. During holidays, I don't need to get up, and so I need to decide to get up. But this is a difficult decision to make, and I spend lots of time introspecting about it.

Today as I was waking up, I believe I had a revelation about making decisions. (Of course, I realize that it probably isn't quite right, and I'll fall back to square one soon enough.) The revelation was this: I am not consciously aware of all the factors feeding into the decisions I'm making.

In particular, I was thinking about whether it was a good time to wake up, and how to go about making that determination, when it occurred to me that some other part of my brain was aware of an additional meta-factor feeding into the decision. Namely, I wanted to spend time figuring out how decisions are made. And although I wasn't consciously aware of that desire at the time — though I was certainly acting on it — my brain was aware of it, and it was influencing the decision in favor of staying in bed thinking.

So, perhaps my brain does not make decisions consciously. Perhaps the mysterious decision making threshold is crossed within an unconscious part of the brain. Perhaps my conscious mind does something else, along the lines of applying symbolic/linguistic reasoning to certain ideas, the results of which may influence the unconscious decision maker, but not directly.

Perhaps a way to make decisions "better" is to act more as an observer of my unconscious decision maker, and look for inefficiencies or logical fallacies. Or rather, if this is indeed the role of my conscious mind, perhaps I'm already doing it, but it is "better" to recognize that fact.

Deciding to wake up

After having this revelation, I went over my thoughts so I could write them in a blog post. At some point, I had the idea of calling the post "waking up", which felt like the perfect title. It was a joke, since most of the content of the post was conceived while not waking up. It was also a metaphor, because I had a "revelation" in the post. I was so happy with this title that I finally "decided" to get up and write the post.

[I also decided to include in the post a snippet of my dreams, since dreams are relevant to "waking up", and I want to be recording my dreams anyway in the hopes of at some point having lucid dreams. What I remember of my dreams last night was as follows. In the first dream I was able to sort of fly, by gliding down a steep incline, like those people on youtube with the squirrel suits, and this happened in a city of steep inclines like an esher-esque castle. There was a room someplace I was trying to get to. A second dream included a field in the country, a horse, a rocket, flying into the upper atmosphere and watching things get smaller and smaller, and then falling slowly back to earth, the horse being able to talk, and running across a field, and my dad was there. A third dream involved a mario brothers setting, collecting strawberries instead of mushrooms, being in the game live, with another person, a strange prize in one of the levels where you won the opportunity to use a particular outhouse at a particular time. The outhouse was part of a circus ride of some sort that elevated a fighting arena high into the air, and there was a fight scheduled at some future time, and during that fight was the opportunity to use the outhouse, which was precariously attached via an arm to the arena, raised very high in the air. The bathroom did not have walls, and seems very rickety, and you had a choice of male or female, which would unlock a hole on the bench that you could sit on or pee into respectively.]


Here is a pattern with me: I'll introspect about how to be better, and come up with some crazy idea like: "perhaps I can improve myself by identifying patterns with my thinking, and writing blog posts about them". This will seem like a revelation, and I'll try it out for a while, with moderate success.

But ultimately I'll discover that it wasn't the silver bullet I was hoping it would be, and I'll fall back to my core. My core is complete uncertainty about everything. Am I sure this is my core? No. My mind is more complex than that. I want many contradictory things, including wanting to not want things.

Most of all I want to escape uncertainty, and bask in the eternal glow of some simple, clear, self-evident truth. I think this may not exist, but I'm not sure. I'm not even sure it would be that great if it did. But my mind is constantly restless, constantly searching for something, trying things out, and falling back.


Imperfect circles within an imperfect circle. Imperfect and inconsistant triangles not aligned with or congruent to the triangle they create. Square leaning a bit to the left.

Not every post in this blog has an image, or a consistent format. Not all the posts are in chronological order. Some have had their post-date set manually to match their content. Some haven't.

Many things that I've wanted to keep consistant in my life are not so. I haven't gotten an A in every class. I haven't gone back to every person I've given false information to and corrected it. I haven't always kept my temper.

The painting of my life is messy and complicated. I want to make it simple and elegant. I can't. What can I do?

People say "do the best you can". But this is not a well defined notion. I could have made the drawing at the top of this post better. However, I could always make it better. So I have to pick some arbitrary place and stop, and there is no clean metric for picking that stopping point.

baby hive mind

A baby flails its hands and feet around randomly in an effort to know how to use them. Eventually it moves on to stacking blocks, which is also pretty useless, but it is on a path toward doing cool stuff.

Modern use of "social" technologies like Facebook and Twitter might be like a baby hive mind flailing it's hands and feet around trying to figure out how to use them. Eventually it may move on to coordinated flash mobs, which are also pretty useless, but it may be on a path toward doing truly cool stuff.


todo newest or oldest?

When I write todo items in a list, I typically think it's best to do the oldest ones first. I suppose I think of todo items like cans of honey in a pantry. I want to open the oldest ones first, because they're the closest to expiring.

However, someone recently opened my eyes to a good case for doing the most recently added todo items, which is this: the very fact that the oldest items have been on the list so long without being done is some evidence that they don't need to be done. Whereas such evidence has not been accumulated about the most recent items.

Ultimately I think the list should be prioritized somehow, but this was an interesting thought.


A couple days ago, I decided to go through all my Mac processes and verify that they were all supposed to be there. I found one that seemed out of place: backgroundinstruments. The top link on Google for this query was "MALWARE access via hole in Browser...: Apple Support Communities". Even reading that thread, it wasn't clear to me whether the existence of backgroundinstruments meant something bad. But, I couldn't force-quit the process — it would restart itself immediately — and it would run automatically when I rebooted. So, I decided to do a fresh install of OS X.

Of course, this is a MacBook Air, so I wasn't exactly sure how to do a fresh install, since there is no CD drive. But it turns out Apple makes it easy. I just needed to reboot with Command-R held down, and it would boot off of a special hidden installation drive, and give me an interface to format my main drive, and install Lion. The interface even had web access, and downloaded the stuff it needed as part of the installation process.

Note: the first time I tried this, I formatted my drive with encryption. However, after the installation was complete, it wouldn't let me boot the machine — it ultimately hung showing me a "no" sign (a circle with a slash through it), and a perpetually spinning spinner. I'm not sure if this was meant to work. I can imagine a reason why it might not. If the entire drive is encrypted, it seems like the boot process itself wouldn't be able to read the drive without the password. On the other hand, it seems silly to allow someone to install Lion on an encrypted drive if that was true. In any case, I redid the installation with a non-encrypted formatting, and it worked fine (and I did the encryption using FileVault afterwards).

Incidentally, backgroundinstruments is not running now, so that's nice. Also, it seemed like this process was related to XCode in some way, so I tried installing and running XCode to see if it would reappear, and it has not.



I had been doing pushups and jumping jacks in an effort to exercise. I was keeping track of my progress in this blog, hoping to do it for a month. Then a friend commented that I wouldn't make it, suggesting that I walk more instead.

Now, I could have made it, I think, except that I think he was right about walking.

I have a lot of positive memories of walking. The time when I felt the most mentally rejuvenated was while interning at IBM Almeden. While there, I would take a walk every day. I wouldn't need to walk very far before I couldn't see the facility anymore. It was like I was in the middle of nowhere. I could walk there for hours. I also recall really liking New York, in large part because of the giant sidewalks, and also because of central park, which had extremely long walking paths. I also grew to love Menlo Park after I discovered how walkable it was, and how close it was to Stanford. More than once I walked from my apartment, across a cute little bike bridge, on to Stanford, on to the dish, and eventually back home.

I also recently wrote this post about how focussing causes me to tense up. And I've run some mental experiments since then. Tensing my muscles does help me think. It is kindof like having paper. It gives my mind a place to store things, somehow. If I don't tense, it is much more difficult to keep my mind on track.

Walking also seems to work in this way, though I'll need to try more. I find that it helps if the walking path is relatively wide and easy to navigate, so my mind isn't spending time trying to walk safely. This is why I love the wide sidewalks in New York.

It also seems helpful for thinking to move my hands around. I don't like to do this when people are watching, because it seems crazy, but again, I think my mind is using my body as extra working memory somehow.


Sometimes when I'm thinking, I get this grand vision of where to go, and how to get there. And its frustrating, because it seems so achievable, and yet I'm just sitting here not doing all the things to make it happen. But if I look more closely, I don't actually know how to get there. The path is fuzzy. And in the end, all my non-visionary mind can handle is one concrete next step to take.

This seems connected with the idea of a minimum viable product (MVP), and with the idea of "baby steps" in What About Bob.




Summary: Was using jEdit. Now using Sublime Text.

Long story: I wanted to know if Heroku supported fibers for node.js. I typed "heroku fibers" into Google. The second link was "Pushing Your Meteor Project to Heroku". Meteor looked interesting, so I took a look. It had packages for a number of common JavaScript libraries, including bootstrap, which I had heard good things about, so I took a look. The getting started page recommended Sublime Text 2, so I took a look, and it was awesome.

Now, my text editing history is an odd one. Most people would assume I use Emacs or vi. I do not. Most people would assume I use Linux. I do not. I grew up using DOS and then Windows, and I was very happy with the Scintilla Text Editor on Windows. But when I came to oDesk, they convinced me to try a MacBook Air, which is soooo light and thin compared to my former eight pound 17" Dell.

But, I couldn't find a text editor I liked. Every one I tried had some critical flaw — multi-line tab indenting didn't work, or used a hot-key other than "tab", or indented lines didn't wrap the way I wanted, or I couldn't drag files into it, or something.

jEdit was the best I found. It had the features I wanted, but it would occasionally crash when I dragged a file into it. Also, it gets unhappy when I drag very large files into it. Also, it keeps saving these "#untitled" files everywhere, which sometimes have sensitive information because I was using jEdit as a temporary text editing pad.

Sublime Text is so pretty and fast and smooth, and it uses the keys the way I like. I'm so happy. I just paid them $60 to register their product, which I didn't have to do, because apparently you can use it as long as you like "unregistered".


github pull requests

Someday, when I get a team of artists-on-demand together, I'd like to submit a request to have this image done up nicely with github octocats (octopuss'es?) instead of starfish, and hopefully blogger will have a "pull request" feature by then so someone can modify this blog post with the new image, and I can "merge" in that change...

human scripting

When writing the previous post on simulating probability, I wanted to provide interactive widgets so people could actually run the code. The widget would be a simple webpage with the code embedded in the url itself, so I could reuse it in an iframe. I'm sure this exists, but I couldn't find it. The closest I know of is jsFiddle, and my own simple JavaScript eval utility.

A simple idea, but I often forgo implementing such ideas since they take time to code and test, and more than anything they take time for me to context-switch my brain into programming mode and load up all the proper files and command prompts into the proper places.

But recently I've been playing with human scripting, which doesn't require me to context switch (as much). I opened my JavaScript eval utility in a browser, and looking at that wrote down some changes that needed to be made to realize my vision. Here's the script:

[header stuff from template... says to fork https://github.com/dglittle/glittle.org]

- go to glittle.org directory
- make copy of utils/JavaScriptEval
- call it jsEval
- make these changes
    - remove input box
    - make script textbox consume 100% height (like the output)
    - remove the "script" and "output" labels
    - remove the "history" button
    - move the "run >" button between the textareas (where the "<" button is, but at the top instead of the bottom)
    - remove the "<" button
- watch for any changes to the text in the input box,
    if there is a change,
    add a link below the input box that says "get url to this code"
- if the link "get url to this code" is clicked,
    navigate to a new url which is the current url + "#" + url-encoded version of the code in the input box
- when the page loads, check to see if there is a "#" in the url,
    if so,
    then put the stuff after it into the input box (and deal with the url-encoding.. not sure if you'll need to decode it)

- test this
    - run: node _server.js
    - load http://localhost:8080/utils/jsEval
    - enter: print("it works!")
    - click "get url to this code"
    - press run button
    - take screenshot (include address bar)
    - put screenshot in "humanscript/output"

[footer stuff from template... saying to commit, push and make pull request]

I wrote about 26 new lines of HumanScript. Not sure how long that took, maybe 10 minutes. I submitted the job to a mailing list I keep of programmers. Someone grabbed the task an hour later, logged their time on oDesk, and about an hour after that delivered this github pull request.

I looked at this image in the pull request:

It seemed to be working — had the code in the anchor part of the url like I wanted — so I clicked merge in github's interface. Then github automatically rebuilt glittle.org, and when I navigated over to glittle.org/utils/jsEval, I saw this:

I then went to work using this new utility to update my previous post.

So in summary, I wrote an e-mail, continued writing my blog post, later got an e-mail back saying "done", clicked a merge button in some web interface, and then had a working widget.

simulating probability

♔: Hey, have you heard the Monty Hall problem? Turns out if there's a prize hidden behind one of three doors, and you choose one, and someone who knows where the prize is eliminates one of the remaining doors by opening it to reveal no prize, and they let you switch your guess if you want, you should switch your guess!

♛: Oh? Seems like it wouldn't matter..

♔: No no, it matters because blah blah, bs, probability mumbo jumbo somethingorother...

♛: Whatever. Let's simulate it.

♔: Hey, did you know that if you want to roll a six on a die, you'll need to roll it an average of six times? This is easy to calculate with an infinite series of blah blah bs probability mumbo whatnot...

♛: Whatever. Let's simulate it.

♔: Hey, imagine that someone's rolling dice. They'd expect to see a six once every six rolls. But if you show up at some random point between rolls and wait for a six, it will probably have taken the guy twelve rolls to get that six.

♛: Oh? Seems odd, since it's usually six rolls to get a six...

♔: No no! It's because of sampling bs blah blah mumbo probability... blah...

♛: Whatever. Let's simulate it.


focus = tense

I've recently noticed that when I think, I tense up. And I was thinking last night that when I think, I'm often focusing on a problem. But maybe the brain's ability to focus is evolved from focusing on a small intricate thing in the physical world, which requires holding still — tensing the muscles — or the image shakes too much.


How does consciousness work?


In model A, consciousness is a kind of soul that interacts with the brain. In model B, consciousness is just a name for some high-level patterns that emerge within a brain. In model C, consciousness is something that watches, but does not interact with the brain.

I think model A is what people have believed for a long time. It is a model compatible with God and free will. Model B is what most of my sciencey friends believe. It essentially says that consciousness is a high-level pattern, and if someone could simulate the functioning of a human on a chalkboard, then consciousness would exist within the pattern of chalk on the board somehow.

I tend to think we could simulate a human on a chalkboard, which suggests that model A is out for me, but I doubt that consciousness would exist within the pattern of chalk itself, which suggests that model B is out for me too. Model C is interesting to me. It suggests that humans are like characters in the book-of-the-universe, which is a large book with many parallel universes, in which everything happens according to deterministic laws. Human consciousness happens when someone reads about a human in the book, and it has to do with how they interpret what's going on with that human's brain.

However, model C has some issues. First, it suggests that the brain itself would do what it does whether or not any entity was watching it, which suggests that my brain would write this blog post even if nothing was watching it, i. e., even if it wasn't conscious. But that is strange, since this blog post is a pretty strong assertion by my brain that consciousness is happening within it.

On the other hand, I'm not sure that this blog post accurately describes what I'm talking about when I say "consciousness", so it may only seem to me that it asserts the existence of a particular phenomenon I call consciousness. Another reader may interpret it to be asserting the existence of some different phenomenon, based on their context and experience.


game of life

Day 1. God starts running Conway's Game of Life on a computer with a very large monitor. He lets the simulation run over night.

Day 2. God sees a message on the screen saying "Hello God." He is curious how this came about. He rewinds the simulation, and sees some pretty sophisticated automata creating the giant letters one by one.

Day 3. He rewinds more, and traces this sophistication back to a very small part of the simulation (Earth).

Day 4. He skims over years of Earth's history, watching life evolve. He notices a spike of development at some point (when humans came about on Earth).

Day 5. He tries to understand humans by examining a single human very carefully. He tries to imagine what it would be like to be this human.

Day 6. As He studies the human, God builds a model in his own brain for what's going on with the human. For instance, when the human tastes salt, or sees red, God makes up some way to model those experiences in His own mind, based on His own experiences.

Day 7. God gets really into the character of the human, forgetting who he really is. He finds that the human is self aware, and is questioning the nature of existence and of consciousness.


usb man


When I was younger, I believed in god and heaven. Sometimes I thought that if I didn't believe in god and heaven, then there would be no point to life, and I may as well kill myself. I was worried about this when I became not religious, but I discovered that I still didn't want to kill myself, and life was still interesting.

Now I think there's a similar issue with emotions and happiness. I think sometimes that if I didn't have emotions and happiness, then there would be no point to life, and I may as well kill myself. And I worry about this at times when I'm depressed or frustrated and think it may be easier to not be so emotional. And so instead, I typically cherish and cultivate my emotions.

However, I was in a pretty non-emotional frame of mind today, and I saw the scene above, and I found it interesting and beautiful. That is to say, the intelligent non-emotional part of my brain liked the scene, with no help from the emotional part of my brain.

This spurred a couple thoughts:

1. Maybe a lot of the values we associate with emotions, like peace and kindness, are also aesthetically beautiful from a purely intellectual point of view.

2. Maybe a purely rational person, unencumbered by emotion, would still make decisions in line with these virtues.

I think the common stereotype of a purely rational person is that they are cold, heartless and selfish. Such a person will sacrifice other people for personal gain.

However, what personal gain are we talking about? A purely rational person has no emotions, so they're not trying to gain happiness. They won't care about fame, money or power, at least not for their own sake. They might care about money or power as a means to an end, but what end? They don't care about buying stuff that will make them happy, or showing off their power, because they don't care about that sort of thing.

My current guess is that a purely rational person will be seeking some sort of beauty.

future prison

I wear pretty rosy-colored glasses when I look into the future. It seems so wonderful there. I think the human mind will be extended. People will have direct brain access to computer assistance, as well as direct connections with other minds. And I think that will be wonderful. So wonderful, I suspect, that if a future dweller were to be placed into our present time, it would be like being in prison, a severely limited existence. So, a dark-colored view of things might be, since I'm so confident in this rosy future, that I currently live in prison.



I think PayPal is reaching a critical point. Prior to this point, I felt like I needed to justify my use of PayPal, especially the fact that I have a PayPal debit card, and use PayPal like a bank. People look at me cockeyed and wonder how I could trust them that much (not to say that I should). Now, I feel like the tides are turning; maybe people think if they don't have a PayPal account, and I want to pay them that way, that they should get a PayPal account, rather than tell me that I need to pay some other way.

Well, really I'm less sure that PayPal is reaching a critical point, though my dance instructor did get an account just so I could pay her that way. But more interesting to me is the idea of defining a critical point in this way, where prior to it, people feel like they need to justify using service X, and afterwards, people feel like they need to justify not using service X. I recall Facebook reaching this point for me. At some point I felt like I needed to justify not having a Facebook account, and that's when I got one: it was just easier, and not a battle I wanted to fight.

lucid dreaming

I read a technique for lucid dreaming somewhere. The idea was to draw the letter A on your hand, for "Awake", and throughout the day get in the habit of occasionally looking at your hand to see if there's an A there (meaning you're awake). Since it's possible that your hand may also have an A on it in a dream, looking  at your hand is used more as a trigger to remind yourself to assess whether you are awake or dreaming frequently. The idea is that when you dream, you'll also look at your hand, and make this evaluation.

So I tried this, sort of. I didn't draw an A on my hand, but I did imagine looking at my hand to try and assess whether I was awake, and I would occasionally think about this, though mostly right before going to bed -- and ironically I would imagine looking at my hand, and it wasn't clear to me whether I should assess my imagined hand to be a sign of awakeness or dreamness.

Anyway, the other night, in a dream, I did in fact look at my hand with the intent of discerning whether I was dreaming, and I decided I was dreaming, and a strange feeling happened after that, a bit like falling. Then I recall having a brief moment of being consciously aware that I was in a dream, and having some control, and remembering something I wanted to do in my lucid dream, and it seemed that my mind tried to make it happen, but failed and I woke up. That whole time had this weird intense feeling of falling, or something like that.

misc lists

Tegan and Sara - Boston, MA, 2011
The Magnetic Fields - Boston, MA, 2011
Blue October - Boston, MA, ~2007
Alkaline Trio - Boston, MA, ~2006
Our Lady Peace - Boston, MA, ~2005
Hootie & the Blowfish - Sedona, AZ, 2003

other bands that I've seen play live
Collective Soul
3rd Eye Blind
Hot Hot Heat
Death Cab for Cutie
Franz Ferdinand
Jessica Simpson

broadway and similar shows
The Book of Mormon, 2012
Zarkana by Cirque du Soleil, 2012
Wicked, 2012
Avenue Q, 2010
programming languages
JavaScript 2005-now
Python 2010-2011
Java 2003-2011
Lua 2002-2003
C/C++ ~1993-2003
QBasic ~1990~1993
Rene Magritte
Salvador Dali
M. C. Escher
The Sandman
The Far Side
Calvin and Hobbes
Labor Scientist - oDesk, 2011-now
Intern - Xerox Research Center Webster, 2010
Intern - IBM Almaden Research Center, 2006, 2007
RA/TA - CSAIL MIT, 2005-2011
Undergrad RA - CUbiC Lab, ASU, 2003-2005
Game Programmer - Professor Fog's Workshop, 2001-2003
Software Engineer - Cinematix Studios, 2001
Food Handler - Stapley Jr. High Cafeteria, 1995-1997
MIT, Cambridge, MA, 2005-2011
Arizona State University, Tempe, AZ, 2000, 2003-2005
Mountain View High School, Mesa, AZ, 1997-2000
Stapley Jr. High School, Mesa, AZ, 1994-1997
Snowflake Jr. High School, Snowflake, AZ, 1994
Taylor Elementary, Taylor, AZ, 1990-1994
Heatherbrae Elementary, Phoenix, AZ, 1988-1990


I don't exercise much. One thing I've been trying recently is doing as many pushups as I can, and 100 jumping jacks. My goal is to do these every day for a month.

Dec 6: 17 pushups, 100 jumping jacks
Dec 7: 16 pushups, 100 jumping jacks
Dec 8: 15 pushups, 100 jumping jacks
Dec 9: failed
Dec 10: 16 pushups, 100 jumping jacks
Dec 11: 17 pushups, 100 jumping jacks


self hypnosis


I posted a self-hypnosis script here. One of the things that script says is "imagine a rotating red cube". Here is where I think I've noticed a difference between hypnosis versus non-hypnosis. I can imagine a rotating red cube, but if I do it actively/conscious, while awake, I sortof need to control the cube myself, with conscious thought, and the mental image is of relatively low fidelity. However, when "hypnotised" (I'll put that in quotes for now since I'm not sure I have achieved hypnosis), and the script suggests to imagine a rotating red cube, it took a second or two of no conscious effort, and then I saw a sort of elaborate room, like a wizard in a fantasy novel might have in their tower, and within the room I got a partial view of a giant rotating red cube.. my view was sortof from a hallway surrounding the room, with windows into the room. Anyway, I feel like there is a difference between scenes generated and controlled by my conscious mind, versus my unconscious mind, where the scenes from my unconscious mind are much more vivid and elaborate.

self hypnosis

I've tried hypnotizing myself. So far, I've had moderate success. Maybe. Not sure.


- I wonder what it would feel like to be physically influenced by hypnotic suggestions. For instance, to be unable to lift my hand because my subconscious is following along with some suggestion that I couldn't lift my hand.

- I wonder if I could ask my subconscious questions, like "what is your biggest fear?"

- I wonder if I could modify myself, e.g., to be more confident, or less anxious.

One issue I've encountered is that I'm incredibly worried about giving up control to someone. I can't think of anyone I trust enough for that. I've tried downloading hypnosis mp3s from the internet, listening to them, and modifying them (via sound editing tools, to remove stuff I don't like), but still, there's a part of my brain that is worried as I listen to it.

So, I want to write my own audio scripts. Now, I could record them myself, but that takes work. But, Mac has a "say" command with some fairly good text-to-speech synthesis. On top of this, I want a little control over the time delay between sentences, so I created this tool (keep your expectations low, it is very basic): HypnoScript.

Here's a sample script (see script1.txt in the git repository). I use Mac's "Text to Speech" control and set voice to "Vicki", and rate to 3/8ths (assuming slow = 0 and fast = 1). I put on some Yanni in the background, and then run it using "node main.js script1.txt".

> defaultWait = 2.3 // changes the time delay between lines

I'm going to count down from 30 to 1
As I count down, you may allow yourself to drift into a state of hypnotic trance, where your mind is relaxed and open to suggestions

I'm going to count down from 10 to 1
As I count, you may imagine relexing more deeply and going deeper into trance

you may imagine a rotating red cube

you may imagine a tiger

you may imagine the inside of a volcano

I'm going to count up from 1 to 10
As I count up, you may allow yourself to wake up



I have a task list, but I'm not sure how to decide which task on it to tackle next. I've heard that importance and urgency are both key properties of tasks useful for prioritizing, but I'm not sure how to convert these into a single priority number. There's also the intrinsic enjoyment of the task itself to take into account, which may vary depending on my brain's current interests. If I do something that I'm currently interested in, I'll probably do it more efficiently than a task of equal urgency that doesn't excite my interests of the moment.

A thought I've been toying with recently is "harmony", which I use here to describe whatever my overall task fitness function is, but may also be a useful notion separate from other notions like "utility" (what makes me happy) or "good" (what God wants).

I have an unquantifiable mental image to go along with harmony: the task plan above on the left is less harmonious than the task plan on the right.