08-30-11 - cb's guide to using the Comcast self-install

Comcast now offers self-install for cable modem, which is awesome. Unfortunately, their suggested process is not awesome. My guide :

1. Call in (or use the online live chat) to sign up for your new service. They will tell you to go to your local comcast store and buy a self-install kit. Don't. They will tell you to call in to tech support to speak to someone when you do the self-install. Don't.

2. Just plug in your cable modem, router, and computer.

3. Open a web browser. Any connection you try to make should automatically be showing the Comcast self-install page.

4. Click through various obvious prompts until it says "Activating... (please wait 10 minutes)". Wait for a long time. For me, this page never moved on, so if that happens to you proceed to the next step :

5. Close the browser and re-open it. You should get a prompt about "resume activation in progress". Select "create a new login" and fill in the blanks.

6. You will now to get a page that says "continue to download the Comcast desktop package" ; there's no option to not do it. Go ahead and click continue and you will get a download popup window with the "Run , Download , Cancel" options. Hit Download or Cancel (not Run!!), and then just don't install it. This software is nasty malware that tries to install a toolbar and change your home page and all that shit.

7. Close the browser and open it again - you should now be live on the net.

08-30-11 - Big Pile of Junk

I dunno why I thought a home you buy would be clean; of course not, it's not required in the contract so only a sucker like me would do it (cleaning).

This is what we (or rather, our employees) pulled out of the house :

There was some crazy junk up in the attic and garage from the 40's / 50's. Lots of old metal bits that looked like turbine parts or something. I should've taken more photos but I was in a crazed rush with all the shit I was trying to get done before move-in.

Another thing that's obvious that I didn't realize is that between the inspection and key exchange, many sellers badly neglect the house. No yard maintenance, it might just sit vacant and dirty; sometimes they even actually trash it. It seems to me that a last minute walk-through before signing the closing papers would be a good idea, but nobody does that.

Anyway, paint is up, house is clean, lots of little shit left to do still, but I think the crazed part is over. I intentionally bought a house in very good shape to avoid living in a "fixer upper", but there's still just so much little shit to do.

Of course a lot of the problem is that I find myself succumbing to "home improver's disease". I find my eyes just scanning the room, and when they alight on something that isn't right the thought "I should fix that" pops into my head. All that little shit that you would just ignore in a rental like "those cabinet pulls are really ugly" or "that toilet paper roll holder is kind of broken"; my eyes won't just scan over it and keep moving, they get stuck, like they have friction and just catch up on it and my brain mentally sticks it on the todo list. This is a real disease that I have to resist.

A home is a bit like game development in that the todo list is essentially infinite. For games I've always liked to categorize todos into three groups : 1. must do , 2. would really like, and 3. wish list. You work on tasks in strict priority order generally, first all #1's , then only do #2's when there are no #1's. When new tasks come up you do an initial categorization, but you have to be flexible and move them up and down the list over time as things change (mainly you move them down the list as the #1's get too numerous).

The reality of game development is that you basically never get to any of the #3's, so in fact #3 is just a way of writing down something that you won't do (though it could move up the list under later scrutiny). And in fact you won't do most of the #2's either.


08-23-11 - The Locker Room

The locker room is the most terrifying place for the awkward male. I'm not talking about people who are scared of showing their penis, that's a very ordinary and easy and boring fear. I'm talking about the social awkwardness of it.

The big problem is the two archetypes of locker room monster :

There's the "never nudes". These guys shower in their bathing suit, then when they have to change, they huddle into a little ball in a corner and quickly slip one thing off and another on (or use a towel to cover up even then). They're tense and nerdy and you don't want to be like them.

Then there's the way-too-comfortable guys that walk around totally naked for way longer than is necessary to do their business of changing. The worst of these is the old closet gay guys. They're usually 60+ , have a giant white bush that thank god has overgrown whatever cock they once had, so that they now just have an androgynous mound of hair (and yes, I have looked at old man bush, you can't really avoid it when they come up to you and talk to you when you're sitting down and they're standing completely naked; okay old man, you got me to look at your bush, now go away).

So you have to try to straddle the line between too much showing and too little showing, which creates the painful awkwardness. The ideal man should not be afraid of anyone seeing his naked body, but he also shouldn't inflict it on those who don't want to see it, nor should he make himself the eye candy of perverted old locker room prowlers.

Shower? Definitely bathing suit off. On is way too anal. But mostly facing the shower head. Occasionally turn around to face the room just to show that it's no big deal. Only the absolute minimum of penis cleaning. But don't avoid touching it altogether either.

The walk to the locker is a difficult moment. To wrap the towel or not? Less than twenty feet away - no wrap. Twenty feet or more - wrap.

Dressing - reasonably quick to get the underwear on, but not a frantic dash. Don't stand in a corner, but also don't face the room.

08-23-11 - Painting

People who paint their house themselves are making a mistake. When you count the materials, the tools/equipment, all the time to buy things and learn how to do it (*), and then do it, it's clearly a huge net loss even if you make almost $0 per hour (by almost $0 I mean less than $50). But most of all, you do a shitty job. (* = most people don't actually spend much time learning how to do it, they think they can just slap some paint up however). When shopping for houses, I would say a good 90% had some DIY painting and it was almost always epically shitty. Streaky with obvious brush marks, too thin with the previous color showing through, not primed right and peeling, or perhaps most commonly, not prepped right, so they just painted right over nails and tape and bad splotchy patch jobs without prepping the walls at all. When you depreciate the value for how shitty the job is, the DIY paint job is worth about as much as a kick in the nuts.

In general, the whole Home Depot / DIY movement is a real fucking tragedy. Not just for the peace and quiet of neighborhoods, nor just for the quality of dinner party conversation, but most of all for the innocent houses which have your shitty amateur work inflicted on them.

I've been using day labor painters, but I don't particularly recommend it. I think it was good for me, because I got a lot of really nasty clean-up work done as part of the paint prep (which normal pro painters would refuse to do), but if it was just for the painting, not so great. The main problem is that you have to be there to supervise all the time, which is a massive time cost.

In general, I hate dealing with anyone who is paid hourly. I like to pay by the job, and if you take longer, or if you fuck it up and have to redo part of it, then you should get paid *less* for inconveneniencing me, not more!

Anyway, some random painting tips to self even though I swear not to do this ever again :

1. Buy way more of everything than you think you need. Way more. I mean *way* more. You think you need 2 rolls of blue tape, buy 20. If you don't use them, you can just return them. If you don't you will wind up having to run to the store to buy more of something, which is a huge time waster. Buy lots of brushes, tools, equipment, all kinds of shit that you think you probably won't need, just to have it on hand in case you do.

2. Cover all the floors. I know you think you are saving time by only covering the floors near the walls you are painting, but you will get paint in places you don't expect, and then spend way more time cleaning it up than if you just covered all the floors.

3. When buying more of a certain paint, make sure you check the code # on the can. Don't just buy more "Brand X latex white" , because there might actually be 4 variants of that which are not clearly labelled as being different. Every paint can has a code to uniquely identify it.

4. IMO avoid oil-based paints and primers for interiors. The thickness/durability benefits are not really worth the cleanup pain vs. modern good water/latex based paints. (painting a boat or some such shit might be a different story)

5. Foam brushes are good for tiny touch-up jobs. For painting edges of walls, or anything where you are applying a decent amount of paint, a good quality bristle is the way to go.

In general the mistakes are so predictable and obvious and yet you will almost certainly make them : eg. time saved by doing less prep costs you more time in the end, money spent on cheap equipment is lost back in wasted time, etc.

Also in general, I think it's very fucked up that so many home owners take all the time to learn to do this shit and DIY it; WTF; isn't this what civilization and capitalism is for? specialization for increased efficiency? where did it go wrong?


08-22-11 - Rambling

