12-29-07 - 1

If you look at the Bush administration as if they are trying to run a successful government, you would be shocked and amazed at the depth of their incompetence and poor judgement. Time after time, they seem to intentionally appoint people to head agencies that are grossly unqualified, and in fact quite often they appoint people who are specifically ideologically opposed to the mission of that agency. If instead you think of it as a clever way to destroy the government, it makes a lot more sense. The Republicans have found you can't really democratically kill government agencies, because the voters actually want government services, as much as they cry about taxes and fatcats in Washington, they want disaster aid and environmental protection and so on. On the other hand, if you just run the agencies horrifically badly, partly by restricting funding so they can't do their job, and partly by appointing incompetent leaders, the people will lose their love of those agencies; private sector alternatives will spring up that do the job better and more and more people will switch to the private solutions, see how bad the public agency is, and eventually be happy to let the public agency die. This isn't just insane conspiracy theory talk, it is in fact the explicit plan laid out by many of the more right wing think-tanks, the idea to starve government agencies to death through executive-branch administration rather than legislation. Of course no one in government could admit that they were actually doing this.


12-28-07 - 3

Dan has been waking up crazy early and falling asleep right when she comes home. I sleep pretty normal hours, so we are seeing each other only like 1 hour a day. I told her it's like the movie "Ladyhawke". I briefly thought of renting it for us, but unfortunately that awful musical score makes it totally unwatchable now. Ladyhawke is a super cheezy fantasy tale of this prince and princess who are cursed (or something like that) so that the guy turns into a wolf every night and the girl turns into a hawk by day, thus they can only be together for a second at sunrise and sunset, but they're still in love. Or something, it's laughably awesome. It's right at the peak of the 80's fantasy period which included such silly awful flawed gems as Legend, Krull, The Dark Crystal, Conan, Neverending Story etc. (they seem to all be in 82-85)

We thought "Batman Begins" was almost unwatchably awful. I really hate this mix of trying to make things more realistic, and yet still being just totally retarded and laughable. The idea of putting a super hero movie in a more realistic setting where you could imagine it's almost our world and it's really happening is a good one; Bourne is of course basically a super hero, but perhaps "Unbreakable" is the best recent real-world superhero movie. Anyway, I'd much rather have comic book movies just go totally fantasy world surreal. "Sin City" is probably the best, but I also like the old comic movies, "Dick Tracy" was great, but I also like the '89 Burton Batman. The new Batman greatly reduces all the cool designs and visuals, gives us these action scenes that are just closeups of limbs flying; actually let me stop, the fight scenes are some of the absolute worst fight scenes I've ever seen in any movie. Over and over Batman literally drops into a mob of guys, and then the camera goes into "close up on the elbow" mode where you can't see anything, but for some reason that whole gang stands around while Batman fights one guy at a time, and for some reason all the guys who had guns are no longer there. That would be okay if it was a silly "zap pow bang" Batman, but it's not supposed to be. The whole training/genesis story is so overdone now and this is one of the worst I've ever seen, it's so teenager goofy with the citadel on the mountain.

A cooler Batman movie would've been to actually go 100% realistic and make him not a superhero at all but just a guy with more realistic gadgets and ninja skills. Then make the whole first movie genesis, and spend way more time on his wandering period, make it more of a road movie ala "Into the Wild" where he's not sure what to do with his rage and uncertainty, maybe do the whole series-of-teachers motif where he spends a year here and there at different places around the world learning different skills from different people and picking different tools that will help him on his quest. Also the way to update it for the modern world is to make Batman's quest more about CIA corruption and corporate malfeasance rather than just cleaning up the streets which feels awfully quaint now.

12-28-07 - 2

I get a lot of value out of using Perforce for solo work. I hardly ever use the history to revert things, the main thing I get is just the work pattern. I still atomize my checkins in functional transactions with descriptions. This quantizes my work nicely into packets in a way that just helps me mentally to tie up loose ends and check things off my todo lists. I also still diff my checkins against the depot so that I can see what I did. I try to make myself read the changes as a 3rd party observer, though I often get lazy and don't do that as well as I could. Still I will often catch some temp debug code in the diff that I need to comment out to check in, or more importantly I'll see the diff and there will be a little one line change with no comment and it will make me realize I really need to go back and mark what I was thinking there.

12-28-07 - 1

I've always been attracted to girls who are very emotional, who are very communicative and passionate. I'm sure I would be more compatible with a reasonable, nerdy, rational, stable girl, but I'm just not attracted to them. I guess it's a pretty cliche' opposites attract kind of thing, but it's the defining dilemma of my adult relationships.


12-27-07 - 3

How a proper paint program should work :

The artist should work with infinite resolution. There should be not a single pixel in the user's interaction. When you zoom in on an area, it gets finer and finer and finer. The disk data format is simply a series of commands - eg. stroke from here to here with this brush. Stroke coordinates and brush sizes should all be floating point. You can of course "render" the image out to a bitmap format, but that should be considered an "export" not a save. Since you always have a full execution sequence, you can of course go back and change the brush that you used for a given stroke or whatever you want to do.

The colors the artist picks from should be floating point and light-linear. These are of course only the palette colors, the rendered out (exported) bitmap will be in the appropriate finite color space.

12-27-07 - 2

I dropped my laptop over christmas and broke the screen. It still works plugged into a monitor, so I'm gonna keep using it for the foreseeable future, but man this fucking sucks. Christmas wound up costing me at least $2000 when laptop replacement is considered. It's kind of ironic because I was just thinking that one thing I really wanted to get was an attache-style aluminum briefcase for my laptop that locks and has rubber corners so it's drop proof. I was thinking if I become a nomad and wander the world I could keep my cash and my computer in a secure locking case, not that it would really do much good, people would just steal the whole case since it's obviously valuable.

Anyway, my broken laptop gave me the idea that there should be a "mini pc". Basically it's just a laptop, but with no keyboard, no screen, and no battery. You can carry it point to point (home to office) but need to plug it in to gear to use it, which is pretty much exactly what I've always done with my laptop. Eliminating all that junk should make it really tiny and light and cheap. It should also be able to run super cool and quiet since it has like no moving parts. It's different than just a "small pc" because it's running all laptop parts not normal PC parts so it can be really tiny and cool and low power (eg. it uses a power brick instead of a big power supply). Well of course it already exists : AOpen MiniPC ; oh yeah, I guess there's a mac one too that looks pretty rad if you're into that flavor.

12-27-07 - 1

More images from neardd :

1 2 3 4


12-26-07 - 2

Traditional Blues music was spawned from the Black American condition in the South - the songs are about how hard life is, how the system's keeping you down, your woman's out runnin' round, landlord's after you for the rent again, you can't find no job, and your only comfort is in a bottle. The singer is certainly not a saint, but the blues comes from the outside world, how hard life is. "Songs Ohia" is Modern White Man's Blues. It's the blues of people who have every priviledge in the world and yet still can't be happy. Why didn't I make the right choice, why did I fuck this relationship again, will I ever be a better man? This is a dumb armchair analysis but the point is - Songs Ohia is really whiney.

12-26-07 - 1

A while ago we went to the Sugimoto exhibit at the Asian Art Museum. @@


12-22-07 - 1

Radio silence for Christmas. How will you live without my snarky cynical commentary on life's trivia? Just another seasonal suicide.

I'm anticipating wanting all these wondering familial holiday moments, singing carols at the piano, playing catch in the yard, and them somehow not working out. I'm anticipating trying hard not to roll my eyes as people pontificate on subjects they know nothing about, or convert every story into something that relates to them. I'm anticipating having to eat horrible unhealthy food in order to not hurt peoples' feelings. Noel.


12-21-07 - 2

So I made the caramels and fudge yesterday.

I made the Good Eats Fudge recipe because it's more chocolaty than the Joy of Baking . One note : I think the Good Eats recipe has a misprint. It says 1 tablespoon of vanilla. Every single other fudge recipe in the world has 1 teaspoon of vanilla. I compromised and used a half tablespoon (=1.5 teaspoon) and it tastes good to me. I also added a tiny bit of salt. The texture came out great, and good walnuts are absolutely crucial, it would be insipid without them.

For the caramels, I found there are two general types of recipe. There's the one pot recipes, such as the New York Times recipe, where you don't seperately brown the sugar. Then there's the two pot recipes, such as the Gourmet Magazine Salted Caramel Recipe . Brian Sharp has a big thing about how you need the caramelization (browing) flavor from browning the sugar, so I went with the two-pot method. But I noticed that the NYT recipe uses a lot more salt, and I really want the nice salty caramel effect, so I used 1.5 teaspoon instead of 1 teaspoon, and also put fleur de sel crystals on top. Note that using fleur de sel inside the caramel is totally pointless since all the salt is the same when it dissolves.

Later I found the much more instructive Jacques Pepin Caramel Recipe which is a joy to read. Jacques is one of the few chefs in the world that doesn't have his head up his ass. He respects the proper techniques and is an exacting gourmet, but completely without pretention, and he has no problem with using half assed and lowbrow ingredients when it doesn't make a difference. And he seems to really enjoy food and cooking, and he has good taste. I can't think of anyone else in his league, all the modern stars are such fucking retarded pricks. A lot of the problem is that mediocre people don't really understand why they're doing things, so they do understand when it's okay to cut corners, and they can only talk about the way things "should" be done.

BTW I used my digital probe for the candy temperatures and it worked fine. There's no need for a candy thermometer these days. Actually the probe is way better because you can set an alarm temperature. Also, I had the problem that Brian predicted with heavy pans. I have Calphalon pans and they have a very large "heat momentum". When you're heating the caramel up to 248, you can shut off the heat but the pan keeps going. I panicked for about 3 seconds then just poured the caramel off into a cool empty pan.

Today I dipped half the caramels in chocolate. I tempered the chocolate using the simple seed method . I think it worked out okay to restore the chocolate to good temper. There's a big thing about the crystals involved in tempering chocolate at wikipedia ; it gives you an idea how you can have various qualities of temper; the seed method doesn't really give you a super hard super shiny chocolate like you would dream of, but it's better than nothing. After dipping the caramels I had a bunch of melted chocolate left over, so I dipped a few pieces of fudge. HOLY ZOMG WTF BBQ !!! Chocolate dipped fudge is the fucking bomb.

