07-31-09 - Visual Assist X is fucking annoying

In other news, I'm trying to get on VS 2005 from 2003. I'd like to keep my 2003 install working, but fucking Visual Assist X stomps on my Visual Assist .NET ; the whole reason I've stuck to 2003 all this time is because Visual Assist X sucks donkey balls and VA.NET is the bomb. Fuck. I wanted to keep my VS.2003 + VA.NET because it's my favorite editing environment, I would still use it to write my old personal code, but if I need 2005 for work then I need VAX and that kills 2003.

If you read the VA.X forums, it's obvious they have the same dick-wad attitude as perforce. Tons of people complain about the same issues, and all the replies from VA.X people are like "is there actually a problem with how it works now" or "try it for a while and see if you get used to it". FUCK YOU I want it the way *I* want it, not the way *you* want it.

My main complaint with VA.X is with the whole listbox/suggest system. It pops up all kinds of flashing boxes all over the place which change and move around as you type. It's epilepsy inducing just like a Dragon Ball Z episode. It's like a spastic retard with tourettes yelling at you as you type. You type "pr" and it starts yelling "printf! no process! procedure!". My solution at the moment is just to turn it off (don't ask me how I turned it off; I couldn't find an option to turn it off and was just randomly clicking things and then it was off; I'm not sure I could turn it back on if I wanted to). So all I'm getting basically is enhanced syntax coloring.

What I would like is for it to act like VA.NET - first of all it needs a typing delay so it doesn't pop up unless you pause for a second, and then it should be slim and subtly colored and stable. And I really don't need a list box of suggestions, I only need the one most likely, if it's not right I'll keep typing.

If all you want is "open opposite" and "open project file", NiftySolution is the way to go. For a little bit more, WorkspaceWhiz also seems pretty nice and lightweight, though it's currently broken for me, I'm in touch with the dev and hopefully it will get fixed.

One nice thing that WorkspaceWhiz and Visual Assist both give you is browsing without browse info. That is, they do their own parse of the text directly and don't rely on the MSVC browse info build system which is horribly broken (one of the many problems with it is that you get no browse info on files until you compile them).

NiftyPerforce for VC2005 + is totally superior to the Perforce provided plugin. Good job.

It sort of annoys me that I can't write code without an editor enhancement any more. But I guess that's like saying I'm annoyed that I can't commute without a car.


07-30-09 - cbloom.com

I just had a look at the cbloom.com stats for the first time in over a year, and it was quite a shock!!

A while ago I tried putting up a wordpress blog; I never really even got it off the ground, but apparently it's the most popular page on my site :

requests    page
24832       /wordpress/
15681       /wordpress/wp-comments-post.php
12585       /rants.html
10966       /robots.txt

And lots of bots are trying to make comments. If you look at the browsers used to visit the site it's obvious why :

reqs    pages   browser
8276    8082    Baiduspider (http://www.baidu.com/search/spider.htm)
6415    4186    Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; )
4299    3636    T-Mobile Dash Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 320x240)
5062    3102    msnbot/2.0b (http://search.msn.com/msnbot.htm)
4420    3001    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
5902    2903    msnbot/1.1  (http://search.msn.com/msnbot.htm)
2700    2700    Mozilla/5.0 (Macintosh; Mac OS X AppleWebKit KHTML, like Gecko, Safari/528.16 OmniWeb/v622.8.0)
3236    2212    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
3081    2057    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Baiduspider I guess is a chinese index bot, so I'm not sure exactly who's trying to autopost to my wordpress. #2 is the Yahoo search spider. The "T-Mobile Dash Mozilla" apparently is also a search bot for MSN Mobile. Then we get three more search bots, and then we get Safari ! It's not until the #8th most used browser that we see just a normal Windows Firefox (correction : actually Mozilla/4.0 means IE).

Not surprisingly, the Googlebot seems to be way more polite about not abusing your site. Even though it indexes my site as well as anyone, it hits me far less. (MSN is actually the worst by far if you add them up). (of course some of these could be spam bots pretending to be search bots).

The other funny thing was the referring search words - the top nine are all poker related, it's not until #10 that you get "compression".

In semi-unrelated news, god damn all you ghetto fucking developers and your ghetto ass command line parsing skills. Any time I see a message like this I want to punch you in the nuts :

"Unknown argument -? ; use --help for help"

URG WTF ; 1. just go ahead and show me the help if my args are no good, and 2. how fucking hard is it to recognize a question mark? Just add it to your switch cases :

case 'h':
case '?':
    // show help

How hard was that?

The one that bugs me more is not recognizing switches unless they come in the right order, like I was just using "NcFTP" today and it says

Usage: ncftp [flags] < host >

So of course I type

ncftp www.cbloom.com -u xxx

And it's completely confused. WTF, how hard is that to handle ? (voice of Gob) COME ON!!

(BTW NcFTP is a handly light FTP client that supports recursive delete get and put).

The standard way I use command line apps is to write some command line, up arrow to edit it and tack more flags on the back. You should always handle flags occuring at any point of the command line.

Another one that bugs is people who expect either a space or not space for the payload of a flag ; eg they require either "-s 1" or "-s1" but don't support the other. The big problem is it's not standard so my hands don't have a reflexive habit of which way to do it. Of course you should just support both, it's pretty fucking trivial.

In cblib I use this :

int argint(int argc,char * argv[],int & i)
    char * cur = argv[i]+2;
    cur = skipwhitespace(cur);
    if ( *cur )
        char * endptr;
        int ret = strtol(cur,&endptr,10);
        if ( endptr != cur )
            return ret;

    if ( i == argc-1 )
        FAIL("no int value found for arg!");

    return atoi(argv[i]);

A standard cbloom arg parser looks like this :

int main(int argc,char *argv[])
    lprintf("newdct built %s %s\n",__DATE__,__TIME__);
    lprintf("usage : newdct [options] < from > [to]\n");
    lprintf("usage : newdct -h for help\n");

    int killBands = 0;
    const char * fmName = NULL;
    cosnt char * toName = NULL;

    for(int argi=1; argi < argc ; argi++ )
        if ( argv[argi][0] == '-' )
            switch( toupper(argv[argi][1]) )
            case '?':
            case 'H':
                fmName = NULL;
                argi = argc;

            case 'K':
                // handles -k N and -kN and "-k N"
                killBands = argint(argc,argv,argi);
                lprintf("got option : killBands = %d\n",killBands);
                lprintf("warning : bad option ignored : %s\n",argv[argi]);
            if( fmName == NULL ) { fmName = argv[argi]; }
            else if ( toName == NULL ) { toName = argv[argi]; }
                lprintf("warning : ignored extra arg : %s\n",argv[argi]);   
    // toName is optional
    if ( fmName == NULL )
        lprintf("HELP : \n");
        // ...

Do it my way god damn you.

07-30-09 - Night Swimming

The Seattle Heat wave of 2009 is over. It was dog-shaving heat. It was old-people-killing heat. It was delightful, I'm kind of sad. I hadn't yet gotten to do two things I really wanted to do during the heat wave : 1. swim in the Sound - when it's 100 degrees out is the only time it's sactually tolerable to swim in the ocean here, and 2. skinny dip in a lake at night.

I did go swimming in Lake Wash both of the last two nights. Last night when it was 101 here it was a crazy scene, cars were parked all over the sidewalk around the lake because there was nowhere to park. Of course the fucking dickweed cops were out writing parking tickets and alcohol tickets; can't you make an exception for the hottest night ever in Seattle? Tonight it was still warm but not so severe and less of a scene.

It's incredible being out in the lake during sunset. If you swim out a ways, you feel all alone, and you're wrapped in nothing but sky and water. The sky turns orange and pink, and it reflects off the lake in glittery flashes of specular as the chop hits just the right angles. There are incredible views of mountains all around that become black silhouettes. There's a strange way that being out in the lake actually makes me feel closer to all the distant views. Being in the water, you're tossed around by the swells, you're physically connected to the world outside your body. Especially with the water being so warm, it's almost like being in the womb. It breaks down that barrier, that separation that we feel every day from all the things that surround us, like we're a miniature pilot inside our skull and even though our body's hand is touching something, the miniature pilot is still separate from it.

After the sunset, the moon was bright in the sky, and the lights along I-90 stretch out like a string of white christmas lights and reflect in the water. I floated and swam around for a long time.

Back on shore, people smoked and drank and spilled beer and peed in the bushes and grunted and beat each other with sticks and flung poo at each other.


07-28-09 - Brunch

People are obsessed with going out for fucking brunch. It's like they think it's some kind of fucking magical treat. Do you know you can make pancakes and french toast at home any time you want and it's really fucking easy? And like mimomas is just fucking orange juice and champagne, it's not like you need the damn brunch fairy to cast a spell.

XX always wanted to go to brunch and I almost always refused because I'm a dick. After that I decided I should be a better boyfriend and try to do the things that my girl wants to do even if I hate them, and try to have a good attitude about it and enjoy it, not just go through the motions and be a whiney prick like I usually am. So with YY I went to brunch a few times and tried really to be a good sport, but my god it sucks.

Reasons why I despise going out for brunch :

1. By the time I get there I'm going hypoglycemic and I'm getting cranky from having no breakfast; if I was fed right away that would be okay, but it's always a huge wait, and of course the whole point is to take it slow. So I guess I have to eat breakfast first, but that sort of spoils the brunch eating.

2. It's always slammed. Because every tard and his mother all love fucking brunch it seems there are never enough places that serve brunch and they're jam packed. I don't even mind the long wait that much, the really annoying thing is that people are hovering around your table because the restaurants are packed and waiting people are getting crammed into the diners, the waitress is in the weeds and running around throwing syrups at tables, and the kitchen is just rushing things. It all makes me very antsy and uncomfortable. I like to take my morning slow and very relaxed, have coffee, read the paper, greet the sun, no stress in the morning.

3. I can't eat the pancakes or french toast or whatever because they're fucking huge sugar bombs and I'll feel awful for the rest of the day. But they tempt me because they are the only good things on the menu usually; I get stuck ordering the eggs and sausage or something and it sucks. Restaurants in general cannot cook eggs worth a damn; the eggs are generally cheap, rubbery, tasteless, overcooked and oily. I usually wind up ordering poached eggs because they at least won't be fucked up too badly.

4. The coffee is disgusting. Even the fancier places that do espresso or french press usually serve vile swill.

5. I have to change out of my pajamas, which totally spoils my relaxed morning vibe. Once the pajamas are off I want to get out and do something, not sit around for hours having god damn brunch.

The Tom Collins is the drink that I always am wanting but never think of. On a hot day when you want something crisp and slightly bitter and slightly sweet, it's perfect. Often I'll get a greyhound or a gin-tonic or vodka-soda or something, but those are all too bitter/sour or too tasteless; the Collins is exactly what all those drinks wish they were.

I also approve of the Manhattan, the Old Fashioned, the Sazerac, the Caipirinha, the Mint Julep, the Mojito and the Daiquiri. I do not approve of anything involving a red or blue colored liquor. In Seattle there's a craze right now for Elder Flower liqeur which is fucking vile. Alcohol should not taste like perfume.

How do I make Firefox never ever never play a sound from any source ? No flash playing sounds, no embedded quicktime or any other players. I don't ever want to hear a web page. (I wish I could browse the web without ever seeing fucking Flash again, but then I also wish people were nice to each other and sex was casual and easily available; it ain't gonna happen) BTW for example, the other day I was on this site Tree Fort Bikes which is actually one of the best flash sites I've ever seen; it's fast, has good features, has a well designed UI, and I started thinking "you know this flash site isn't so bad" - but then I tried to drag a link to an item out to my desktop - OH NO! And then I tried to middle click an item to open it in a tab - OH NO! Fucking flash.


07-25-09 - Blurg

Went for a great ride this morning, the legs are coming back around. I think my body's getting better, but I have had a few scary incidents recently where something clicked in my neck and my whole head went numb. That's never happened to me before. It happened for the first time two days ago at work. I was at my standing work station and just kind of rolling my neck around to stretch it a bit, when suddenly something popped and my ears and the back of my skull got all warm and tingly feeling and went numb. Very scary. Then just today after biking I got a similar thing. Biking is really not good for the back and neck but fuck it, I love it, if it paralyzes me, I'll just kill myself and it's no big loss. In the mean time do what you love.

Anyway, feeling great, I went to check out Carkeek park. It's kind of a ghetto park and the tiny beach gets very crowded on a nice day, but the view across the sound to the Olympic Mountains is pretty great. It was hazy today, but I bet on a clear day the sunset is spectacular (Spanish style : spectacularrrrr , or Pirate style : spectacul-yarr). Anyway, on the beach there was this absurdly hot chick hoola hooping in a bikini; that's just cruel, it was that slow sensual hoola hooping, like she was giving the air a lap dance. All around were cute little kids playing and laughing. It all made me really depressed. Leaving my house is almost always a bad idea. Seeing people who have what I want but cannot get is so depressing. It's kind of like watching documentaries about starving africans and genital mutilation and shit like that - yes, I know that all happens and it's fucking awful, but I really don't need to sit and watch a big show about it, it's just going to make me depressed. Some of my more nerdy friends seem to have found a path to peace in life by just not going outside. I mean they go outside in a literal sense, but the outside world with its fun and children and sex and laughter is just completely across a line that they don't cross or even think of crossing; that's sort of horrible, but it also simplifies things a lot. Certainly if you know there's something that you can never have, it's foolish to pine over it endlessly, just move on and make your life about something you can have.

There's this Norman Mailer quote that I put on my own blog long ago, something along the lines of "I achieved happiness in my old age because I stopped trying to be what I'm not". That true, but it's also trite. The hard thing is not realizing that fighting against things you cannot be will make you unhappy - it's about deciding which specific things are things you can never have (and thus should just give up on and cut out of your life). and which are things that are hard for you but worth fighting for (in which case giving up is cowardly and self-destructive).

I got my new bike in the mail :

new bike

I stripped every component off it so it's naked. I'm waiting for all my replacement mail order components to show up now. It occurred to me the other day that I am literally having a bicycle shipped to me in the mail one piece at a time. It's quite ridiculous. Sadly, when I took apart the headset I found the races were badly pitted. Changing the races is one of the few jobs you can't really do at home, so the bike is now in the shop getting a new headset. (for example, here's an really amazing page on how to change a headset , and here at Dave Moulton's great blog is a crazy page on how to change your headset at home - that guy is fucking nuts, just take it to a shop). To appease my sudden urge to work on bikes, I overhauled my Litespeed, took it all apart, washed it with soap and degreaser, then put it back together and regreased everything. It was fun and it's clean as a whistle now and runs smooth and quiet; a lot of the little hitches and noises on an old bike are just caused by crud stuck in the drivetrain. I'm worried that my sudden burt of enthusiasm for bike building may wane by the time I have everything I need. It's very important for me to be able to pursue ideas immediately when I have the energy for them, and to not have too many different balls in the air at the same time.

In other news : vegetarians and dogs are fucking killing me. The type of girl I like is liberal, into food and nature and gardening and hippie shit like that, the outdoors, hiking, camping. Well, that portion of the population also happens to be dominated by fucking vegetarians and fucking dog owners. Vegetarians don't bother me if they're not in my life, but I can't date one; food and cooking is just way too important to me. And dogs - I don't understand why people think it's okay to let filthy animals into their homes. They lick you and get that stinky slobber all over you (the dogs, not the girls). I'm perfectly happy to play with a dog at a park when I'm getting dirty anyway, but I don't want one in my home, and I'm literally terrified to sit on the furniture in a dog owner's house. Blurg. Oh, and a lot of people smoke up here; one of the many nice things about SF is that basically nobody smokes so you don't even have to worry about whether someone you meet is a smoker or not; in fact I completely forgot that it was an issue. And huge gross tattoos and piercings are very common up here too. Double blurg.

Also, I'm infuriated by relationship advice from people who married their high school sweetheart or someone they met in college. Good for you, I'm happy for you, you got lucky early on, but you don't know the first god damn thing about adult dating or meeting people, so just shut the fuck up. One of the worst pieces of advice is "just do the things you love and meet someone naturally that way". Retarded bullshit. The things I love are pretty much all solitary, since I fucking hate people. The actual good advice is something more like "do something social involving others that is sort of vaguely related to one of your interests that you think only people similar to you would do". So like I guess I could go on some group bike rides even though I fucking hate group riding, or I could go do some fitness classes or something even though I fucking hate fitness classes. Blurg.

It's 80 degrees here now and my laptop fan is really angry. It's running at top speed all the time. Next week it's going to be 90 here. I might have to buy an air conditioner, or just stay off the computer, or it's gonna melt. The other day my laptop turned itself on inside my laptop bag; I guess it opened a crack or something; when I got home from work and unzipped the bag I found the fans running in overdrive in vain as the bag is quite thickly padded and sealed; the poor lappy was scalding hot to the touch. Definitely a concern. Personally I fucking despise the fact that lappies tie their power state to the screen being open or closed; on every lappy I've ever seen, that switch becomes flaky. I would way rather have a big hard switch for on/off (really asleep/awake).

ADDENDUM : I caved and bought an air conditioner. In a way I like that my apartment basically has no climate control - no ac, terrible heat, windows that are hardly there - it forces me to really experience the seasons; I was freezing in winter and had to get under the blankets and cuddle with a warm body and bake lots of gratins; now in the summer I have to get naked and spray water mist around the room and get outside to the park to try to get some breeze. In another more practical way, it sucks balls.


07-23-09 - Intolerance

The ultra-liberal idea that we should respect and value everyone and their different beliefs is a load of pussy bullshit. All the condescending more-accepting-than-thou Yoga / New-Age people are really very unaccepting; I want to be impatient, I want to be full of fire and anger, I want to be violent, and they are very rude and intolerant and non-accepting of that. In reality they are accepting of you only if you subscribe to their value system (peace and kindness and whatnot). I think the whole idea of "respecting other people's beliefs" is a load of shit. I have great respect for their *right* to believe a load of crap, but I don't actually respect their beliefs. I think yoginis and christians and muslims and the whole lot of you are fucking crackpots and I totally do not respect your life choices, but I would fight with my life for your right to do what I believe is silly and wrong (EDIT : no I wouldn't; in fact I wouldn't lift a finger if freedoms were denied that didn't affect me personally). I ask that you also respect my right to roll my eyes at you and huff in disgust at your foolishness.

