Old Rants 4


The older rants are semi-regularly moved off this page. You can always read the old rants here (or here or here ) if you're a masochist. You can see some of my photos at Flickr .


11-25-07

So Youtube is totally broken if you tell Firefox to not save passwords. If you try to upload a video normally, you fill out the description and hit upload, then it says "enter your password" but it's a confirmation email screen. Okay, so you enter your password, it sends the confirmation email. You click the confirmation email and it takes you to a page that says "email confirmed". Now when you hit upload again you go back to the description page and repeat this cycle endlessly.

I have found a way to get videos uploaded though. This seems to be the best process : log in, and go to My Account and click on My Videos. This will trigger a "confirm password" screen. Do that and click the confirmation link in the email. Okay, now do NOT click Upload. Instead click My Account again, click My Videos, and click "Upload a video" from there. You should be able to proceed now.

WTF.


11-25-07

If you like hiking and enjoy nature, do NOT read "A Walk in the Woods". If you enjoy condescending jabs at the South and Americana interspersed with random statistics and historical trivia, you will love it.


11-25-07

So, I used to have a Persimmon tree at Alrita and hardly knew what to do with them. It turns out I had an "astringent" tree. I don't know the exact type. Persimmons come in two very different familes, the astringent and non-astringent. Astringent are ripe when they're super soft. If you catch them at just the right moment they can be a sort of pleasant jello-like sweet gel jelly gel gel. One day later and they start getting really liquidy and gross. I guess they might make good jam but the only thing I ever liked with them was bread, persimmon bread is kind of like banana bread or pumpkin bread, it's quite tasty. Anyway, the other type is "non-astringent" which you can eat while still crunchy. They're only slightly sweet and I've come to like them quite a bit with just a bit of fleur de sel. Many people here refer to the two types as "Hachiya" and "Fuyu" because those are the varieties that we typically see; Hachiya is just a variety of astringent persimmon while Fuyu is a variety of non-astringent persimmon.

I took this picture at market today :
image
Fuyu persimmons to the lower left, Hachiya to the upper right

I have leftover Panettone so I'm going to try making a Panettone-Persimmon bread pudding tonight.


11-24-07

8 oz Dark meat turkey = 425 Calories, 36% from fat
8 oz White meat turkey = 357 Calories, 20% from fat

That is in fact a noticeable difference and if your diet is *extremely* clean it might be significant to you, but for the average person another 50 Calories of fat is a drop in the bucket. The NYT did a similar comparison but based on 1 oz servings which is totally retarded, it's similar to what "Pam" does in order to claim to be "fat free". The amount of fat is so small it rounds down to nothing.

8 oz Dark meat turkey has 16g of fat. The minimum you should eat per day is around 25g. My goal is to eat 60-80g of fat per day. BTW the proper serving size for someone who's not bulking is 3-4 oz.


11-24-07

One thing I've learned living in the city is that city people really are way way better than country people. The population of San Francisco is like the cream of the US (and similarly for New York, less so for Boston, Austin, etc. etc.). There are so many gorgeous people, and they're intelligent, musicians, artists, cooks, the food is unbelievable, the people are aware of politics, cultured, they're up on current fashion, news, etc. It's a real shock when you go back to the country or the "heartland" and you see what a fucking backwards cesspool most of America is. The people are ugly, fat, uneducated, they speak poorly, they're woefully out of touch with the news and culture and fashion, their taste is just laughable, the food and decor that they like is just so disgusting and tacky. It's really not a question of needing to be "balanced" or remove the bias against the country; the best people of the country leave and come to the city, what's left are the people who couldn't make it for whatever reason, either lack of ability or lack of gumption. (obviously there are tons of exceptions, we're just talking about the general trend here). This doesn't apply so much for the people born and raised in cities, who you can tell by their dingy clothes and lack of eagerness, it goes for the huge amount of newcomers.

Another thing I've learned is that city people have way more sex. I think San Francisco is probably even well above average in the US in this regard, but it's just a sexual playground. People move here and go nuts. Not only is there the anonimity of numbers, there's a straightforwardness about it, people are too busy to mess around with dating, they go straight for the kink. In SF there's the added idea that anything goes, there are tons of membership sex clubs here. So many people move here for an "adventure" and the most adventurous thing they can think of is having a threesome.


11-20-07

Hitman movie continues a long line of "why the fuck did they decide to make a movie out of this videogame?" ; it has no story, no characters, absolutely nothing that suggests it would make an interesting movie. Plus there have been a billion other hitman-based movies already that are all better. I mean the only thing worse would be a Doom movie or a Dungeon Siege movie or a Mario Brothers movie, AMIRITE ?

Anyway, this reviewer pissed me off :

Ultimately Hitman is about bullets, blood, and bombs. For die-hard fans of the videogame, there is much to relish in terms of cobblestone car chases, punishing fistfights, cool weaponry, impossible physical feats, and ear-popping gun battles that rage through exclusive hotels in exotic locations.

Yeah, we like videogames with lots of action, therefore we will like movies that have nothing but action. Nevermind the fact that you aren't actually doing those things when you watch a movie, which takes away the whole fun and immersion of the violence. Maybe they should make a movie based on Unreal Tournament. All they have to do is put in tons of shooting and respawning and it will be a favorite of video game fans! Or they could make a movie about Chess and just show nothing but pieces moving around the board. I mean, people who play chess just see the pieces moving, who needs stories or characters in the movie!? If you have no clue WTF you are talking about then just shut the fuck up.


11-20-07

I've got horrible code writers block. I've been trying to make myself finish this certain project for the last like 6 months. Days like today I make myself sit down and I open VC, and I browse around a few different cpp files, make some notes about what I should do next ... and then I just can't get going. Maybe I write a function header and then I decide that's not really the right way to go. Sometimes I'll pick some little stupid peripheral thing, like working on my Timer class or something that doesn't advance me towards completion at all. It feels horrible.

To make it worse I didn't sleep at all last night, as has been happening often lately. I went to bed around 12. At 1:30 some people coming home from the bars walked by outside, some guy was on his cell phone. At 2:30 Dan came to bed (she falls asleep on the couch a lot). At 4:00 someone in the building went in and out; I think they were going to catch a plane, I heard roller wheels like luggage. At 5:30 the garbage truck came down the street, which has horrible loud beeping on top of the loud sound of the arm lifting garbage cans. At 8:00 Dan started getting ready to go to work and I realized my chances to get a little sleep were all past.


11-19-07

Some different Thanksgiving suggestions :

Plain roast pumpkin is really delicious. Scoop out all the pulp, cut into moons, rub some olive oil on, salt & pepper, and roast in the oven for 30 minutes or so, just like a butternut squash or something. Finish with a pat of butter and maybe a drizzle of honey or a tiny dash of nutmeg. Roast beets and roast brussel sprouts are also easy to do in a similar way and go great with thanksgiving.

Grilled polenta is a really convenient thing because you can make the polenta the day before and just grill it at the last minute. I recommend using a spring-form pan to cool the polenta in, it makes it really easy to pop it out and cut nice perfect wedges to grill. Coat very thinly with OO before grilling. Use a vegetable peeler to cut flakes of parmesan to top each wedge.

Make a cranberry gastrique instead of regular cranberry sauce. Combine 1 cup sugar, 1 cup cranberries, 1 cup red wide vinegar + 1 cup red wine. Boil then reduce to a simmer for 20 minutes. Mash the cranberries. If it's not thickening enough you could add a cornstarch slurry. Of course you can add whatever other flavor elements you want; some standard would be a bit of orange rind or some ginger. If you want it chunky you can serve just like that, or you can blend some of it or all of it. You can also strain through a mesh strainer if you want it really smooth. It should be bubbling and syrupy when you take it off the heat and it will thicken more as it cools. Oh you can also finish with butter if you like.


11-19-07

Ben Stein has always been an opportunistic scum bag; he's sold himself and repeated his Bueller character in horrible commercials, of course he's an arch-Republican and his New York Times articles are very juvenile-Republican-Ayn-Rand-myopic intellectualism. Anyway, the new "Alaska Seafood" commercials make me sick. They don't say "seafood is great, eat some" they say "the oceans are full of fish, eat all you want, there's a lot more out there". It's such disgusting lie, just thumbing a nose at reason, and winning since they're on TV and logic isn't. The reality is that the oceans are being destroyed by overfishing and line dragging. We don't see it because we don't live in the ocean, but the affects of man are near catastrophe. As our human population continues to skyrocket, the fish population is plummeting. Already many species are in desperate conditions, and worst of all very little is being done about it world wide. This kind of advertising is just so irresponsible it makes me want to boycott Alaska seafood. This page is a little old but very thorough.


11-18-07

Simpsons today made a "black guys have big dicks" joke; wow, it just blew me away when I saw it; that's a 90's-comedian level of comedy, I expect that stuff on "Premium Blend" but Simpsons mostly doesn't go into that ridiculous cliche cheap territory. It's been a steady downhill since about 1999 and this was one of the major milestones to me on the road to comedy garbage. As much as I hate to admit it, the Simpsons is hardly even watchable any more; it just barely makes the TiVo list mainly on the merit of the fact that there's nothing to replace it, but if the Sunday night football game was ever any good I would watch that instead.


11-18-07

We're losing all the people with really weird cool looking faces. Everyone is getting too healthy. You know how everyone in Sweden just looks clean and has good posture and a healthy glow? How boring! If you look at like old photographs, especially of peasants, there are all these people with bizarre facial features (aka "character"), which I guess comes from malnutrition and disease and such, and that's going away.


11-18-07

I really really just don't get people who dress weird every day. I mean, I get doing it once in a while, it makes you feel weird and you get reactions from people and all that. But, like on a daily basis, just going to your job. Like a guy who wears bow ties. Or someone with bizarro facial hair like Jared Diamond (a "chin curtain"). Or the hipsters around here who go really bizarrely allout with the style. I just can't imagine what's going through their head when they get dressed and all day long as they go around town and get stared at, and people like me give them "what the fuck is wrong with you" looks. I mean I just can't explain it other than they must be partially retarded in certain brain pathways.

BTW it's much easier to understand with something like the 80's extreme punk culture, where the elaborate costume is partially a form of protest, but also a way of peacocking to other punks to show your coolness.

I also don't get people who can actually write serious programs in less than a day. I hear people say "I wrote a jpeg library in about a day" or "I wrote this seam carver in about a day". WTF? Really? I can only assume they're either lying or they're super geniuses. Even back in my youth when I was crazy fast it always took me a week or so to write anything serious. Maybe I'd getting working in a day but it would be totally buggy and nonfunctional, then after 3 days I'd realize I did it wrong and start over, and finally rest on the 7th day.


11-18-07

God "Beowulf" looks so awful. The CG is just disgusting looking, something about that super fake bad animation just hurts my eyes, and I HATE HATE HATE the CG stages with real actors on them and the stupid drop shadows and full-screen flickers and all those other lame tricks they do to try to merge the chromakey. These kinds of movies will not age well. Hey, I want to make my characters look like cardboard cutouts oddly stuck into an oversaturated unmatching background! Oh, then animate these stunt moves instead of getting standins, and I want the moves to look as jerky and unhuman as possible. Great idea! How avant garde!

On a semi-related note, we saw "Mirrormask" recently which is the same sort of horrible super-fake-looking CG, but it's way way better. For one thing, the designs are not supposed to be realistic, the characters are in a dream world and the designs are all the wild stylized Dave McKean stuff, which is what makes the movie worth seeing. I found the story and acting to be pretty juvenile, but Dan thought it was an accurate depiction of the struggles of a teenage girl. The backgrounds are totally flat and the characters look like they're standing on a page - you have to sort of pretend that's what's happening, it's almost like they stepped onto a comic book and are standing on the pages. Okay, it's still bad bad bad but it's not as bad as something like "Beowulf".

Zemeckis I guess likes to work with technology; he did Polar Express and Roger Rabbit, but if you look at his oeuvre it's evident that's he the master of semi-pleasing unremarkable pop fluff. Most of his movies are sort of enjoyable, but not at all risky, have no emotional connection other than cheezy sentimentality and don't say anything about anything. I didn't like Forrest Gump at all, so I guess "Back to the Future" is his best movie, which was quite enjoyable, but you could go back in time and prevent it from being made and there would be absolutely no bad consequences.

BTW I noticed the credits for Mirrormask actually credit each of the technical artists specifically and even says what each one did. I don't think I've ever seen that on any other major CG movie, it shows a lot of respect for the artists.


11-18-07

XBLA game ideas :

Mafia/Werewolf game that everyone loves right now. The code for this is so trivial, it's almost totally played just over voice comm. But it would be cool to have the xbox faccilitate the rounds and the day/night and randomly assigns everyone's secret identities, does the voting, lets the seer act, lets the werewolves talk at night and just turns their mics on, etc.

Army vs. Terrorists game. Team "shooter" trying to capture the dynamic of Iraq. One side is a squad of like 4-8 guys that's like the US Army - they have totally superior weaponry, night vision, money, whatever they want. The other side are the terrorists and they have a specific mission to accomplish, the Army side doesn't know what the mission is. It's always played on the same decent sized map, but the mission is random, it might be blow up a mosque, or assassinate a diplomat, etc. there are various sites around the map. The terrorists big advantage is they look just like the civilians and there are tons of civilians wandering the map. So the army guys basically have to wander around the map looking for suspicious behavior, maybe they can also leave decoy targets or decoy munitions to try to lure the terrorists; once they actually figure out who the terrorists are or what their target is, it's pretty easy for the army guys to take them out. Somebody must've done this already but I've never really heard of this dynamic existing in game, it seems like most people who do Army vs. Terrorists just make standard shooters with different graphics.


11-17-07

"The Tree of Wooden Clogs" by Ermanno Olmi is a beautiful, slow, sad pastoral movie. It's a three hour long, and the plot and character development is very thin; it's really just a picture of life. Most of the scenes serve no narrative purpose, they just portray the lives of the Italian peasants working, praying, struggling, loving. It is a little overly sentimental, but we can forgive that.

I really liked "Il Posto" too. (not "Il Postino"). It's of a similar style, like an eye on life, but it's contemporary with when it was made which makes it rather more realistic; it's the better movie of the two I suppose, but the depiction of the dehumanization of modern society is a little painfully close to home. It's much more fun to watch peasants in the countryside and pretend it would be a lovely way to live despite the crushing poverty and hard work.


11-17-07

It's really a tragedy that Hugo Chavez is such a nutter. Not only is he bad for Venezuela, he's bad for populism across the world. Countries will see the havoc he's causing and choose to not elect populist leaders and instead stick to the IMF/WTO/US slavery model. To a lesser extent Evo Morales also appears to be a bit of an extremist nutter. I think it's a great and long-needed more for the masses of poor in central and south america to reclaim control of their countries. The wealth inequality all across the Americas is disgusting, and just about every country is plagued by these semi-state-endorsed private monopolies. The IMF/WTO/US model does absolutely nothing to help these people because it they work with the "capitalist" system that's already in place which is completely corrupt and provides no opportunities for the poor.

Unfortunately, the dictatorship of Chavez will be held up as an example of failed populism (it's not) which will help the causes of all those in the US who are against real change in the Americas. Just as an example, he's being used as an argument that "nationalizing oil is bad". That's totally retarded, nationalized oil profits make perfect sense, and just about every single country in the world with oil does it (the US is one of the very few exceptions - our government gets relatively $0 from oil under our soil, and in fact the very small amounts that we take from oil companies often go unpaid as found by the GAO). Many companies have nationalized oil companies and run them just fine; others have private oil companies but take some large chunk of their profits which also works fine.


11-17-07

Link day :

Grafica Obscura old SGI graphics articles by Paul Haeberli ; some really neat fun stuff here.

Paul Phillips Blog is just kind of scary cuz the guy is a bit too much like me. At OW when the poker boom hit we all sort of hated Paul as a TV character cuz he was such a Silicon Valley stereotype; he got lucky and cashed out and became a maverick with colored hair and sort of geeky personality. I'm definitely just jealous.

I found this Ask a Scientist thing. Wow, I was so excited, it looks so promising! Then I read some of the physics ones (which I have some expertise in) and found the answers to be both condescending and uninformed. In fact their big thing about Google on the main page is really hillarious and a good example of all the content.

This page on Tone Mapping is okay and has a decent references section.

Lost in the Static is an interesting experimental game. My eyes can't handle it, but I like the idea.

Also, browsing to a web site and having it play audio is fucking completely unacceptable. To stop it, 1. get flashblock . 2. put this in userContent.css :

/* block embedded sounds */
object[data*=".mid"],embed[src*=".mid"] { display: none !important; }
object[data*=".mp2"],embed[src*=".mp2"] { display: none !important; }
object[data*=".mp3"],embed[src*=".mp3"] { display: none !important; }
object[data*=".mp4"],embed[src*=".mp4"] { display: none !important; }
object[data*=".wav"],embed[src*=".wav"] { display: none !important; }
object[data*=".wma"],embed[src*=".wma"] { display: none !important; }
I guess .ogg should be in there too.


11-16-07

I really don't enjoy wine tasting. I used to make myself do it and try to enjoy it around San Luis because it's supposed to be "fun". I just don't get it. I do really enjoy tasting different wines, but I really don't like some salesperson staring at me the whole time telling me a bunch of nonsense tasting notes, and then the implied obligation of buying a bottle even though they're generally outrageous, and all the other people in there tasting and trying to act like they know the first thing about wine, or even if they do know a lot about wine that's often even more insufferable to be around.

Some of the tasting rooms are legitimately nice, but I prefer the tiny shack on a hill in the middle of a real vineyard over these ridiculous Disneyland like constructions with fake stones and waterfalls and all that nonsense. At Wolff in SLO you could taste outside on the terrace on the hilltop over the vineyards which is pretty ideal. Outside (nature) = good; inside (man made) = crap.

Personally I have much more fun buying a wide selection of $4.99 wines from Trader Joe's and carrying them all out in the woods, drinking them all and jumping in a river.

For comparison, test driving sports cars is really fun, so is going to high end audio shops and listening to their gear; both of those would make excellent weekend activities except for the fact that you have these horrible salespeople with you the whole time who are totally condescending and pushy.


11-16-07

I put up floatdd in the exe section. It's the little float gamma+exposure test I was talking about yesterday. I put some new funny rational exposure functions in that I think are pretty neat. It's purty, it's pointless, whatever it was fun. The general form of rational exposure is :

x * ( a + b * x ) / ( 1 + c * x + d * x * x )

As x -> 0 , this is (a * x) ,
As x -> inf , this is b/d , then you have some other parameters to play with shape.

(a) of something like 6 to 16 makes sense. The slope of sqrt or other gamma functions goes to inf at x = 0, but if you look at the actual slope of a discrete 1/255 step it's just very steep.

(b/d) of 1.0 to 1.5 is best. At 1.0 you never get white until infinite intensity which is not ideal (you can see that in the basic rational exposure modes of floatdd). Something above 1.0 means you hit white somewhere sooner (you can work out for what x exactly you hit white and formulate it that way if you want). Hitting white somewhere around x = 3 or 4 feels good to me.


11-16-07

You know, the one instruction we've never gotten that would be really rad is the ability to zero big chunks of memory quickly. I'm pretty sure RAM chips could be made with a special command to make a whole 4k page zero. If nothing else you would eliminate a ton of bus traffic and CPU time.

Here's some funny stuff about Kernel page zeroing and COW that sort of does something like this, but is not ideal.


11-16-07

I've mentioned before that our system of taxes is badly broken. Roughly our system now (if we ignore Bush's temporary destruction) is a progressive income tax with lots of little regressive taxes and deductions and tons of exceptions.

Many of the deductions are designed to motivate certain good behaviors, but I believe that doesn't really work. Rather they just motivate people to find ways to save on their taxes and don't actually lead to good behavior. This is because they're too specific which leads to "I can do this to save on taxes" rather than "I need to behave differently to save on taxes".

A classic example of this is the hybrid car deductions (or solar panel deductions, or energy efficient appliance deductions, etc.).

The problem with these deductions is they are sort of one time things that allow rich people who can afford them to do something and get some bonus money. While it does have a certain small positive effect, it's not nearly the effect you could get through actually motivating people to do the right thing.

So people with hybrids get deductions, but people who carpool get nothing. Same with people who just don't buy a car and use public transit or bicycle. People who choose to live closer to work get nothing. And people who own 3 SUV's and also a hybrid get the deduction. Clearly the money is not reflective of benefits to emissions at all, and conceptually knowing that the hybrid deduction is out there is not a thought in people's heads which affects their day to day behavior. (it may affect their car buying choice, which is the small positive effect, but it doesn't encourage them to not buy a car at all, and it has this bizarre nonlinearity)