BTW every time I see a comedian or a NYT article make a joke about Wikipedia, it just reveals to me how fucking retarded they are.

Tasting notes : I think the caramels with the fleur de sel were the best, rich and buttery and when you get a big salt crystal it just explodes with a zing in your mouth that's quite pleasant as a contrast to the caramel. I know, I know, it's so 2003.

Oh, I also made the cookies the next day. A few little notes for myself - the walnuts in cookies are a little tricky. If you just put in raw walnuts they don't toast enough with the cookie; if you put in fully preroasted walnuts some of them will burn; the ideal thing would be something like half-roasted nuts. I still haven't found a good chocolate chunk solution. The pre-chunked ones in stores like Nestle chunks are ridiculously overpriced and also shitty ass quality chocolate. My solution this time was tasty but labor intensive. I bought the 54% Pound Plus bar at Trader Joe's, put it in the oven briefly to just get it soft but not melted, and then cut it into chunks. If you cut it cold it slivers into tiny pieces that aren't good in a cookie. I then put the cut pieces in the fridge to solidify. It worked fine but it's not worth doing for normal occasions. I cut the bar pieces into 4 chunks, they were still a bit too big that way.

12-21-07 - 1

At Oddworld we used to joke about making a Tetris-like game to trick people on the web into doing our lightmap packing for us. (optimal chart packing aka the pants problem is NP). Well, guess what, people are doing it. ESP Game gets people to label pictures on the web. This is different than the dumb thing Google has had for a long time where you label pictures, because the ESP Game actually has some reasonably clever game design elements to make it sort of fun and actually motivate people into playing. Their other game Phetch is pretty okay too. It's fucking retarded that you have to sign in to play though.

The dream is that someday you have "Ender's Game" where you can put these various video games up on the web and people just think they are playing a fun game, but actually you've converted various hard problems into game form and had them solve it. For example, you could do something like convert the real stock market into a little management game type of thing and let people play the game and use their decisions to do real trades. (actually all of Web 2.0 is sort of based on this, you build "communities" where people think they are socializing when really they're creating free content for the site to make money from)


12-20-07 - 1

More and more programmers are becoming responsible about documenting the code, describing what it does, what you need to pass in. That's all well and good, but it's still missing a huge aspect - documenting what's NOT in the code.

Code that just does something really has very little value. If you know what the code should do, it's easy to write. What does have a lot of value is a record of the knowledge and experimentation that went into a piece of code. If someone spends months trying all these different ideas, and finally comes up with a great solution and writes the code - the most value piece of that is all the things that were tried and ruled out. You need to write up why you are not doing the alternatives.

Often the trickiest bits of experience-based code look really trivial and don't get commented at all. Sometimes the nastiest weird case bug fixes just consist of doing a check that seems redudant. These are the things that really need to be richly commented for the future.

Without this stuff, the code picks up a lifespan where its usefulness dies as the knowledge used to make it dies.


12-19-07 - 5