Usually the most annoying thing about dogs at the park is actually their owners. The dog is behaving just fine, but the owner is going on and on in a string of blather like "come here choo choo , sit choo choo, good boy, isn't he so cute? get your stick choo choo" , I want to walk up to the owner and go "sit human, quiet human, good human".

I'm generally anti-"experientalist" (that is, the school of thought that you can't have a valid opinion on something without experiencing it first hand) but I'm pretty sure that all the anti-immigration nut-jobs have never actually talked to an immigrant in a serious way.

I fucking hate call centers that automatically route me to a regional call center based on my phone's area code. They never warn you that they are doing so, or give you a chance to opt out of it. Or god forbid, look up my phone number's account info and fucking see my address. Oh no, I have to be like 10 minutes into describing my problem to the fucking wrong state guy and he's like "oh, you're in WA, let me transfer you..." no!!

Also, fuck you call center people who can see my phone number but ask me for it anyway. I've only discovered this because I like to give people my Google Voice number, but I'm calling from my cell phone, so the caller Id shows something different. They say "what's your phone number?" and I say "XXX" and they say "I see you're calling from YYY" and I'm like WTF, first of all, yeah, so what, I told you XXX just fucking write it down you monkey, don't question me, and second of all, you could've just started with, "can I use the number you're calling from?" that would save the average person a lot of time.

Also, if you are fucking confused by the fact that my phone area code is not a Seattle area code, then I have some "it's so hard to program a VCR" jokes that you might like.

I enjoyed the Stieg Larsson books, but I was disappointed by the cliff they went off after the first one. I thought the first was a good beach page-turner that was sort of remarkable for how simple it was, most of the book is about researching in files of paper, and it's very sort of compact and old fashioned, despite how he constantly says it's "not a locked room mystery" , of course it is sort of. But then after the first book it becomes ridiculous super heroes and super villians and stupid action, still a good page turner, but without the quiet charm.

I enjoyed "A small death in Lisbon", but I was a bit disturbed by just how much relish the author seems to take in his characters more prurient behavior. It felt a bit like watching someone masturbate to scat porn. (hmm, not that ever watching someone masturbate is a good thing... my analogy is a bit off...)

"The Shadow Line" is like so fucking great right up until the big reveal at the end. I was so excited to see a cop show that's actually about a big conspiracy, some intrigue. God I am sick of the minute fucking clinical analysis of these boring ass petty crimes that are on all cop shows these days. Give me big government schemes, underworlds, shadowy figures, and skip the fucking CSI pseudo-scientific bullshit. I think the casting is also superb, particularly Rafe Spall as Jay Wratten just absolutely gives me the creeps; actually everyone in it is awesome except for the females who are pretty uniformly terrible. Anyhoo, it's all going great and then ... WTF ? This is what it's all about? Are you fucking kidding me? So disappointing.

BTW quick modern BBC cliche cheat sheet :

Black guy with white female.

Females who act super cold/professional/masculine/emotionless (but then occasionally turn to mush).

Random/inappropriate yelling in beaurocratic meetings.

I'm not sure if the yelling started with Waking the Dead, or maybe Gordon Ramsay? I dunno, but Brits really like to watch a man lose his temper. Grow a fucking sack, Britain. Trevor Eve (or Chiwetel Ejiofor, or Idris Elba, or whoever you have yelling at you on this hour's show) is not your daddy and he's not going to tell you to straighten up and fly right. Is this your idea of admirable behavior? Who thinks this is a good leader? And it's so outrageously unrealistic. The person receiving the yelling always just sort of sits and takes it with a look on their face that's either like "mmm, saucy" or "well I've really been straightened out".

08-22-11 - Dicks are Rewarded

Sitting out in the lovely warm evening at a restaurant the other day, I beheld this scene :