The best way to do that is through the capitalist system, where people can look at prices and make decisions. The problem is that prices do not reflect the true cost of things, and the government should logically step in to remedy that.

In the case of emissions, you have the ideal method - gas tax. Not only is this the ideal motivator, it's only a fair reflection. Gas taxes should pay for all the highways, bridges, vehicle testing, oil pipelines, foreign expenditures for oil, as well as the estimated long term future cost of cleanup due to emissions and other waste. This lets people see the true price and make a logical decision. The republicans weill say "but the taxes!" , well of course you can lower the income tax by the same amount that you take in, so there's no total change. The question of how much total tax you should take in is separate from the question of from where you get it. Anyway, regardless of the fairness of the charge on the gas tax, it's the best way to motivate conservation.

It's hard to think of any deductions in the tax system which are actually beneficial to the country and wouldn't be better served as fair usage taxes in a more capitalist pricing model.

You get the same thing on bigger scales with corporate tax breaks. Rather than motivate good behavior, they generally just provide loopholes and pork (free money) for specific companies that figure out how to capitalize on them. You would get much better results from using a market-based charge system. The goal should be to motivate companies to do the right thing on their own, economic benefit should correspond with national benefit. If for some reason they can't, they should be able to choose not to and just pay the price if that makes more sense. That price should be set high enough that the populace is willing to accept that payment in exchange for their bad behavior. If you think about that way, that price should be very high. How much money should a company pay to cut down a forest or blow up a mountain, or destroy habit? Every company that uses electricity is playing a small part of that.

Other obvious cases I've mentioned before are the fees charged to mining and drilling and logging companies which are not close to covering their actions & not close to motivating conservation. Another obvious one is the cost of water. Not only is water ridiculously subsidized across most of the US such that the cost of water doesn't pay for the infrastructure that delivers it - it should not only cover that but also be expensive enough to balance the environmental damage due to using that water and motivate conservation.

I don't mean to use Europe as an example of a place that gets it right because they certainly screw plenty of things up, but you can see the difference in behavior of everyone when prices are motivating. In many countries in Europe not only is gas very expensive, but so is power and water, and everyone just gets in the habit of conserving - people turn off lights when they leave a room, they wash dishes with the minimum of water, they reduce driving as much as possible - it just becomes part of your daily living, which the US system of tax breaks doesn't accomplish.

Of course this is likely to never change in the US because "tax break" sounds good while "gas tax" sounds bad, even if you adjust the overall rates so that the total tax taken is reduced, you'll get destroyed on the soundbite news programs.


11-15-07

I'm so far out of knowing what's up with hardware (I didn't even know AMD bought ATI's card business). Anyway, this got me excited -