I want to do Yoga but I really can't stand all the "breathe in the energy and feel your pancreas release" nonsense.

Amusingly, the ultra-right-wing Republicans are almost identical to the ultra-right-wing Liberals. When Rush Limbaugh or Toby Keith talk about how we should fight for our "freedom", what they really mean by "freedom" is the right to do things that fit in their own value system. They want the land of the free, where "free" means free to be a good heterosexual christian consumerist semi-racist suburbanite.

It occurred to me that the antipathy between cars and bikes is a lot of the same thing. In both directions, it's a form of bigotry; it's a hate for another group that you stereotype and don't relate to. I hear a lot of people say these things all the time jokingly basically "ha ha I don't like this thing so let me fuck it up" ; it's only being considerate of how your actions affect other people in realms that you personally value. You see this constantly, the guy driving slow in the fast lane because "nobody should want to go faster than I'm going", or the guy who litters cuz he doesn't care about seing litter, etc.

Part of the reason why the streets are so bad for bikes & pedestrians is because democracy fucking blows and the tyranny of the majority. If you take any given street that you want to improve - take for example the 1st Ave / Pike St around the market - that street should obviously be closed to cars and have nice bike lanes and whatnot. But the people who live there and go there are a small minority of the total population - there's a whole mess of drivers who live in the sticks that never go there and all they see is it might remotely badly affect them.