Back in the old C days, to do fast allocations I would use various manual allocators. A standard one was a simple pool with freelist. These days I usually just replace the global allocator with some fancy thingy and let it go. I was looking over some ancient code today (the Genesis curved surfaces with view dependent tesselation, that was fun), and it reminded me of some advantages of the old custom allocator scheme. (I'm talking about an allocator which is used only for one type of object; some tree node for example)

Obviously you have the advantage of being able to custom design the allocator for your usage pattern to optimize speed. That's not a huge edge these days, but there are things you can't do with a normal allocator :

1. Just tossing the whole object. When your object is some complex tree, you can do all these little allocations, then when you're done with it you can just reset the whole pool, you don't have to walk the tree. This is not so much just a speed win as it is nice for simplicity and code reduction, and when you're in the destruction phase you don't have to worry about tracking pointers or who owns the pointers or anything.

2. Getting a linear memory iteration on the nodes. This is the really cool thing. So you build up this whole tree using some complex logic. Now you want to do something where you have to visit every node. If you descend the tree it will be in random memory order and be totally horrible for performance. What you really want is to walk the nodes in linear memory order. Of course you could maintain this as a side structure with a normal allocator, but if you have a pool allocator, the linear hunks of nodes are right there. You just get the memory blocks from the allocator in iterate over them.

3. Other nice accounting things, like easily being able to ask your allocator how many are allocated and have it give you the answer for just this exact type of object.

12-19-07 - 4

The walnuts we get at farmer's market are such a revelation; they're so sweet, and have these floral notes, and they completely lack the bitterness that makes your mouth pucker when you eat normal walnuts. I'd always heard that nuts go rancid quickly, but never thought it was a big issue, now I realize that pretty much every single supermarket nut is well on its way to being rancid. It's quite a treat to discover how good these basic ingredients can be, but on the other hand it leads me down the path to being a horrible food snob who says things like "oh, where did you get these walnuts? from safeway? no thanks, I don't eat supermarket walnuts". good grief.

12-19-07 - 3

Watched the movie "Police Beat" last night. It's definitely a flawed movie; a lot of the police incidents are just too random and don't fit, and I didn't like the ending at all, some of the supporting actors are terrible. Overall though it's brilliant. Basically the entire movie is one man talking to himself, thinking inside his own head, and yet it's engaging and interesting. It has a beautiful bizarre feel to it, and lots of great little-known Seattle scenery.

12-19-07 - 2

I made a little test app that does local regression on k-NN. It's a crappy test app, maybe I'll post it. Anyhoo, while it had bugs it made some really cool images. I didn't actually cap the best ones cuz I was just fixing bugs, but then I realized man these visualizations are cool looking so I did cap a few as I fixed the last few bugs. Unfortunately I could never intentionally recreate the bizarre bugs I had that made such cool images.

Okay I put up the the exe

12-19-07 - 1

Just because someone can have a draw doesn't mean you can think about calling. For example if someone only jams the flop with sets and draws - you must fold everything to them. In that case the chance they have a draw is quite high, the problem is even when they have a draw their equity is still good (30-35%). Either you have 0% (vs a set) or only 65% (vs a draw). You need to be actually beating some of their range to consider calling. Most people are way too loose about calling just because "the board is drawy, he could be shoving a draw" ; this is why it's so great to shove real hands, even as weak as single pair overpairs on drawy flops.


12-17-07 - 1

Doh! I had all these 2032 batteries for my old graphing calculators (I was a Casio man, I liked that it was slimmer and the buttons had a lighter tough than the HP and TI which were built like bricks). I threw them away cuz I thought I'd never use them, and now I find it's the same battery that failed on my motherboard (the 3V CMOS battery). On the plus side, the computer works totally fine without it, it just doesn't save your CMOS settings when you unplug it, so what.


12-16-07 - 3

We may never have reasonable health care costs in America. The problem is that the American public has this incorrect idea that allowing people to take huge profits out of the system is a crucial and necessary and even admirable part of capitalism, which is the inalienable right of every American and drives innovation and improvements in service. This is questionable in any market, but it's just completely wrong in a non-competitive area like health care. The most important part of capitalism is that the sellers have the freedom to provide the services that they think the market wants, and the buyers have the ability to choose between various sellers with good information about the costs and quality of the different choices. Both of these are completely missing in health care. The problem is when you tack this onto an American ethos where people believe they are entitled to massive profit, you wind up with an inefficient bloated mess. To fix health care, we need to do things like motivate the providers to cut costs, which would encourage them to do more prevention, we need to get way more primary care doctors and less emergency room visits, but primary care doctors make way less. In America any system such as forcing more doctors to do primary care instead of higher paying specialist jobs is a non-starter because of our whacked out misunderstanding of the benefits of capitalism.

12-16-07 - 2

There's this weird nonlinear thing about understanding. If you don't think about something too much, you can do it alright. Or if you really deeply understand something, you do alright. But in between, if you sort of understand something but not really, you can get totally confused and do completely the wrong thing. I saw it all the time in physics (and of course went through it myself). There were the engineer types in classes who would just learn the equations and how to use them to do problems and they were quite successful. The people who were trying to really understand it on a deep level but not getting it would develop all sorts of confused and wrong ideas - especially in a field like quantum mechanics that's quite deep and hard to get, you'd get people thinking confused things like "quantum mechanics can't be a whole solution because it postulates an external observer that can collapse the waveform via measurement" (of course with deeper understanding you would understand the observer is a quantum system and the "collapse" is just via loss of entanglement through ensemble decorrelation).

I seem to go through this spectrum almost daily with one thing or another. I've figured out certain rules to just follow to get the right answer, and that works fine. But then I forget why I'm doing that way and start questioning and thinking too much, and then I start doing really retarded things. After spending quite a bit of time I come back to really understand it and see why those rules were right. It would be better just to follow the rules and not think so much.

One area where you see this immensely is poker. Poker is such a good field to study human behavior because poker itself gives you very indirect feedback about your actions. Because of the randomness it's really hard to tell when what you're doing is right (compare to say, stabbing yourself with a knife, which gives you very immediate feedback that you did something wrong). Because of the lack of feedback people will do what is natural to their brain and not correct their mistakes. Anyway, you see people who just read a book and follow the directions, and they can actually do quite well. Some of the worst people are actually those who sort of understand the game and kind of get the logic and start thinking things out for themselves. These people do absolutely retarded things because they've developed strategies like slowplaying their big hands to balance their range and deceive their opponent.

12-16-07 - 1

I'm just so disgusted by the self helf pseudoscience new age mumbo jumbo that PBS peddles these days. FYI all the "detox" regimens are just complete nonsense. People are misled into thinking they are beneficial because they sort of feel like they should be. In many cases they can give you a pleasant feeling and perhaps a feeling of being energized and reinvigorated. Basically what you've done is starve yourself. With low blood sugar you get a euphoric feeling which is rather pleasant. Your body also supplies adrenalin under mild starvation, presumably to help you get some food. None of these things are actually beneficial. You can get a better euphoric effect with less body damage just by doing some drugs.

Also, why do they have to do fundraisers all the time for BBC programs? Can't they get BBC shows nearly for free?


12-15-07 - 3

Basic method of cooking mustard greens : start sauteeing some onion. Chop the greens, making very small pieces of the bottom thick stem parts, and very large pieces of the top leafy parts. Salt & pepper of course. Once the onion is transparent, toss in just the stem parts of the greens; add some butter to keep the fat content high enough that you get some real browning. Once the stem parts soften toss in the leafy parts. Toss and sautee just briefly, then add a few tbsp of stock to make some steam, put on the lid and turn to low for about 6 minutes.

Quick fruit cobbler : prepare streusel topping; basic streusel is 1 cup flour, 1/2 cup brown sugar, 1 stick butter, cut the cold butter into the flour and sugar. It's quite flexible though, so you can add nuts (pecans are best) or oats; you can also add baking powder to puff it a bit but I don't recommend that. I like both nuts and oats, in which case you reduce the flour to 1/2 cup.

Peel and chop 1 apple and 1 persimmon (Fuyu non-astringent type). Meanwhile, put 2-3 tbsp sugar in a pan and heat up until it liquifies and starts to brown; just as it starts to brown toss in 2 tbsp pat of butter. Stir to melt the butter then toss in the fruit. Flatten it so it cooks, stir occasionally until fruit is soft. Salt it. Season the fruit with a little cinnamon and fresh grated nutmeg; not too much! we just want a slight accent not a pumpkin-spice explosion. Dump the fruit in a ramekin, it should be piled almost to the top; cover with lots of streusel. Put in 375 degree oven for about 30 minutes (start checking at 25).

Apples are really a shitty fruit to make desert from, they have no taste at all. I hate killing them with pumpkin spice, I found this is a really nice solution, lots of butter and caramel flavor, and the persimmon is a nice subtle companion.

12-15-07 - 2

One thing I was trying to say with the "ergonomics" post is that everything is related, and often the flare ups are just symptoms of this larger system. You might develop elbow pain, and you think the solution is to change the way you're holding your arms. Most likely that's just a noticeable sign of a much larger hard to see problem. Bad body use is like the underground mass of a mushroom, the little pains you get are just the mushroom caps shooting out. If you just attack the symptoms you never cure the problem, and it will keep manifesting in various ways. One of the more subtle ways that bad body use can affect you is just be increasing your likelihood of injury. You might actually injure yourself skiing or biking or playing catch, but it was the mushroom body which caused your muscle support to be imbalanced, or your ligaments to be too tight, which made you more prone to that injury. p.s. I know this is borderline chiropractic/holistic mumbo-jumbo.

12-15-07 - 1

The Bladerunner rerelease should remind us all how much better movies were before these fucking computers got involved. Look at the beauty and simplicity and naturalism of the special effects in the movie. No bizarro shiny surfaces, no crazy 1000 g-force camera sweeps, just good art and design. Of course it does have a lot of those 80's-movie touches which are so unwatchable today.


12-14-07 - 1

Pinochio robot game idea @@@


12-13-07 - 1

It's really cold here (like 36) and our apartment is awful, so I've been using a hot water bottle every night to heat the bed. They're really amazingly effective, a very pleasant kind of heat, and you can put it right down by your feet where you need it. I also find it charmingly old fashioned. An even cooler old fashioned gizmo that you never see these days is the wood-framed bed warmer. They're like a body-sized wooden boat with struts over top, and you heat up a stone in your fire and then put the stone in the boat and put the whole thing in your bed. The struts tent up the sheets so they don't touch the stone and burn, and the whole thing makes the bed toasty hot. This is pretty close to what I describe ; here are some other different forms of the same device. I just found that OldAndInteresting site, it's pretty great. here's an Italian bed warming dealy


12-12-07 - 1

Techie trends that are horrible for the body :

1. Messenger bags and satchels. These things are asymetrically weighted and generally apply unilateral pressure (pressure to just one side of the body). Aside from concentrating the weight in hot spots, they cause leaning which is just horrible for the shoulders and the spine. Try to always use symmetric whole body carrying devices with good load distribution, such as backpacks.

2. Text messaging, small mobile devices. People are using these things more and more, and the tiny keyboards make you put your hands together like claws. They're like 10x more powerful than a mouse at generating RSI, plus you have a tiny screen so you stick your neck out to get closer and look down. On the plus side, you might be standing up and walking around which is great, but heavy use is still going to destroy the hands and wrists.

3. Laptops and cute little desktops. As computers become more design driven and people want to hide them in the living room, they become smaller and people are not as willing to have monitor raisers and proper desks and such. This is directly choosing appearance over health. In particular, not having a seperable keyboard and monitor is just awful. Hopefully we'll get some better laptop designs soon where you can detach the screen and stand it up, but you still really need a wider keyboard and a screen that can be raised to neutral height.

I also found these "Computer Guy" workouts at T-Nation which are pretty good : part 1 , part 2 . They're basically strengthening to fight kyphosis and promote scapular retration and stability, which is what you should focus on. Again, it's a crazy lifter web site, so ignore the retarded side bars and don't go browsing around, but the content of these specific articles is good.


12-10-07 - 3

The AMT has gotten a lot of flack, but it's basically without merit. A lot of people will be affected by it, but the canard that that is just because of inflation is not true. Yes, the fact that it's not adjusted for inflation brings a lot of people under its domain, but the reason those people are so widely affected is because of the Bush tax cuts, which lowered their regular rate but not their AMT. People without a lot of deductions generally aren't affected at all.

Basically the AMT is a flat tax with a large deductible, something like a 28% tax with a $60k deductible. That's an extremely simple and fair system, and again the claims that the AMT is "too complex" or "unfair" are preposterous. It's the simplest and fairest tax we have. I'm quite sure all the anti-AMT pressure is coming from the super rich, who are the only people that are very heavily affected by the AMT.

The AMT disallows lots of deductions and income hiding schemes. Even with the AMT in place the super rich seem to generally find good ways to not pay taxes.

Rather than repeal the AMT we should repeal the whole regular tax code and just adopt the AMT. (A few little fixes to the AMT would be warranted, such as allowing the deduction of local and foreign taxes paid).

12-10-07 - 2

The problem with video games is there's no sex. I don't mean virtual sex in the game world, that's awful, I mean in the industry and community, amongst the fans and the fan-sites. Sex is what drives most art. Why do boys want to be rock and roll stars? To get sex. All the parties with celebrities and musicians are so exciting because the people are beautiful and everyone is having sex. What do the crazed fans of musicians dream of? sex. Why do the interns and roadies work in those industries for crap wages in shit positions? Because they want to be around the sex and get some cast-offs. What made myspace so popular? Fans trying to hook up with bands, impress each other and bed each other. Lots of sex.

The sex in these industries is not just relevant to the people who are specifically in it for the sex. In fact less than 10% of the people are activity involved in seeking or having sex, but the affect spills out to the whole fan base. The presence and competition for sex creates an excitement, an energy, that fills the whole social interaction. It brings in girls, and makes everyone want to impress each other. Everyone tries way harder to seem "cool" because that leads to hookups - and then the peripheral people who aren't involved in the hookups also try to seem cool to keep up, or to impress the cool people who were drawn in.

Look at something like Extreme Sports. Sure there are a few people who are actually into it for the excitement of doing it, but that group is very tiny. Then you get a huge female fanbase that it's in it for sex with the stars of the sport. Maybe not actual sex, but fantasizing about them, thinking how cool they are, etc. This creates a huge explosion of guy fans who dress up in the style of the sport and try to do the moves and act like the stars in order to get the cast offs. This leads to even more girl fans dressing up who are just interested in hooking up within that subculture.

The huge websites like myspace and facebook are basically driven by sex. They were tiny and not much used until they became a hookup site, and that led to an explosion. Not only does it draw in lots of cooler people, it motivates everyone to put more effort into their pages, to actually post pictures of themselves, it also made it cool for popular people instead of just being nerdy. Having a good page became a way of peacocking for partners.

Note that sites and activities that are specifically *for* sex don't really have this same effect. Nobody wants to admit that they're after the hookups, and certainly the popular people that you need to drive the pyramid can't be seen actively seeking hookups. You need to be able to at least pretend you're there for a different reason, and there does need to be a legitimate networking activity underlying the site, since only 10% or less of the traffic is actually for sex.

Video games are totally lacking this. There are no sexy video game makers, no parties, no reason why anybody would want access to the industry, the people who play games are not sexy, the fan sites don't lead to hookups, etc. The closest thing that video games have are very social simple MMO games. I think there's a possibility for an explosion in that genre, but at the moment all those types of virtual worlds are basically worse than Facebook and really provide zero reason to play them. For one thing, seeing stupid 3d avatars is not hot, you want to see actual photos.

12-10-07 - 1

Most people aren't just retarded and inconsiderate and lazy, they're willfully selfish and vindictive and greedy, and what's more, they're proud of it.


12-08-07 - 3

Trivial way to do iterative game theory solutions : player A goes first. Try all possible moves for player A. Choose the move that optimizes his EV. Assume that player A knows that player B will be playing the best possible way for himself. For each move of player A's in the EV computation, simulate all possible moves, eg. go to player B's move and try all possible moves, assume player B knows player A's strategy but not his actual hand, and let player B choose the strategy that is best for him. (the branch is not actually on the # of moves, it's on the # of strategies, which is much larger).

Note that this does not necessarilly give you the correct game theory solution in all cases since it's a greedy search, but in simple games it will (games with a piecewise linear EV shape). It's also exponentially branching, but it's not actually that bad. The reason is you're not actually trying to find a full solution into the future, I just want player A's next move, then after he moves I'll do this again from scratch to find player B's next move. Player A's best move has a decreasing dependence on the future moves (in simple games anyway, this is crucial, I don't want moves N into the future to suddenly be more important than earlier moves). That is, A's best move is highly dependent on player B's next move, less so dependent on the next move and even less dependent on the next move. What that means is you only need to search a few moves ahead, and then you can just use some heuristic EV evaluation of the situation and terminate the branching. You also don't need to simulate branches that are obviously horrible for the person making the choice (actually even good branches which you can determine are definitely worse than some other branch can also be dropped).

In poker in particular you can usually stop the sim when the current round ends and just do a heuristic EV for the next round. eg. simulate all the possible player actions in the current round, but whenever somebody caps the betting or just calls, you simulate drawing a future card and just evaluate a heuristic EV based on the probabilities of improving. The heuristic EV still needs to be reasonably complex, it should include factors for position and being the leader, the fact that people on draws will put more money in if they hit but just check-fold if they miss, etc. but it doesn't need to simulate every possible action on all possible future cards.

12-08-07 - 2

Sensitive men in their 20's try to treat women as human beings, as peers; they show them the true respect of having high expectations of their competence, the true respect of sometimes not agreeing with them or not letting them have their way and expecting to not have a tantrum about it. Older men tend to treat women like pets or retarded children; they often speak of how they love and respect women, and will be very gracious and courteous to them, but they simply lie and emotionally manipulate and avoid problems while never really letting them do anything important. The vast majority of women seem to prefer the latter.

12-08-07 - 1

Treats I'm thinking of making for Christmas :

Some real fudge, cuz I've never made actual real fudge before, only stuff like "Million Dollar Fudge" and the other easy faux-fudges.

Salted caramel. Cuz it's really delicious and super easy and trendy.

Chocolate chip cookies. Cuz I make the best in the universe.

Roast peanuts. Probably nobody will appreciate these, but it will at least be something on the treat table that I myself will enjoy eating.

One of my favorite cookies we used to always have around christmas was Mexican Wedding Cookies; we always called them "Pecan Balls" , or "Russian Tea Balls" which seems to be an identical concoction. I guess some people call them "Russian Tea Cakes" which is a bizarre thing to do. Anyway I think I probably won't make them but I will fantasize about them.


12-07-07 - 3

So placing a credit report fraud report was really easy. Just call 800-680-7289 and it's an automated phone thing and it gets sent to all 3 agencies. Why I can't do it online I dunno, but whatever. Anyway, it's kind of a cool thing to do even if you haven't actually had any warnings of fraud. All it does is make them send you notification and get confirmation if anyone tries to open a new account in your name or get credit. Obviously something they should be doing all the time, but they want you to pay for it.

12-07-07 - 2

There's a new movement that's growing, I'm not sure if it has a name yet. It hasn't made the Style page of the New York Times yet, it hasn't been labelled by Rolling Stone. It's about the unpretentious creation of joy. It's about random happenings, art that doesn't mean anything, creative alternative histories, it's about dressing like a hipster but not ironically, it's about playing ethnic and forgotten music not because it's funny or a curio but because it's great music, it's about punk diy art, making your own bikes, making your own everything, it's about rejecting commercialism and norms but not in aggressive anti-society way rather just peacefully choosing not to be part of that. This movement is by its nature small and will die when it gets discovered and becomes popular and exploited to sell products. Some of the people who live the joyous life will quietly continue to do so.

12-07-07 - 1

The cold seeps into our apartment through the floor, it radiates through the windows like negative sunlight, it creeps through the cracks all over, at the front door, the baseboards, it's inescapable.


12-06-07 - 3

Real Belgian Waffles at the Waffle Truck are pretty exciting. They're at Civic Center market on Wednesday mornings. The truck is run by two guys from Belgium who go around to different farmers markets. They're real yeast-raised waffles with pearl sugar and everything. (addendum : I just read that they import their dough from Belgium flash-frozen. WTF that seems so retarded, how can they not make it themselves?) (they do apparently have a real cast iron belgian waffle press; yes, it's just a press, you heat it over a gas flame just like a frying pan, I've been wanting one of these for years but they're super hard to find in the US)

I've been thinking about buzzing off all my hair again (I do it every few months), but when I was at market yesterday this gay black homeless guy talked me out of it. Apparently he used to be a hair stylist before his life went off the rails. He was drunk at 10 AM and still had half a six pack left, carrying around the beer cans by the loose plastic rings of the ones that were gone. I gave him half my waffle.

I made kind of a fancy dinner but it didn't come out that great. Chanterelle risotto was good, the texture was almost perfect; actually risotto is one of those things that's really easy if you can cook at all but people think it's way harder than it is so it's impressive; anyway, the problem is chanterelles are too mild and it wasn't really a good use of them. I'd rather do a Porcini or Morel or King Trumpet risotto, and the chanterelles would be better just sauted and tossed with some plain pasta with butter and garlic.

Main course was Porter-braised Lamb Shank. I made up the recipe, sort of inspired by the idea of cola-braising or osso bucco. Basic prep : brown the meat, remove, toss in mirepoix and saute in pan juices, add tomato paste and cook out the raw flavor, add lots of garlic, deglaze with porter and chicken stock, now boil hard to reduce a bit, return meat to pan and bake at 350 for 1.5 hours with lid on, remove lid and bake a half hour more. Braising liquid should be way reduced to a thick sauce. That all worked but I made a few mistakes. It wasn't the ideal cut of meat, it was too lean and got dried out; something like beef short ribs or pork shoulder would've been better. I also made the mistake of adding a bit of brown sugar to the liquid to enhance the sweetness, but I shouldn't have, it was plenty sweet without it and it made it too sweet.

One thing that did work really well is I roasted carrots and pearl onions seperately to plate with the meat. In the past I would've tried to cook them in the braising pot, but it's so much harder to control and get everything to finish at the same time when you cook them together. It's way easier to do what restaurants do, which is cook everything seperately and then just assemble a plate as if it was done together, drizzle the sauce around and everyone's happy. Roast carrots and pearl onions was an excellent accompaniment; I'm just in love with plain roast vegetables these days.

In other food news, I made some roast chicken the other night that was some of the best I ever made, cuz I cheated. I wasn't really planning on making it and just picked up some random pieces at the store and tossed it in. The secret, I believe, was that it was not an actual whole chicken, but rather just breasts and legs. Having it pre-cut lets you cook it hotter and faster which makes it easier to get that crispy skin with meat inside that's just cooked. You can also start the legs 5 minutes before the breasts so they finish at the same time. I just rubbed the skin with butter, lots of salt and pepper, and stuck whole rosemary twigs between the skin and the flesh (easy to remove when it's done, you don't want to eat rosemary). Cook at 400 for 15-20 minutes (+5 more for legs).

12-06-07 - 2

"The Departed" is a really trashy movie. Sure it's entertaining, plenty of movie stars hamming it up and lots of violence, but it's devoid of any intellect or character. The whole first 20 minutes is one big ridiculous Irish stereotype. Ah, look at the mick cops drinking whiskey and fighting and talking about the mothers. In fact, this movie is the straw that pushes Scorcese into the ridiculous category for me. He seems to have voluntarily pigeon-holed himself as a director of gangster flicks, and they all center around ridiculous stereotypes. His Italians are all "wassa mada you" and "you lookin at me?". He's touted as a great American director - but really he's only capturing the American experience in the fact that we love racist depictions of minorities. His movies are still good fun, flashy overwrought camera work, lots of violence and money, and the more and more tired use of classic rock - they're superb exploitation flicks.

12-06-07 - 1

Followup on my previous eSATA report :

The best drive is the Samsung F1 which is very fast, runs quite cool, and is also nice and quiet. The Western Digital GP is even cooler and slightly quieter, and has a longer MTBF and better head parking, so if you just care about backing up data really safely it would be a better drive (but it's a lot slower).

All the SATA PCMCIA CardBus cards seem to be about the same. CardBus can run at 132 MB/sec which is theoretically slightly less than SATA can do; in practice I can't imagine it will be a limit on any real world drive use. ExpressCard is even faster of course. BTW they provide eSATA ports.

Now you could of course stick this in a normal enclosure and be good to go. It's good to pick a cool drive cuz all the enclosures suck pretty bad for cooling, even ones with fans. They also all pretty much suck for noise reduction. Despite the manufacturer advertising, the sealed all-aluminum enclosures are not particularly good for noise reduction, because the drive is bolted to the enclosure it just transfers vibration and acts as an amplifier. The ones with fans pretty much all suck for quietness as they have ass-tastic fans. Your best options seem to be : CoolerMaster X-Craft fanless enclosure but with good thermal design (open vents - presumably very loud), Apricorn EZ-BUS fanned enclosure is supposedly decently quiet (I haven't found reliable reviews on this), or the Rosewill RX-358 crappy noisy fanned enclosure, but it uses a standard 80mm fan so you can replace it with one of the high quality silent fans and presumably get a decent result.

But there's another way to go, which is basically just running your SATA drive bare. What you do is just take the bare drive and run a SATA-to-eSATA cable and plug it into your eSATA port. Then you just power on the drive with an AC-to-molex or AC-to-eSATA power cable. this blog is the closest thing I've found to a "how to" on that simple operation. One tricky bit I'm finding is just finding the power adapter. I want one with a hard power switch and they're really hard to find. WTF I just want an AC to DC-molex (4 pin) power brick with a switch, how is that not cheap and standard? One option for getting this power cord is to just buy a USB to SATA box and not use the USB part at all and just use the power supply.

The final piece of the puzzle is instead of just sitting your drive on your desktop bare, you put it in a Scythe Quiet Drive . I don't know why more external enclosures aren't designed like the Quiet Drive. It's got noise dampening heat-conductive foam, so the whole box acts like a heat sink (just like all the aluminum enclosures) but it has excellent noise reduction properties. To make it really quiet you should suspend the whole box in an elastic web, which you can of course do. Quiet Drive should not be used with a drive that runs hot, which is why we have to buy one that's reasonably cool. It does make the drive cooler than just sitting it bare on a desk.

Even though this is just a bare external drive, it gets expensive. The SATA-eSATA cable is around $10, the external power supply is $15-$20, and the Quiet Drive box is $35-$40, making a $70 enclosure.


12-04-07 - 2

"Calorie Restriction" is still a relatively new area of research, so let's not presume it's right yet, but it's not really a huge surprise that it would prolong life. Basically what you're doing is putting your body into semi-hibernation. If you're on a severely calorie restricted diet (they recommend 1000-1500 calories), and you've acheived a steady state (no longer losing weight), that necessarilly means that your physical activity level is very very low. Basically you're consuming very little and doing very little. All the pathways of your body slow down and do less, your metabolism does less, your mitochondria don't have to work as much, etc. If we assume that each element in your body has some fixed failure rate, like eg. cell division has a 1% chance of screwing up each time - the less you work the longer you can postpone destructive failures. (this fixed failure rate is in fact a good model for DNA/RNA transcription and also for production of free radicals and misformed proteins).

To put it another way so that you can see how retarded this idea is - if you severely reduce the amount of gas you use in your car, your car will last much longer. Yes, of course this is true, because using less gas inherently means you are driving less, and accelerating less, and the life of the car is roughly based on how much you use it, not calendar age.

On the other hand this may be part of the reason why some people who seem super fit don't live longer. Naive people often think it's ironic when a serious runner dies young. They think all that running was for nothing because it didn't prolong life. That's almost as foolish as thinking that running a marathon is good for your health. Moderate exercise probably prolongs life (though there are so many other factors that it's not a 100% correlation). Very heavy exercise, however, probably shortens life. For one thing being in a near-starving state as distance runners often are is very hard on the organs and the brain. For another thing, the opposite of calorie restriction, which is a high "g flux" (consuming a ton of calories and burning a ton of calories), almost certainly shortens life, because you are constantly breaking down and creating new cells and proteins which is putting a big strain on your body and increasing the chance of mistakes happening somewhere in all that molecular work.

I personally choose to live the high g-flux lifestyle myself, just as I choose to use alcohol and drive fast and do many other things that are likely to shorten my life. I totally don't understand the desire to slightly increase your predicted lifespan by giving up quality of life today. Are those extra 0.5 years when you're 85 really going to be awesome? (of course people do retarded things in the opposite direction too, like choose to not wear a seat belt because they don't like the feel of it; okay, you choose to greatly increase your chance of severe injury in an accident because you don't like the feel of the strap, good decision, let me make sure you are never my manager).

12-04-07 - 1

I wrote about Hugo Chavez a while ago so I feel compelled to follow up now that his constitutional changes have failed to pass. I'm quite surprised and pleased (all the commentators in Venezuela were quite surprised as well), I think it's a sign that democracy is still somewhat alive in Venezuela and perhaps his power will not unchecked. Unfortunately, the legislature is still illegitimate due to the lack of opposition parties, and Chavez will be able to pass most of the changes as laws rather than constitutional ammendments, though a few things will be forbidden such as his ability to be president for life. Anyway, a positive sign and hopefully good news for Venezuela going forward. Unfortunately at the same time Russia has slipped even further away from democracy.


12-03-07 - 3

I've been trying to find a new external HD enclosure for a 1 TB drive. I'm super excited by the WD 1TB GP Caviar because it runs cool and quiet which means I can just stick it in an aluminum enclosure with no fan and it won't ruin my rather quiet setup. These days there are a ton of very cheap USB 2.0 + eSATA enclosures which is pretty awesome except for two things : 1. I don't have eSATA, and 2. USB absolutely sucks balls.

I just tested my current drive with HD Tach. On Firewire : average read speed 34 MB/s , CPU utilization 4%. On USB : average read speed 27 MB/s , CPU utilization 28%. The slower speed is a bit annoying, but the ridiculous CPU utilization of USB is pretty much a no-go.

The sucky thing is that Firewire enclosures are almost an order of magnitude more expensive. USB + eSATA enclosures go for as low as $25. Firewire + eSATA you're looking at more like $100. (BTW try finding the Vantec NST-360UFS-BK which is their only Firewire + eSATA device. I dare you.)

Also, eSATA is sort of like blowing my mind. There's something I don't get. Basically they just took the normal internal SATA cabling you would use in your desktop, put some more rugged connectors on it, and ran the cable straight out of your PC to an external hard drive. Okay, that sounds awesome. So why in the fuck have we not been doing this all along with IDE and SCSI !?!?! Why have we suffered with these retarded USB and Firewire standards that are so much slower? Firewire 800 is the one that boggles the most. It came out pretty recently, it's quite expensive, it's a new cable type that's incompatible with Firewire 400 (though backwards compatible), and yet it only doubled the speed ?

ps. yeah I know eSATA has a max cable length of 2 meters while Firewire can go to 100 meters or more. pps. yeah I guess we've had external SCSI for a long time, in fact I had external SCSI devices on my Amiga, and there's also this new "SAS" thing, but in practice for consumer-level PC stuff SCSI may as well not exist. The price disconnect these days for "server" stuff is becoming more and more retarded as stuff like hot-swappable RAID arrays have moved into the consumer space; you can get a fast hot swappable eSATA RAID array for around $200, or you can get an equivalent SCSI "server" device for $10,000. I imagine that most IT guys are still going with the latter.

One of the awesome applications of eSATA is that you can basically have a desktop hard drive that you carry around with you. For example if you have a work and home dev machine setup, you can have your normal working hard drive be a hot pullable eSATA drive, and you just carry it with you, rather than lugging a notebook or whatever.

I need to stop ranting about PC hardware because I literally know dick about it these days.

The winner enclosure at the moment looks like the Wiebetech Toughtech FS. They seem to be a Mac-oriented company which means there's a 10% surcharge on everything.

D'oh, wrong. The winner is getting an eSATA PCMCIA card and just getting an eSATA enclosure.

12-03-07 - 2

I'm listening to Jon's talk at Montreal on game design. It's worth a listen, but it's kind of long, so you can just read the PPT slides and pretty much get the point (I listened to it, there's not a ton in the dialog that's not in the slides).

I definitely agree with the general idea that games are uninteresting and could be so much better and aren't. I'm also very glad guys like Jon and checker are out there shaking up the industry trying to get people to do better work.

Jon does a really good job of presenting it as sort of an attack on the game industry, which makes it sort of controversial, but without being too offensive, and also sort of making it a challenge for the industry.

Games are an interactive medium which could be an art form which could let the user experience a wide range of discoveries and emotions and different intellectual and physical challenges, but they rarely get outside of a very narrow band. Almost all games (and not just video games, but also board games and card games and sports) are in the mode of "work on a skill, get rewarded when your skill improves, repeat".

For one thing I object to the idea that games take advantage of players and are only enjoyable in Pavlovian "drug-like" sense. Good multiplayer games certainly hit the exact same mental pathways as sports or board games. I don't think that anyone claims that sports or board games are mentally destructive or that the pleasure they give you is somehow inferior to other forms of pleasure. Now, of course that is not the only form of pleasure that games work via. Another is the "slot machine" pleasure which is indeed "drug like"; this is almost a trance-like mental state, and again I don't really think there's anything inherently wrong with it. Pretty much every Popcap game works on this level, and it's not really too different from sitting and playing Solitaire with cards, or even to watching TV. It's not really a high form of pleasure, but criticizing people from wanting a low form of pleasure or companies providing it is pretty goofy; 90% of consumer products cater to simplistic "low" forms of pleasure, be it TV, junk food, booze, sex, etc. it's no surprise that tons of games work on this same level.

In general, it should be no surprise that 90% of games suck. It's the same way with TV and movies and books. The ideal is just that there's a small portion of games that are more interesting and appeal to a more refined consumer. To some extent, those games already exist.

What Jon is really pining for is "games" that aren't actually games, in the sense that you don't play them and you don't necessarilly win, they're just interactive experiences. When people read a book or watch a movie it's not necessarilly to have fun, it's to experience something different, and in theory "games" could be the same way.

The thing that I think Jon gets wrong is the idea that game designers are not trying to get outside of the box. (sure, some of them just suck and are trying to reproduce Doom, but those guys are not the innovators). Every really good game designer I've ever met really really wants to do different interesting things. And in fact, I'd say that 50%+ of games start out development with more interesting experimental mechanics driving them. But, during dev, things start going wrong. Really novel free form mechanics are hard to control and lead the player to getting stuck in unplayable situations, or ruining the game world. They're really hard to balance so you can't create a progression that works. Often they just aren't fun. You play test them and people don't get it, or get it and just don't enjoy it. So, the new game modes get stripped out or toned down into simple controllable mechanics that work in the tried and true forms. For the most part this is still within the "game" paradigm and is for the purpose of giving the player fun and challenges.

Making interactive "art" which provides an interesting experience and is also playable (in the sense that you actually want to spend more than 10 minutes doing it) is really hard. Pretty much all the novel interactive experiences I've ever seen are just not a piece of software that you would want to choose to spend your time playing with it.

In practice, in terms of making a game that's interesting for adults and people who don't like typical games, the most important things are easy install and quick loads, compatibility with all machines, great art and content and dialog and characters, not too much frustration and repetition, very forgiving mechanics for people who screw up or don't get it, never getting stuck for long periods, never having big long boring sections, a steady supply of new pleasing content and experiences, a good progression of difficulty that ramps up and keeps the challenge moderate, a good variety of play styles or movement styles to break up the monotony, etc. etc. Stuff like that.

12-03-07 - 1

It would be cool to have a manual coffee dripper cone thing with an adjustable spout so you can slow down the flow even more if you want to. It would be pretty easy, two metal crescent moons connected by a bolt so you can screw them closer or farther apart.


12-02-07 - 3

Holy crap, it looks like I'm being identity-thefted. I just got my credit card statement and noticed two strange charges from something called CLKBANK that I didn't remember. Turns out that's "Clickbank" an online payment thing, and fortunately they have this deal where you can look up where the charge came from. The two charges were done at www.gov-records.com and www.People-Records.net , which are identity selling services ; the fact that the charges were done in my name would seem to indicate they were pulling records on me.

Now I'm faced with the absolute retarded insanity of id control in the US. I can't change my Social Security Number. I can't change my Driver's License number. I can't even change my bank account numbers, all I could do is close accounts and open new ones. I'd like to do something preventive but I don't seem to have many options.

The credit card that's compromised is a Chase Visa that's like 3 months old and I've hardly used it. I guess there a million ways to steal credit card numbers but I thought it would be way more likely with a card I've had a long time. It's also ironic that I've just lately put my computer in total lockdown and scrambled all my passwords. Of course that only prevents electronic attacks, this feels like an old fashioned phone and paper attack.

It would be so easy to make credit cards very secure online. You just have to stop using credit card numbers. Instead you run a program on your local machine which generates a temp code that's only active for one charge or one day or whatever. That way the retailers and the various payments processors never get access to your number.

BTW yes I know I can put a fraud alert on my credit reports. This Call for Action group is pretty cool for helping consumers.

12-02-07 - 2

"Border Caf�" aka "Caf� Transit" is a pretty good little movie. It made me think about how liberal Iran is in some ways (allowing a very honest and not entirely favorable portrayal of islamic customs and law), and how our government and media have done such a disservice to everyone by trying to make Iran seem more fundamentalist and oppressive than it is (certainly compared to our good buddies like Saudi Arabia).

12-02-07 - 1

I think maybe I don't actually really like chocolate chip cookies. When I think of making them I get all excited, but I think that's just the Pavlovian response from childhood and rememberances of mommy and all that kind of nonsense. When I actually eat them the first few bites are good, but after that they're just too sweet and insipid and the sugar gives me a headache.

Anyway, Nigella Lawson's recipe is the bomb. She calls for 2 cups of flour. Instead I use 1.5 cups of flour + 1 cup of oatmeal. You barely even notice the oatmeal in the resulting cookie, it just gives it a little more substance. They're pretty amazing the first 5 minutes after they come out of the oven. BTW That's why I think "Specialty's" bakery is the best store-bought cookie I've ever had; the quality of their cookies is not the best in the world, but they're constantly making new ones so you can always get them fresh out of the oven with the chocolate chunks still all melted, which is such a trump factor over all the fancy pantsy bakeries that serve hours-old gourmet garbage.


12-01-07 - 1

Short article on Kyphosis at Performance Menu.


11-30-07 - 1

Hard drives are the new floppy . For $40 you get a thing that fits in a 5.25" floppy bay on your desktop. It's got a door on the front and you just pull 3.5" hard disks in and out. No screwing or turning off your computer or anything, hard disks are literally like floppies. That's kind of rad. this one is even better (physically use a hard disk like a NES cartridge).


11-29-07 - 4

Checker poked me and it made me upload some more junk to Flickr. Bastards took away my "pro" so all the nice high res versions are gone. Lame. Anyway it made me realize I don't have any photos at all of the good stuff in SF. I'm not trying to do a photo journal, my camera is awful and I'm lazy about carrying it, but all the amazing sights I've seen here - the alleys full of graffiti, all the great old houses, the sun "rising" over the Transamerica tower, the TV tower poking through a wall of fog, looking back at the city from the Golden Gate Bridge, etc. etc. - I don't have photos of any of that stuff.

We saw "Into the Wild" yesterday which kind of made me want to go off into the woods alone and die. I know, I bet there will be copycats, and that's lame, but I have always kind of wanted to do that. I've done my own little mini-tramps, but I'm not really cut out for it. Some part of me really wants to just get rid of everything I own and completely get out of society and become a hippie or a tramp or whatever. Actually it was "Man vs Wild" most recently that really made me think of getting out backpacking in the real wild. Before that I always imagined having a little VW Camper bus or something and wandering that way, but I like the idea of the physical challenge of getting by in the woods.

Anyway, I thought of a more realistic option. I think it would be really fun to rent a totally isolated cabin for a month or so. I mean isolated like, not in a community or anything, completely out in the woods, no power, no running water. Presumably there would be a well and propane or maybe even just wood for heat and cooking. I don't think I'd want to live like that for a while, but it would be really fun to rent for a month and play old fashioned "house" for a while. I have no idea how to find something like that though. Not even sure if it would be legal, there are all these laws in the US about minimum functionality of rental properties.

We finally went to "Range" last night; it was something we kind of had to do since it's like 2 blocks from my house and it has a Michelin star. Mmmm it was very good but I don't think I would go back unless some friend really wanted to go. Basically it's normal American/French bistrot type food (braised pork loin, roast chicken, stuff like that), but it is executed really subtly and artfully - the same way that I try to cook at home. Anyway, I don't think it's really possible for basic French/American bistrot food to really impress me any more. It's just so easy for me to make that stuff at home, and there are a lot of advantages to doing it myself. I get all the fun of the cooking process when I do it, and I can drink a whole bottle of wine for less than the price of one glass.

I used to really enjoy dressing up and going to fancy restaurants and acting all sophisticated. It was a chance to prove to girls that I was rich and cultured and could have good manners despite my usual impolity. That entire element is gone for me now. I just feel kind of goofy and out of place, and the way everyone acts to each other and the interaction with the waiters and everything just seems so bizarre. I keep getting the impulse to chuck my plate at a wall and take off my clothes and go running around between the tables hitting everyone on the head.

11-29-07 - 3

Ryan's Blog is videogame related and pretty damn entertaining.

The best thing on Yelp are the Sushi + Japanese restaurant reviews by Toro Eater and Nobu K . Toro is a great reviewer, very analytical and thorough, Nobu is not so accurate but he's a brilliant wild man poet.

Sometimes when going to the movies I think how insane the $10 movie ticket is. Really it's not, in fact it's pretty much just a normal inflation increase from the old $5 tickets when I was a kid, it corresponds to higher rents and costs of power and benefits for employees and so on. The thing that's changed is I can get Netflix for $20 which is just insanely cheap (or get torrents for $0, well not really zero of course cuz of the price of power and the internet bill, but pretty much zero).

11-29-07 - 2

X and Y are vectors, (or a series of numbers). You want to do a regular linear best fit, Y = m * X + b. If we use the notation that <> is the average over the series, then :

m = ( < X * Y > - < Y > * < X > ) / ( < X * X > - < X > * < X > )

b = < Y > - m * < X >;

This is super standard but it's nice and concise which makes it a nice thing to gather. "m" is very almost the "correlation". If we use the formulas

sdev(X) = ( < X * X > - < X > * < X > )

rmse(X) = sqrt( sdev(X) )

then :

correlation = ( < X * Y > - < X > * < Y > ) / ( rmse(X) * rmse(Y) )

Note that if you put the variables in "unbiased form" by subtracting off the average and dividing by the rmse (making it have an average of zero and rmse of 1.0), then the correlation is just < X * Y > , which is the same as the "m" in the linear best fit for unbiased variables.

11-29-07 - 1

The first web server I interacted with was a VMS machine and it had this horrible ";1" ";2" etc. system for automatically keeping backups of everything. Among other things it sucked because I had a tiny disk space limit and the stupid backups would chew up my disk allocation. Now I wish Windoze had a decent auto backup thing. I should be able to set aside X% of my drive for backups, and set extensions that I want backed up, and they should automatically go in the backup dir in an LRU kind of way. Then any file you want you should be able to click and say "give me the backup". I could almost just write an app to do this using disk changed notifications. So much better than having retarded .bak files scattered everywhere. Also the backups could be delta-compressed which means as long as you're only making small changes you could have tons of backups of any given file.


11-28-07 - 1

I realized Creme Anglaise is just like not-frozen ice cream (proper ice cream made from cooked egg yolks, not the frozen cream stuff you get in america; these should really be two different names for frozen custard and frozen cream) - duh, I guess that's obvious but I never really knew what this creamy junk on my restaurant dessert plate was. I made some for the bread pudding the other day but now I'm out of bread pudding so I've just been drinking it in shot glasses. Yum.


11-27-07 - 4

Poker notes

I want to write some poker thoughts before I forget them because I haven't been playing hardly at all in the past 4 months and I'm losing my edge. These are generally overall play frequency and style notes. This is for someone who can already play solid 2+2 TAG poker. If I'm reading this to get back up to speed I need to take it slow and just play good basic poker first; read hands and make the right play and don't force things.

The more randomly an opponent plays, the more you must take risks against them. This goes for both good and bad opponents and doesn't necessarilly affect EV, but it does affect variance. For example, against a really horrible player, you might not really know what they have, you can't read them because they have no idea what they're doing - you just need to go with decent hands that you might not normally play, stuff like top pair for big pots. Similarly for good players with well randomized ranges who can be making a lot of bluffs - you need to repop them a lot and accept the variance or you will get beaten up.

Any time you would never do a certain move with a certain hand, that's a leak and there's a way to exploit it. It might be a tiny leak that's very hard or rare to exploit, but it's still a leak. You can identify these in other people who play standard style. For example, most people will only check-raise the flop with very big hands or bluffs (often with draws, which is kind of a bad play), they never do it with decent made hands like top pair. That's a leak and if you know they have that pattern you can use it.

Good technical play is almost impossible to beat. "Technical" play is about getting your frequencies and ranges right. One technical issue I ran into at higher levels is cbetting too much. At lower levels you can almost cbet 100% of the time. At higher levels you need to check more, and then sometimes check-fold and sometimes check-raise. Also when you do decide to cbet, then you need to have good frequencies on the turn. Again on the turn you want to be value betting some percent, second barrel bluffing sometimes, sometimes check-fold, sometimes check-call to catch bluffs and sometimes check-shove. All those options should have a reasonably balanced frequency. In theory you want to keep balancing ranges on the river, but it's harder to do on each street and I never really got a good balanced frequency of river actions.

Playing too nitty in small pots is a very very very small leak. When in doubt, fold early. Playing too nitty in big pots is bad. In general I want to just give up on the tiny pots but I want to win the big pots. Similarly an opponent who folds too much in small pots is indeed slightly exploitable, but only barely, and you need to be careful not to give up your EV against them when you choose not to fold.

Somebody who plays a lot of hands aggressively from position is very hard to deal with. You may think they're often playing junk and it's a leak and you can exploit it by playing tighter. That is true, but don't kid yourself - their leak is very small, and if you try too hard to get them you can easily spew. You will also have to accept a lot of variance to get after them, reraising a lot preflop and check-raising flops.

Any time somebody's ranges aren't balanced across streets or actions, that's a leak. For example, say you open a lot of hands preflop - that means you need to be willing to bet and bluff with a lot of hands postflop. If not, opponents can easily take you off the hand postflop. A lot of people have this un-spread aggression - they're very active preflop and on the flop, but then get scared on the turn and river, and in particular very rarely make big river bluffs. If you try to bluff raise these guys on the flop they will call, but if you wait to the river, they fold. To be unexploitable, you need to have a balanced activity level on every street. One example that's come up a lot recently is preflop 3-betting - if you are 3-betting a ton preflop, you also need to potentially call a lot of 4-bets or shoves. If you 3-bet a wide range, and then call 4-bets with a tight range, that's a leak.

You never want to make moves that you wouldn't make with very good hands. My goal when playing my tight/solid/aggressive game is to ALWAYS be making moves that I could make with a monster, or just fold. For example, say I just call a raise from the big blind, then I check-call the flop, I check-call the turn, I check the river. NO NO NO. I would never do that with a big hand, so I just won't do that ever. Instead, I will either check-raise the flop or just fold. (this is just an example). You also want to make a wider range of moves with your good hands sometimes, but you don't want to make certain types of plays (leading the betting) with good hands, and other plays (passive) with weak hands. I want my hand to never be defined, I want to always be representing a monster. Any time you do show weakness, it's intentional to induce a bluff or just fold. For example, say I raise preflop, I cbet the flop, now I just check the turn. I'm showing weakness on the turn. I do that on purpose because I'm just going to fold, or to call a bluff on the river.

Your bluffing and value betting should be balanced. Are you thinking of value betting top pair on the river? Do you ever tripple barrel bluff? The more you bluff, the more you can value bet. If you rarely bluff, you shouldn't value bet so thin. If you're playing very nitty, as I sometimes do in wild games, then you need to stop thin value betting so much. On the other hand, if you are bluffing a lot, as I was doing in the high stakes games, then you can go ahead and value bet top-pair-no-kicker (especially if you hit top pair after the flop). For example, you raise AT in position, get called. Flop blanks, you cbet, get called. Turn is a Q, you decide to rep it and bet again, get called. Okay, now you're giving up and won't bet again, but the river is an A. Go ahead and value bet if you would ever bluff.

One of the ways you can make a lot of money is by having an image that is different from how you actually play. Any time your actual range doesn't match your perceived range, that is a value opportunity for you. For me this usually means that people think I steal and bluff way more than I really do. I play a lot of hands from the CO and Button when I can be the first raiser, but that doesn't really equal "looseness". I will bet and tripple barrel when I think people are weak and my line is consistent with a monster, but I'm really not wildly bluffing. But people think you're wilder than you really are. That means they call too much and keep paying you off and that's how you make money. Once in a while you can find people who think you're nittier than you really are - or even that you wouldn't bluff in a certain situation - they think your range is very tight, which means you can profit by opening your range and bluffing more. For example playing against someone who really respects your game you have lots of bluff opportunities, eg. if you are nearly all in and push for $400 into a $1200 pot, they will think you can't be bluffing and will fold a lot of hands.

Related to that, any time that your opponents peg you on a certain style, such as the "typical 2+2 solid TAG style" you can make money by slightly deviating. For example, if the flop is drawy and you bet-3bet shove, they will put you on a combo draw. You can use this knowledge of how they think you play.

If someone is really bad and lets you, you can maximize EV by waiting for later streets. Think of it this way - say your opponent turns his cards face up and you see he has a draw. Why bet the flop when he still has a good chance to improve? Just wait for the river until you know you are winning and then let him bluff. Generally, preflop your edges are very small (eg. if you have AT vs KJ or 88 vs QJ). On the flop, people can easily still have a 30-40% equity with bad hands, on the river if you are ahead you have 100% equity. You can only do this against people who are very bad and let you do this, but if they do let you then you should go ahead and do it because it greatly reduces variance. In general you want to put money in when you get as much value on it as possible.

Design your play to make them define their hand, even if that means losing the pot. eg. if you bet and they raise, but they would only raise with hands that beat you - that was a great outcome. Generally this is done by playing aggressive, especially against people who will only raise with the goods. You bet bet bet and apply pressure and they only continue with good hands, so you know exactly what they have.

People tend to chase way too much preflop and on the flop, they just love to see more cards, which makes it a bit of a bad spot for bluffing. You want to bluff when people can't call, which means bluffing the river, bluff-raising. Dry flops (drawless) are the best to bluff; when you bluff wet flops, people will put you on the draw if they have a made hand, or they might well have the draw and shove it.

Don't make big bluffs that win small pots, make small bluffs that are likely to win big pots. For example, if someone 3bets preflop and you shove, you're risking 100BB to win like 24BB , that's retarded. In some cases you can make very small bluffs into big pots and that's awesome because they don't have to work very often to be +EV. Part of why this works is people are so retarded about pot odds. One thing people don't do correctly is count the bets already put in as part of the pot. For example, the pot is $50, somebody bets $30, someone calls, now you raise to $100. That's not a huge raise cuz there was $110 in the pot, but people think of it as a $100 raise into a $30 bet and they fold, in fact you bet less than pot size which is a good bluff. Another awesome situation is when someone is almost all in, they will often fold because they don't want to reload. In some cases you can bluff the river for like $20 into a $100 pot and they will fold stuff like bottom pair or ace high if they would be all in.

Part of the awesomeness of being aggressive early is that you are always threatening to build a big pot and it lets you make big river bets. The bigger the bets are the more you profit. Maybe you only have a 1% edge in each pot, if you play small pots you never make any money, but if you are always jamming it up you play big pots and you then get to either make a big bet on the river, or check-call a big bluff - generally taking your edge but on a bigger bet, hence more profit. If you're 2nd barreling and even 3rd barreling a lot, you can value bet thinner and start winning some really big pots with only decent hands. Of course you know this with the obvious semibluff hands like a flush draw, but those are actually more obvious. A hand like AK overs is also an awesome hand, because if you spike an A or K on the river you can value bet it and take a big profit.

Against better players you need to jam more when you have an edge or to build pots because they don't pay off as much once they're beat. Against bad players you don't need to do that. With draws against bad players you can just take cheap cards and try to hit. Against good players you need to keep your ranges balanced and always be playing like you have a monster.

If you have good equity but don't know your spot - just jam. This is something I really like but don't see it discussed much. This applies mainly againt good players, or bad players who are hard to read. In the situation that you know you have very good total equity, but you don't know if you're drawing or not - go ahead and jam now. If you know that you are ahead or know that you are drawing, then you can make different decisions, like maybe jamming now or maybe just calling or whatever. Getting all in is protection against not knowing your situation on later streets. Getting all in is also protection against the disadvantage of being out of position on later streets. If you have good equity and are out of position, you want to jam as soon as possible in the hand. In particular I'm talking about spots where your hand might be best or you might be drawing. One example is if you have an ace high flush draw. There's a good chance your ace high might be the best hand, he might have a worse flush draw or just random whatever. If you can't read his action well, just try to get all in. Another would be something like if you have a weak pair + a draw. Maybe you have like 88 and the board is 679 , so you have a pair + straight draw. The wilder your opponent is, especially if you're OOP, the more you just want to get all in and jam it now in these spots because you don't know if you're drawing or not.

In terms of playing profitably at low levels, none of these things are as important as tilt control, focus, game selection, etc. You really need to just stay basic and play solid. "Solid" doesn't necessarilly mean nitty/weak though, it just means stick to basic +EV decisions, mainly playing value because people call and bluff way too much and don't fold enough. That leak is far more important than any other leak.

One of the hardest things for me in practice is getting into the right mental state. You need to be active and engaged and always going after +EV spots - but not too active, not bored, not pushing, you still have to just be patient and see it as a long grind and you need to wait for your spots - but don't let yourself just go into a trance and start playing just by some "rules". It's obvious when you're frustrated and bored and just pushing too much. One of the lazy things you do when you're grinding and sort of turning off your brain is you start thinking about hands in only one way. eg. I have a flush draw, I'll see if I hit, okay I missed I give up. When you're playing right you reevaluate based on each card and each action. It's exhausting really grinding right. The best way for me was to play 1-2 hours then take a break for 1-2 hours, then play another 1-2, etc. Ideally the break is exercise as that really freshens the brain.

11-27-07 - 3

Fucking Christmas presents is going to be a nightmare hanging over my head for the next month. Somebody hit me with a car so I can get crippled and have a good excuse to just disappear for the next 40 days.

11-27-07 - 2

On Ergonomics

I'm going to go over some of the basics which everyone should know, and also some thoughts that perhaps most of the ergonomics guys don't talk about because they aren't computer users, and some things I've learned through my shoulder injury.

Constant sitting and computer use is one of the most destructive things you can do to the body. Not only do you put the appendages in tightened positions, which can pinch nerves and cut off blood flow, you often place big pressure on the spine which can cause the vertebrae to shift, and the hours and hours of sitting with no activity cause the tendons to shorten and the muscles to atrophy. It's the atrophy of stabilizer mucles which may be the most harmful, because it means you cannot support yourself with your muscles and hold good posture, and instead you rely on your skeleton to support you, which leads to all the other injuries. It also means that any time you do something athletic you're not bearing the forces with your muscles, which leads to more injuries. People who sit do damage to their knees, hips, back, neck, shoulders, elbows and wrists !! (only your ankles are safe)

Let me start with the summary : it's good to know the basic "ergonomic" ways to sit (and good to have a bunch of different options), but that is only the first small part of the battle. The real solution is to get out of an inactive, sitting, hunched-forward, atrophied- muscle life. You need to do exercises to correct the bad habits and posture of computer users. You need to sit "actively" using your muscles and moving around. You need to change positions constantly, take breaks, stretch and rest. If all you do is sit and use computers, your body will be wrecked regardless of how well you sit.

First some review of the standard advice. Everybody by now should know the "90 degree position". Feet are on the ground, knees bent 90 degrees, sitting on your "sit bones", hips at 90 degrees, neck straight up, shoulders back, humerus straight down, forearms level. Okay, this is the "90 degree position" which is commonly advocated, but it's only sort of okay.

Basic sitting style : You want to sit on your "sit bones", not your butt. You can feel the two hard bones around the base of your butt where it meets your legs. To sit up on them, lean forward slightly and engage the ab muscles to hold your body erect. It may help to imagine that someone is holding your skull and pulling you upward by the head. Puff out your chest, engage the ab and back muscles slightly in neutral position. This is easiest to practice on a firm bench like a piano bench. Your spine should be in a slight "S", going inwards in the low back and outwards in the upper back. Okay, now you know this. You actually want a chair with a back when sitting so that it helps you keep this posture, but you need to imagine that you're sitting up with your muscles, and the chair back should provide uniform pressure across your whole back to just help you. Anyway, this is also bad.

The problem with both of these is that it's just too hard to hold them for any length of time. If you're going to be coding 8+ hours a day, you will not be able to hold these positions with your muscles and you will begin to let your weight rest on your bones and cartilege instead. These positions are very very hard on the body if not supported by muscle. BTW the very best thing you can do for your postural health is to get stronger muscles, you need a very strong abs & back and shoulders to be able to sit all day. Ironic, I know.

The head should be up and "back" and not looking down. I say "back" in quotes because really it should be a neutral position, but just about everyone has it forward, so you need to push it back from what you have be doing. The bones of the neck are in a neutral position roughly straight up when you're sitting right or perhaps very slightly angled forward. Your monitor needs to be high enough that you can look pretty much straight ahead. The ideal spot is roughly where if you look straight ahead that's about 1/4 of the way down the screen (pretty much no monitor is tall enough on its own, you have to put something under it). While I'm talking about monitors - the common dual screen setup that coders use is very bad. You should not be turning your head to either side for any signficant length of time. If you need to look to the side, you should turn your whole body. It's much better to have one large monitor than two. If you do have one large monitor, make sure your windows are centered, not left-justified, as that would cause you to be looking slightly left all the time. Bad neck position squeezes the discs in the spinal cord around the neck and shoulders, which can impinge the nerves coming out of the spine and going to the shoulders and arms. This can cause weakness, muscle spasm, numbness, constant muscle tightness, and pain. Once you get vertebra damage, it's basically impossible to fix by any means. Seriously, don't get it. Your head should be far enough from the monitor that you don't have to look very far in any direction to see the whole thing.

Shoulders should be back and down. Again, this is just the neutral position, but so many computer users are hunched forward that you really need to focus on getting the shoulders back. It's basically impossible to have them back too far, so go ahead and hold them back as much as possible. You should be retracting using the scapula muscles in the mid back (rhomboids), not hunching the shoulders up with the trapezius. The same goes roughly with getting them down - it's pretty impossible to hold them down too far for any length of time, and lots of people have them constantly hunched up, so just try to keep the shoulders down as much as possible. Note that arm rests on chairs usually get in the way of this, so you want a chair with no arm rests or removeable arm rests which you can take off. When reaching for anything - the keyboard, the mouse, etc. - the shoulders need to stay back, don't reach out with the shoulder. Basically this means that anything you reach for regularly should be within forearm distance of your torso. Elbows should be close to your ribs at all times. One way to be aware of the right position is to pay attention to how your scapulae feel against your chair-back. You should feel the flat surfaces of your scapulae flush against the chair back (when you lean back) - not the points of your scapula sticking into the chair.

Forearms should be roughly level, and wrists should be level or slightly down, and relaxed. In particular, the arm should be supported from the shoulder, not by resting the weight of the arm on the hand. Many people use these wrist pad things. Those are certainly better than resting your wrist on a hard surface, but they encourage a very bad habit of resting the arm weight on the pads. Split keyboards are nice, but the MS ones are awfully thick, which means your desk surface needs to be really low to avoid having the key surface too high. Usually this means that the desk needs to be as low as possible such that you can still get your legs under it. You should not be able to cross your legs under your desk.

The head forward shoulders hunched posture of the typical computer uses is called "kyphosis", which is a forward rounding of the upper spine. It's bad for the vertebrae as well as the function of the scapula, the shoulder muscles, and the load bearing function of the core. These disfunctions make simple activities like holding a weight over your head very dangerous. One way to feel if you're in danger is to run your hand over the back of your neck. You can feel the vertebrae. Feel near the level of the shoulders, the vertebra here is C7 and it will be a pronounced protuberance if you've had your neck too far forward for a long time. (BTW another contributor to Kyphosis is the modern obsession with pecs & abs; even people who do work out will often overtrain the front of the body leading to constant hunching forward).

Typical computer users are in a severe state of muscle atrophy. It may feel very straining just to sit up without back support, such as when sitting on a physio ball. Similarly it may feel very difficult on the upper back to hold the shoulders back. Neither of these should be difficult for someone with even a basic level of body function. An immediate course of physical therapy and stretching is warranted to correct these problems. I'm not going to go into a ton of detail right here about the best exercises and stretches, but they can be done as often as every day, and a full course would take about an hour a day. Exercises should start pretty light and involve isometric holds with each repetition, using high-rep sets, something like a 3x10 pattern. Once some function and stability and posture is acheived the exercises can be done in the more typical hyptertrophy range of higher intensity.

On equipment : buyers should procure chairs that are highly adjustable. If you can find a chair that perfectly fits your body in a 90-degree sitting position, that's fine, but for office managers you need chairs that can be adjusted to any employee. That means height adjustment, removeable arm rests, back tilt (back tilt should not tilt the seat), and adjustable lumbar support (preferrably in depth as well as position). Desks should also be height adjustable. The height of the mousing surface needs to be about 1 inch above the users waist in a 90 degree sitting position. Note that this also requires that the desk top should be very thin, and there should be no support bars under the desk top where the users knees will go. Height adjustable keyboard and mouse trays are one option, but in that case the desk top needs to be very high, and most cheap trays are really flimsy and horrible to use. Height adjustable thin-top desks are quite cheap and all office managers should procure them. The exact keyboard and mouse that a user wants is not really a big deal, they can use what they like. What is important is that they can put their hands in position on those devices while keeping the back and shoulders neutral. That can be hard to arrange, though it's easier with a track ball or a chair-mounted mouse tray.

Okay, this is a good start, but this will still wreck your body. For one thing, as mentioned before, it's just too hard to hold this position for a long time. But even aside from that it's bad. Your hips are not made to be bent 90 degrees like that for long periods, they need to be straight. The combination of hips bending and knees bent leads to severe hamstring shortening and hip tightness which is very bad and dangerous for athletic performance. A similar thing happens in the shoulders - having them down and immobile all the time leads to atrophy of the shoulder girdle. Something that most people aren't aware of is that the shoulder is not a ball and socket joint. Rather, the head of the shoulder is simply held to the glenohumeral joint through muscles and tendons. It's like it's just strapped on there with soft tissue, and when that soft tissue atrophies, you're at increased risk of dislocation, as well as soft tissue injuries like rotator cuff tears, "slap" injuries and seperations. Shortened and immobile joints also lead to nerve shortening and loss of blood flow. This "90 degree sitting position" that we've advocates is almost a fetal position with all your joints curled up and shortened and it's just horrible for you.

So, what's better? Well, not much. One common alternative that's advocated is a "kneeling chair" (sometimes called an "ergonomic chair"). These things provide pretty much no benefit, but could be used as part of position cycling (see later). Another device I have used is sitting on a "physio ball" (big blow up balls). Make sure you get a ball the right size and blow it up so you can be in a 90 degree position. This is a useful training tool to help your sitting posture, because it engages the muscles and makes you aware of posture, but you should not sit on it for more than 30 minutes or so at a time as it's very fatiguing. A simple bench or stool at the right height can serve the same purpose.

The real best thing you can do is two part : position cycling and taking breaks. You need to take a 5 minute break at least once an hour. I know this is really hard to do, but there's no substitute for it. The break should involve some simple stretching and active mobility work. Position cycling means not sitting in the same way for long, ideally using as many different positions as possible. One option would be to change positions every hour when you take your break. A better option is to just be changing positions and stretching constantly. Any time you start up a program and it's taking a second, stand up! When you compile, stretch your arms out to your sides, then up over your head. When resting or waiting for something, don't just sit there - move around. There are various free & not free programs to help force you to take a break. These can be very useful to get you in the habit because most of us won't take enough breaks if left to our own devices.

Basically you need to stop resting on your skeleton and ligaments all the time, and start using your muscles. But you don't just want to lock up your muscles and try to hold the "90 degree" position. You want to stay as relaxed and mobile as possible. You want to keep the body moving in natural ways and stretch and let the muscles move around and contract and relax. There's also really no substitute for getting plenty of exercise outside of work. If all you do is sit at a desk and then sit at home your body is going to be wrecked no matter how "well" you sit.

BTW I haven't mentioned the most imporant thing, which is using a computer less, because I presume it's basically not possible. One thing you should work on is getting away from the computer when you don't need to be at it.

As for position cycling, some of the useful positions : 1. regular 90 degree sitting, 2. sitting on a ball or a pogo-stick chair where you're "actively sitting", 3. reclining in a normal desk chair; this is actually a very good position, but you have to be careful. Recline from the hips with a straight back, not a slouch in the low back. Make sure you can still reach your keyboard and mouse near your lap, not reaching up or straining the shoulders. You may also need to be able to elevate the monitor to make it high enough that your neck can be neutral, not tilted forward relative to your torso. 4. standing up. Standing up is one of the very best work positions you can have. You will need to elevate your keyboard and monitor a lot, so you probably need a "sit to stand" desk, which is one of the best pieces of ergonomic equipment you can get.

Having no desk surface at all and having a wireless keyboard in your lap is an interesting option. The standard keyboard with numpad presents a lot of problems for mouse placement. Putting the mouse off the right side makes it too big of a reach. If you have a corner desk, the mouse can be in front of the numpad. Alternatively the mouse could be on a tray or on the chair, or it could be a trackball.

Frequent use of laptops is just horrifically bad. They do just about everything wrong to your body and really actively promote the hunched kyphotic posture. It's highly discouraged.

Let me sum up and emphasize that the solution is not any particular "ergonomic position" or any piece of equipment you can buy. It's a lifestyle. It's a mentality of listening to your body and putting your body before your work. It's about being mentally aware of how your body feels and keeping your "mind in your muscles" - feeling your abs and scapular adductors holding you erect, not just resting on your frame. It's about stretching and exercising and resting every single day. You need to start listening to your body. If you really listen, your body will tell you when you do bad things to it - it's just that you're so used to abusing it constantly that you automatically ignore it.

BTW if you want to do exercises that will be beneficial, some of the things you should focus on are strengthening the back, fighting kyphosis, strengthening the shoulders, in particular the posterior shoulder girdle such as the scapular retractors and the rotator cuff, hip mobility and hamstrength stretching movements, and in general extension and pulling movements. Rowing is actually a superb all-around full body anti-computer-use movement which does most of these things.

It may be impossible for someone who's chronically heavily using computers to really fix their neuromuscular patterns. One suggestion that might help is the next time you take a week or two vacation, try to really exercise and stretch and treat your body well during that time (do lots of swimming and rowing and yoga and good active mobility and extension work). Now when you return to work be aware of how healthy your body feels. When you sit down, keep that feeling. If the work starts to make that feeling go away - fix your work pattern.

Another addendum : if your workstation is not set up well, it doesn't matter how much good work you do away from work. It's valuable to know body-friendly positioning and desk setup, even though that is not the "solution". Basically sitting at your desk is wrecking you, and movement and strength is restoring you. If your desk has too much wrecking power, you can't beat it. You want your workstation set up to be as non-damaging as possible. It will *always* be damaging, no matter what kind of active sitting you do, but it's important to minimize how bad it is, as well as minimizing your time spent sitting.


old rants