The flash ("SSD") hard drives coming out now are very exciting; they seem a tiny bit too early to jump on just yet, but in a year or so they should be big and fast (64 mb is common now and bigger is available but the prices are still insane). Better read speed is sort of meh, but the super fast seeks are awesome (of course using all this hard drive terminology is kind of silly, there isn't really a seek). Best of all is the silence. Ah the sweet silence, and lack of spin-up and spin-down sounds and delays. Also the reliability is pretty appealing to me. Dealing with hard drive crashes is not fun. Oh yeah and they're very small and low power so they are awesome for notebooks.

On that note Intel's 45 nm (and smaller) cores are also killer for notebooks; we're going to have some super sweet notebooks in 2008. I don't know what's up with GPUs but it looks like powerful GPUs might be the biggest energy draw and heat generator in 2008.

On the flip side the "Hyperdrive" RAM hard drive thing is totally retarded. Taking a bunch of RAM and segregating it off and calling it a "disk" is just a freaking ram disk that you can do in software, or not do! There should just be more RAM slots on the main board and a battery backup so it's persistent.


11-15-07

I'm using KeePass for all my passwords now. It's reasonably easy to set up and use, though the auto-import from Firefox is kinda broken. Anyway, it provides absolutely zero security against local machine spies such as keyloggers since it uses unsecure methods (either typing or the clipboard) to enter your data into web forms. It has no choice, Windows doesn't provide a way for apps to securely communicate with each other (I dunno maybe Vista improve this? you would also have to sign the apps so that they can know they are talking to the app they think they're talking to). Also Firefox could provide custom accessors to fix this as well, they could have their own PGP key inside firefox, make the public key public, and let other apps encrypt things with the public key and send them to Firefox, then internally decrypt with the private key and send it on the web, which perhaps you keep hidden at all times if you're on an https page (I imagine there must be a way to change your encryption algorithm without actually ever decrypting).

Anyhoo, the only thing it really does do is let you use a different strong password everywhere you go. That makes you secure from leaky sites spoiling your entire security. So one of the sites you go to is corrupt or just incompetent, they can't get to all your other sites. What with having money on poker sites of dubious integrity, that's a pretty useful protection.

Unfortunately that still doesn't protect you from the retarded fucking banks which seem to just lose hundreds of thousands of records on people all the time. It's so retarded that you can't change your social security number. You should be able to get a new one once a year. The government would keep a record of who corresponds to what numbers, but would only provide those records to law enforcement. Similarly with drivers licenses and credit card numbers. And anyway WTF why do I need all those different numbers, just one number is plenty. Being able to change it once a year severely reduces the risk of identity theft, and also makes it easy to catch them when they try to use someone's old data.


11-14-07

I put up the assembly for ConvertColorsGamma that does 4float -> dword color conversion and gamma correction. This is like super non-optimal assembly, and furthermore you can do this a lot faster with video cards these days (in fact they pretty much do the whole thing for you). I'm not very good at writing assembly anymore, I'm not even sure what the major issues are (other than memory accesses).

I've looked a little at the ASM output form the VC intrinsics and it looks pretty good; the compiler will do reordering and all that good stuff for you, so dumb assembly like this should pretty much be written with the intrinsics and let the compiler do the little stuff.


11-14-07

A little more on the rough Gamma thing. Another cute thing to do would be to go ahead and combine our Gamma step with an Exposure step. Now instead of taking linear light in [0,1] we're taking brightness in [0,inf] and we still want to output in [0,255].

We want a function like 255*(1 - exp( - C * x )). For x = 0 we output zero, and we get 255 as x -> inf.

We can make this match the gamma curve for low x. Again just assume gamma = 2 and match against sqrt. When you do the integral to optimize C, you get an error function which you can't solve analytically so you have to do it numerically. I just ran rough numbers and got C = 2.69 which is awfully close to "e" (2.718) so I wonder if I did it more precisely if I would actually get "e".

Anyway that's not what we really want, cuz the exposure for large values is very different. We really only want to force them to match for the small values of x. If you optimize for the low value of x you get C = 3.0 almost exactly. (again we're integrating in steps of sqrt(x) not in steps of x).

So our combined gamma + exposure function is :

255*(1 - exp( - 3 * x ))

I have no idea if this is actually cool, I haven't tried it yet or anything.