The outdoor tables are somewhat limitted and obviously desirable. A few people are sort of milling around the hostess in a disorganized line when a table becomes available. One of the guys just walks out of the line and sits down at the table (you're supposed to wait to be seated). His girlfriend doesn't follow because she knows it's wrong and he says "come on, just sit down, we'll tell the hostess we took it".

The point of this story is not what happens next (spoiler : they get the table and the worst consequence to them is some lifted eyebrows). It's that the *worst* possible outcome would be if someone said something and they had to go back in line like everyone else. That makes it only +EV, there's no -EV line. The waiters and hostess are generally too accomodating to say anything, everyone else in line is too much of a pussy, so even the zero-EV line rarely occurs for the violator.

Once in a rare while in these kind of situations I will say something; I was in sort of a vague line at a grocery store the other day and someone cut in front of me and I was like "umm, there is a line" and they got in - but that's just the outcome that they would have gotten if they were not a dick!! it's no penalty, there is only reward for being a dick.

I guess taking 20 items to the 8 item or less line is the simplest example; I have witnessed it many times and never once have I seen any checker or other patron say anything, and even if they did it would just mean waiting in line like a normal person. To really make things right you need to take his groceries and smash them in his face. People would call you "psycho" or something but in reality you're just trying to ensure the probability-weighted cost-benefit of being a dick is negative.

Not exactly the same, but related, I'm very annoyed/jealous by/of people who can be dicks without even being aware of it. They take so much benefit from the world because dicks always win (or at least break even).

The other day I was sitting in the park enjoying another lovely warm evening when some guys started playing football. They were outrageously bad at it, like just throwing long bombs with absolutely no control, running all over the place right through other people. Everyone was giving them the stink eye, but they were just laughing, loving it.

You bastards. When I play sports in the park I am hyper aware of all the people who are annoyed by it, and I'm super careful to carve out a little patch where it's highly unlikely that an errant throw will impinge on someone's peaceful park sitting. And even though I am super careful and considerate about that, I still get stink-eyes from dumb fuckers who decide to sit and read right in the middle of the play field, curse all of you people and your indiscriminate stink-eyes.


08-21-11 - Offroading

As usual the mainstream press is completely moronic about actual offroading. They usually test offroaders on slippery grass or some nonsense and talk about the 4wd traction. Let me tell you what actually matters :

(* I should note up front that I am not talking about "severe" off-roading, like boulder-climbing or some such, which no production car is suited for, I'm talking about un-graded dirt/rock roads and such; I'm also assuming you're not doing something retarded like going off-roading when it's muddy, which is not so much foolish because you might get stuck, but ass-holish because it destroys roads and erodes hillsides)

1. Reliability. By far the most important thing is to have a vehicle that won't break down in the middle of nowhere, where cell phones won't work and AAA won't come. Above all else this is why the Toyota Truck is the greatest off-roader of all time (and the Honda Civic is the #2 off-roader (not really, but the point is that a reliable car with worse capabilities is much better than a very capable car that could crap out at any time)). Shit like old Land Rovers or International Scouts or what have you are actually terrible off roaders due to high probability of crapping out.

2. Comfort. This is one that I never see mentioned, but in fact the limitting factor on most bad roads is just your comfort. Most bad mountain roads are not impassable - in fact you could probably make it in a Honda Civic or some such, but when they are rutted, wash-board, rocky, pot-holed, it will be back-breaking hell and you will have to go 5 mph in a Civic. To realistically be able to go 50 miles on a bad back road, the most important thing is comfort, you need long travel suspension and a very soft ride. (BTW longer travel is almost always better with suspension). This is actually a bit hard to find these days as everything has gotten "sporty". I'm not sure what the great choices are for this, since the retarded car journalist corps doesn't correctly review offroaders for comfort.

3. Clearance. Far more important than 4wd or any such nonsense is clearance. For fording streams, getting over logs, big rocks, the things that will actually stop you - clearance is king. Cars with good 4wd but terrible clearance are not really great offroaders (yes, that means you, subaru).

Traction and power almost never come in to it for real-world offroading. When it does, it's better to have a Honda Civic with a good winch than a 4x4 without one.


08-18-11 - Rainier Watch

"Sunrise" is peaking right now; it looks like this from afar :

It's sunny, the snow is in patches now, the wild flowers are out in force, carpeting the hill sides in blankets of colors, the meadows are covered by the explosion of spring growth that pops out of the frozen earth.

Go right now, go Friday (the weekend up there is a nightmare), by Monday it may be too late. There are some really great scrambles in the Palisades area, best scrambles of my life, technical, fun, great views for rewards, email me if you want details.

(and no, the real mountain doesn't have "autopano" written on it)

A couple of "fuck yous" to the world :

Fuck you park service, who after hiking 4 miles out away from everyone, sticks all the camp sites right on top of each other. Yeah yeah I get why they do it so save your smart-ass-but-not-actually-smart comments.

Fuck you lazy fat tourists who can't be bothered to go more than half a mile from their cars, but do just love to go off trail and stomp around in the delicate alpine meadow with their fat ugly asses in their unnecessary trekking suits.

Fuck you REI for sticking your giant logo on everything so that I stare right at it as I go to sleep and it subliminally burns into my fucking brain. God dammit I want to see nature, not advertising, it's like fucking Times Square out in the woods these days with the brands on everything. And ..

Fuck you REI for making all your shit bright orange or whatever other heinous color. I guess it's intentional so it's easy to see, but it makes a couple of tents by a lake so much more of an eyesore than it needs to be. If your shit was just green and brown the woods would look so much better.

.. oh I can't really do the "fuck yous" justice right now. The world is a beautiful place out there in the wild.


08-15-11 - More finance

I've gotta get off this topic soon because it's a huge distraction and also just very depressing. The sad thing is that for most of us, the most +EV life move is just to close our eyes and say "la la la" and pretend we don't know about any of this.

It's funny that Geithner was sold to us as a government technocrat who wasn't a "financial insider" when nothing could be further from the truth. While it's true he has worked in government, he is deeply connected to Citi and the whole modern bubble. He rose under Summers and Rubin, who are responsible for Gramm�Leach�Bliley that deregulated finance (as well as lots of other deregulations during that time, such as keeping derivatives off book, removing SEC oversight of many institutions and lowering reserve requirements). Geithner was offered the CEO job of Citi but turned it out. Geithner's appointment to the NY Fed was backed by Citi (the NY Fed was amusingly appointed by the banks it was supposed to regulate, it's long been corrupt by design).

Woodward -- Behind the Boom
What�s behind the ICE arrests of 30 after an immigration raid in Ellensburg, WA (Courtesy of NNIR) � El Comite Pro-Reforma M
What's Obama Doing to Your Taxes - Political Hotsheet - CBS News
What Barack Obama Needs to Know About Tim Geithner, the AIG Fiasco and Citigroup The Big Picture
U.S. Says Rendition to Continue, but With More Oversight - NYTimes.com
The Worden Report Pay No Attention to the Banker behind the Curtain
The Worden Report An Institutional Conflict of Interest at the New York Federal Reserve
The Washington Monthly
The Fed And The Treasury Had A Funny Way Of Guilt-Tripping Sheila Bair
The Big Picture 2
The Big Picture 1
TaxVox � Blog Archive � Why Nobody Noticed Obama�s Tax Cuts
Steamy History of the American Economy during the Clinton Administration
Office of U.S. Trustee vs. Harmon - Witness Timothy Geither
Long-Term Capital Management - Wikipedia, the free encyclopedia
How Citigroup Unraveled Under Geithner�s Watch - ProPublica
Goldman Connection at NY Fed Major Conflict of Interest - Seeking Alpha
F.B.I. Giving Agents New Powers in Revised Manual - NYTimes.com
Deportation of illegal immigrants increases under Obama administration
Deficit and Spending Increase Under Obama - WSJ.com
Daily Kos Taxes lowest in 60 years, thanks to Democrats and Obama


08-14-11 - A note on convex hull simplification

I wrote this in email and thought it worth recording.

A while ago I wrote mainly about OBB algorithms but a little note about convex hull simplification

It's a little unclear, so I clarified :

My algorithm is very simple and by no means optimal.

I construct a standard (exact) convex hull, then make a mesh from it. I then run a normal mesh simplifier (see for example Garland Heckbert Quadric Error Metrics) to simplify the CH as if it was a mesh. This can ruin inclusion. I then fix it by taking all the face planes of the simplified mesh and pushing them out past any vert in the original mesh.

Stan's (Melax - Convex Hull Simplification With Containment By Successive Plane Removal) way is similar but better. He uses a BSP engine to create the hull. First he finds a normal convex hull. Then he considers only the planes that make up that hull. The working hull is the volume that is on the "front" side of all planes. He then considers removing planes one by one. When you remove a plane, the cost to remove it is the volume that is added to the hull, which is the volume of the space that is on the back side of that plane but is on the front side of all other planes. You create a heap to do this so that the total cost to simplify is only N log N. This requires good BSP code which I don't have, which is why I used the mesh-simplifier approach.

An alternative in the literature is the "progressive hull" technique. This is basically using PM methods but directly considering the mesh as a hull during simplification instead of fixing it after the fact as I do. Probably a better way is to use a real epsilon-hull finder from the beginning rather than finding the exact hull and then simplifying.

My code is in Galaxy4 / gApp_HullTest which is available here ; You should be able to run "Galaxy4.exe hull" ; Hit the "m" key to see various visualations ; give it a mesh argument if you have one (takes .x, .m , .smf etc.)

BTW to summarize : I don't really recommend my method. It happens to be easy to implement if you have a mesh simplifier lying around. Stan's method is also certainly not optimal but is easy to implement if you have good BSP code lying around (and is better than mine (I suspect)).

The technique I actually prefer is to just use k-dops. k-dops are the convex hull made from the touching planes in a fixed set of k directions. Maybe find the optimal OBB and use that as the axis frame for the k directions. Increase k until you are within the desired error tolerance (or k exceeds the number of faces in the exact hull).

ASIDE : I have some BSP code but I hate it; I hate all floating point geometry code. I love integer geometry code. The problem with integers in BSP's is that clipping creates rational points. Maybe I'll write some BSP routines based on rational Vec3's. The only big problem is that the precision requirement goes up with each clip. So you either need arbitrary precision rationals or you have to truncate the precision at some maximum, and then handle the errors created by that (like the truncated point could move onto the back side of a plane that you said you were in front of). (this is better than the errors in floating points, because at least the truncated point is at a definite well defined location, floating points move around depending on how you look at them, those wiggly bastards) (I'm tempted to say that they're like quantum mechanics in that they change when you measure them, except that they really aren't at all, and that's the type of pseudo-scientific-mumbo-jumbo that pseudo-intellectual fucktards love and I so despise, so no, I won't say it).


08-12-11 - The standard cinit trick

Sometimes I like to write down standard tricks that I believe are common knowledge but are rarely written down.

Say you have some file that does some "cinit" (C++ class constructors called before main) time work. A common example is like a factory that registers itself at cinit time.

The problem is if nobody directly calls anything in that file, it will get dropped by the linker. That is, if all uses are through the factory or function pointers or something like that, the linker doesn't know it gets called that way and so drops the whole thing out.

The standard solution is to put a reference to the file in its header. Something like this :

Example.cpp :

int example_cpp_force = 0;

AT_STARTUP( work I wanted to do );

Example.h :

extern int example_cpp_force;

AT_STARTUP( example_cpp_force = 1 );

where AT_STARTUP is just a helper that puts the code into a class so that it runs at cinit, it looks like this :

#define AT_STARTUP(some_code)   \
namespace { static struct STRING_JOIN(AtStartup_,__LINE__) { \
STRING_JOIN(AtStartup_,__LINE__)() { some_code; } } STRING_JOIN( NUMBERNAME(AtStartup_) , Instance ); };

Now Example.obj will be kept in the link if any file that includes Example.h is kept in the link.

This works so far as I know, but it's not really ideal (for one thing, if Example.h is included a lot, you get a whole mess of little functions doing example_cpp_force = 1 in your cinit). This is one of those dumb little problems that I wish the C standards people would pay more attention to. What we really want is a way within the code file to say "hey never drop this file from link, it has side effects", which you can do in certain compilers but not portably.

08-12-11 - The IMF in America

Quick recap of what the IMF does :

When a third world country gets into bad financial trouble, the IMF jumps in. The purpose is not to help them, it's to force them to accept terms that they never would agree to if they weren't desperate. Once the IMF money arrives, it's not allowed to go to social programs or price supports that would actually help the people in the ailing country, it goes to stabilizing the financial market of that country, and the rules they force you to accept ensure that capital can freely flow out.

The end result is that what the IMF does is ensure that western finance companies are able to get their money out of the ailing countries and recoup at least some of their losses. This is what happened with the Asian collapse, this is what happened with Ireland, etc. And of course the conditions ensure that the finance giants get to play freely in that country in the future.

It occurs to me that this is largely what the US Government has done with the Mortgage Crisis. Basically they are treating the average American as a separate 3rd world country that they don't really care about, and rather than doing something that would directly help the people who have been affected by the crisis, instead they are spending massive amount of money on propping up the financial markets so that the large financiers can get their money out and not take too much of a loss.

Imagine you had $3 trillion to help America out of the housing crisis. You could directly subsidize home owners' losses - buy their house from them at book value and sell it back to them at market value. You could do something in between, take the difference between book and market value and split it into a few pieces, subsidize part, make the home owner eat part, and make the mortgage holder eat part. Or you could directly subsidize the finance companies that hold the bad mortgages - buy the mortgage at book and some day sell it back at market.

Our government chose the last of these options. (there are some programs to do the intermediate option, but they haven't ever gotten off the ground, and even if they did their scale is so miniscule as to be irrelevant, something like $50 billion vs. the $2-3 trillion for the third option)

Obviously the claimed intention of the IMF is to prop up the failing economy to keep it on its feet. But they don't put in any restrictions against capital flight - quite the opposite, they *forbid* the government from stopping capital flight - so the result is highly predictable - the western investors save their own bacon.

The exact same thing has happened with mortgages. The claimed reason for propping up the mortgage market was that it would create confidence and keep the mortgage market working so that people would still be able to buy and sell homes, etc. Of course that hasn't happened, what has happened is that private MBS trading has trickled to near zero, and the banks have used the subsidized market to unwind their holdings and preserve their profits.

08-12-11 - A review of Obama so far

It's amazing to think back to the Obama election and how ecstatic so many people were, and how sad the reality has turned out to be. I think Obama has got to be the most disappointing president of all time. Let's try to run through the score card and remind ourselves of what's happened.

1. Military Policy. No significant de-escalation of American involvement abroad. No significiant cuts of spending on programs which are irrelevant to the modern world (such as large weapons programs). No merging of services to reduce waste. Continued extra-legal prosecution of war, such as assasinations of people in non combat zones.

2. Immigration. One of those sad cynical things that came out of the GWB white house was using 9/11 as an excuse to crank up enforcement of illegal immigration under DHS ; obviously the real motive was always getting them dirty Mexicans out of our country, but it was politically difficult before 9/11 ; so the anti-Mexicans saw a great opportunity to sneak it in as "protecting our borders from terrorists". Unfortunately this has only gotten worse under Obama, including breaking the veil between INS (ICE) and law enforcement; historically law enforcement had an agreement to not enforce immigration because they wanted immigrants to be able to interact with the police on normal legal issues, but that is now gone.

3. Domestic spying. Only continues to get worse. The FBI was recently given new powers to snoop without warrants; ever since 9/11 the FBI has amped up its monitoring of clearly non-terrorist organizations, claiming that all sorts of groups like environmental activists are "domestic terrorists" (hint : corporate property damage is not "terrorism"), and under Obama that just got massively worse, we're basically back to Hoover levels of sneaky FBI that can now monitor anyone they want without probable cause. Obama continues going around FISA. Obama continues to use "state secrets" and national security defences to make unquestionable arrests. Abroad, "Extraordinary rendition" (aka passing the torture buck) continues.

4. Taxes. No indiciation that Obama will get realistic on this or close any loop holes or the sweetheart deals for various special interests (like financiers). The GWB tax cuts seem to be near permanent at this point, except maybe on the very richest bracket. Amusingly, the majority of Republicans believe that Obama has raised taxes (he hasn't - in fact he cut them for the vast majority of Americans).

5. Health Care. This was a small step in the right direction, but completely lacking the teeth to make it actually work (which requires government control of the outrageous costs of the private medical industry). Sadly "Obamacare" is really just another case of what Dems and Reps have been doing for many years now - creating government laws that gaurantee massive profits to private industries, force you to use private services without controlling their costs. (and it looks like this trend will only get worse in the next N years as there is talk of creating publicly-gauranteed private-profit-takers out of the Mortgage Macs, for social security, etc.; this is just the most beloved form of modern "reform")

6. Accountability. Fools thought some of the lawsuits and investigations into the questionable acts of the GWB administration may have gotten some help or at least been allowed to proceed, but they were not. The opacity of the executive branch started by GWB continues and perhaps has only gotten worse.

7. Funding for basic services. This is one of the saddest things to me and something that often gets lost in the shuffle of all the other disasters. The sort of very basic things that I think everyone except real nut jobs agrees that government should be doing are getting cut because they're the easiest things to cut. Obama is doing nothing about the big costs (Medicare & Defense), but is supporting cuts to "Non-defense discretionary spending". That sounds like just beaurocratic waste, but in fact "non-defense discretionary spending" is the meat of what makes government good and useful - it's education, housing, social programs, etc. And it's even worse at the state level. Here in WA we are cutting ferries, buses, homeless programs, mental illness programs, health care for the poor, animal shelters, etc. you name it, it's being slashed severely.


08-11-11 - Inflation - 4

More links :

Recent Decisions of the Federal Open Market Committee A Bridge to Fiscal Sanity (Acknowledging Henry B. Gonzalez and Winston
Quantitative easing - Wikipedia, the free encyclopedia
Fed Quantitative Easing Personal Finance Mastery
US Daily Index � The Billion Prices Project @ MIT
The June GDP deflator in the US Conspiracy theory edition � The visible hand in economics
Sizing Up Sarah - Up and Down Wall Street - Alan Abelson - Barrons.com
Quantitative Easing A Beginner's Guide InvestingAnswers
PIMCO Investment Outlook - Skunked
Money, Credit, Inflation and Deflation
Mish's Global Economic Trend Analysis True Money Supply (TMS) vs. Austrian Money Supply (AMS or M Prime) Update
Michael Pollaro - The Contrarian Take - Forbes 1
Michael Pollaro - The Contrarian Take - Austrian Money Supply
Jesse's Caf� Am�ricain Austrian Economics True Money Supply, Deflation and Inflation
Inflation Update TMS (True Money) Status
Inflation Or Deflation Follow the Money Supply (Guest Post) EconMatters
Inflation Charting the Economy, Part 4 Robert Kientz FINANCIAL SENSE
Guest Post U.S. Dollar Money Supply Is Underreported ZeroHedge
Exploring Inflation Over the Past 10 Years Through Charts - Seeking Alpha
Charting the Course to $7 Gas - J. Kevin Meaders - Mises Daily

Now some random hand waving and incoherent thoughts.

The alternative money supply metrics like TMS or "M1 + deposit currency" show that the money supply has massively increased since the great recession (roughly the same as the fed "BASE" ). Historically TMS tracks inflation very closely. So far it appears not to be. One possible explanation is that we basically continue to be in a recession, which is driving prices down, while also inflating the currency to keep prices stable.

Of course M2 and M3 are still way down due to lack of money multiplier in our recessed economy. In theory if credit picks up again and M3 takes off, the Fed will crank back on the money supply and keep things under control. But I believe there are reasons to be skeptical that the Fed will ever really crack down on the loose monetary policy.

The PIMCO newsletter is surprisingly bleak -

the only way out of the dilemma, absent very large entitlement cuts, is to default in one (or a combination) of four ways: 1) outright via contractual abrogation � surely unthinkable, 2) surreptitiously via accelerating and unexpectedly higher inflation � likely but not significant in its impact, 3) deceptively via a declining dollar� currently taking place right in front of our noses, and 4) stealthily via policy rates and Treasury yields far below historical levels � paying savers less on their money and hoping they won�t complain.

Basically the US has got itself into massive debt; I don't really agree that entitlements are the big problem, certainly not in the short term, but anyhoo. When you're a debtor, inflation is great for you - it makes your debt smaller. We fund the debt by selling treasuries. Our debt is much cheaper to fund if we can offer a very low return on treasuries. So the best option for the US government is clearly to inflate the currency and devalue the dollar (reduces our debt) while claiming that inflation is low (keeps treasury yields low).

In other crackpottery, QE is very strange. My very crude cliff notes :

To inject cash into the economy, the Fed bought treasuries from private holders
this takes out non-cash "paper" and adds to the money supply

The government is in debt; to finance that debt it sells treasuries
this gives the government cash in exchange for paper

So during QE, banks bought bonds from Treasury, then sold them to the Fed

Basically the Fed was just giving cash to Treasury, but passing it through banks so they could take a piece of profit

Oddly the US apparently has a law that prevents the Fed from directly buying Treasuries and thus supporting the government debt; also Bernanke and such claim they are not "printing money to monetize the debt" but really passing the money through the open market doesn't change much other than giving a slice of profit to the banks. Says the Dallas Fed : "For the next eight months, the nation�s central bank will be monetizing the federal debt."

Furthermore there is good evidence that QE largely backfired at injecting money into the economy. The problem is that with the fed funds rate at 0% and Treasuries at 2-2.5% , banks can take out fed funds, buy treasuries, then sell them to the fed under QE. Free money for the banks and the Fed gets to pay for government debt, yay.

This is certainly part of why bond yields are so low; they don't need to return much when cash is free. Apparently Japan has been through all this before. There's evidence that QE schemes basically never work; when the fed funds rate is near zero, all possible profitable investments that can be made already have been made, so why in the world would injecting more liquidity into the market help? The only explanation I can see is to intentionally devalue the currency or cause inflation. (of course as we'll note later, QE was not only a monetary policy, it was also a direct and corrupt subsidy for toxic asset holders)

Side note : the Dallas Fed uses Trimmed Mean PCE instead of Core PCE. If you read the press releases from the Dallas Fed or St. Louis Fed it is encouraging that there are still technocrats in government that are trying to be reasonably honest and do their jobs well. Of course they tend to get squashed by the people in power, but still ...

What is QE really doing? Propping up stock values and other investments (particularly MBS'es). Giving banks free profits. Createing an outflow of money from the US to emerging markets. Sending up commidity prices.

"QE effects on commodity markets have been significant. Between August 2011 and January 2011, commodity prices (as measured by CRB Index) rose by 14%. Oil prices have increased by around 20% and average gasoline prices have increased around 15%. Food prices (as measured by the CRB Food Index) have increased 12%, with some individual foodstuffs rising more sharply."

It's unclear to me how you can defend dumping liquidity into the system when banks were already sitting on massive amounts of liquidity with nothing to do with it other than hold it in the Fed (*) or treasuries. It's like watering a sick plant that's already soaked in water.

* = this is one of the funnier quirks; banks actually hold their large cash balance at the federal reserve, so when they got massive cash injects from QE the main thing that happened was that their balance of cash sitting in the fed went sky high, and the fed pays interest to the banks on that deposit - banks now have excess reserves (cash beyond their reserve requirement) around $1.5 Trillion sitting in the Fed, up from only $2 billion in 2007. If your goal is to get banks to lend more, why do you want to make it more attractive for them to leave cash sitting in reserves? This was yet another change in 2008 as part of the massive experiment of letting the Fed tinker with the economy in unprecedented ways. Some links :

Why pay interest on excess reserves - William J. Polley
macroblog �Why is the Fed Paying Interest on Excess Reserves�
FRB Press Release--Board announces that it will begin to pay interest on depository institutions required and excess reserve
Fed Paying Interest on Reserves A Primer - Real Time Economics - WSJ
Dudley Seeing Interest on Reserves as Tool of Choice Sparks New Fed Debate - Bloomberg

One common thread that I don't understand is why even a tiny bit of deflation is considered such a huge disaster that almost anything will be done to prevent it.

More links :

Yellen Defends QE Is She Right - Seeking Alpha
Satyajit Das Economic Uppers & Downers � naked capitalism
Mish's Global Economic Trend Analysis US Treasury Bull Market Not Over; Record Low Yields; Shades of Japan; Why QE3 Totally
How To Make $4 Trillion Vanish In A Flash Why Another Financial Crash Is Certain � The Oldspeak Journal
FOMC Meeting Participants See QE2 Devaluing the Dollar Global Economic Intersection
fed_all_short_stacked.png (PNG Image, 722x519 pixels)
Fed QE and SPX
Bernanke's Dilemma Hyperinflation and the U.S. Dollar - Seeking Alpha
Flim-Flam Economics � Monty Pelerin's World
BERNANKE IS SATAN � The Burning Platform

I can't imagine any way to justify the Fed purchasing MBS's and other such assets. The role of the Fed is supposed to be monetary policy, not subsidizing bad investments or otherwise interfering in markets. The Fed is not the SEC or Treasury. They just slipped it in as part of "QE" which is supposed to just be increasing the money supply and bought $1.25 B of MBS's without even attempting a fair valuation of them. That's basically an illegal expansion of the TARP program. The amount of toxic MBS that the Fed owns now dwarfs what Treasury holds.

Another odd footnote is the fact that banks are no longer required to mark-to-market MBS's and similar products, so we have no idea what's really on their balance sheets.

Another funny one is that Fannie/Freddie have gone from about 20% of the mortgage market to about 80% since the collapse.

If it is the Fed's role to moderate volatility, then it must also slow growth in over-exuberant times. It has shown no willingness to do so in recent years and I can't imagine that it ever will, given the political corruption and collusion that drives decision making. It's like having a train conductor that stokes the fire when you slow down but refuses to use the brakes when you get going to fast.

More links :

The Mess That Greenspan Made Is all this exit strategy talk warranted
Market Talk � Mark-to-Market
Mark-to-market accounting - Wikipedia, the free encyclopedia
Initial Fed Audit Shows Web of Conflict of Interest FDL News Desk
Hussman Funds - Weekly Market Comment Things I Believe - December 20, 2010
Hussman Funds - Weekly Market Comment The Recklessness of Quantitative Easing - October 18, 2010
AEI Relief from Mark-to-Market Accounting

08-11-11 - Free Internet

I mean "free" in a liberty sense, not a monetary sense.

Recent Seattle Weekly article got me thinking about trying to encrypt and anonymize all my internet access. The whole torrent model is just like fish in a barrel for copyright trolls. You can just hop on the net and get a list of infringers any time you want.

So whatever reason, say you want to be able to work on the net and do as you please without your actions being monitored.

Apparently the major US-based services like FindNot and Anonymizer are not to be trusted (they provide logs to the US government and to subpoenas by the RIAA etc).

Really what you want is something like Tor that takes all your traffic and bounces it around a bunch of other machines and then puts out portions of requests from all over. Currently none of those services seem to be quite ready for prime time; Tor for example kicks you out if you try to do high-bandwidth things like torrents.

Some links :

Web-based DNS Randomness Test DNS-OARC
Tor Project Anonymity Online
SwissVPN - Surf the safer way!
Public IP Swiss VPN - Page 2 - Wilders Security Forums
OneSwarm - Private P2P Data Sharing
I2P - Wikipedia, the free encyclopedia
How To Not Get Sued for File Sharing Electronic Frontier Foundation
Free Anonymous BitTorrent Becomes Reality With BitBlinder TorrentFreak
Chilling Effects Clearinghouse
Anonymous P2P - Wikipedia, the free encyclopedia

In general I'm not sure if dark-nets like Tor can survive. I don't trust the internet providers or the US government to allow you to have that freedom. I suspect that if they ever caught on en masse they would be blocked by the standard extra-judicial mechanisms that they used to shut down online poker and funding WikiLeaks (where the government nicely asks the service provider to block that traffic and the provider complies, even though it's not clear the law is on their side).

The only way to get past that (and into places like china) is to hide encrypted packets inside benign packets. That may be fine for little text messages, but you can never get high bandwidth that way.


08-09-11 - Threading Links

For reference, some of the links I consulted for the recent postings :

[concurrency-interest] fast semaphore
[C++] Chris M Thomasson - Pastebin.com
[C++] Chris M Thomasson - Pastebin.com -rwmutex eventcount
[C++] Chris M Thomasson - Pastebin.com - wsdequeue
[C++] Chris M Thomasson - Pastebin.com - semaphore and mpmc
[C++] Chris M Thomasson - Pastebin.com - mpsc in relacy
[C++] Chris M Thomasson - Pastebin.com - eventcount from cond_Var
[C++] Chris M Thomasson - Pastebin.com - cond_Var from waitset
[C#] Chris M Thomasson - Pastebin.com - eventcount in C#
yet another win32 condvar implementation - comp.programming.threads Computer Group
yet another (tiny) implementation of condvars - comp.programming.threads Google Groups
Would this work on even one platform - about mutex reordering
Windows NT Keyed Events
Win32 Kernel Experimental WaitLock-Free Fast-Path Event-Count for Windows... anZ2dnUVZ, InterlockedLoadFence, and aPOdnXp1l6
win32 condvar futex - NOT! - 29464
Win32 condition variables redux - Thomasson thread list version
Win32 condition variables redux - comp.programming.threads Google Groups
Usenet - Lock-free queue SPMC + MPMC
Usenet - Condition variables signal with or without mutex locked
Time-Published Queue-Based Spin Locks
Ticket spinlocks [LWN.net]
ThreadSanitizer - data-race-test - ThreadSanitizer is a Valgrind-based detector of data races - Race detection tools and mor
Thin Lock vs. Futex � ��Bartosz Milewski's Programming Cafe
The Inventor of Portable DCI-aka-DCL (using TSD) is... ;-) - comp.programming.threads Google Groups
TEREKHOV - Re win32 conditions sem+counter+event = broadcast_deadlock + spur.wake
TBB Thomasson's MPMC
TBB Thomasson - rwmutex
TBB Thomason aba race
TBB Raf on spinning
TBB eventcount posting Dmitry's code
TBB Download Versions
TBB Dmitry on memory model
Task Scheduling Strategies - Scalable Synchronization Algorithms Google Groups
Subtle difference between C++0x MM and other MMs - seq_cst fence weird
Strong Compare and Exchange
Strategies for Implementing POSIX Condition Variables on Win32
Starvation-free, bounded- ... - Intel� Software Network
spinlocks XXXKSE What to do
Spinlocks and Read-Write Locks
SourceForge.net Repository - [relacy] Index of relacy_1_0rrdinttbb_eventcount
Some notes on lock-free and wait-free algorithms Ross Bencina
So what is a memory model And how to cook it - 1024cores
Sleeping Read-Write Locks
Simple condvar implementation for Win32 - comp.programming.threads Google Groups
Simple condvar implementation for Win32 (second attempt)
SignalObjectAndWait Function (Windows)
sequential consistency � Corensic
search for Thomasson - Pastebin.com
search for Relacy - Pastebin.com
Scalable Synchronization
Scalable Synchronization MCS lock
Scalable Synchronization Algorithms Google Groups
Scalable Queue-Based Spin Locks with Timeout
Relacy Race Detector - 1024cores
really simple portable eventcount... - comp.programming.threads Google Groups
really simple portable eventcount... - 2
really simple portable eventcount... - 1
re WaitForMultipleObjects emulation with pthreads
Re sem_post() and signals
Re Portable eventcount (try 2)
Re Intel x86 memory model question
Re C++ multithreading yet another Win32 condvar implementation
race-condition and sub-optimal performance in lock-free queue ddj code...
Race in TBB - comp.programming.threads Google Groups
QPI Quiescence (David Dice's Weblog)
pthread_yield() vs. pthread_yield_np()
pthread_cond_ implementation questions - comp.programming.threads Google Groups
POSIX Threads (pthreads) for Win32
Porting of Win32 API WaitFor to Solaris Platform
Portable eventcount
Portable eventcount - Scalable Synchronization Algorithms Google Groups
Portable eventcount - comp.programming.threads Google Groups
Portable eventcount (try 2) - comp.programming.threads Google Groups
Parallel Disk IO - 1024cores
Obscure Synchronization Primitives
New implementation of condition variables on win32
my rwmutex algorithm for Linux... - this is good
Mutexes and Condition Variables using Futexes
Multithreading in C++0x part 1 Starting Threads Just Software Solutions - Custom Software Development and Website Developmen
Multithreaded File IO Dr Dobb's Journal
Multi-producermulti-consumer SEH-based queue � Intel Software Network Blogs - Intel� Software Network
MSDN Compound Synchronization Objects
MPMC Unbounded FIFO Queue w 1 CASOperation. No jokes. - comp.programming.threads Computer Group
Memory Consistency Models
low-overhead mpsc queue - Scalable Synchronization Algorithms
Lockless Inc Articles on computer science and optimization.
Lockingunlocking SysV semaphores - comp.unix.programmer Google Groups
Lockfree Algorithms - 1024cores
lock-free read-write locks - comp.programming.threads Google Groups
Lock-free bounded fifo-queue on top of vector - comp.programming.threads Google Groups
Linux x86 ticket spinlock
JSS Petersons
JSS Dekker
Joe Seighs awesome rw-spinlock with a twist; the beauty of eventcounts... - comp.programming.threads Google Groups
joe seigh on eventcount fences
Joe Seigh Fast Semaphore
Joe Duffy's Weblog - keyed events
Implementing a Thread-Safe Queue using Condition Variables (Updated) Just Software Solutions - Custom Software Development a
How to use priority inheritance
High-Performance Synchronization for Shared-Memory Parallel Programs University of Rochester Computer Science
good discussion of work stealing
good discussion of a broken condvar implementation
git.kernel.org - linuxkernelgittorvaldslinux-2.6.gitcommit
futex(2) - Linux manual page
FlushProcessWriteBuffers Function (Windows)
First Things First - 1024cores
Fine-grained condvareventcount
fast-pathed mutex with eventcount for the slow-path... - comp.programming.threads Google Groups
experimental fast-pathed rw-mutex algorithm... - comp.programming.threads Google Groups
eventcount needs storeload
eventcount example of seq_cst fence problem
Effective Go - The Go Programming Language
duffy page that's down meh
Dr. Dobb's Journal Go Parallel QuickPath Interconnect Rules of the Revolution Dr. Dobb's and Intel Go Parallel Programming
Don�t rely on memory barriers for synchronization� Only if you don�t aware of Relacy Race Detector! � Intel Software Network
dmitry's eventcount for TBB
Distributed Reader-Writer Mutex - 1024cores
Discussion of Culler Singh sections 5.1 - 5.3
Developing Lightweight, Statically Initializable C++ Mutexes Dr Dobb's Journal
Derevyago derslib mt_threadimpl.cpp Source File
Derevyago - C++ multithreading yet another Win32 condvar implementation - comp.programming.threads Google Groups
Dekker's algorithm - Wikipedia, the free encyclopedia
David's Wikiblog
data-race-test - Race detection tools and more - Google Project Hosting
condvars signal with mutex locked or not Lo�c OnStage
Concurrent programming on Windows - Google Books
concurrency-induced memory-access anomalies - comp.std.c Google Groups
CONCURRENCY Synchronization Primitives New To Windows Vista
comp.programming.threads Google Groups
comp.lang.c++ Google Groups - thomasson event uses
Common threads POSIX threads explained, Part 3
Chris M. Thomasson - Pastebin.com
Chris M. Thomasson - Pastebin.com - win_condvar
Chapter�22.�Thread - Boost 1.46.1
cbloom rants 07-18-10 - Mystery - Does the Cell PPU need Memory Control -
cbloom rants 07-18-10 - Mystery - Do Mutexes need More than Acquire-Release -
Causal consistency - Wikipedia, the free encyclopedia
C++1x lock-free algos and blocking - comp.lang.c++ Google Groups
C++0x sequentially consistent atomic operations - comp.programming.threads Google Groups
C++0x memory_order_acq_rel vs memory_order_seq_cst
C++ native-win32 waitset class for eventcount... - comp.programming.threads Google Groups
C++ native-win32 waitset class for eventcount... - broken for condvar
C++ N1525 Memory-Order Rationale - nice
C++ multithreading yet another Win32 condvar implementation
Bug-Free Mutexs and CondVars w EventCounts... - comp.programming.threads Google Groups
Break Free of Code Deadlocks in Critical Sections Under Windows
Boost rwmutex 2
Boost rwmutex 1
boost atomics Usage examples - nice
Blog Archive Just Software Solutions - Custom Software Development and Website Development in West Cornwall, UK
Atomic Ptr Plus Project
Asymmetric Dekker
appcoreac_queue_spsc - why eventcount needs fence
AppCore A Portable High-Performance Thread Synchronization Library
Advanced Cell Programming
A word of caution when juggling pthread_cond_signalpthread_mutex_unlock - comp.programming.threads Google Groups
A theoretical question on synchronization - comp.programming.threads Google Groups
A race in LockSupport park() arising from weak memory models (David Dice's Weblog)
A garbage collector for C and C++
A futex overview and update [LWN.net]
A Fair Monitor (Condition Variables) Implementation for Win32

08-09-11 - The Lobster

(this coinage is so obvious I must have stolen it from somewhere, anyway...)

I've been thinking a lot recently about "the lobster".

I've always thought it was bizarre how you can pull into any podunk town in America and go to the scary local diner / steak house, and there will be the regular items - burger, chicken fried steak, what have you, all under $10, and then there's the lobster, for $30, ridiculously overpriced, tucked in the corner of the menu with decorative squiggles around it (as if it needs velvet ropes to separate the VIP section of the menu from the plebian fare).

The thing is, the lobster is not actually good. They probably can't remember the last time anybody actually ordered the lobster. No local would; if the waitress likes you she would warn you not to get, the chefs roll their eyes when the order comes in. Why is it on the menu at all?

I guess it's just there as a trap, for some sucker who doesn't know better, for someone wanting to show off the money they just won, or someone on an expense account to waste money on. You're really just humiliating yourself when you order it, and the restaurant is laughing at you.

I think most people know that you don't actually ever order the lobster in restaurants (other than lobster-specializing places in like Maine or something). But "the lobster" can pop up in many other guises. Expensive watches are obvious lobsters, expensive cars can be less obvious lobsters (is a Maserati a lobster? an Alfa? an Aston? a Porsche?), certainly some of the options and special editions are obvious lobsters, for example the recent Porsche "Speedster" special edition that cost $250k and was just a regular Carrera other than a few colored bits, that's clearly a lobster and Porsche laughs and rolls their eyes at the Seinfelds of the world who are stupid enough to buy the Porsche lobster just because it was on the menu with squiggly lines around it.

I feel like a lot of salesmen try to slip the lobster on you when you're not paying attention. Like when the contractor asks if you want your counters in wood or stone or italian marble - hey wait, contractor, that's the lobster! okay, yeah, you got me, I don't even know where to get italian marble but I thought I'd try to slip it in there. Home improvement in general is full of lobsters. Home theatre stores usually carry a lobster; car wheels ("rims") are rife with lobsters.

The thing that makes the nouveau riche so hilarious is they are constantly getting suckered into buying the lobster and then have the stupidity to brag about it. Ooo look at my gold plated boat ; you fool, you bought the lobster, hide your shame!

One of the things that's so satisfying about video games is that you get a clear reward for more work. You kill some monsters, you get experience, you go up a level; you collect 200 gems, now you can buy the red shield, and it is objectively better than the blue shield you had before. It's very simple and satisfying.

Life is not so clear. More expensive things are not always better. Doing more work doesn't necessarily improve your life. This can be frustrating and confusing.

One of the things that makes me lose it is video game designers who think it's a good idea to make games more realistic in this sense, like providing items in the stores that are expensive but not actually very good. No! I don't want to have to try to suss out "the lobster" in the video game blacksmith, you want video game worlds to be an escapist utopia in which it's always clear that spending more money gets you better stuff. (the other thing I can't stand is games that take away your items; god dammit, don't encourage me to do the work for that if you're going to take it away, don't inject the pains of real life into games, it does not make them better!)

08-09-11 - Randomness and Fault

Recent comment ranting has made me think of something that frequently annoys me.

I get quite aggravated when people invite a certain negative outcome on themselves and then act like it's random or unpredictable or "shit happens" or "just roll with it" or whatever.

There are three separate but similar categories of this : 1. Risky Behavior, 2. Intentional Ignorance, and 3. Futility of Fighting the System.

1. Risky Behavior : these people act like because something is probabilistic, their behavior has no effect on the outcome.

A classic example is risky drivers; someone might be speeding, talking on the phone, not paying attention to the road. They have an accident, and act like "accidents happen, it's random". No, it's not. You chose your behavior, and your behavior increased the probability of an accident. You just (probabilistically) crashed your car on purpose. It was a willful intentional choice to be risky.

More benign cases happen all the time; maybe you have a friend over and they're clearing plates from the table and are carrying way too many at once. Of course they drop one and break it. You are supposed to act like "ha ha, no big deal, accidents happen". But it wasn't an accident. They just (probabilistically) threw your plate into the ground.

Now I don't actually mind if someone comes over and breaks my plate, no big deal it's a fucking plate (it's a whole 'nother rant about how stupid it is to buy expensive plates and get upset when they break), but don't act like it was random, sure there was an element of chance, but it was your actions that (probabilistically) caused it.

It's particularly annoying when the person who has the "accident" told me to "chill out, it'll be fine" or whatever when I warned them to be aware of the risk.

Of course this happens in coding all the time too. I tend to be very cautious in my coding; I'd rather spend time testing and asserting now then have problems later. Inevitably I get into situations where someone on the team is having a nasty hard to reproduce bug. They act like "bugs happen" and it's sort of a random act of god. Did you robustly assert your code? Do you have unit tests? Did you separate out classes that have strict invariants? No? Then you just (probabilistically) chose to have bugs in your code, don't act like they're random.

(there's a separate issue of whether the precautions are actually worth it or not; there's a spectrum of behavior from having to be super careful in advance so that you never have problems in the future (eg. NASA) vs. just being sloppy and fast and accepting a high probability of risk (eg. Game Jam)).

Just because something has a probabilistic element doesn't mean there's no correlation to your actions, or that you're not to blame when things go bad.

2. Intentional Ignorance : this is chosing not to do the research that you easily could have done and thus getting into a bad situation. Now, there's nothing wrong with that per se, that's a life choice and has different trade offs. The thing that annoys me is when people act like they "couldn't have known" or it's perfectly normal not to have known. Not true, you could have easily known.

Say you're visiting a strange town and you go out to eat somewhere and it sucks. It's not random that it sucked - it's because you didn't do any research (probabilistically). Okay, that's fine if that's the choice you want to make, but don't act like it's not your fault - it is a direct result of your choice to not do research that it sucked.

3. Futility of Fighting the System : this is perhaps the most naive and self-defeating variant, and mainly affects the young or the poor (except when it comes to voting, in which case it surpisingly runs across all demographics).

These people act like it doesn't matter what they do, that someone their bank or cell phone carrier or the cops or whatever will find a way to screw them. Basically they refuse to recognize the cause/effect connection between their own actions and the outcomes.

A lot of this is because of the same failure to connect cause/effect in probabilistic situations. Maybe this person tried to be really careful one month and do everything right, and they still got some absurd bank fee or roaming charge or whatever, they conclude that "you can't win" and "what I do doesn't matter". They don't see that their actions might reduce the probability of fuckage even if it doesn't eliminate it.

(of course to some extent this is just an excuse; they really know the truth, but they pretend not to because they don't want to be accountable for their own actions, they want to be able to fuck up and act like they're not to blame, that "it doesn't matter what I do, the system fucks me anyway).

Amazingly even smart people will talk this way about voting, that it "doesn't matter who I vote for the politicians always fuck us" ; well yes, there will be fuckage no matter what, but don't be retarded, of course you can affect the probability of fuckage through your actions. Just because it's not deterministic doesn't mean you are divorced from responsibility.

A lack of determinstic feedback is of course what makes poker so hard for many people. Almost everyone learns well when there is immediate determinstic feedback on whether their action is right or not. (this isn't saying much, dogs and monekys also learn well under those conditions). Many people struggle when the feedback is randomized or unclear or very delayed. For example when you try a new line in poker, like maybe you try three-betting from the blinds with medium range hands, if it goes badly a few times most people will conclude "that was a bad idea" and won't try it any more. It's very hard for these people to learn and get better because they're just looking at what they did in the instant and whether it paid off.

08-09-11 - Inflation - 3

Some reference :

Response to BLS Article on CPI Misconceptions
Consumer price index - Wikipedia, the free encyclopedia
WSJ piece on hedonic price adjustments
Consumer Price Index
Chapter 11�Money and Its Purchasing Power (continued) - - Mises Institute
Bill Gross Claims the CPI is Understated, But Is He Right - Seeking Alpha
An inflation debate brews over intangibles at the mall
United States Consumer Price Index - Wikipedia, the free encyclopedia
Trudy Lieberman Entitlement Reform Archive CJR
Shadow Government Statistics Home Page
Meet the Fed's Elusive New Inflation Target - TheStreet
Inflation The Concise Encyclopedia of Economics Library of Economics and Liberty
How BLS Measures Price Change for Medical Care Services in the Consumer Price Index
Higher Education Price Indices
God Punishes Us When We (Collectively) Vote Republican, Part 5 Angry Bear - Financial and Economic Commentary
Consumer Price Index, a rant
Charts College Tuition vs. Housing Bubble � My Money Blog
Chained Cpi Social Security, CPI, Michael Hiltzik Using 'chained CPI' to determine Social Security payments would rip off ne
cbloom rants 5-14-05 - 1
cbloom rants 12-27-08 - Financial Quackery
cbloom rants 09-17-07 - 2

Some of these guys have the whiff of crackpottery which should give us a bit of pause. Nevertheless...

We can track down a few of the strange problems that I identified last time.

Education basically is miscounted : "The inclusion of financial aid has added to the complexity of pricing college tuition. Many selected students may have full scholarships (such as athletic), and therefore their tuition and fixed fees are fully covered by scholarships. Since these students pay no tuition and fees, they are not eligible for pricing." discounting financial aid makes some sense if you are trying to measure the consumer's expense, but not if you are trying to measure the cost of the good; just because someone else paid for part of it doesn't make it cheaper. But really I imagine the biggest problem with education cost is that they effectively count college as being free for people who can't afford college. That is, people who can't afford it don't buy it, so it's not in the basket (doesn't contribute to the "quantity" in the CPI metric). A better way to measure inflation would be to assume that everyone would go to college if they could afford it. (also it seems that non-acredited technical school time places are not counted at all)

Health care is simply not counted at all, by design : "The weights in the CPI do not include employer-paid health insurance premiums or tax-funded health care such as Medicare Part A and Medicaid" The only thing they count is out-of-pocket / discretionary health care expenses, which are obviously just a tiny fraction of the total.

Real estate has the funny owner's cost to rent thing which makes it very hard to tell if that is being gamed or not.

Obviously anything based on "core" inflation (without food or energy) is ridiculous. The standard argument that those fluctuate too much seasonally is absurd, you could just use a seasonally-adjusted moving average, you don't need to remove them completely.

The other really obviously fishy parts are :

"Substitution". A while ago the CPI was changed to use geometric averages of prices within a category. This seems pretty innocuous, but it basically causes a down-weighting of higher priced items. And in fact the geometric mean is always lower than the arithmetic mean, so this change can only make inflation seem lower, which is a dirty trick. For example :

(1+1+8)/3 = 3.333

(1*1*8)^(1/3) = 2.0

pretty big difference even though they are both "means". Now, they hand wave away and say that this reflects consumers' ability to choose and substitute cheaper products. But it is totally unscientific.

Furthermore, newer measures like the CPI-U or Fed's PCE also explicitly include substitution. This just seems like it obviously does not reflect inflation. When a product gets expensive and the consumer substitutes for something cheaper, they are by definition getting something of lower utility (because it wasn't their first choice), so you can't say that no inflation happened, they are getting less for their money.

"Hedonics". These are poorly documented pure bullshit ways of pretending inflation is lower by claiming that we got more for our money. This is just pure nonsense for various reasons :

1. The whole definition of "better" is so vague and open to interpretation that it has no business in a metric. For example they consider air travel to be massively improved since the 70's. Sure it's safer, more efficient, but also much much less pleasant. Personally I think that the same trip is actually worth much less now than it was in the past, but they say it's worth much more. Similarly for the quality of buildings and clothing and cars and so on; yes, they're safer, faster, more durable, whatever, but they aren't hand crafted, they aren't made of hard wood and steel and chrome; I think most of those things are actually much crappier now than ever, made more cleverly but also more cheaply. Anyway, it just has no business in there. The idea that you can measure the hedonic quality of some product and say it improved by 0.1% from April to May in 2010 is just absurd.

2. Using quality of goods at all just isn't right to begin with. Inflation should be a measure of the cost to buy a standard set of goods at the expected quality level of the era. Just because technology gets better over time doesn't mean you can discount the inflation! For example if computers get 50% better every year and our money is inflating by 50% would you say the cost of computers is not changing? Of course not, the cost is going up 50% , yes they are also getting better but that is not part of the discussion.

It's just wrong on the face of it. If a median decent car was $5k in the 70's and now is $25k , then the price of cars has gone up by 5X. But oh no they say, you have air bags and more power and fuel economy and so on, the modern car is 5X better, so in fact there has been no inflation at all. Well, wait a minute. I *expect* the quality of life and technology to go up over time. Are you telling me that in a world with 0% inflation that technology does not get better over time? That's a strange way to measure things. And it's not really what you want to know when you ask about inflation. You want to know how much money do I need to afford a decent house, car, food, etc. at the expected standard of the time that I buy it.

Obviously we wish there was some item that had absolute constant value that we could measure against. Also obviously measuring inflation is very complicated and we are only scratching the surface. But it's very fishy. Rotten fishy.

old rants