It's sort of odd that Seattle seems to have a shit ton of cyclists, because it's really a horrible horrible place to ride. The weather sucks 8 months out of the year, the roads are full of pot holes, there aren't good shoulders or bike lanes, you can't get out to country roads easily at all, and even when you do they suck. It's just awful in almost every way. And yet there are tons of them.

I'm exhausted today, I really need to get to sleep early, and I'm just dreading the noise the neighbors will be making tonight. I feel like every night when I'm just begging for some sleep, it makes them have a noisy party. I know that this is my own memory-perception-bias ; nights when I'm exhausted but they don't have a party I don't remember, the particularly bad events have a much stronger imprint in my memory so I overweight them in my perceived random sampling. Now, of course I am aware of this, so I can try to correct for it and downweight to reproduce a true sampling, but it's very very hard to correct for you biases. I'm aware of this with all kinds of things, like if you're talking to someone very charismatic and his ideas all sound very good, I'll think to myself "hmm I need to downweight my perception of these ideas to compensate for the charisma factor", but it's almost impossible to find the right amount of compensation.

Girls are very attracted to dreamers and visionaries and people who talk about completely unrealistic utopian ideals, like making the whole city of Seattle pedestrian-only or getting the US on 100% renewable fuels, etc. It's not interesting, it's juvenile. I used to be amused by those inspiring utopian fantasies, but now I have zero tolerance for them. As soon as someone starts talking about something that will absolutely never happen I lose all interest. It's far more interesting to talk about how we might actually improve things in the real world.

Just the mathematics of being single are depressing. You have to flirt with ten girls to get a date with one. You have to go on ten dates to find someone you want to have something long term with. You have to have ten long term relationships to find the one that works. It's unbearable.

Fucking Google Reader. There's no way to jump to the selection of a given blog from the post in the "new items" feed. For example, today Wouter posted this entry "Freedom of Information" where he says he won't be putting out his ideas for free. In anger, I want to unsubscribe from his blog feed. I CAN'T FUCKING DO IT FROM THE NEW ITEMS AREA. I have to go find that blog in the list of subscriptions, click on it by hand to select it, then unsub. Stupid.

I'll do you like a truck is awesome. I think it must be a joke (?). I found it by randomly watching techno videos with hot chicks in them, which is a rather amusing way to pass the time. (The song Day 'n Night has been by guilty pleasure for a little while now).

Roads NW is a pretty awesome sight for nice roads roads to drive in the PNW ; it's aimed at motos but I can abuse it to find driving or biking roads.


07-19-09 - Summer !

Peaches and tomatos are here at the farmer's markets; hallelujah. There's this stand at the Broadway farmer's market (usually set up right near the corner of the L) that's a family farm, and the stand is staffed by the farmer's three teenage daughters. They're all crazy skinny and have ginormous boobs, like cantaloupes; it's actually kind of freakish, it's almost so inhuman as to be unattractive (but not quite). It makes me imagine rolling in the hay in the barn, the farmer with a shotgun, and the Seinfeld where Newman flees into the corn. Also, quite fittingly, they sell the most dependably ripe juicy peaches I've ever found. It's funny, those hoity-toity stands that have big signs saying "don't squeeze the peaches" and have each peach individually supported in its own plastic cup - those tend to suck. This place has the peaches just all tossed together in a box and they're soft and fresh picked and super wet and sweet - and cheap. They also have some superb sweet-tart cherries that are great for pies or preserves or I even like them just to eat.

I'm sort of dismissive of fancy tomato or peach varietals because the dominating factor by far is ripeness and freshness. It really doesn't matter if you have a Mackinaw Peach or a fucking Amish Cherokee Brandypaste Tomato, if they weren't picked that morning at the peak of ripeness, they're fucking garbage. I'll take an Early Girl tomato and a standard yellow peach that are optimally ripe and soft.

Yesterday I biked down to Green Lake, had a swim and biked back. It was quite delightful, not too far, the bike back up to cap hill is a little tough but doable (I wish the hill was the opposite way though, it would be so much sweeter to bike up hill and get to jump in the lake to cool off and then have a downhill to get home). Ravenna Ave is really nice to bike on, it has a big bike lane, and it's a wide European-style "grand boulevard" with trees all down the middle. The Eastlake Ave area under I5 is pretty neat, you can see the ship channel, and the underside of the I5 bridge is cool. It was here that I saw something unbelievable :

First, for background, Seattle drivers and pedestrians are all ridiculously slow and passive and retarded. For example there are a ton of people who think they are "nice" at stop signs. I'll pull up to a 4 way stop, and there's someone there who got there like an hour before me (way before me), and I pull up and they don't go; I glare at them, they wave at me to go. YARG BLURG don't fucking wave at me it's your turn, just fucking go! You're not being nice, you're being a dumb dick. The pedestrians here are super passive and people inexplicably don't J-walk. It's so bizarre and disconcerting coming from anywhere else in the world, I'll see pedestrians just standing at a corner, with not a single car anywhere in sight, and they just stand there and wait for the light to change. WTF. It's especially bizarre like late at night and such when the streets are deserted and people still stand and wait at the corner.

Ok, so I'm going over Eastlake Ave to cross the bridge over the shipping channel and the drawbridge is up to let some big boats through. So I pull my bike over into some shade and get off it to wait. It's taking a long time, I'm just chilling. Now, the traffic light right in front of the bridge is of course red and will stay red the entire time the drawbridge is up. This at Fuhrman Ave E. Then I notice, there's a girl standing at the corner on the bridge side of the street waiting to cross. I look at her; I'm kind of confused. I continue to sit and wait. She stands there at the crosswalk waiting on the bridge side of the street. The light is still red - it won't go green until the bridge goes down. She's just staring at the walk/don't walk sign, which continues to say "don't walk". Note there is absolutely zero cross traffic, there is a big line of cars building up on Eastlake waiting for the bridge. Finally - 5 or 10 minutes later the bridge comes down and the light changes and then she crosses. WHOAH ZOMG. My mind is continually blown here. I think it would have been appropriate if the cop who gave me a ticket for proper merging to show up and give her a ticket for not j-walking.

In other news : fucking hell, cap hill needs a casual tapas place or a cafe with a nice patio or something. The evenings are so long and lovely here and I'd like to go sit somewhere pleasant and have some tasty savory snacks and delicious drinks, but there's just nothing.


07-18-09 - Alcohol is Poison

I quit drinking about two months ago; I've had a few sips out at restaurants but basically haven't had a drop at home. I just decided to stop for a while and see how it went. It's amazing, it's better than I ever imagined; my body feels energetic and healthy all the time. I sleep better, have more hours of the day when I'm thinking clearly, am generally happier. I guess that's all obvious, but the amazing clear feeling in my head all the time was unexpected.

There have also been some surprising benefits. I'm flossing for the first time in my life. I'm actually doing dishes every day (which would amaze people who have seen my past dish-doing habits). These basically come from the fact that I now have the long horribly long boring empty night time to fill with random activity.

One thing I've always noticed is the massive gulf in productive life activity between nerdy ADD people who don't drink and "normal" people ; you ask the nerd what he's been up to last week and it's "learned to play the harpsichord and composed a sonata, created a board game and had the pieces CNC cut, built my own submarine" , you ask the normal person what they've been up to "oh, you know, hanging out, having some beers". Mmmm, good for you.

The other big thing affecting me is that it's so much easier to be fit and healthy and happy when you're single. I always get out of shape when I get into a serious relationship. It's not that I got my goal and don't want to work out anymore, it's just that there's no time. You spend all your free time hanging out, and you do a lot of things in relationships like drinking and eating out and such that really mess up the body. When I'm single I can do weird stuff like just eat at all kinds of odd hours when my body tells me it needs food, or eat around a workout. Like I might intentionally eat dinner at 5 PM so that when I got off work at 7:30 I'm all digested and can work out then. The whole "having dinner with your mate" thing is really tough for fitness.

If you're trying to rehab an injury or make a big shift in your fitness, I highly recommend cutting out alcohol. It dehydrates muscles, decreases anabolism, hurts your sleep. It's also just a lot of empty calories, so it's an easy way to decrease your caloric intake without hurting your nutrition. It also leads to a lot of secondary bad behavior, such as over-eating, late night eating, etc.

Random : The Firefox spell corrector wants me to spell "judgement" as "judgment" . WTF ? Apparently "judgement" is British English and "judgment" is American English. "judgment" is so wrong ; that "dgm" is so ugly.

The coppa from Armandino's Salumi is fucking fantabulous. (thanks!)

I biked the Juanita hill the other day; it's not a bad climb actually, it's a good mild difficulty overall, but nowhere too steep for my double. The only shitty thing about it is all the fast traffic, and there are a lot of big branches in the shoulder from all the trees around, so it's very dangerous to take the descent fast. Some commuter guy just destroyed me up the climb; I stuck to him for about a half mile, but I can't compete with someone who does it every day.

Also, if you want to see an indictment of modern American society, just go to Kirkland on a summer Friday night. It's a bizarre confluence of all the worst dregs of America - there are hordes of cackling suburban soccer moms, spoiled 16 year old girls trying to park their Range Rover head first in tiny parking spots, frat boys, investment bankers, and wanna-be ghetto playas cruising around in dropped escalades with chrome spinnas. It's really quite a shocking scene to behold. It's kind of strange that both the rich trash and the poor trash seem to be attracted to Kirkland on a warm summer eve. It's like they can all smell the common pheromones of empty skulls and rotten souls and are drawn together by it.