Won says a more common tone mapping form is x/(x+C). The optimal C for matching sqrt in the low range is around C = 0.25 This form is actually a better match for sqrt in that range, but has the disadvantage of being pretty far off 1.0 when x is 1.0 (it's only 0.8, unlike the exp form which is 0.95).

Both of these forms are actually pretty shitty for very low x which is pretty bad. They do a bit better if you use e^(-4*x) or x/(x+0.2)


11-14-07

Some thoughts on metadata and reflection. So far I'm just really happy with the cblib system for prefs and reflection, and I was thinking about why exactly. Maybe it's just cuz I designed it and I'm an egomaniacal programmer like everyone who loves their own work way too much. I'm going to compare to the standard alternative, a data-based metadata system. The data-based system basically stores a list of the members with typeinfo & offsets for each marked up class. This is pretty standard and what we had at Oddworld. (The other common method is an autogenerated metadata system which is often done by putting a comment on the line with the variables; the autogen just creates the data definition for you though, so this isn't really a different system at all, though it does have some minor advantages).

BTW the "Reflection" method I'm talking about is an "imperative templated visitor" system. It's probably easiest to look at the code in cblib to tell what's really going on. Note that there's absolutly zero code to implement the "Reflection system". It's simply a policy for client classes that want to be reflected and for the functors that want to visit them.

First of all, if your metadata system is designed well it's about the same amount of work for the client in either case. In an autogen system you have to comment the members with whether they get metadata or not. At the end of the Oddworld system we had nice macros to just list all the members and it would create the right metadata through template type detection. The reflection system is about the same, you just call reflect on all the members the template finds the type.

Basically the reflection system will have client code that looks like this :

	template 
	void MyClass::Reflection(T & functor)
	{
		REFLECT(showControl);
		REFLECT(controlgraphic_x);
		REFLECT(controlgraphic_y);
		REFLECT(showMucks);
	}

While the Metadata system will have client code that looks like this :

	START_METADATA(MyClass)
		METADATA(showControl)
		METADATA(controlgraphic_x)
		METADATA(controlgraphic_y)
		METADATA(showMucks)
	END_METADATA()

In either case you could also add info about valid ranges and descriptions and whatever else extra markup junk you want to add.

So, what's the difference? There are two issues. One is how do you add a new type to the system, and the other is how do you handle weirdo nonstandard junk in your marked up classes.

Adding a new type in the description-based system required me to make a new metadata type for that class, or to somehow tell the system that it's the same as some previous type so you can use that description. Using templates here is an advantage already because it will autoconvert for identical types, as opposed to like a parser-based system that will struggle, but data-based or reflection-based can both use templates. Also in either case if your system is good, you should generate a reasonable compile error when you try to metadata or reflect a type that isn't supported. Actually that seems to be pretty much identical.

The big difference comes from nonstandard iterations. The "standard" case is that your class is just a bag of other types, and you iterate over each of those members and call the functor on those members. Of course reflection and metadata are identical for the standard case. The nonstandard case happens when you have some nonstandard junk.

The cool thing about the reflection system in this case is that it's "imperative" ; in Casey World we would say that the reflection way is "immediate mode" and the metadat way is "retained mode". Basically this is cool because it lets us interject code right into the member iteration.

For example you can do conditionals, like :

	template 
	void MyClass::Reflection(T & functor)
	{
		REFLECT(isAngular);
		if ( isAngular )
		{
			REFLECT(angle);
			REFLECT(radius);
			length = width = height = radius;
		}
		else
		{
			REFLECT(length);
			REFLECT(width);
			REFLECT(height);
			radius = (length+width+height)/3.0;
			angle = 2*pi;
		}
	}

Of course you can do stuff like this in the metadata method too but it's messy. Also, the derived-data type of fixups are normally done in a metadata system with "Finalize" type of call. The problem with that is that it's done after the metadata iteration is all done, which means that you are temporarily in a state where it's not fixed up. With the imperative method, you can fix derived data and then immediately be using it for the rest of the iteration.

For example, say you own some little other class that you don't want to bother to mark up, you can just reflect its members :

	template 
	void MyClass::Reflection(T & functor)
	{
		REFLECT(m_ptrData->x);
		REFLECT(m_ptrData->y);
	}

Basically you can do whatever you want because it's just code. More than anything, that freedom just feel liberating. You're no longer locked into a system where you "must do it like this" for it to work.

Oh yeah, the big disadvantage of the Reflection way is that it has to be in the header. IMHO that's not so horrible. It's no worse than having the members in the header. If you want to hide the members you have a pImpl thing already, or a derived class, or whatever. So you have the members and the Reflection there with the pImpl. Now, you can't get through to it with arbitrary template functors, but you can still get there with specific calls passed through a concrete class dispatcher. Anyway, an advantage of the metadata method is you can iterate around in peoples' data without even seeing their header, in fact it provides a whole alternative way to do linkage, such as named variable access if you want to go down that route (I don't approve of that).

In fact you need that dispatcher anyway so that when you call Reflection on a parent class it will get passed down to the derived class. This doesn't work automatically in C++ because you can't do virtual template functions (yuck). So you have to have a virtual that will get you down to the most-derived type. You can see such a thing in "Prefs.h" in cblib. (there are different ways to do this too if you want to do more of an RTTI type of thing with a description of the classes).


11-14-07

ImDoub notes

The basic approach of the trained image doubler works like this :

The goal is take an image I and pretend it was created by downsampling it from an image of 2X the res, we'll call it 2I.

Of course there are many images 2I that when downsampled would produce I. Of those many possible 2I images we want to choose the most likely. To define "most likely" we assume that all images are generated by a statistical source.

So, how do we model this statistical source? We simply gather a big library of images {L} and say they are likely to come from the universal image source (UIS). For each of these images we have an example "doubling", we say that the downsampled image (L/2) when doubled should be L.

So we have this huge space of training samples, { L/2 -> L }, and we basically want to find our image I in that space and interpolate. That space is way too big and too sparse for this to ever work, so we make the assumption that the UIS is *local* and also *unoriented* and also *relative*.

Local means that a pixel's probability is only affected by it's neighbors. In practice we'll use the 2-ring (the immediate neighbors and their neighbors).

Unoriented means that if you take a neighborhood and flip it in X or Y or rotate it 90 degrees, the probabilities are the same.

Relative means that if you add or subtract a constant value to the whole neighborhood it doesn't affect the probabilities.

Now, all 3 of these assumptions are in fact obviously wrong. Locality is obviously wrong because images may have repeated features, like a wallpaper pattern, and obviously having the same pattern in another part of the image far away affects the probabilities in the repeated area. Unoriented is obviously wrong if you just consider images of text that obviously treat X and Y differently, and even in photos they are much more likely to have the horizon line horizontal. Relative is also obviously wrong when you get near the neighborhood of 0 and 255 where you have clamping; perhaps logarithmic-scale infinite range images would be close to being "relative" but real images obviously are not.

Regardless, we're going to use these 3 assumptions (as do almost all image transform algorithms). Furthermore note that we are NOT assumping *scale* independence, either in spatial scale or value scale. That is, we are not assume that you can multiply a neighborhood by a constant and get the same result, nor are we assuming that if you zoom out and take a wider set of neighbors you will get the same result.

Anyway, using these symmetries we can now create a much denser training set. Instead of using a whole image from the library {L} we take a local neighborhood of pixels N (the 2-ring) around each sample in L/2. We put the neighborhood into canonical form. First subtract off the average of the neighborhood, this removes the constant offset. Then flip in X and Y until the values are growing in the +X direct and in the +Y direction. This orients all neighborhoods in the same way.

This canonical form of the neighborhood now predicts a certain doubled pixel, this makes up the training set {N -> L}. Again the procedure is simply take the image you want to double {I}, form the neighborhoods in canonical form, look them up in the training set {N} and interpolate between the closest ones you find. Once you find the prediction, you take it back out of canonical form, putting the right local offset back in to create an output pixel.

In practice how do you do this interpolation? Neural Nets would work fine. So does a pure dense sample search like k-Means where you have a distance metric to find samples. Perhaps the best way is a Support Vector Machine (SVM) which is precisely designed to be ideal for this type of work; all of the neighborhood samples {N} are the support vectors and you can optimize for a desired machine size (which is equivalent to the sensitive to noise in the training samples).

How does this ideal doubler work differently than any fancy filtering algorithm? First a little review. Normal image filters work by creating a linear combination of the local neighborhood. Any rotationally-symmetric filter can be decomposed into the product of two 1d filters, which is what everyone does (* actually that might not be true, needs investigation), so you can work first on the rows then on the columns. It's an inherent problem of sampling that you cannot create a filter which is ideal in terms of "ringing" and "blur" - you either have to tolerate one or the other. I'm not really going to get into this right now but it's an interesting topic with lots of papers on it.

So the first thing that the trained doubler can do is make a per-pixel decision about what filter to use - a more blurry filter or a more ringy filter. (of course it isn't explicitly making this decision, it's just finding neighborhoods where the training set L/2 -> L either looks like a blurry upsample or a ringy upsample).

But the trained doubler can do more than that. It can see patterns in the downsampled image which typically come from hard curves of various types in the higher res image, such as hard diagonal stair-steps, or even rasterized circular curves.

BTW the old-fashioned style image doublers work by explicitly looking for these types of patterns. They basically work by assuming that all neighborhoods of an image are either smooth (locally polynomial) or a hard edge of various types (horizontal, vertical, diagonal 45, diagonal 135). They best-fit the neighborhood to one of those groups and then use a different anisotropic linear filter for each case. This is how the old DPCM / CALIC image compressors work and how Wm Withers' "Augural Image Zooming" worked. These semi-heuristic approaches actually work very well.

Another way to think about it is this : for any image that we are given I , imagine we downsample it to I/2 with a filter , and then we double it through the trained doubler J = 2*(I/2). The result J should be as close to the original I as possible. This is how we can formulate the problem as a standard machine learning optimization.

Addendum : Well, back when I worked on this I did a literature search and didn't find much; Won has pointed me at a paper by William Freeman , "Example-based super-resolution" which is almost exactly this approach.


11-13-07

It would be nicer if the while() at the end of a do{}while was treated as being inside the scope of those braces, so you could continue or not using variables that are only in that scope.


11-12-07

Yesterday we went out to the Inner Sunset since it was a rare clear sunny day out there. The arboretum / bonatical garden in Golden Gate Park is really lovely. It's a detailed miniature, a densely detailed jewel, riddled with a million paths and tiny discoveries. A few blocks away is the 9th Ave / Irving Street corridor which has got a ton of little family restaurants, some of which are decent, and just a nice functioning neighborhood. I really like it out there, much better than the Mission, it feels really unpretentious, and there are great groceries and bakeries and such that cater to the locals who really COOK instead of the yuppies who read about it in the New York Times. Unfortunately it's godawful foggy out there 90% of the time which I can't handle. Anyway, it might be one of my favorite "tourist day" activities; you can go eat lunch in the Sunset, walk around the arboretum, then go to the DeYoung. Or you could just look at the outside of the DeYoung and go to the Victorian flower greenhouse thingy.


11-12-07

I finally got off my ass and started uploading some of the junk I've worked on in the last few years. Some of the stuff has mod times from January 2006 which is pretty scary; WTF happened to 2007? Oh well.

I put my new "cblib" in the Misc section. So far as I know the old "crblib" (which was ugly as hell) and the newer "Galaxy3" never really caught on with anyone (for actual use as a library), but since I have an audience of zero I'm devoted to updating them with another library that noone will use. Anyway the point of cblib isn't that anyone use it as is, but rather people can look at the code and steal some snippets they like. It's got a bunch of the old stuff cleaned up and unified as well as some hot new stuff.

Some bits you might be interested in :

There's lots of good 3d maths stuff, but it's the same stuff that's in Galaxy3 for the most part. There's really nothing new in terms of 3d stuff, but there are a few little cleanups and fixes compared to the Galaxy3 versions.

Lots of funny STL and C++ ism stuff. If you think this stuff is retarded you can have a good laugh looking at the weird stuff I do. Probably the funniest of these are the next two :

Reflection & Prefs mechanism. The code for this looks rather complex, but it comes out very very simple to use in the client and I'm very happy with how it works. My big poker app uses this system and it roxors the hizzouse. The prefs are very easy to mark up in code, human editable, and the whole system is "Immediate Mode" to use Casey's lingo which means you can do version-conversions right in the reader and nice stuff like that very elegantly. The system is so simple to the client that you can use it without understanding it; if you want to decode some template functor insanity you can try to follow the execution flow.

safeprintf - looks just like printf to the client but validates args (at runtime). I'm mostly happy with this. It has helped me find a lot of bugs already and it does create a pretty nice human readable error that tells you exactly what the error is, like "printf expected %s but got data of type (int)". You could easily use the exact same mechanism to make a printf that does conversions, eg. so you can just pass in your own String and print it with a %s, but I haven't actually done that because I'm not sure if it's a good idea. For one thing that makes it no longer directly interchangeable with printf and that could lead to disasters when you search-replace to change your printf to a fprintf or something that's not patched.

Some useful Win32 junk, like a little DirChangeWatcher file that compactly exposes the ReadDirectoryChangesW that every does; the "Metered Section" code that I mentioned here previously, and some goodies in Win32Util like how to make an app that can be either console-attached or make its own console, how to really mess with other apps, stuff like that.

BTW while I'm on the topic, the damn HWND system in Win32 is so fucking hosed. The handles are not unique (they get reused), they can go become invalid at any time, and it's not a valid safe weakpointer system so if you are holding HWND's to other apps they can suddenly and with no notification to you either change identity or become garbage pointers. Now of course you should never store an HWND to another app's window in your state, but even if you're just holding one in a local while you do some work on it, a thread switch can destroy you. Stupid OS should've had a proper Smart/Weak pointer system so that my HWND reference a unique weak reference.

There's a half decent BmpImage class finally; I'm still not delighted with it; how is it that I've worked on images for all this time and never really written a decent image class?


11-11-07

Hmm. So, I've often used this rough approximation that gamma on monitors is pretty close to 2.0 , so you can just use square and sqrt to degamma and regamma. Well, sqrt is kind of annoying. So what if you approximate sqrt(x) under the constraints that the approximation is exact at 0 and 1 ? For a quadratic you must have something in the form f(x) = { x + c*x*(1-x) }. This is a cool form, the first term gives us the endpoints f(0) = 0 and f(1) = 1 , and the second term gives us the curve to try to match the sqrt. Now we can minimize the error over the interval {0,1}. If we minimize by integrating in dx we get c = 0.92857. But that's sort of wrong because x is in linear light space which is not what we see, we see more like gamma, which would mean integrating in even steps of y, so if we integrate instead using dy, we get c = 1.03125 Well, guess what's in between? c=1. So a pretty okay approximation is f(x) = 2*x - x*x. This is a rad approximation because it can be done without even any constants.

BTW the inverse is x = 1 - sqrt(1-y)


11-11-07

I did some random vaguely game related stuff yesterday and put some junk up on my exe page (namely ImDoub), including fixing the broken compile of all my own DDraw toys. It reminded me how much fun that stuff was (the old DDraw stuff). So I started playing around with a full screen floating point 2d drawing engine and was wandering around looking up SSE2 float to int stuff and somehow found myself at Casey's MollyRocket Forums (oddly, one of the top Google hits for float to int was Sean's notes on his Ogg Vorbis work). There's lots of good stuff there and I started thinking how fun it is to work on technology and maybe I should get back into it.

This morning I'm back to cynical. I was thinking it would be fun to just work on an all 2d game with like floating buffers and proper gamma and everything and do some fun image self-feedback like an analog synth, and make the image the actual gameplay, but then thinking a little more about what it would take to make an actual game, it's just glue glue glue and I know I would get bored after a few days. For a game like Casey's it seems like a big waste to do anything at all novel or risky with technology; sure it's fun and maybe it keeps you motivated to stay focused on your game, but really you just need to be getting it done and working on all the PopCap-like retardedness that people seem to love so much. Hell, even with AAA games it's pretty much a bad idea to do much that's novel or risky with technology; the limiting factor for the game being good is almost always content and dev tools and all that kind of stuff. In reality the code bases are a disaster and you have to work with these teams and meetings and the fun high tech code is like the 5% and the vast majority of your time is in the glue, the tools, all that junk. Casey is a unique individual who seems to be making it work, but for a normal ADD person like me, the technology coding is a way to avoid doing all the dumb glue junk that's so boring and is actually what you need to be doing. Lord knows at every job I ever had I spent way more time than I should have on high tech stuff just to keep myself interested.

On the other hand there's working on technology or engines in isolation. That's equally unsatisfying in a different way, you just feel so disconnected from reality, like you're doing all this clever work and it's totally pointless because nobody really needs it and noone is ever going to see it and it may not even ever make it into a single product. It can be really fun for short bursts of time when you're working on something cutting edge and making discoveries and breaking ground, but then the pointlessness of it all sets in again.

There's a pure joy in like - hey I figured out how to do Perlin noise or draw Bezier curves and look I made a little app and it runs fast and it looks really pretty too and hey I can make Bezier end points fly around the screen and put a spring between them and look how fun it is. I absolutely love that work and it's what got me into games. The problem is that real game work is not like that, and I don't know how to make a career out of that kind of stuff. Part of the problem is that you can't because that stuff is easy and anyone could do it and not useful.

I guess I had the exact same problem with physics. I mean I absolutely loved learning about particle physics, and making all these realizations, and figuring out my own ways to derive things, and coming up with clever formulations and connections between things like spin and symmetry groups and all that stuff. But that's not what doing physics is like. Anybody can learn that stuff, and you can't make a career out of learning stuff that other people have figured out. Doing actual cutting edge research particle physics today is not very similar at all to that excitement of learning it, it's very similar to making games, you have the exact same kind of horrible tedious "glue" work (doing tons of hard math, verifying experiment numbers, writing grant proposals, etc. etc.) and then once in a while you get those good bits again.


11-09-07

I mail ordered a 9 pound bag of raw in-shell peanuts cuz I can't find them anywhere here. Well, I found out that 9 pounds is a whole lot of peanuts. I still haven't found the right recipe for roasting them. Alton has a Good Eats on peanuts, but I don't like his method, I can't get nearly enough salt on the peanuts that way and wind up having to use a salt-lick while I eat them. Commercial roasted peanuts are way saltier than his method. I'm pretty sure that commercial roasted peanuts are blanched in a brine or at least soaked in brine before drying and roasting. Perhaps the commercial brining is even done while they're still green before the initial drying?

So far this is my working method for peanuts : dissolve 1 tablespoon of kosher salt in 1/2 cup of water, bring to a boil, stir to make sure salt is fully dissolved. Add 2 cups of raw peanuts (in shell) and stir while boiling until all the water is gone (just a few minutes). Pour peanuts out onto a sheet pan, then put in a 350 degree oven for 30 minutes or until roasted to desired color (shells should be just starting to darken). If you can smell them in the oven they're probably done. Allow to cool - they harden as they cool, so you can eat them sooner if you like them warm and somewhat soft.

Revision : I think it's better to use just the minimum amount of water possible to dissolve the 1 tbsp of salt. That seems to be slightly more than 1/4 cup of water. It won't dissolve until the water is nearly boiling.

Peanuts can be roasted to various amounts of doneness, and it's pretty much exactly analogous to a coffee roast. Lightly roasted peanuts still taste somewhat grassy, more like a boiled peanut. Medium roast is what you normally get and think of as peanut flavor. Dark roast brings more of the oil to the surface and has a stronger sort of charred flavor, just like a french roast coffee. I enjoy all the different flavors of a peanut, but my default is somewhere in the medium-dark range. One of the real joys of roasting yourself is getting to eat them while they're still warm. They're SOOO much better than roasted chestnuts which I still don't understand.


11-09-07

Ignacio pointed me to this game September 12 at Newsgaming. Go play it now then we can talk about it ...

.

.

.

Ok, so you see it's a little moral game with a message that you discover for yourself. It's pretty obvious what it's going to be right from the beginning. I don't really think that this game "works" in the sense that it doesn't actually teach anyone anything, and it will never convince anyone to change their mind on the topic. That is, people come into the game having a preset idea on the topic, and the game just reinforces that. People sympathetic to the message will go "oh yeah" while people who don't agree will think "this is stupid, it's not like this". Of course the movies of Micheal Moore et.al. are pretty much in the same boat or even worse.

I was thinking about what it would take to make a game that could actually change someone's mind. It's something I've always wanted to do and something I often think of. People are so pig headed, they have some retarded idea, and they can manage to see every bit of news in a way that just supports their preconception, and all the news that doesn't reinforce their preconception they either just ignore or claim is lies. With games, in theory you can put them in the actual position of the thing they misunderstand, and make them actually make a decision, and perhaps they will see the logic of the decision that they disagree with.

One of the key factors to successfully teaching someone in this way is that you have to let them discover the connection to the real world issue themselves. If you show that this is a game about terrorism, or a game about global warming, or whatever - you've already lost. As soon as they see that issue, their head fills with their preconceived ideas, they presume that your game has some certain message, and they're not going to convinced by anything they see. They begin judging the game based on how it fits their preconceptions - either they approve or they think you're full of it - they no longer judge the scenario on its merits.

Instead, you have to present them with a purely logical or immersive situation in which they are making a decision based on either rational thought / logic (eg. if I do move X I get more reward than move Y) or their immersed emotions (eg. I need to save my character's family). That is, they're judging it as a fresh situation seperate from their memories and their political identity.

Once you achieve that, hopefully they can make the connection back to the real world issue. This is a tricky part, because if you're too obvious about it, then they will see the hand in the machine and know they've been set up and reject the lesson, but if you're too subtle they won't see it.

Of course, getting to children is much easier.


11-09-07

Sometimes when I'm walking around the Mission I like to pretend there are sandworms under ground, and I have to walk without rythm to avoid attracting them. It's really hard to walk arythmically, if you stop concentrating for one second you will slip into a pattern.

I also like to do the little skip-step that they do at the end of Buckaroo Banzai when they're walking around in that big concrete flood basin or whatever that is.


11-08-07

For movies, there should be a service like Netflix where you order your queue, but instead of coming by mail it digitally downloads in the background. It could either just be on your PC or perhaps through your DVR (Tivo). They could easily use some DRM thing so the movies aren't copyable, you can watch them, then whenever you want to send it back you hit some button and it becomes unavailable and the next one downloads. This has tons of advantages over the regular mail, for example you can hit "undo" on your mailing and get it back immediately if they leave the file for a bit, and the next movie in your queue can be pre-caching so that you get it immediately. And of course you never have to worry about the newest releases being unavailable.

For music, my big problem is that I really like to download and listen to something before I buy. Subscription services would be great, the problem is the record labels don't want to make their catalogs available. One thing I'd be happy with is a listen-limited free download. So you can download any music for free, something like 2 listens per song is free, and then after that it locks up unless you pay for it. I know you can preview songs at Amazon and iTunes and such, but I can't really getting a feeling for whether I like something when I do that preview.


11-08-07

I continue to be right about the shitty US economy, and I put a real recovery at at least 2 years away. Unfortunately I continue to play it badly. Some "expert" on the interweb gave me the idea of buying some TIPS as a bet on a bad economy, but that hasn't gone well at all. A better play would've been some leveraged shorts of the dollar, or just buying gold. Unfortunately I'm unable to find good advice.

Hmmm.. I wonder to what extent the current over-leveraged operation of the US economy is due to "Rich Dad, Poor Dad" ?


11-07-07

Sleep inventions :

padded knee pajamas : when sleeping on your side, you ideally would have a pillow between your legs to raise your upper leg so your hips are more neutral. But that never works, you toss and turn too much and the pillow gets all messed up and just becomes annoying. So, we've created Padded Knee Pajamas. These pajama pants have a ring of cushioning all around the knees about 1 inch thick, so that when you lie on your side your knees are seperated just like having a pillow between them.

warm human size body pillow : didn't I post this before? I can't find it. Anyway, this is the ideal sleep solution for single people in cold weather. It's a standard large "body" pillow that you sleep with, it just has some heating elements in it so you can warm it up. The heating elements are just standard electric blanket coils with a thermostat so you can set it close to body temperature of a normal human. The core is a latex gel like the fake flesh of sex toys which spreads the heat so there are no hot spots and gives it a pleasant fleshy squishy firmness.


11-06-07

So I've ripped all my CD's and I'm finally listening to music via mp3. 68GB in 12775 files. Despite what the scientists claim, I can *totally* hear the difference in sound quality between a CD and a 320kbps mp3. With the mp3 there's this horrible sound of whirring and air that seems to always be in the background of every song. (that's a joke, btw)

Back when I used to work on 3d stuff and I would crash my machine every 30 minutes, I though the idea of playing music on my computer was totally retarded. The #1 most important time for me to have music is when the machine is rebooting, as the music soothes the savage beast and keeps me from totally losing it after the fucking driver and 3d crashed me once again. Now that I rarely crash I still think it's moderately retarded.

When I got the amp back I went fishing for some tracks that really sound beautiful on the old stereo.

Radiohead - on OK Computer - tracks 2 and 3 - but just the instrumental intros, those sound great on any system but on a clear analog system with separation they're just delicious.

U2 - a lot of stuff on Joshua Tree sound great.

Timbuk 3 - Big Shot in the Dark - especially track 1, but the whole album has a really great sound, lots of space, but also really wet.

Bjork - on Homogenic - especially Bachelorette but also Hunter. I bet these sound amazing on anything.

Sufjan Stevens - not really something that sounds "amazing" cuz his music isn't really beautiful to begin with, but sounds incredibly different and much better. The layer really come apart and surround you. Actually this is one album that would be really awesome to have in 5.1 surround, or to listen to at Audium or something. I'd love to see like Beirut and Sufjan do pieces for Audium.

The standard thing that stereo stores use to show off an analog stereo kit is acoustic classic rock, especially live recordings. Yeah, it works. The Eagles and Buffalo Springfield actually sound good and you can forget how overplayed the songs are. Supposedly part of the reason these sound so good is they were mastering for vinyl back then, and doing some things differently, I dunno what exactly. I hear that today they actually master with headphones/digital use in mind which means a lot of albums have "crosstalk" intentionally built in which is super lame.

BTW that reminds me, headphones should be cross-mixing the left and right channels somewhat, the extreme seperation you get is totally wrong and evil. I guess there are some iPod mods that do this and call it "Crossfeed", or there's the BitHead AirHead which is a bizarro hardware device to do the same thing. Apparently most headphones have quite a large amount of undesired "Crosstalk" which bleeds the channels, but that's not really desirable because it's not got the right offset/phase, and since it's inductive I assume it's also low-passed. I guess more generally rather than just mixing L & R you should do some of that 3D HRTF stuff to simulate the sound is affected by your head. eg. what you actually play in your ears (via the headphones) should not be the same L & R that you play at speakers, they should be convolved by the operation of the sound travelling from theoretical ideal speakers at ideal locations through the air and to your ear holes. So far as I know, none of the standard audio apps actually do this even though headphone listening has become extremely common. I guess part of the problem now is that people are mixing for headphones, so if you apply the convolution it's like you're doing it twice. Mixing should've been standardized to an ideal speaker listening environment, and then any modification of that should've been done at playback time, where the player can know the geometry of their actual setup. Obviously people have had these ideas before. I just randomly found this cool and bizarre thing - the Smyth Virtual Surround Technology that converts surround sound to head phones and does all the HRTF measurement junk. Anyway, this is getting overcomplicated; just doing a simple LR mix is super easy and it's just retarded that the iPod doesn't do it by default; songs like Bjork's Hunter that does extreme LR stuff sound really great on a proper stereo but just sound like awful garbage on unmixed headphones.

Oh, of course if you want to go even more nuts, ideally every instrument would be recorded with positioning info, and then on playback you could choose where your listener is. That way you could put the music "on a stage" (which is what a standard stereo does), or you can put yourself right in the middle of the stage, which is sort of like what plain headphone playback does, or you could pick anywhere in between, or even something different like putting yourself 5 feet above the band or whatever you want.

Okay now I'm really stalling trying to avoid doing some work.


11-06-07

High Stakes Poker Season 4 Episode 11. This is the biggest cash game ever shown on TV so to commemorate the occasion I'm going to do a watch-along guide for you semi-poker enthusiasts. This may be the best poker that's ever been on TV. I still love the old Showdown at the Plaza where Howard Lederer did the commentary, but this is hella good. You can find it on Youtube, Pokertube, Pokerbay, or just torrents anywhere.

First of all, the lineup :

Doyle Brunson - big poppa, his game is still well respected though he does now get bored & tired and can play badly at those times.

Barry Greenstein - pretty well respected online, but certainly not at the top of the modern game.  One of the best of the old live players.

Antonio Esfandiari - Antonio used to be a cash game pro in LA but doesn't play much any more.  His game is solid.  Of note is that he does not have
the bankroll to play this game, he must be playing staked.  In fact even guys like Barry & Doyle who can afford it have probably traded pieces of each
other to reduce variance.  Normally Antonio would be playing too scared at this level but if he's fully backed he should play well.

Jamie Gold - medium stakes cash game player from LA, won the 2006 WSOP Main Event, wants to prove he didn't just get lucky.  Huge fish.  Tells you his hand and then
bluffs predictably and doesn't value bet in the same spots.

Sammy Farha - Sammy is a wealthy businessman who is absolutely awful at poker.  The other pros go along with the myth that he's good at Omaha because they
want him in the game.

Guy LaLiberte - one of the founders of Cirque de Soleil, plays a LOT of poker, and generally loses.  Plays online under the name "noataima" and has lost
around $20 million online.  Also plays the "Big Game" in Vegas and is said to have lost a lot of money there.  Single handedly supports many top pros.

Patrik Antonius - one of the absolute top players in the world, both live and online.  Now plays all the games.  One of the biggest online winners ever in
both Hold'em and Omaha.  Was previously a semipro tennis player, and is currently the object of crushes from girls and boys alike.

David Benyamine - degenerate mediocre player; ran up about $20m in profit playing in the highest stakes games, but has now lost it all and is broke and
often playing staked; probably playing staked here.  He can play very well, but often plays 40 hour+ sessions where he starts playing awful, and
he's also an action junky who chases his losses.

Phil Galfond who is Jman/OMGClayAiken online was also supposed to play in this game, but the producers decided he was bad for TV and didn't let him play; he's a 2+2'er. Several other 2+2ers such as sbrugby (Brian Townsend) (as well as durrr, krantz, etc) would've loved to get in this game but weren't invited.

Each player bought in for $500k and they're playing 300/600/1200 (the blinds are nominally 300/600 but with a forced straddle all day). Even with the straddle that means they're 416 straddles deep which is really really deep stacked poker. It's a very interesting and difficult type of poker which is rarely played, partly because the better player has a huge edge. It makes it very hard to get "all in" which exposes you to danger. You see, getting all in is a form of protection where you know you don't have to make any more decisions. Say for example you bet the flop and someone raises pretty big - with 100BB poker you can just shove and you don't have to worry about being out of position for the rest of the hand and what might come on next cards, etc, but 400BB deep you can't shove. If you 3-bet you still have a lot behind and you're OOP if he calls. If you just call again you can face big bets on the turn and the river. Your opponent is always able to put you to a big bet.

BTW it's definitely not the biggest cash game in history. If you count limit poker, the $100k/$200k limit hold'em game against Andy Beal was the biggest in history. In no limit, just this year there was a huge game at the Bellagio during the WSOP with Brian Townsend, Sammy Farha, and Bobby Baldwin that was a $1000/$2000 no limit holdem/omaha mixed dame where the guys were sitting with several million each. If you adjust for inflation there may have been bigger games in the old days when the mob was working with Doyle and others, but nobody's telling.

The only person at the table I would be really really scared to play would be Antonius, because he has both the well-balanced frequencies, and the guts/insanity/aggression to put you to a huge test in any pot that you show weakness. Against PA you have to either keep showing strength or be ready to call a big bluff at any time.

I'm gonna put the hands in white so there's no spoilers - (BTW "Guy" = Guy LaLiberte , not just some guy)

Hand 1. Guy has AJo ... and Jamie makes a retarded bluff with 84s. This bluff is retarded because the board is drawy and Guy will call with a draw, and also Jamie could well have a draw so Guy will call with a top pair. Flop raise bluffs are much better on dry boards. Also it's 4 handed which makes it way more likely that Guy has a real hand. On the other hand, Guy 3 betting is kind of retarded as well. He lets Jamie rebluff him if he wants, and it's not a big enough raise to get him off a draw. If Jamie had a good combo draw he could even shove! Furthermore if Jamie wants to retardedly bluff it's better to just check-call and let him bluff.

Hand 2. Guy has JJ and flops a set ... Sammy's overbet on the turn is interesting. That's a move you rarely see online but it is more common live. I think Guy plays it pretty well, though he should perhaps go ahead and shove the river since the only thing that calls a raise is TT for the 2nd house and I don't think Sammy can fold that even to a shove. Raising the turn would be really bad. Calling is okay since Sammy might have a lower set.

Hand 3. Doyle has T8s and Jamie has 97s, they both limp preflop ... .. and they both turn a flush. Tough spot for Doyle. He correctly reads that Jamie most likely called the flop with a flush draw and just hit it. The Jamie does one of his retarded speeches that he thinks is so clever but actually totally gives away his hand. He goes on and on about how he came to bluff, and then he makes a big raise. That's what Jamie does when he has a hand and is trying to get paid off. The problem is Jamie doesn't really have a hand and he doesn't even realize it. This is one of those spots where in a 100 BB game I'm sure Doyle would call and get all in for $120k, the problem here is even if he calls on the turn they have almost $400k behind on the river and there will be another big bet. In reality, Doyle could call because Jamie is actually a wuss and would give up on the river without the nuts.

Gabe's commentary about new school vs. old school isn't really right. Gabe doesn't really know much about poker and certainly not about the new school. Doyle's range to overbet the turn there is pretty narrow, when Jamie raises like that he can only ever bet called by a flush, so if he's sensible he can't be doing it for value with a low flush. Ten-high flush is pretty good though. Note that the online guys who play heads up is a whole different game - this is a full ring game.

Hand 4. One hand where Guy has ATo, another with A7o and another with T8o ... Two little random hands; we've now seen that Guy just can't fold the flop even with total garbage, and he's also not semibluffing at all when he has very good equity. Seems to play like a classic fish - chasing too much, and then only betting with the nuts or "bluffs".

Hand 5. Antonio limps with AA ... meh, he's not doing this because he's scared, he's doing it because he's played so tight so far in the session that he knows if he shows strength people are just folding, so he's trying to get someone else to raise. This is Antonio's normal game, he plays really tight, but then he also makes big moves on pots using his tight image. Barry plays roughly the same style. Not sure if I like Barry's big bet on the river, if he wants some lone junky pair to call he should maybe just bet $10k.

Hand .


11-03-07

I thought of another million dollar website idea : "Fattie or Preggo". It's a voting site like kitten war or something, but it shows girls with a slight tummy and you have to vote fat or preggers. So money.


11-03-07

I almost wrote a movie review on Netflix - but why should I spew yet more content into somebody else's "Web 2.0" profit pocket? Why should I spew unfunded expert advice into some provide data horde which isn't shared with its users, isn't shared with other sites, and ties me forever to a specific for-profit site? It's a giant scam that they've gotten everyone to go along with it and it fucking sucks and I won't do it.

Which reminds me, I think I've written this here before, but the fucking scam of online music pricing makes me ill. They cut EVERY SINGLE FUCKING COST. No salespeople. No retail shop. No rent. No liner notes, no manufacturing, no shipping, no warehouse, NOTHING. And then they still charge roughly the same price as the old regular stores for the digital download, and people go along with it because they have no choice because it's monopoly and there's no competition.

Anyway, I was going to review "Stranger than Fiction". Why is my success rate at finding decent movies so bad? I know there aren't many great movies out there, but it seems like with all the information available I should be able to get at least a 25% chance of picking one I'll like, and it's way way below that.


11-01-07

I really like doing nothing, except for the loneliness, the feeling that I'm wasting my life, and the fact that I'm running out of money, oh and I hate my apartment and wish I could afford to buy a house in the country. Other than that it's pretty great. I like coming up with own ideas for what to do each day, for the most part, until you get those days where everything seems pointless and stupid and why bother getting up. But other than that, you can decide to go check out some area that's supposed to be nice for bike riding and cruise around, or just go to some shop and try some new ingredients, decide to cook something you've never done before and try a few different recipes, find a river that's supposed to have good swimming holes and get naked, or just wander the city and check out public art and galleries and so on.

Today I'm making Savory Pumpkin and Oxtail Cous Cous from Emeril of all people. Now, I hate Emeril's show, he just comes across as a loud retard, and he often doesn't give me the impression of even knowing what he's doing on his show, like obviously his back kitchen staff prepared the recipe and did the various steps for him and he almost seems like a Today Show host in their cooking segments. But, ignoring all that, "his" recipes on the Food Network seem to be generally very good ("his" = who knows who actually writes them). I'm modifying it some, I'm going to make it a bit more Spanish in flavor. The experiment for me is that I've never cooked with fresh pumpkin in anything but desserts.

Result : meh, I don't really like fresh pumpkin, it's kind of stringy like spaghetti squash which I don't enjoy. I'd rather use sweet potatos or turnips in its place. Otherwise very tasty. Also, I didn't know this but the couscous you buy everywhere in the US is actually pre-cooked instant couscous. If you're using the instant couscous stuff, there's no need to cook it at all. Just put some in the bottom of each person's bowl, serve the stew with plenty of broth, and it will cook right on their plate.


11-01-07

Another simple fun math problem for like the high school level : Say you have some cash, and it is appreciating at X% per year, and you are spending Y dollars per year (after the appreciation, so the principle changes like P*(1+X/100) - Y), how much money must you start with to last N years (after N years you have zero left) ? (assume no inflation)

Some easy algebra and series gives you the answer : P = Y * ( 1 - 1/(1+X%)^N ) / (X%)

First of all, the whole thing is proportional to Y, your yearly burn, so let's ignore that part and just concentrate on the scale factor, P/Y

Let's look at X = 5 which is perhaps somewhere reasonable. For N-> infinity , you get P/Y = 20. That's the most you ever need. A few values :

inf: 20
30 : 15.37
20 : 12.46
10 : 7.72
 5 : 4.33
 1 : 0.95
The first few years of retirement almost cost you 1 unit, but each year you add is much cheaper than the last, so that going above 30 years is very cheap indeed. Unfortunately this isn't of much use unless you are a royal family thinking of how your fortune will easily ensure a legacy for many generations.

In some cases it's surprisingly low. If you own your house and live frugally you could easily survive on 30k a year, which means you can retire on just 600k principle; that also has a safety pad because near the end you can sell your house or get a reverse mortgage or whatever to cover any exceptional costs.

One thing I don't see discussed very much is that volatility is really bad for investments. Say you have two investments with the same average return. The more constant one will give you a much better net. This is because the way to maximimize the area of a fixed-perimeter rectangle is with a square. Say both funds average 5% over two years , one is (1.05)*(1.05) = 1.1025 , the other is (1.0)*(1.10) = 1.10 , and in fact it's even worse if they occasionally take losses, like (0.90)*(1.20) = 1.08


11-01-07

I still think Hillary Clinton is a terrible general election candidate for the democrats (because she will mobilize Republicans and moderates against her; totally irrationally there is a massive anti-Hillary force). Fortunately, the Republican candidates all seem to be such absolute losers and looney-tunes that I don't think we have to worry too much. They seem to be competing with each other in a race to crazy town, trying to get more and more illogical about family values and "islamic fascism" (LOL). OTOH I think she would be a fine president; she's obviously not going to disturb the system, but it's hard to imagine anyone getting elected that would. The pillars of retarded suckitude in the US are so entrenched now that nobody really has any hope to break them (some of those pillars are : no funding for education or research, anti-immigrant including highly skilled and educated immigrants, cripling health care costs, insane government-gauranteed monopolies and props for big businesses that drive up prices and prevent competition, no funding for national tech infrastructure and tech for children and the poor, government funding for pharma, the military, and props for finance, etc. etc.). No Democrat or Republican will do anything about those Pillars of Suckitude, and as far as just running the system as-is goes, Hillary seems like a pretty competent manager that would get quality people in the beaurocracy and rebuild some of the system that GWB has destroyed.


11-01-07

Crime is not an evil of society that should be stamped out. Crime is much like revolution and terrorism - it is a natural balancing force in society which should rise and fall depending on conditions. When the normal pathways of civilization provide opportunities for people to be prosperous, they will naturally take those pathways and turn less to crime. When those pathways are not available, they turn to crime. In particular, in a society with a very few super rich and a huge very poor population, it is only natural and appropriate for the poor to take from the rich. This is hardly even "crime" in a naturalistic sense - it is for the benefit of society as a whole, and the majority of the people would approve.

Fear of crime is a legitimate motivating factor for the rich to not treat the poor too badly. It has been so throughout history. A good feudal lord would know that he needs to treat his serfs with a certain degree of kindness and generosity or they will rise up against him. A social structure only exists through the will of the people, and crime is the enforcing factor. At some point the poor become so desperate and hopeless that getting caught or punished doesn't seem that bad, while stealing from the rich could feed their family. The rich can protect themselves with armed guards and gates (as they do in many parts of the world today), but that has a high social and economic cost of its own, which should motivate them to try to help the poor which will reduce crime.

An unfortunate problem is that criminals are not very well aimed. The natural crime balancing system only requires a few criminal acts, and they only need to be committed by the poor against the rich. Typically there is a massive buildup of petty crime, which doesn't really serve any social balancing purpose that I can think of, before it reaches the point of a real anti-society uprising.


11-01-07

Many people think the "legal system is out of hand" and punitive damages are too high. (Of course this perception is largely fueled by heavy marketing from the corporations that are the targets of suits). In fact, I contend that punitive damages are almost always too low.

In our system, lawsuits are basically the only checks on many types of illegal behavior or predatory practices. For example, companies are not required to prove their products are safe (except for very narrowly defined pharmaceuticals). If a company sells a dangerous product, the government doesn't pursue it, it's up to lawsuits to punish them.

In order for this check to be effective, it has to be damaging enough that the company is motivated to not release the dangerous product (or to pollute, or manipulate markets, or whatevber). Let us first banish the thought that the company will voluntarily do the right thing - first of all if you're a capitalist free-marketeer you must assume the company acts in the interest of maximal profit and with no other motivations, and second of all history certainly seems to show that almost no company ever gives up a profit opportunity because it is harmful to the populace or the planet. If they do choose to give up a profit opportunity it's because the risk and potential damage from getting caught is too great.

Finally we must face the reality that for most of these crimes the probability of getting punished is very very small. If we consider some of the most common crimes that companies commit - creation of illegal shells to manipulate profit reports, tax evasion or use of illegal tax shelters, pollution, illegal use of part time employees to deny benefits, selling of products that are known or suspected health risks (often through simply choosing not to test or ignoring tests or advice to test), advising bad financial decisions in order to increase commisions, etc. etc. - all of these have very very low chances of getting caught, perhaps 1%. For one thing the particular incident has to manifest itself in such a bad way that it causes demonstrable harm to an individual. Often that is hard to do. Consider the case of meat packers who are unsanitary. They have to not only pack some bad hamburger, it then has to be undercooked, the person has to actually contract E.Coli, and then probably has to die in order to generate a significant suit, each of those has a very low chance of actually happening.

So, in order to be correctly financially motivating, the punitive damages have to be large enough to beat the very low chance of the suit succeeding. A company cheating on its taxes might see it can save $10M with a certain tax shelter. The chance of actually getting busted is maybe 1%. That means the damages should be 100X , or $1B. This seems ridiculously excessive, but that is the MINIMUM damages to just make cheating a break even proposition, at that level they aren't even actually losing anything by cheating. In order for them to really be disuaded, damages should even be higher.

This is probably even more obvious with small claims against big corporations. Say your cell carrier does something rotten in your contract and overcharges you $100. That is 100% free money for them. Even if you take them to court and win, you will only be rewarded the $100. So they have some chance of just getting to keep it, worst case they lose the money that was yours anyway. In order for them to be motivated not to do it, the punitive damages should be 100X - 1000X the actual damages.

With something like environmental disasters (see the recent BP refinery disaster for example) the companies usually have to pay something close to the cost of cleanup. For one thing this doesn't come close to estimating the real cost, which should include the cost of losing the use of that land for years and the very long term and unknowable effects on the ecosystem. But even if you did include all those costs it wouldn't be nearly a large enough penalty. The penalty should be multiplied by the chance of the accident happening and them getting punished.

For similar reasons, doctor's malpractice insurance should be illegal. It completely removes the motivation for them to be careful, and they definitely need more motivation as evidenced by the high rate of surgical instruments left inside people, lack of hand washing, wrong-side surgeries, etc. etc. tons of mistakes that are just sloppiness.


10-28-07

I think it would be faster for me to download the CD's I already own via torrents than to actually rip them. The rip doesn't take that long but all the getting it in and out of the case takes forever. And fucking CD ROM drive design is retarded. For a brief period audio hardware was making top loading CD players which is so so much better, these fucking flimsy slow trays that slide in and out are awful. I know, I know, they do it so it can be stacked in a rack, but that's retarded, nobody at home has a real rack, and you always have one thing on top, the thing on top can be the top-loading CD player, you just lift the lid and swap the CD's, so much better.


10-28-07

AHAHAHAHA. I downloaded this "Atmosphere Deluxe" product to create background noise at night while we sleep. I set it up to play some ocean loop last night and went to sleep. It suddenly stopped playing around 5 AM, and I come over to look at the computer and it's got a critical out of memory failure. The damn thing has a memory leak and used up my 2G of RAM. Since I have no virtual memory it crashed the app, which probably just starts grinding disk on most people's machines. LOLOLOLO


10-25-07

JungleDisk is this storage service based on the Amazon Swarm (which is a totally awesome thing). The pricing is okay for like a small crucial data backup, but you could just burn CD's with that. The pricing is pretty awful if you want a full backup, 100G would be $15/month so you can easily just buy a hard drive instead. For small amounts of backups you can just use your gmail account. I guess Google is launching this GDrive / Google Storage thing but the prices for that are even more retarded than Amazon. The only application I can see is if you travel a lot and for some reason can't carry a hard drive around with you, perhaps because you're a secret agent.


10-22-07

"shelled" (the adjective, not the verb) is a totally ruined word. Some people use it to mean "shell removed", others use it to mean "with shell on". You can't tell which they mean until they use "deshelled" (indicating that shelled = shell on) or "unshelled" (indicating that shelled = shell removed). Because of this I recommend using "shell-on" and "shell-off" instead.

For example this page at VA Peanuts uses the word "shelled" to mean "shell-removed" but if you click on the link for the in-shell peanuts, their text here uses "shelled" to mean "with shell".


10-20-07

I've got a new trading strategy that I'm pretty excited about. The market goes through these retarded panic selloffs that make no sense where people sell mutual funds that have various stocks. Some of those stocks do indeed deserve to fall, because the bad news affected them or they were previously overvalued in bubble sectors, but some of them don't. Some of the stocks that fall are just solid basic companies that weren't involved in the crazed bubble or the bad news and they're just falling because people are in a panicked sell-off mode. Recently there have been quite a few 2% drops in single days which gives you a great opportunity to buy into things at a discount. If I had some real guts I'd do some kind of leveraged bet thing that could return a lot, but I don't really know about all that junk, so I just use it as a chance to buy into things that I've thought were solid.


10-20-07

Christ fucking people right outside my window at 4 AM blabbing away and stomping around in high heels. God damn girls are fucking awful with their clompy shoes and their high voices and their "oh my god"'s. I love having a window but I hate that people can see me. I want a window out on nature, not the fucking neighbors and random people walking by who always have to fucking look back at me.


10-19-07

One of the wonderful things about SF is how many cool little secret places there are all over that even most locals don't know about. There are just so many, I keep discovering them at a high frequency. All over the Mission there are of course amazing murals and graffitti works, some huge panoramas across buildings, alleys of many peoples' work, and they're in strange hidden places where I keep finding new ones.

Today I found the Douglass Playground. I was just looking for a little grass to run on (which I still haven't found), but instead found this deserted neighborhood park with dense trees and a really cool sketchy trail that goes up the steep hill to some amazing view spots.

A few days ago it was Cayuga Park. It's a little park down on Alemany in the southern mission, and it's full of these bizarre sculptures and tree-house like things all made of wood and left out to age.


10-19-07

On change :

The average amount of change you get from a transaction is 2 pennies, 0.4 nickels, 0.8 dimes, and 1.5 quarters. The average value of change from a transaction is 49.5 cents, the average number of coins is 4.7 The ratios are 42.55% pennies, 8.5% nickels, 17% dimes, and 31.9% quarters.

The weights of the coins in order are 2.500 g , 5.000 g , 2.268 g , 5.670 g . The weight of an average coin transaction is 17.3144 g. 1 lb is 453.6 grams.

The value of 1 lb of random change is $12.97 ; if like me you generally remove your quarters from the random change, the value of 1 lb of random change without quarters is $6.17 ; in practice it's even slightly lower because so often you're paying a $.99 or $.95 price which gives you the worst coins by weight, the nickel and the penny.


10-19-07

Confirmation hearings are so pointless. The congress has absolutely zero ability to determine if the person would do a good job. They would do better to treat it like a job interview, get experts to ask them technical questions, get references from previous employers, etc. The person undergoing the hearing can pretty easily tell what they're supposed to say and they just say that. Many just lie their way straight through it (like pretty much every supreme court justice), and there's no consequences at all. The only thing the confirmation does determine is that the person has the tiny amount of political intelligence to be able to get through the hearing, but even morons like Gonzalez were able to pass that low bar.


10-18-07

Little news story about Richard Lee . This is sort of interesting for everything it doesn't say. Richard Lee cashed for $2.8M at the 2006 WSOP. He was in no way a poker player, never has been, and is still not really a serious poker player. What he was was a huge illegal bookmaker. Reportedly one of Texas' biggest bookmakers. His net worth from bookmaking is estimated at at least $25M. His home was raided in 2006 shortly after the WSOP after a long investigation into his doings and $3M in cash was found at his home. Lee claimed he was never a bookmaker and the cash was his winnings from the WSOP. This is highly dubious, since a businessman like him surely would've wired the winnings somewhere and invested them, not just held onto cash. What is likely is the cash was his supply for paying out sports bets, or betting profits that he hadn't yet managed to launder. The prosecutor winds up doing a deal where the government keeps $2.5M of what they seized and Lee goes free and keeps the vast majority of his illegal profits.

This struck me as a nice example of how our legal system treats white collar criminals. If they'd found a few ounces of drugs he'd be in jail. Instead he loses maybe 10% of his profit; I suppose he'll have to stop bookmaking, though he could probably start right back up in a year or two if he buys a few restaurants for laundry.


10-16-07

Food trends that need to stop now :

Deconstructing. There's a reason why all these classic dishes are "constructed". When you put various ingredients together you create a composed bite which is balanced, the flavors meld, that's what cooking is all about. The real truth is that "deconstructing" is easier for the "fancy" restaurant line-cooking style where they can pre-do a bunch of work and then toss things together on a plate at the end. Deconstructed food is sort of like a minimalist modern art painting - it's a brain-stimulating thing to see once in your life, to make you think about the form, but you ONLY NEED TO SEE IT ONCE.

"Surprising" accent flavors. Chili in chocolate. Lavender in oatmeal. Ginger in hamburger. Yes, yes, it's very surprising and amusing that these strange accents taste okay in places we might not expect. OKAY NOW STOP IT. When I get chocolate, I want a rich deep chocolate taste. If you can do something clever with your cooking to enhance the chocolate experience, that's great, but that takes skill and lots of practice and most people don't do it. Just randomly tossing in green tea or hibiscus or whatever flavor of the month is not well crafted food. Maybe back in like 1970 somebody made a trio of creme brulee's each with a surprising accent flavor and that was cool, but IT'S OVER. Too often this is just a way of taking a poor dish and punching it up, used by chefs who want to make something "gourmet" but are unable to improve the basic quality and taste of the dish.

Other retarded food trends are the super high vertical stack (hello, it looks silly and it just falls apart when I try to eat), the sauce paintings on the plate (meh, this isn't bad, but it's just not hip), foam, the seared scallop (the trend that will not die), and the deluxe versions of ordinary foods like burgers and grilled cheese.


10-16-07

Lately any time I decide to do something, as soon as I start doing it I think "WTF is the point" and then I don't do it. I was going to paint the lugs on my sweet old road bike, and started to look into what kind of paint and such, and then went "WTF is the point" and stopped.

I'm in the middle of this giant endeavor to rip all my CDs and then get rid of them. I've done a few hundred and I'm up to "C" and I'm starting to think "WTF am I doing this for". It would be nice to just not have all these fucking things to lug around, but then I have to get some kind of iPod adapter thing for my car and spend a lot of time loading songs on my iPod and all that garbage waste of time. It's just busy work.

I still want to write a nice auto-DJ app. It would scan through your whole music library and analyze all your songs (which would take several days). Analysis would detect the beats and also the "energy level" and "style" of the songs (there are various papers on making estimates of these things with subband spectrum analysis and "timbre" study and so on). Then the user could pick a song to get it started. When that song ended, the autoDJ would randomly pick another song which was close to the original in all 3 attributes, and perhaps beat match and cross fade if the beat structure is clean enough (a lot of rock songs do annoying intros or fade outs that don't match the primary beat, so you wouldn't want to crossfade them). So the autoDJ takes a random walk through your music collection in a way that provides pleasing transitions that stay in the sort of general musical area of the seed song. Anyway, this is like a few weeks work, but WTF is the point?

Addendum : I've found two existing things that are similar to the auto-DJ I described. One is Pandora which appears to be based on a database that's manually marked up by human listeners. The other is MusicIP which has a free Mixer app you can download. They seem to actually do an automatic content-based identification of song "mood". It appears to me that they don't actually run it on your client, but rather identify your songs and look it up in their online database. In my experience there are a lot of problems with MusicIP. It's just not nearly good enough to actually let it just play. It is, however, kind of a fun tool to browse your music collection if it's way too big and you haven't even listened to half of what you have.


10-15-07

I guess I'm finally gonna go ahead and sell my Prelude. Man I love that car. Yeah the power really sucks, and it's too back heavy for a front wheel drive, so even if you souped it up it would just spin the tires, and yeah it's really too small for me inside, but man it just FEELS good to drive, so responsive, no latency, it's low so it feels way faster than it really is, and it's got these weird impact moments. When the VTEC kicks in it just feels good, even though it's still really not fast, you feel the difference. When you go around a corner and accelerate through it and the ATTS kicks in to whip the wheels through the curve it just feels great. You just feel so in control. Of course that's largely an illusion, which is why I crashed it once or twice. Anyway, there's no reason for me to have it, it just doesn't make sense. The sick thing is that rent is so fucking totally out of hand outrageous that selling the car for $10k only makes me like 6 months of rent. The first car I bought cost $1600 which is less than one month of rent. WTF. Of course the only thing more outrageous than the rent here is the equivalent mortgage if I actually bought a place like this. California is slumping slightly but we're still in the insane situation where mortgage is 3-4X rent, which is even more insanely out of whack than the super high rents.

In her honor I'll post a few photos of when my baby was happy, roaming the curvy back roads : Nacimiento-Fergusson or Figueroa Mountain


10-14-07

"Inland Empire" is a steaming pile of garbage and a very good barometer for detecting movie critics that won't knock the masters and just praise things they don't understand because they think they should. I'm a big fan in general of Lynch and his stream-of-consciousness style movies and the idea of literally getting lost in the movie, but this is just pure self-indulgence completely gone off the rails. Obviously "Blue Velvet" is his masterpiece, it brings his strangeness and style of metaphoric cinematic painting into a real world that we can believe is just under the surface, either in existence or in people's minds. Strangely, I really liked "Lost Highway", which most critics seem to think is inferior to "Inland Empire". If you compare the reviews of the two films it seems to show a retarded lack of logic; Lost Highway is widely criticized for "coming off the rails and making no sense and failing to connect the two stories at the end", while "Inland" is praised for the way you just get lost in the nonsense. To me that reflects a lack of subtlety in the critics who don't want to actually have to watch a movie and think about it. They want to know exactly what they're getting into from the beginning so they can compare it to their expectations. "Inland" to me doesn't work largely because it is just a pure stream of nonsense and you can never really get into. "Lost Highway" really does work because at first you think it's just a normal movie, albeit with some Lynch strangeness, but you try to watch it as a murder/mystery/drama. Then it makes the jump and you try to figure out what's happening, then you settle in to the second part and it seems like a normal movie again, and then the wrap up really leaves you thinking and wondering if you can figure it out or not. I still wonder about what the movie is supposed to mean and if you're supposed to be able to figure it out. In contrast, with "Inland" you very rapidly give up on trying to figure it out because it's just nonsense, you never mentally get to sink into that state where you don't know if you're in fantasy or reality, you're just always in fantasy, which drastically weakens the effect. I also feel like artistically, "Lost Highway" creates a more coherent and powerful mood through the lighting, the music, the cinematography, everything comes together to create this eerie, heavy atmosphere, like a humid southern day, so still it's spooky. On the other hand, "Inland Empire" does have a gorgeous pallet of really rich color and texture, and it does create some really sort of unnerving scary imagery (I watched it alone, late at night, in the dark, which is the only way to see it), but the impression is not sustained, it jumps into these ridiculous dance numbers, semi-normal scenes in the real world, and the mix diffuses the impact.

Oh, and the stupid digital video in "Inland Empire" is really gross awful. It's got tons of that nasty banding that happens when you shoot DV in low light. I don't know if that's just because of the crappy CCD response, or if it's actually the 8 bits of intensity revealing themselves. 8 bits really sucks, especially when you take dark stuff and blow up the contrast and the brightness. Human intensity perception is relative, so the difference between 0, 1, and 2 on an 8-bit image is immense. Now of course film also sucks bad in low light, but it is better, and even when the film shows its limitations, it does it in a pleasing organic semi-random way, rather than the chunky blocky banding that you get from DV. You can just compare the low light scenes of real film in "Days of Heaven" to the modern DV low light stuff to see what we're losing. It's also possible that they fucked it up in processing. I was semi-shocked to find that the classic Avid systems work in 8 bit, and they save intermediate processing to disk in that format, so if you do something like run through a bunch of frames and play with contrast, then run back through and undo it, you can totally destroy your image quality. I believe the newer high end Avids are now 16-bit which sort of makes this okay, but in general in the little exposure I've had to film I've seen a lack of understanding of digital image quality and how to process frames; there's sort of a culture of "if I do this step and it looks good on the monitor it must be right" without thinking about what's happening to the digital value registers and the information you might be losing permanently. Fortunately I believe the scientists have finally gotten the upper hand and we will eventually have full HDR video and editting pathways standard.


10-14-07

Good ideas we've had recently :

Checkers drinking game. Lay out a checker board, but the pieces are shot glasses. One side full of whiskey, the other side vodka (or any two alcohols of different color so you can tell the pieces as usual). Play checkers, and when you jump a piece, you take the opponent's shot. This game is so much better than your normal drinking games in that you drink regularly, it's actually a fun game, and the person who's winning has to drink more which evens out the game.

Indian burrito. Why doesn't this exist? Just take a nice curry, combine with basmati rice and wrap it up in naan bread like a burrito. So delicious and great to-go food. Much much better than the actual Indian to-go foods like samosas which are foul pastey starchy fried heaviness. BTW there a few to-go "hand pie" places in San Francisco which revises the old English tradition of the "pasty" (pronounced pahsty); unfortunatley all the current ones are just not very good so that delicious portable food is not really making a strong comeback yet. (update : I've now learned that Indian Pizza is made at a few places around SF, will have to try that, but isn't Indian food like always pizza? I mean you scoop up some meat and sauce on a piece of bread, that's pizza. Of course that's how the real Burrito was invented as well...)


10-14-07

Went for another little hike. The Peninsula here has got to be one of the most blessed places on Earth. Perfect weather (on the east side of the ridge), none of the horrible bugs that plague most of the US, great roads for cycling, tons and tons of open space preserves and hiking, old growth redwoods, valleys and peaks, views, etc. Unfortunately it's full of dot commers and other insufferable self-righteous rich people.

We saw this strange mass of ladybugs. They were all piled on top of each other; it reminded me of the monarch butterflies at Pismo that land on each other in the eucalyptus. I put a photo on my Flickr . I read up a bit on Ladybugs; apparently they do some weird things and I'm not quite sure what they were doing there. They do migrate seasonally chasing an ideal temperature range. The masses of ladybugs in the central valley will migrate up into the high Sierra Nevada, and then come back again. They also fly in this really weird way where they constantly are climbing while flying under power, and then they get too high and go into a coma and free fall until they get back down to a lower altitude where they wake up and repeat the oscillation. Very strange.


10-13-07

The US economy sort of looks good if you don't think about it. After all, the stock market has grown by 15% per year on average for the last 5 years. On the other hand, that is way behind average international growth in that time. Measured in any currency except the dollar, it hasn't grown at all. Even with that growth, the actual median income has stagnated or perhaps fallen. That's also a period immediately following a market crash which should normally be a period of growth. We've also had historically low interest rates and a huge tax cut and deficit spending spree which should've stimulated the market more. The government reports that we keep adding jobs, but those additions have been way behind maintenance rates. We have nominally low unemployment, but that's partly because the number of people who are not looking for jobs is at an all time high percentage.


10-11-07

TreePie is sort of okay for viewing disk usage, but really a linear chart makes so much more sense than the silly pie thing. Still, it looks like those goofy GUIs that they always have in movies which has a certain absurdism appeal.

I found this thing a while ago about the Alex Singer bike shop. Those old bikes have so many gorgeous little hand-worked touches.


10-11-07

Well, I'm disgusted by the shitty service NAD has given me for my amplifier. Not only that but they provide zero information that could be used to repair it, they sell the repair manual for $100. Supposedly it's an easy repair but I've never done anything like that so I would need good manuals. Old stereo amps like mine have depreciated horrifically, to where $1000 amps now sell for $50 on eBay. At the same time electronics repair shops are a dying species, and the costs are shooting way up. The NAD-approved repair shops want around $300 for a repair which is outrageous. The local non-english speaking ghetto shop wants $100 but god knows what those guys will do. SIGH. I guess the most +EV move is to throw it in the trash and buy a replacement on eBay.


10-08-07

In the real battle of Good and Evil, the only advantage of Good is if they can win the support of the populace, if the populace can see the truth, but that is no gaurantee. Evil always has the huge advantage that they can use the tools of evil to accomplish their goals - lying, cheating, stealing, killing. In the end, evil always wins. In our world they usually win by changing what is considered acceptable or legal, or by changing what is "admirable" or "fair".


10-08-07

Jet Audio is pretty rad. I don't really like those all-in-one kind of apps with fancy looking GUIs but it does a lot and it's not too intrusive. The alternatives are all pretty rotten (iTunes, Nero, WinAmp). Why do media apps all have to have these awful "looks like a stereo" custom GUIs ?

I'm depressed today, maybe partly because I'm in horrible physical pain. Life is a fucking dreary effort, some days are so hard to get through. It really doesn't matter what I do with myself long term, I'm just a miserable fuck of a human being, I'm going to be unhappy and bring unhappiness with me wherever I go.

The NFL has gotten itself in a sucky state. Pretty much no game matters until the AFC Championship game when the Colts and Pats meet, and then the Superbowl won't matter either (not that it has for years).


10-08-07

Crazy upsets in the Rugby World Cup this weekend. Rugby Dump is the best sports video clip aggregator of any sport I've ever seen.

I see my boys Gabriel & Dresden are doing a Halloween show. Ooooo. Being a DJ would be pretty fun, you get to travel the world just going to different party spots, you get paid to do very little and be out at the club, and you're a semi-celebrity in the club scene which has its advantages.


10-07-07

We got some live New Zealand Green Mussels at Sun Fat; they're bigger than your regular mussel, sweeter and more tender. You can eat them raw if you want, but I steamed them and just undercooked them a tiny bit so they were rare. Sun Fat totally rocks my world. It's like the best seafood I've ever gotten anywhere, lots of variety, spanking fresh, great quick service, and it's CHEAP! It hasn't even been invaded by yuppies yet, probably because the parking in the area sucks, so most of the clientele are the local hispanic working people. It just makes me so happy that there is this shop selling some of the freshest fish in the city to the local minimum wage families.


10-07-07

A.O. Scott's review of "Knocked Up" makes it sound amazing. Maybe Netflix made a mistake and sent me the wrong movie? The piece of crap that I saw was a mix of two of the worst genres in Hollywood - the cheesy saccharine "romantic comedy" and the juvenile stoner comedy. The result is neither funny nor sweet, and is certainly not "honest". This is hardly an original tale or an unlikely route to love; in fact, it's a recasting of classic 18th century cheese, where a sweet girl and an ogreish man are forced into a relationship and discover that they love each other. Mr. Scott is indeed correct that this movie does "capture our moment". It captures the thievery of classic stories, the fear of Hollywood to do anything controversial or realistic, the trend of unrealistically pairing super hot girls and dorky guys which is so standard these days, and comedy that's so watered down and sanitized that it loses all its punch.

On the other hand "Flight of the Conchords" is brilliant. I don't even like the songs all that much (I'm not a fan of humor in musical form), but the two guys are hillarious, even just standing casting sideways eyes at each other going, "mmm, mhmm, yeh, yesss".


10-06-07

The biscotti recipe at Joy of Baking let me down, but Cooking for Engineers came through. I added some ground fennel seeds which gives that nice little anise flavor. When you make the biscotti yourself you get the nice treat of sampling some of the cookies after the first bake when they're still soft in the middle; they're very nice warm out of the oven like that. I actually like my biscotti a tiny bit nontraditional, I prefer them a bit crispy as opposed to just hard, which I think could be acheived by adding a tiny bit of butter to that recipe, maybe 1 tbsp of butter next time.

Saw this "chef" on PBS today absolutely ruining the most beautiful rib eye I've ever seen; it was from Lobel's in New York which has this unreal dark old dry aged beef. Looks like the going price for good beef now is around $40/pound or more. LOL ? It's certainly true that people are better off than ever they were in the past, but at the same time there are these very simple good things, like clothing that's tailored and hand-made specifically for you, or grass fed organic meat, or real fresh eggs - things like that which everybody had in the past when they were cripplingly poor are now so expensive that many people in industrialized societies have them not ONCE in their lives.


10-06-07

I loved the "Dark is Rising" books when I was a kid. I read them in like 6th grade or so, which is about the right age for them. Part of the charm was the multiple levels of anachronism for an American reader in the 90's. The series is one of the pioneering modern works of what became a whole genre of fantasy novels set in the current-day real world, starring children, but in an alternate real world where all the old legends of Merlin and magic and fairies and such is all true. Anyway, part of what made it so cool to me was that the "current day" was itself so unfamiliar, I was enchanted by the charm of 1960's Britain. I was super into the Arthurian legends at the time and the idea of the "once and future king", so all the allusions to that were exciting, and to a 6th grade mind the story revealed itself slowly and with great surprises. It has a good deal of subtlety and believability that is lost in most modern children's fantasy. You could believe that the struggle of Light and Dark could be going on right now in our very own world, and you might not even know it unless you knew the right signs to look for, and that struggle has been going on in the British Isles all through the past, from the time of Faeries when Celts and Picts battled, until the Romans and later Normans swept in and the magic went into hiding, but never completely left.

Anyway, this new movie "The Seeker" seems to have completely removed everything that was charming about the books. It's been moved to the present in America, which totally ruins the charming Britishisms as well as the whole connection to the past and the Arthurian tale. Oh well, even if it was rendered perfectly it wouldn't have been popular and wouldn't be watchable by me anyway, it's one of those things you have to see as a kid, and kids like that are no more.


10-05-07

Daniel Bouloud is such a hack. I dunno if he was a legitimate chef at some point, but at this point he has fallen into the cadre of big-name chefs who have mastered the art of conning rich people with really boring overpriced food and celebrity names. This is a whole market segment, largely driven out of New York, but it's also big in Vegas. These guys make food for the Wall Street types, for people on expense accounts, but also for retarded Midwestern tourists who want to blow a paycheck at the fancy place they read about, or for Long Island prom-nights. The target demo are people who really don't like good food, or at least don't like anything terribly interesting, and want something that they can brag about to others and say it's "the best", whether it's the "best steak" or the "best burger" or whatever. The food is generally ostentatious, sort of like a McMansion - it's got lots of rich sauces, truffles, caviar, foie gras, heavy fancy ingredients that make it "amazing". It's one of those amazing Emperor's New Clothes situations, sort of like our current president, where I can't believe that these guys get away with it; they just do it right in front of everyone so obvio