07-17-09 - WSOP Spoilers

(The final table is set but won't play until November)

Phil Ivey makes the final table of the Main Event; maybe the best WSOP by any player ever considering how much bigger and tougher the fields are now.

Lots of the pros are twittering their WSOP this year, but Ivey's too fucking cool for that. He hired some underling to twitter for him.

Ivey has some 100-1 bets on himself winning the ME ; like his last props these just seem ridiculous -EV for him, but once again here he is. Rumored to win around $15 M in props if he wins the ME from Andy Bloch, Howard Lederer, Durrr and others.

In other news, chipleader redneck Darvin Moon who got in on a satellite is refusing to wear logos or take endorsements, purportedly giving up about a million dollars.

The cash games in Bobby's Room have supposedly been going nuts. Gus is believed to be the big PLO fish and huge $2k/$4k PLO games are running around him.

Durrrr has issued a live challenge

07-17-09 - Bicycle Randoms

Single Speeds are currently the SUV's of the bike world. That is, they're ridiculously cheap to make, and yet many of them are selling for *more* than geared bikes.

Bicycle components are absurdly marked up; you get a huge discount when buying a full bike; the problem is the wholesale price for a full groupo is very low, but there's some kind of collusion agreement in the business where nobody will sell you the bits for a reasonable price. You can almost do better by just buying an entire bike at a closeout sale, throwing away the frame and keeping the components.

Bike shop employees are such huge fucking dicks. They treat everyone like a moron and are just generally unhelpful and don't address what you came in asking for, but instead try to steer you to what they have in stock. You fuckers, if you would just be nice to me I would come to you and spend lots of money on components. The other day I was trying to talk to a mechanic about building up my new frame and he said "does it have a fork? do you even know what a fork is?" ; umm, okay, goodbye. You fucking cocks. I guess I'll just buy everything online even though I'd much rather go to a local shop, just because I refuse to give you pricks any of my business.

When people ask me about buying a bike I usually tell them to just go to a good local shop and try some bikes, but I'm rather down on that myself. For one thing they just show me the shitty bikes they happen to carry which is not a very wide selection. For another, I don't think you can actually get any kind of feel for a bike from a short test ride like that. Personally the main thing I feel in a test ride is - this stem isn't the length I like, I would change it, these handlebars aren't the width I'd like, I would change them, these aren't the pedals or seat I like, I'd change them, the seat and bars aren't the height I like, I'd change them. All I can tell is that it's uncomfortable because I haven't adjusted it just the way I want, it doesn't tell you anything about the bike fundamentally. Of course any brand new bike should shift and brake perfectly, if it doesn't it just means the mechanic put it together wrong.

I just bought an old Bridgestone 550. It's a nice steel frame, triple butted Tange CroMoly, but it's not a collector's brand so it's very cheap unlike old Colnagos or something which are just ridiculous. I looked into just buying a new steel frame, but I couldn't find what I wanted. I'll review a few options :

Torelli Corsa Strada is very nice and only about $800. It's not lugged so it's not super sexy, but the big problem for me is it has no down-tube braze-ons. I guess nobody uses downtube shifters any more except that's exactly what I want right now. About $800.

Tommasini Sintesi ; very nice, a bit overly blingy for my taste; more importantly - just absurdly expensive. Almost $2000 for just the frame. For that price you can get a very nice hand-made full custom bike from a framebuilder here in the US. If you buy this you are dumb. (I could say the same for new Colnagos or De Rosa). (there are tons of great US framebuilders, Richard Sachs is just one doing nice work).

SOMA Speedster / Stanyan looks nice, it's pretty, lugged, cheap ($800) - but then you start to look at the geometry - WTF did they do ? It's a weird shape, it's super low, the head tube is tiny. You have to run a very high elevated stem and seatpost; it seems to be designed that way intentionally, WTF. The Smoothie seems like the only decent SOMA bike but they are very ugly IMO.

The Gios Compact Pro is a gorgeous gorgeous lovely Italian frame, not too crazy at $1250, but again like the Speedster once you look into you go "WTF" ? It has a weird "Criterium" geometry with a steeper seat tube and a taller shorter frame. No good. Bikes should be 73/73 only!

Mercian in the UK makes some really lovely new classic-style steel frames. They do everything right, they have the good classic geometry, all the right braze-ons. I think their prices might be reasonable if you're in the UK, but with the conversion to the USD they're too much.

List of things I have to do to my bike :

Remove BB, Fork & Headset
Degrease frame
Get rear dropouts spread to 130
Overhaul headset, new grease and bearings, replace if too bad
See if new cartridge BB will fit
Brush off any rust on frame
Rust proof frame
Touch up frame paint with clear coat
Wax frame
Put on components


07-16-09 - Thursday Randoms

It occurs to me that eBay has no way of preventing you from colluding on auctions, having a friend come in and bid with your money to kick up your price. Yeah if you did it over and over many many times with the same people they would pick up on it, but as long as you change accounts or just don't do it a ton they can't stop it.

When I toured the house I'm looking to rent, it had the previous tenant's posessions; it was full of the dishevlement of family life, child's toys. It was lovely. I want that so bad. A single person's home is never pleasantly cluttered, it's either spare or just messy.

I think Facebook is a disgusting waste of time, it's social masturbation, electronic gossip, and since nobody interesting has ever written anything of any use on Facebook, I have no reason to read it. However, I am very glad that Facebook exists, because it voluntarily sequesters the retards into their own corner of the internet that I never have to see. It's kind of amazing and wonderful how people do that to themselves; for example in life you see people with tribal arm bands, or pleated pants, or huge metal plugs through their nostrils - of course they're awful things to do to yourself and look ridiculous, but it's wonderful that the retards choose to do those things, because it instantly and overtly labels them so that you can easily just avoid them.

God damn I hate synthetic fabric. I went to buy a new comforter at JC Penney since I've had the same one since high school. 90% of them are some awful shiny crinkly weird feeling synthetic bullshit. I want to only touch cotton and wool and wood and flesh. I want to only smell dirt and coffee and sweat and grass.


07-15-09 - Wednesday Rambles

Printers should just be on WiFi. In fact pretty much everything except video and power should be (speakers for example).

I got my standing desk set up. I'll post some pictures / progress report at some point. It really annoys me that we don't have a standardize docking multi-port. When I take my laptop from home to my sitting workstation at the office to my standing workstation, it should just be one cable that I plug for video, power, USB, etc.

Fucking god damn you web programmers suck so bad. When you put "Seattle WA" in the box for Expedia, you get a STOP! error screen saying : "We could not find any airports that match your search for seattle wa. We found the following airport with a similar name. Leaving from: Seattle, WA (SEA-Seattle - Tacoma Intl.)" . Umm, okay, seeing as there are NO OTHER CHOICES that are even close, maybe that is in fact the one that I intended, hmm ??

Obviously this case is just broken, but as a general point of computer program UI interaction design, in cases of semi-ambiguity like that, the right thing to do is not to have a modal "STOP" screen, but just rather go ahead and make your best guess and proceed, but provide a simple back up button. So when the user puts in something that you're 90% sure you know the answer to, just go ahead and immediately show them answer, and put a little button in the corner for back up & refine.

There are two points of this UI design that I think are crucial : 1. if you provide a fast path that is accessible in a predictable way, users will modify their own behavior over time to adapt to the fast path; they will learn patterns of use that make them more efficient, you should design the UI such that it is amenable to that, and 2. you should *never ever never never ever* have different sequences of screens. That is, the pattern of prompts and displays must be 100% deterministic - it should not be conditional. Over time users learn the pattern and will start typing without even looking at the screen. They can go much faster if it's a predictable rhythm, of prompt A - B - C. If you sometimes pop up another prompt - A - D - B - C depending on what they entered in A, they will be doing the B typing in D and it's all fucked up. Don't do it.

(I get similar stuff for Google Maps all the time. Like if you type in "la guardia" it gives you a "did you mean "la guardia airport" or "laguardia airport" ? and the two of them have location tags in the exact same spot. Actually the more I use Google Maps the more it pisses me off. The thing that sucks about it is that it's very modal, but it doesn't expose the modes to you. It has these states like "searching for address by name" or "searching for businesses near address" but once you get in one mode you can't switch from one to the other in any easy way. I wind up having to copy-paste the addresses and then go back to home and back to maps again to clear the state.)

I signed on the stupid house; I just know I'm gonna get fucked and in 6 months I'll be whining on here about how I have to move again, but I'm just so fucking sick of looking at places right now. It's dumb and irrational but I just want to get all these distractions out of my life so I can clear my head and focus on work. It's pretty much the way I make all my major decisions in life - I'm super picky and indecisive until I just get sick of looking and then make a snap irrational decision to take the first thing I see.

There's a house near my current apartment under construction, and also one near the new place. Both of them are these fucking amateur asshole productions where they are just taking forever. The one by my current house they literally work on maybe one day each month; it's literally been under construction the entire year that we've lived here and there's zero visible progress, they've worked on it maybe 20 days out of the whole year. And they always come from like 7 AM - 10 AM and then leave. And it's always just one guy, so he never gets anything done other than making a bunch of hammering and power saw noises to wake me up in the morning. WTF there should be laws against this shit. Hire a fucking proper crew and you could get the whole thing done in a week and be done with it and stop torturing your neighbors. I hate the nanny state explosion of stupid laws about everything, but every time you don't have a ridiculous law, people are fucking assholes. You have to dictate explicitly every single rule of basic behavior. (I know part of the delays with construction is probably the permit process which is in fact caused by the stupid permit laws - however I'm sure if we didn't have all the construction certification permit laws then people would build structural walls out of cardboard because they are fucking greedy retards who will fuck you in every way possible unless you force them not to).

People get the wrong idea of my mood from my blog. I'm actually very happy up here since summer hit. I'm spending tons of time outdoors in the sun, which = instant happiness for me. When I'm happy, I'm out exercising, running around. The only time I come in and sit at the cursed computer and write this nonsense is when I'm not happy. You pretty much get my unloading of vitriol. It's a sampling bias problem - the thoughts I choose to write here are not a random sample of my thoughts.


07-11-09 - Saturday Rambles

I bought some underwear on Amazon, and now my main page "you would like this product" is full of closeups of guy's crotches. Yay.

Man it would be sweet to get those rub-down type massages that pro athletes get (mainly boxers and cyclists that I'm aware of, where they really grease you up and rub out the lactic acid). I've never known a "massage therapist" that did that.

When I was biking, I needed to adjust my seat, so I pulled over; I didn't have all the tools I needed, so as I was fiddling around, some guy rode by and yelled out "need help?" and I yelled "yes!" ; he came back and gave me an allen wrench and I got it done. The wonderful thing about cycling is that this is not really remarkable at all - cyclists always are just *human* to each other - you try to be considerate of other cyclists, don't cut them off, you ask if they need help when someone is stopped, etc. It's so pleasant and encouraging to me, as opposed to every other human interaction I have where people are just douches and dicks and manipulating and lieing and at each other's throats. I'd love to cut out all the things I do where people are rotten to each other and only do the things where people are nice to each other. So that means no dating, no pickup, no buying, no selling, no contracts or anything where you might need customer service, no driving. I'll just bike, go hiking (the day hike weekend warriors are total dicks who cut across switchbacks and don't yield to ascenders, but the serious hikers who you meet way deep in the woods are always super nice), and ... that's it, I can't think of any other activity where people are nice to each other.

Yay! The lake here is finally warm enough to swim in. The life guard lady yelled at me. Apparently you have to stay within 50 feet of shore. WTF. I've seen guys swimming right across the lake before. You can easily enough find lake shore with no lifeguard; the little fake sandy beaches get crowded, but there's lots of grass frontage on Lake Wash and you can jump in anywhere there (getting back out is a bit trickier). One problem is there is some very thick seaweedy type stuff (I guess it's not seaweed cuz it's fresh water, but underwater plants) that comes up almost to the surface. In the official swimming areas they cut that stuff out, but in the guerilla swim you can get tangled up in it and it's very hard to move; it feels like tentacles actually grabbing your arms and legs trying to hold you back.

I'm thinking about building up a bike on a classic steel frame with modern components. It would be really expensive, because individual components are absurdly overpriced, you get a big discount buying bikes as whole pieces, and it would take a lot of time (it would be so much quicker and easier if I had a full shop with a stand and cable on spools and whatnot). But it would be a fun project, and then I would have a bike that I was intimately connected to when I'm done.

It sucks being bigger than average in some ways (most of the time it's good). One is at thrift stores, anything good I find is always too small for me. Another is buying used bikes. There are shit tons of amazing great bikes on ebay in the 54-57 cm range. For me (58-61) there's very little.

Colnago is one of the premier steel frame manufacturers, but they make the ugliest paint jobs known to man; it's like they got some high school student from 1984 to air brush their frames; I totally expect to see a unicorn in space on their frames; ( example or example ). The people who think Colnago frames are beautiful are the same guys who wear those weird baggy pants to lift weights. ( Apparently they're called Zubaz Pants ; WTF ). A lot of bike bar tape and Zubaz pants comes in this random color speckle pattern that I think of as someone eating a bunch of skittles and then throwing up. ( oh, here's another Colnago ; it looks like a unicorn took a rainbow shit all over it )

( BTW you can also substitute rainbow barf or rainbow piss )

this is bicycle perfection; Italian steel with a flat top bar and chromed lugs. (the paint job on the frame could stand to be even a little simpler; I hate all the big badges). They are absurdly expensive though, around $2000 for just the frame. Even if that weren't a lot of money to me, I couldn't pay that just out of moral outrage. ( the Classic Bike Shop has a load of gorgeous frames ).

Urgg I really shouldn't be buying bikes right now since it's the peak of summer and the worst possible time to buy, but I'm just loving riding so much and I got a bee in my bonnet that it would be fun to build up a new bike and now I want to play. If you're smart you buy in December.

I think the US is the only 1st world country that still uses dry butt wiping technology. Come on, we're the freaking Roman Empire of the modern era, we should have bathroom slaves to lick our butts clean ! Or at least washlets. Hmm, I've been watching the HBO Rome too much. It's pretty great, so far as trashy soft-core porn soap operas go. It's great for vicarious living fantasies; I'd love to have hot naked chicks scattered around my house all the time, and when upstairs neighbor starts clog dancing at 1 AM I'd just grab my sword and go up and stab him in the neck.

There're a lot of gay guys around Cap Hill here that are just absurdly skinny, very fit, bugling muscles, but with taught skin and bones poking through like a starving African. I hope they just have AIDS and aren't doing that to themselves intentionally, cuz that would be really fucked up.

Honesty in selling is never rewarded. People might consciously think "I appreciate he's being up front about the drawbacks" but they will still go with the liar. This comes up with us at RAD selling middleware. We're very honest about our products and tend to be realistic and limited in our features; many of our competitors promise the kitchen sink but deliver a non-functioning mess. Still, a buyer looking at a feature list that says "just X" or "X + Y + Z + W" will often choose the one they know is too good to be true. Fortunately for us we have Mitch and a great reputation, but you see it all the time in corporate purchasing evaluations. Of course it also comes up in dating and selling yourself. If you're honest about your drawbacks right from the beginning, that turns them off and it blows it. If instead you keep quiet and get them hooked and then much later reveal your problems, you win, it's too late for them to back out. Like if on your first date you just say "you know, I'd like to fuck you, but you're just too dumb for us to have a serious relationship" it's over. The liar is always rewarded. Similarly, people never tell you about STD's. You might think you're being careful and trying to wait until you know someone so you can trust them. HA! They might tell you *after* you have sex that they have HPV or Herpes but just don't have an outbreak right now. Gee thanks. They know subconsciously that if they say anything before you will not give them credit for their honesty, rather you will just flee.

I was thinking about this because of the house I'm renting. The owner has been up front with me that they might have to move back in to the house next year. They didn't need to tell me that, by law they can just do it whenever they want. If they were a real dick they wouldn't have said anything and I would've just moved in. Instead they were up front, and while in an abstract rational sense I respect them for that, in a real sense it makes me not want to move in, and basically just winds up punishing them for their honesty.

BTW the house rental situation also makes me think of something I've written before - the right way to handle promises of contingencies is by betting. Say the owner tells me there's a 10% chance that they will move back in. There's a very easy way to force them to be honest about that percent - just make a bet. I put up $1000 , they put up $10,000. If they were honest about the percent, it's neutral EV, nobody profits on average. But if they were lying and the real chance is more like 25% or 50%, then I make a profit on average. Of course nobody is rational enough to agree to something like this.


07-10-09 - Friday Rambles

ZOMG the traffic here has reached whole new levels of clusterfuck since the I-90 bridge is closed for repairs. I worked at home the last two days to avoid it, but decided to come in today for a change of scenery and am seriously regretting it. (ADDENDUM : ZOMG I just looked again, I'm gonna be here until midnight, sigh sigh sigh).

One of my problems with working at the office is that I always seem to forget something that I want/need at home or vice-versa. When I went home I accidentally left some papers I wanted to read here. Today I forgot to bring in my swim suit so I could swim over lunch. URG. The bigger problem is I just feel like I can't relax at all ever the entire day at work. When I'm home I'll work intensely for a few hours, then just take a break and really relax, have some food, watch TV, take a walk, then get back into it. I can take breaks at work, but they're not relaxing breaks, I never unclench. I get a burst of productivity in the morning, but then I'm drained and I never refuel and the afternoon is just a waste of staring at the code and poking at the keyboard and nothing really happening.

The Nissan salesman isn't returning my calls & emails. WTF WTF. I want to boycott all you fuckers who try so hard not to sell me things, but then I would just boycott everything.

Sea Breeze Farm sells at Seattle Farmer's markets and seems to have some amazing pork products. More investigation is needed.

Burning Beast is this weekend at the Smoke Farm. here's a video . Meh it looks a bit lame but I do like the idea of a big food festival on an old farm.

So I might have found the house to rent here . It's not in exactly the spot I want, but it's not bad (0.6 mi to the action). I'm putting down an application anyway. It's pretty great (the kitchen is fantastic - big butcher block counters, gas stove, lots of light) and it has a porch; I want to drink iced tea and say "I say I say" on my porch. Some of the neighboring houses look a little sketchy, like they might have students in them, which is worrisome, but it's hard to ever know what your neighbors will be like. (I'm vaguely considering going and knocking on the door to talk to the current resident and ask them what the neighbors are like).

Anyway, this rental experience has got me mildly outraged. First of all the realtor was half an hour late to our appointment to see the place. I'm no longer shocked at sales people's ridiculous absurd lack of professionalism and courtesy to clients. Okay, let's move on.

The thing that's really absurd is the owners might need to move back in. Apparently they work for MSFT overseas and might get summoned back here. They find out on August 15, but they are trying to get someone to take a lease that starts August 1. WTF WTF that's just absurdly greedy and dickish. How could you not just wait to lease it until August 15 !? In order to avoid losing 2 weeks, maybe a month of rent, you want someone to move in and then perhaps immediately move out again. That's just so selfish and unreasonable. So I'm putting an application in, but I'll have to talk to them about this moving back issue and be a total dick about it and get something in writing. (though I'm not sure if anything even in writing protects me - I think in WA homeowners have unconditional right of return to evict tenants and move back in)

In other news : Amazon wins. That's it, any doubt about who would win the internet shopping wars, or whether Amazon adds value as an entry point is over for me. Every other shopping web site I've used is just so absurdly broken, I refuse to use anything else. Cambria Bike has been really slow shipping me stuff and their site is so slow and their web forms and account management are so fucking janky, it's infuriating. It's so much better to just buy bike stuff from merchants that sell through Amazon. Even people who have their whole own online store I'd rather go through their Amazon store (LL Bean for example - I like their pajamas cuz you can get tall sizes, and they're actually pure cotton instead of fucking douche-atrine neo-polymer-crinkle-stretch-shine-azin). Which brings me to another rant :

I HATE CAPTCHAS !! OMG I hate that that fucking dumb douchebag got a god damn Genius grant for the dumbest fucking most obvious god damn idea in the fucking universe. I seem to spend half my damn time typing in catchas now because I have a lot of trouble reading them myself, and I'm never sure if the damn page needs me to capitalize correctly or not. I hate "recaptchas" even more because the scanned words are often super illegible. The worst thing is that I would say 90% of pages that use captchas are horrifically fucking broken. I type in some fucking annoying web form, and then there's a damn captcha to submit, and of course I fuck something up in the captcha, AND IT CLEARS THE DAMN WEB FORM !! ZOMG ! Oh it's so angering. Fuck you captcha guy, you should get the MacArthur Knee to the Groin Award.

On that note - YARG the fucking "confirm your email address" box is so tilting. Hello, I fucking copy-paste to fill it in (oh, which reminds me, I have found a few sites that make the confirm box with a flash widgets and forbid copy-pasting in it; that's really fucking dickish). The worst thing is just like captchas, so many damn sites will just wipe out your whole form if you hit "submit" and you left the "confirm your email address" box blank.

I finally got out biking yesterday; it had been over a week due to my mom being here and then a spell of shitty weather. I had a little spell of depression again, and desperately needed my visit to the 30 mile psychiatrist. There's this wonderful metaphorical doctor in my body who literally pumps liquid happiness into my veins around mile 30. If I don't see him regularly it's like going cold turkey off Prozac and it's not a good scene. I've never found any other activity that so reliably gives me relief from my congenital gloom.

On the minus side, the fucking awful pot holed roads here are literally destroying my beloved expensive bike. My head set is grinding a bit now, presumably because the bearings are getting damaged, and I've got a ding in front rim. Fuck. I was thinking of just driving to Mercer Island to just ride there, but of course you can't do that now with the 90 closed. Blurg. Also, a lot of the worst pot holes are of course on the right edge of the road where the bike is supposed to be, so I get the unpleasant choice of swerving out into traffic to avoid the pot hole or slamming into it. (sadly cars generally only give you enough room for the size of your bike, which completely traps you into a straight line, and is really not enough room; you need a few feet to be able to swerve to avoid road obstacles). That's literally the scenario that made me crash and separate my shoulder back in SF (wiping out on a pot hole because I couldn't avoid it due to cars all around).

Seattle in the summer is glorious.


07-07-09 - The World Is Horrible

I took the Montlake ramp this morning, which I never do, cuz I had to get gas. It's one of the ramps that gets all jammed up with traffic and there's a metered light. As I'm sitting there slowly losing what small supply of patience I had available for the day, I watch single driver cars go by in the carpool lane. First a mercedes went buy, then a BMW, then an Audi RS4. I was think "rich douchebags think they're entitled" but then a Chevy and a Pontiac went by and my stereotype was ruined.

Some days I feel like I've done all the "work" I can stand in the first 30 minutes of commuting (write tech/algorithm code is not really "work" , though dealing with MSDev or cdep project settings is "work", as is fighting the damn broken IEEE web site to give me the papers I paid for). Yes, yes, I know I'm a big whiner, there are poor people who take ten buses to commute for three hours to their shitty job at McDonalds where some pimply teenage assistant manager treats them like garbage all day long, the customers are rude to them, and they breathe oil fumes under flourescent lights.

Anyway, I pull out of the ramp and step on the gas to rapidly get up to speed and merge smoothly, as I always do. After a few seconds I notice there's a cop right behind me. He follows me closely over the bridge and then puts his lights on to pull me over. Hmm.. I'm not really exactly sure what he's going to say. He comes up to the car and says "I saw you accelerate out of that ramp and rapidly change lanes". My jaw just drops. Uh, yeah, that's what you're fucking supposed to do dumbass. I say "okay". Wow. I'm in shock, I feel like when the guy asked me not to park in front of his house on the completely empty street, my mind is blown. He winds up writing me a ticket for going 65 (I have no idea how fast I was going, there was lots of traffic, I was just going the same speed as the guy in front of me). After he writes the ticket he tells me to be safe pulling back into traffic, so I say "so you want me to get on slowly and jam everyone up?" ; he gives me a dirty look and says "just be safe". (I try hard not to sass cops anymore; I got my car towed once because I told off a cop that pulled me over for expired registration; it's safer to sass them after they've written the ticket because then they'd have to do a whole new set of paperwork to write a new one). (I was particularly aggravated because I'd just been watching all the fuckers cheat the carpool lane).

Ugh. I certainly don't deny that I deserve speeding tickets, I speed my balls off. The funny thing is I never seem to get them when I'm actually speeding. I got one for going 60 mph on the freeway in Houston. I got a ticket in Seattle ten years ago for "unnecessary tire noise" when I went around a corner - this in a fucking Prelude (I told the cop at the time, dude I couldn't spin my tires if I wanted to). The only time I actually got a ticket when I was speeding was out in the country in Texas near Sugarland in a bunch of empty roads for a subdivision that hadn't been built yet. (it was off the 99; I guess it was probably "Long Meadow Farms" or "Waterside Estates" or something, though none of that existed at the time). Houston suburb construction is incredibly corrupt; the big builders all have connections in government, and the roads and power and sewer lines are laid in advance and paid for by the city, effectively a huge subsididy for these suburb builders who keep pushing ever farther out into undeveloped land. I'd found a patch of roads that had been laid out into fields that had only months ago been that dense nasty Texas woods, and was speeding my balls off around the empty roads; I got a ticket for doing 85 in a 45 there which normally would be a license-suspending kind of thing but I guess the cop had a little bit of mercy based on the fact that there was not another human in sight for miles around.

In my youth this ticket would have made me outraged, angry at society, and talking of all kinds of drastic reactions. Now it just makes me sad. I'm tired.

I watched the movie "Stroszek" a little while ago. It's pretty terrible, but it had some great moments. It's a Werner Herzog movie, so it's a total mess. Herzog movies are sort of like the film equivalent of experimental free jazz. He just sort of has a vague idea and tosses some people in front of a camera and sees what happens. Yes, they are as terrible as that sounds, but there are moments of brilliance, and even when they are failures at least they're interesting and full of humanity. The best scenes in Stroszek IMO are when the banker comes to foreclose on the house and Bruno rants the whole time about how this bastard is crushing his life while doing it with a smile. All Herzog movies are about the struggle of individuals to claw a way through this world with a bit of self-determination, dignity, and individuality.

It looks like my cable is fixed; I'm still not sure exactly what the problem was. The technician who came out replaced a bunch of lines, but I had had zero problems for a year and then suddenly had problems all the time so I don't really believe that bad lines were the problem. I assume that something changed upstream which made the signal to my building worse, which then pushed me over a threshold where my bad lines started causing problems. I've heard this can happen when the cable company adds a bunch of subscribes and splits an upstream wire, it lowers signal quality for everyone.

Anyway, I wanted to write some notes cuz the technician said some things I didn't know. One was to not use a signal booster. Since my SNR was shitty before I was running a Motorola high-bandwidth signal booster, which fixed my problem with squiggly lines and noise on my TV. Apparently the cable modem doesn't like it, because the modem only works in a certain power band, and I was actually giving it too much power. The other thing was that one of my interior lines was an old wire. Apparently they've changed the wires, the newer wires can carry a wider signal spectrum. I guess that's part of how they keep upping the bandwidth they can send on the wires - higher frequencies.

07-07-09 - Small Image Compression Notes , Part 2

Deblocking survey :

There are a few different ways to come at the problem theoretically.

One is to work on post-decode data in spatial domain. These approaches basically work by explicitly trying to detect block edges and just filter them. This is the approach, for example, of the H264 "in loop deblocking filter" which there is a lot of literature on. See for example "Adaptive Deblocking Filter" by List, Joch, et.al. For an example of the filter-based approach on the 8x8 DCT case see "DCT-Based Image Compression using Wavelet-Based Algorithm with Efficient Deblocking Filter" by Yan and Chen. (BTW the JPEG standard contains a "block smoother" which basically predicts AC1 as a linear function from neighboring block coefficients. This is okay for the specific case of smooth images and very high quantization, but is generally not awesome and is an ancient technique. Ignore.)

A more hardcore version of the filtering approach is "Combined Frequency and Spatial Domain Algorithm for the Removal of Blocking Artifacts" which does adaptively-offset and adaptively-directed gaussian filters ; this is sort of like the image denoising stuff that creates pixel gradient flow vectors - the filters are local gradient adaptive so they don't go across real edges. This appears to perform quite well but is very expensive.

The other general approach is a more abstract maximum-likelihood idea. You received a lossy compressed image I. You know the original image was one of the many which when compressed produces I. You want to output the one that was most likely the true original image. This is a maximum likelihood problem, and requires some a-priori model of what you think "natural" images look like. In particular, for the case of quantized DCT coefficients, you have a quantized DCT coefficient C ; instead of just reproducing Q*C you can reproduce anything in the range { Q*C - Q/2 , Q*C + Q/2 } , and you should choose the thing in that range that makes the "best" image.

"Optimal JPEG Decoding" (1998) by Jung, Antonini, Barlaud takes this approach directly. Their results are not awesome though; presumably because their prior is not good. A more modern version of the same idea is "Block Artifact Reduction Using a Transform-Domain Markov Random Field Model" by Li and Delp which uses a better model for image likelihood, but is in the same vein of doing a brute force search in the allowed coefficient space to find the maximum-likelihood reproduction.

A related method that was popular for a while is "Projection onto Convex Sets". This is basically just a method of satisfying simple convex constraints in an optimization. Here our constraint is that the quantized coefficient stay the same, that is, repro in { Q*C - Q/2 , Q*C + Q/2 } . You then apply some target function, such as you want smoothness or something, and take iterative steps towards that goal and project onto the constraints one by one. There are a lot more details to this, I haven't paid too much attention to it because these are all crazy expensive and I want something realtime.

"Blocking Artifact Detection and Reduction in Compressed Data" by Triantafyllidis etal (2002) is in the same vein but simpler and more analytical. It again worse directly in DCT space on coefficients within their quantization range, but it directly solves for the ideal reconstruction value as a function of neighbors based on minimization of specific simple deblocking metric. You wind up with just some equations for how to modify each coefficient in terms of neighbor coefficients. While the paper is good, I think one of their base assumptions - that the frequencies can be dealt with independently - is not sound, and most other people do not make that assumption.

"Derivation of Prediction Equations for Blocking Effect Reduction" by Gopal Lakhani and Norman Zhong (1999) is an older, simpler still version of the Triantafyllidis paper. They only correct the first few coefficients and solve for optimal reconstruction to minimize MSDS (mean squared difference of slopes). You can actually look at the equations here and they're very intuitively obviously right. For example, the first AC coefficient should be corrected using the difference of the neighboring DC coefficients. In case you don't see that that's obviously right, if you have DC's like [8],[16],[24] after dequantization at Q=8, and your AC's all got quantized to zero, obviously the original image most likely had a smooth slope, so the first AC in the middle block should be predicted to be the linear interpolation.

An interesting one I found that's related to the stuff I tried with smooth reconstruction of the DC band is : "Improvement of DCT-based Compression Algorithms Using Poisson�s Equation" by Yamatani and Saito (2006) .

BTW a related issue that often comes up is the incorrectness of center dequantization of AC coefficients. I've written about this before and lots of these papers mention it; the best full note on it is : "Biased Reconstruction for JPEG Decoding" by Price.

The very modern stuff has gotten quite arcane. People now are doing things like directional overcomplete wavelets on the reproduced image; with this they can detect both block artifacts and also ringing and other quantized transform artifacts. They then use maximum-likelihood markov models to guess what the source image was that produced this output. This stuff is extremely complex and I haven't really followed it because it's nowhere near realtime, but probably the best solution for offline very high quality JPEG decoders.

An interesting outlier is John Costella's Unblock . It's based on a clever simple idea that I've never seen anywhere else. Unblock is based on the assumption that pixels near the block boundaries come from the same model as pixels in the centers of blocks. That sounds obvious but it's quite profound. It means that pixels near the edges of blocks should have the same statistics as pixels in the centers (in the maximum likelihood lingo, this is a prior we can use to choose an optimal output). In particular, it's useful because in the DCT the interior pixels are much more accurate than the edge pixels. What Unblock does is looks at the statistics of the decompressed interior pixels and assumes those are our goal, and then it forces the pixels near the edge to match the statistics of the interior. The corrections are applied as wide smooth filters.


07-06-09 - Small Image Compression Notes

Lapping appears to be a complete red herring. I've wasted a lot of time on it and I'm very angry. I've been trying to work up a lapped block DCT image coder. The idea is that block-DCT-based is good for speed and parallelization for micro-core architectures, good for memory bandwidth, etc. and the lapping theoretically lets you avoid some of the nasty block artifacts by effectively extending your basis functions.

In practice it just doesn't work. I've tried lots of different lapping methods, and in all of them if I make a parameterized lap amount based on a kaiser-bessel-derived window and then tweak the lap amount to maximize SSIM, it tunes to no lapping at all. Basically what's happening is that the extra bit rate cost caused by the forward lap scrambling things up is too great for the win of smoother basis functions on decompress to make up. Obviously in a few contrived cases it does help, such as on very smooth images at very high compression. (of course the large lap basis functions are a form of modeling - they will help any time the image is smooth over the larger area, and hurt when it is not).

The really retarded thing about this is that areas where the image is very smooth over a large area are the cases we already handle very well!! Yeah sure naive JPEG looks awful, but even a deblocking filter after decompress can fix that case very easily. In areas that aren't smooth, lapping actually makes artifacts like ringing worse.

The other issue is I'm having a little trouble with lagrange bitstream optimization. Basically my DCT block coder does a form of "trellis quantization" (which I wrote about before) where it can selectively zero coefficients if it decides it gets an R/D win by doing so. Obviously this gives you a nice RMSE win at a given rate (by design it does so - any time it finds a coefficient to zero, it steps up the R/D slope). But what does this actually do?

Think about trying to make the best bit stream for a given rate. Say two bits per pixel. If we don't do any lagrange optimization at all, we might pick some quantizer, say Q = 16. Now we turn on lagrange optimization, it finds some coefficients to zero, that reduces the bit rate, so to get back to the target bit rate, we can use a lower quantizer. It searches for the right lagrange lambda by iterating a few times and we wind up with something like Q = 12 , and some values zeroed, and a better RMSE. What's happened is we got to use a lower quantizer, so we made more, larger, nonzero coefficients, and then we selectively zeroed a few that took the most R/D.

But what does this actually do to the image qualitatively? What it does is increase the quality everywhere (Q =16 goes to Q=12) , but then it stomps on the quality in a few isolated spots (trellis quantization zeros some coefficients). If you compare the two images, the lagrange optimized one looks better everywhere, but then is very smooth and blurred out in a few spots. Normally this is not a big deal and it's just a win, but sometimes I've found it actually looks really awful.

Even if you optimize for some perceptual metric like SSIM it doesn't detect how bad this is, because SSIM is still a local measurement and this is a nonlocal artifact. Your eyes very quickly pick out that part of the image has been blurred way more than the rest of it. (in other cases it does the same thing, but it's actually good; it sort of acts like a bilateral filter actually, it will give bits to the high contrast edges and kill coefficients in the texture part, so for like images of skin it does a nice job of keeping the edges sharp and just smoothing out the interior, as opposed to non-lagrange-optimized JPEG which allocates bits equally and will preserve the skin pore detail and make the edges all ringy and chopped up).

I guess the fix to this is some hacky/heuristic way to just force the lagrange optimization not to be too aggressive.

I guess this is also an example of a computer problem that I've observed many times in various forms : when you let a very aggressive optimizer run wild seeking some path to maximize some metric, it will do so, and if your metric does not perfectly measure exactly the thing that you actually want to optimize, you can get some very strange/bad results.

07-06-09 - Readiness

Went to Ballard Sunday and had a few amusing parking related incidents.

One was the famous street parking nittiness that I've heard stories of but never seen in real life. I was trying to take my mom to the Nordic Heritage Museum. I guess we turned on the wrong side of it so we were on the wrong side of the block from the parking lot, so I figure I'll just park on the street, no biggie. I park and we're walking towards the museum slowly, when a man bolts out of the house I parked in front of and covers over to me; he says in that standard meek/confrontational way "excuse me, sorry, can you move your car? it's just you parked right in front of my house.." ; I was like in complete shock, my mind is blown. You have to realize the streets here are like completely empty, there are like maybe 10 cars on the entire block with 100 spaces on it; hell the curb in front of his house has room for two cars and there are no other ones around. I'm just like "really?" he starts going into "blah blah blah" so I'm like "fine fine it's no big deal yeah I'll move it".

I've never encountered the amazing "not in front of my house" nittiness. It blows my mind that this guy is sitting around all the time with his ass tied up in knots keeping an eye out for anyone taking his precious curb.

BTW "nit" is a poker term that I think should make it into general parlance. It obviously derives from "nitpick" but the meaning is more specific. A nit is someone who's obsessed with technical correctness, the absolute by the book "right" answer to a question, to the point of being very annoying and missing the big picture. Often people who play too tight are referred to as nits, but it's more general than that. For example if you ask someone "how do I convert a stdio FILE to a file descriptor I can use with fcntl in the C standard library?" and they say "well, I dunno, cuz there is no fcntl in the C standard library, that's in the POSIX library" , that person would be a nit, and they said would be nitty. Lots of people on comp.lang.c.moderated are super nits; lots of grammar nerds are big nits.

The other parking incident was at the locks. It was a pretty day out so the parking lot was all jammed up with tons of people. I fucking despise waiting in parking lots, and there's a ton of easy street parking around there, so I wanted to just bail out and get out of the lot and go park on the street, but there was some dude in front of me waiting for a car to back out so he could have the spot. I swerve around him to get past so I can exit, and just as I do I see another car is also pulling out (in addition to the one he was waiting on). I stop and ask the first guy if he's leaving, he says yes he is, so I know there are two spots leaving, so when one car pulls out I take the spot. Then the second car pulls out, and the original waiting guy takes that spot. I'm thinking okay, everything is hunky dory, but as I walk past the guy who was waiting (who is now parked) I hear him say "asshole" in that lame quiet way so it's just barely where I can hear it. It just startled me. I mean, for one thing it blows my mind, how could you not have noticed that I stopped at specifically made sure there were two spaces before I took one? How can you possibly be all upset about this incident, and then to drop the lame quiet asshole bomb, I just wasn't ready for it.

I have a lot of trouble with these surprise confrontations. I need a lot of time to get ready for human interaction; I have like a 5 minute delay loop or something before I can process a situation. There are times when I'm all pre-angered and ready to burst at anyone who gives me trouble, but I have to prepare for that, I can't just do it on the drop of a hat. 5 minutes later I was ready to tell the guy off, I was wishing I would see him again around the locks and he would say something so I could tear into him, but of course it didn't happen. This same delay has always given me a lot of trouble with girls too. If I really actively get myself into socializing/flirting mindset, I can do okay, but it takes a good effort of preparation to clear my mind and give myself pep talks and whatnot. If I'm just going about my daily business, like if I'm grocery shopping or something and girl says "hey those are really cute shorts" it just startles me, I'm not ready for it, my response is like "umm, hmm yeah" or something, and it's not until five minutes later that I realize "oh, she was flirting".


07-04-09 - Faux Pas

There are quite a few people around me who have extremely unpleasant personal comportment ticks. Little sounds they make, or something they do while eating, or some minor habit of the way they do ordinary things. This is an example I made up to specifically not be a real one of someone around me : something like slurping loudly every time they sip a liquid, even just water or anything.

It's not a huge deal, but it's really grating and sort of gross, and it's also frequent so that every time they do it I think "urg, should I say something? no, if I do they'll just think I'm a jerk and won't actually see that it's a really abnormal and bad habit that they have". Nobody ever actually wants you to tell you anything real about themselves; even if they are grateful that they learn it, they will still hate the messenger.

It makes me wonder/worry about what kind of disgusting habits I have that I don't know about because noone tells me.

I've always wanted to invent a backpack that didn't make your back sweaty, but it's rather a difficult issue. You certainly could have a mesh box frame between your back and the pack to let air through; that would also give you a more consistent padded layer. Basically something like a whole bunch of little semi-soft whiffle balls.

The other thing I really want is a better ice pack. Those big block ice packs are really worthless. The ideal one would be just like frozen peas. I think this is quite easy and practical, you just make bunch of small plastic spheres and fill them with that ice pack blue liquid stuff, and put it all in a bag together.

The idea of not going in the sun because you're afraid of skin cancer is very bizarre to me. Being alive is better than not being alive, but not by a big margin, so the idea of giving up something that you really love to slightly extend your expected lifetime just seems like a huge -EV play. The only way living is worth doing is to try to maximize your pleasure, and if you die early, no biggie.

My new doctor basically told me the same thing about my shoulder. He said don't baby it, just go ahead and do whatever you want on it, push it, play sports, lift weights whatever. Yes, eventually it will probably become arthritic and need surgery, but you may as well push it until then. If you baby it, you might delay or avoid surgery, but then you're missing all those years of really using it, so what's the point of babying it? What are you saving it for?

I feel like some people think that life has some huge treat in store for them at some mysterious juncture in the future, so they need to keep their bodies alive and save money and be there for this magic stroke of luck. Well, I got news for you - it doesn't get better, there's no pot of gold at the end of the rainbow, there is no god, no afterlife, no prince charming.


07-03-09 - Hot summer nights

I just discovered that my wifi works from the stoop outside my apartment, which is quite delightful. It's a glorious long hot summer night. Perfect for biking around the city with your new lover, lying in the grass laughing, swinging in the playground, sipping drinks on a patio, getting covered in the smell of grass and sweat and sweet summer flowers.

I adore the heat, but it does make my productivity go down immensely. I just can't work in heat. I'd love to have a house that's super open, like maybe traditional Japanese style where the house is basically just a wooden platform and you have sliding rice paper screens, or even like a deluxe Arabian prince's tent, where you have pillars at the corners and cloth on the sides that you can roll up if you want (and just piles of pillows on the ground to lay in with your harem).

I thought about writing a big rant about cars and bikes and pedestrians, but I got halfway done and deleted it. In the end, it comes down to one question to me : would you rather live in a world where it is a pleasant and relaxing experience to be a pedestrian or a cyclist, or would you rather live in a world where people in cars reach their destination a minute or two sooner ? To me the answer to that question is abundantly clear, and anyone who makes the world less like the way I want it to be is my enemy.

In fact, I don't think it's a matter of "taste" or "preference" or anything. These are copouts that people who are wrong use to justify doing the thing they know is wrong. If you prefer your steak well done, you are just wrong. Now, that's fine with me, if you want to be wrong, you are free to choose the stupid choice. In fact I respect and like people who are self confident and knowingly and unashamedly choose things that are not "proper". However, don't pretend that both ways have equal value and it's just a matter of different "opinions".

I just saw the play "Orange Flower Water" ; it was pretty good, I generally don't like plays, but I do enjoy them under a few conditions - 1. the play must have no "whimsy" or "pizzaz" or men in drag or madcap mixups. 2. it must be a very small intimate theater, not a big production, I want the performances almost in my lap (but not ever actually in the audience), 3. it must be very short. This was 70 minutes which is about perfect. My review of the play : a bit trite and predictable, but the immediacy of the human performances helped make it real; the ending is very cheesy and should be cut; the staging here in Seattle was very good, minimal and clever; two of the actors here were great, one was very poor. (an amusing note : one of them was the voice of Cortana).

Anyway, what I wanted to rant about is "Q&A Sessions". At OFW the playwright was in the audience this night only and did Q&A after. Oh my god I hate Q&A sessions so much. (I would have just left, but it was such a tiny space it would've been very awkward, and I was with my Mom who I think wanted to stay for it). First of all, the main reason I hate Q&A sessions is that I just generally hate knowing the writer's or director's opinions of their own work. I saw the work - the work is its own explanation. There's an awesome quote from David Lynch, maybe someone can find me the exact words, someone asks him to explain a certain scene and he says "the thought that was I trying to express in that moment is what you see, the movie is my way of communicating the idea, I cannot say anything to you that was not said better in the movie itself" , which I love.

After a play or a good movie I'm digesting all my own feelings and reactions and I kind of just want to have private time to think about it, or maybe talk about it with one other sympatico soul. I don't want the writer putting the "official" way of thinking about it on me. And I hate when people know all kinds of things about movies or books that aren't in the material, like "oh the writer actually wrote this about his first marriage and his wife cheated on him" , fuck I don't care about the writer's real life backstory or who these characters really are, all it does is color my appreciation of the work in a negative way and distracts from the art. Leave the work alone.

Even without that aspects, Q&A sessions are balls. This guy doing the answering was actually really awesome, he has a quality that I much respect and admire, which is he could take really shitty questions and turn them into good answers. Dumb annoying nitty nerdy people will take stupid questions and just answer them completely factually and directly, which gives you dumb answers. That's not what the questioner wanted. As the question answerer, you have to ask yourself not "what did they say" but "what did they want to say" and "what do they want me to reply". Often you can guess what they might have been getting at (or *should* have been getting at) even if they failed to express it in their question.

But the problem is the people who ask the questions are the most annoying attention-hungry tards of all. We literally had people who would raise their hand and then say "I don't have a question but a comment .." and then proceed to give their own opinion about the play. What? Who the fuck are you? I don't want your opinion! It reminded me painfully of college where the only people to ever raise their hands are the fucking "is this on the test" people or the fucking "this is like what happened to me when I went to Cabo last year and ...".

Baguette Box is really damn good, but I wish they didn't "reimagine" the Banh Mi quite so imaginatively. Banh Mis are fucking great, most of the ways you've changed it are bad. Give me my pickled veg and chillis! And take the cilantro off the fucking stalk, it's inedible like that.

The frozen indian chickpeas at Trader Joes are the fucking bomb. It might be the best frozen food I've ever had. (I've always been a big fan of their pot pie).

The life of my laptop battery has been steadily declining over the years. It only lasts about an hour now. I guess I could replace it, but it's probably a better idea to just get a new laptop.


07-02-09 - Stores are Dicks

I'm fucking trying to give you my money, why are you being such a dick to me?

Larry wrote about some Amazon spam yesterday. He writes about the bit that says "don't contact us" claiming that it's a spammers trick. He is wrong about that. In fact that text is quite common from web sites now. For example I just bought some stuff from Cambria Bike and they send me this with the order confirmation email :

Please Note: There is no need to re-send your request or call our customer
service department for status or tracking number, this will only delay our
response time to you. Rest assured, we are making every effort to process
and ship your order within 1 to 2 business days. We appreciate your
understanding and patience and do value your business.

Look, I know you don't want people pestering you over and over after they put in an order, but this "don't contact us, it will delay our response time to you" is fucking bullshit and is just being a dick.

I was trying to buy my gear from Performance Bike, but their fucking online order system is broken. After spending like 30 minutes picking out all my gear and setting up my cart, I try to check out and the order system eats its own ass. So I email customer support :

I'm trying to check out and it tells me this -

"An unexpected error occurred while validating the submitted address."

Can I submit my cart by email and then phone in payment information so I don't have to
do everything over the phone?

This is my cart :

[... many items copy pasted ...]

Their reply :

Dear Mr. Bloom,

We are aware of the problem and are working to correct this. You may
call us at 1-800-727-2453 to place an order by phone. I apologize for
the inconvenience.

Umm, okay, so THAT'S A FUCKING NO. Just say "no, we are not going to try to help you with what you want at all, you can either suck our dicks or go shop elsewhere". Okay, I shop elsewhere.

This is a paraphrase of one my comcast chats :

[I've been having connection drop outs for a long time and keep contacting them about it over and over]

me: okay, it's getting really annoying having to call through the main number every time I have to talk to tech support, can I please have a direct number for tech support?

comcast: yes sir, the number is 1-800-266-2278

me : umm, no, that's 1-800-comcast , that's just the main number

comcast : yes sir

me : that's not a direct number for tech support, will you give me a direct number?

comcast : that is the number for tech support

me : are you refusing to give me a direct number for tech support ?

comcast : no sir, I did you give you the number


I would actually much prefer it they would just say "No we don't give out the direct number because we don't trust our customers".

(on the plus side I do seem to have working interent now, so that part's good).

old rants