cbloom.com

You probably want cbloom rants instead.

If you don't like my rambles, don't read them. Nobody's forcing you, dumbass.


03-06-17 | Bullshit Conditions

FYI , something I have learned in the course of my injuries and research.

These conditions may be bullshit :


labrum tears

herniated discs

partial rotator cuff tears

What I mean is : if you take a random person off the street (with no seemingly related issues) and do an MRI on them, you will find one or more of these problems. Basically you can find signs of these in an MRI at will.

Lots of the population is walking around with these issues and is just fine. I've seen some studies that suggest the correlation between something like shoulder pain and labrum tear is very low; that is, the % of people who have a labrum tear is just about the same in the two groups {complains of shoulder pain} and {does not complain of shoulder pain}.

Another thing I've learned is that the MRI technician who interprets the MRI is not at all an exact science. MRI's are messy and there's a lot of interpretation that has to take place. Things like telling a labrum tear vs. a normal variation, or a small tear vs a significant one - different MRI techs could see the same image and give you different readings.

Far too many doctors get these results from the MRI tech and treat them as objective fact, or as causation. They are not that. eg. if you go in for shoulder pain, and they order an MRI and see a labrum tear, and go "oh, the pain is due to labrum tear" - they are a bad doctor.

Similarly patients are too eager to latch on to these physical signs as "explaining everything". Like "oh I have a herniated disc that explains my bad back". Eh, maybe, maybe not. Lots of people have some kind of disc problem, and whether or not that manifests itself as a big problem depends on other factors. It's also likely that the disc problem was caused by something else, so it's not really the root of the problem either. It's a small piece of a larger puzzle.


03-05-17 | I wish

I wish I could have a box of cookies in my house, and just eat one with tea. It's lovely to have one cookie with your tea, that's when I really want one and enjoy it. But I know if I have that box of cookies in my house I'll eat another and another and they'll be all gone in one day.

I wish I could have one glass of wine with dinner, or a beer, when the pairing of alcohol with food is so damn delicious, the bitterness or acid cuts the fattiness of the food, the slight buzz enhances appetite, it's so damn good. But I know if I have any, I'll want just a little more, then a little more, and the bottle of wine will be all gone and I'll be like "fuck how did that happen so fast?"

Sometimes I'm with a woman, and she throws her body at me, tempts me with her curves, invites me to take her, and I know it's a "bad idea", she's dramatic or clingy and jealous or manipulative, and I really don't want to be involved with her in a relationship way, but I think "I can handle it", if she wants to give me her body, I'll take it and enjoy the moment of pleasure and then not get sucked in to the mess, not get trapped, that I can take the pleasure on offer and just get out of there. But it's not possible, I can't just ignore the emotional manipulation, it gets under my skin. I have to just say no to everything.

I wish I could watch an hour of TV a day, just pick one show that's really rewarding, and stop when I get bored, but once I start I just want more and more, chasing entertainment.

I have to say no to everything. Cut all pleasure out of my life.


03-04-17 | Remember When

Remember when it came out that Donald Trump was a proud sexual predator? Like, not just a huge misogynist, not just an objectifier and demeaner of women, but an actual rapist, and not at all ashamed of it, but bragged about it repeatedly.

Everyone thought whoah, this is way too big of a scandal, this candidacy is over. This is way bigger than the Howard Dean yowl or the Dukakis tank photo op or the Edwards affair, this guy just is total scum to 50% of the population of the country, he's DOA.

And then all the Republican senators came out to talk on TV to distance themselves from the sexual predator, because they thought he was going down and they wanted to make it clear that they didn't support peeping on Miss Universe candidates, or tweeting about womens' weight or periods, or groping women against their will, or any of it.

But the senators all had the same talking points, which seemed to be about how they sympathized with the *men*, shit about "I have daughters and I would be horrified if someone did this to them", it was all about oh, we empathize with you *men* who might be bothered by this, because god forbid it just be awful for women and that matters, no the affect on men is all that matters.

So then everyone was like whoah the whole Republican apology about this was epically bad and misogynist so your whole party is just fucked, like we're laughing at how out of touch with reality and equal rights and modern civilization you are, you're fucked.

And then they won everything, including the female vote.


03-04-17 | Defined Benefit Pension

It has become standard talking point (aka the corporate mind-control propaganda has won, you are all fucking sheep who literally parrot the lines that the masters feed you and sell the message that destroys yourselves) that defined benefit pension plans are unsustainable, or cripple corporations, or whatever.

First of all, tough shit. If you promised employees pensions in their contract, that was part of their compensation, that was part of why they took the job. If you promised them more than you can afford, you fucked up, fuck you. Recoup the executive compensation and all the dividends you pay out to shareholders so that you can pay the damn pensions that you contractually promised.

In the housing crisis all the fucking propaganda-parroting-sheep were saying "you signed a mortgage, you have to keep paying and honor your contract", claiming that home owners declaring bankruptcy and walking away was somehow immoral or shameful. And yet when corporations declare bankruptcy to get out of their pension obligations, that's just good business, and somehow the pensioners are to blame for expecting too much.

Second of all, the corporations knew these costs were coming. They had 30-40 years of time to prepare, where the costs of the pensions are easy to calculate. They should have been taking profit and putting it into pension trust funds to prepare for the costs. But they didn't. They essentially stole from the future to make more profit in the short term. Every time they paid themselves or their shareholders, they were stealing from their employees that they owed future pension obligations to.

Third, a defined pension plan is perfectly reasonable and is in fact the right way to do it. Individual retirees should NOT be using 401k's and other market-based savings plans for their retirement. That puts their well being at risk to the vagaries of the market. The whole point of something like social security or a defined pension plan is to remove that risk from the individual, and spread the variation of market return over a large pool (such as a corporation or the entire country). It's not acceptable to have a bad couple of market years wipe out retirees ability to support themselves, the whole idea is that if they have no other savings or ability to work, than the pension should still keep them alive.

The right way to fix all of this would be to have 3rd party pension plans. Rather than just coming off of GM's balance sheet, instead GM has to pay into the plan at the time of employment to capitalize the plan sufficiently. The plan gets reinsurance from Berkshire or whoever to gaurantee it can pay the defined payments when people retire. Actually the government would be ideal entity to run this plan, using the social security mechanism.


03-03-17 | Post GDC

Best GDC ever? It was a really good year for me, and I think RAD in general, in the sense that we had lots of good reasonable discussions with people, and not too many crazy time wasters (students, artists/designers who are "just curious", business card swappers, indie devs who are interested but with no budget, competitors stealing ideas, etc.). My ratio was something like 10:1 which is awesome. It was still hard, exhausting, grueling, my god. It's the closest I've ever been in my life to doing a job like retail or being a food server, where you have to be on your feet all day and keep talking to people and being nice to them, my god it's hard. But hard work is okay when it feels like there was a point to it, it's only when you bust your ass and think "wtf was that for?" that it feels really bad.


Two groups of people who would be immediately killed if I was king :

Everyone who mobs around the airport gate before it's their turn to board. As soon as the flight starts boarding, or even before, these cows all plant themselves in the worst possible place, right in the way of the line, or in front of an escalator, so people keep having to go around them, and they never move or show any awareness of standing in a reasonable place, or maybe getting the fuck back in their chair until it's their turn to board. And then when it is the general group's turn to board, everyone just swarms in like a blob with total inability to form a line. And after all that they show up at the head of the line and don't have their boarding pass ready. All dead.

All the drivers in downtown SF. Almost full stop, you can almost all just die. But mainly the people who are all frustrated and road-raging because there are so many pedestrians. (what I observed over and over was : some car wants to turn, but the crosswalk is all blocked up with peds, then the light changes, but peds cross the other direction so he still can't turn, finally he gets raged up and just pushes through a little hole, slamming on the gas and screeching tires, get a fucking grip you road-raging asshole). YOU chose to drive through downtown SF you fucking moron, duh, no fucking shit it's full of pedestrians, maybe next time don't drive through downtown you shit-for-brains fucking Trump-voting rage-a-holic macho ass-face cock-sucking fat turd of a waste of space. You should have expected it to be slow and frustrating, oh big surprise it's exactly what you expected, chill the fuck out.


After a long day traveling, I finally got home. I miss my daughter and am excited to see her soon, but I'm really fucking happy to come home to an empty house.

I've never been in a relationship that was a relief after a hard day. I've never been with anyone that made a hard day easier. I've had magical times with wonderful people, but that was always making good days better. It was always *work* for me. I had to be up, I had to be "on", I had to be social and friendly and making *them* feel good. If I came home from work, just exhausted and fried and not really wanting to see anyone, they would get all butt-hurt and take it personally and attack me, "you're such an asshole", "why are you like this?", "you're autistic" or "you don't like me". Fucking hell. I've talking to people all trip, I did all this fucking travel and I'm exhausted and I just want to watch TV and go to sleep.

On the other hand, being in SF made me miss having a woman. Going out on the town, all the excitement and people, the lights of the city at night, the two of us dressed up and beautiful, feeling like the king and queen of the world because we have each other, exploring together, the world is our oyster and all that. Of course that was pretty much only ever fantasy for me, not so much reality, but it's nice even to have the fantasy.


02-27-17 | Science Books I want

Ideally books, around the level of Baez' "Gauge Fields, Knots & Gravity", or Feynman's "QED" or Einstein's "Relativity" - that is, actually doing the physics and getting things right, not just bullshit handwaving, but with real good intuitive understanding and clarity and not just the mess of a textbook.

Topics :

1. Lift on airfoils. I can do laminar fluid dynamics and solve simple navier stokes problems, I want to really know how lift actually works because it's fucking weird.

2. Similar to #1 - practical aerodynamics for undergraduate physics level readers who just want to understand things like "spoilers" (trick topic there because there are at least 3 different types of "spoiler" that are totally different) or diffusers, tear-drop shapes vs wedges, etc..

3. Can magnetism be totally derived from electricity and special relativity? I've seen this hand-waved at and partially worked a few times, but I'd like to see it fully worked, in a Feynman-Hibbs "path integrals" kind of way (presenting basic physics from scratch with a different perspective). Like start by assuming only electric forces in frames with no moving charges, and assume special relativity, show that magnetic phenomonen must happen in boosted frames for SR invariance.

4. Similar to #3 - WTF is current and voltage and so on? Prove things like V=IR and the rules for current in series or parallel using only the laws of E&M. Show what's actually happening in terms of electrons and forces. I'd like a whole book on simple electricity laws but from the perspective of the basic physics of electrons and photons.

5. Hamiltonian and Lagrangian classical mechanics that's not just a slog. In school we did Goldstein which was brutal. Same thing for advanced topics in E&M (Jackson). There must be nicer books that make these fun, right?


02-27-17 | Seattle

Seattle is a gaslighting bitch. It'll be unbelievably miserable, gray, rainy, for days on end, and you're like oh my god this is hell! You tell your friends "fuck it sucks I have to get out of here!".

Then your friend comes to visit, and Seattle acts all nice, it's sunny and dry and lovely, and your friend is like "wtf dude, it seems fine to me", and you have to be like "no, I swear this is a crazy fluke for March weather, it's been so awful! I'm not crazy, really!", and you're like WTF SEATTLE ! You were gray and shitty to me every day and now that my friend is here to see it you're delightful?


02-27-17 | Data Compression Inspiration from Car Racing

Two things strike me as good parallels. (thinking about "road racing" ala F1, GT cars, track days with curves).

1. You improve lap time in the *slow* corners. The fast parts of the track are almost irrelevant.

Was reminded of this by great video linked from Axis of Oversteer. Axis mentions that if you took an F1 car and eliminated all drag, it would gain 2 seconds a lap, but if you eliminated all downforce, it would lose 21 seconds a lop.

Part of the issue is summing in the right scale. What you care about for lap time (or compressed output size, or compressor time) is the total *time* , not speed. Changing the high speed part of the lap from 180 to 200 mph is not a big difference in total time, but changing a slow corner from 40 mph to 60 mph is.

Another part of the issue is attacking where the fat is. In high speed parts of the track, or areas where the compressor is already getting great compression, you're in sort of diminishing returns, you've already done very well. There are bigger gains possible where the car is not working well (eg. slow corners).

2. Data data data, study the data, compare yourself to others. Find your weaknesses and figure out why you have them, then fix them.

You see this in every interview with serious racing drivers. How do you get better : karting, and study the data.

For those who don't know, what racing drivers have is tons of telemetry, showing what they and their car and doing over the lap. It shows all their inputs (throttle, brake, steering) at every point in time, and what the car's state was (speed, rpm, etc.). You get all these graphs, and then you study how those translated into lap time. You can go out and try different approaches to corners, brake later, try tighter or wider lines, use more throttle steer, whatever, and see how it turns into lap time.

A huge part of it on any racing team is sharing data and drivers both competing and learning from each other. If your partner/opponent is faster in some part of the track, you go study what he was doing and why and try to learn from it. You might be faster than him overall, but you still have to keep learning, keep improving, find the places where he's doing something better, or you'll be surpassed.

You can't just be a loner and try to go out and drive by "feel", you will be crushed.

We do the same in data compression. My personal inclination is to go off by myself and not pay attention to what anyone else is doing, but that's not how you get to be the best. It's good to have some humility, know that others have things to teach you, there will always be some things they are doing better, and you need to go study them. Find the individual files, or even parts of files, where they do better than you and go study it, study why they are better there and learn from it.

I don't do it very often, but every time I do, I find it very fruitful and I always think "I should do that more often". Anytime you see somebody is better in some way, don't just go "huh, whatever" or "we have our pros and cons" - study it! Understand why.

It's incredibly valuable just knowing where to look. If somebody just tries to go 0.1 second a lap faster - how !? You can't just do that at will. But if you know - my partner/competition is faster than me in this specific spot, okay, now I can work on that, now I have somewhere to look.


Not related to the original post, but every time I see anything about F1 tech, I think how sad it is that it's all just pointless stupid gaming in the regulations.

For example, Toet gives the intuition that what the front wing is really doing in F1 is not just kicking air up to push the front down (as a naive undestanding would assume) - it's creating vortices that spiral up and then down under the side pods to come out the diffuser.

That's fascinating, but also sad and pointless. Because the whole reason for that is because they aren't allowed to put aerodynamic devices on the upper part of the body work. Therefore they have to twist the air below the car to be able to shape the flow. If the regulations were open, they wouldn't do that at all - they might shape the air through the side pods, or have wings around the cockpit, or who knows. Wouldn't it be fascinating to know what the best solution is without regulation constraints?

Dumbasses will often say "they do this is racing so it's faster". No, they do it in racing because it's the regulation.

The whole focus on aerodynamics is only partly because that's important, it's mostly because it's the only area that you're somewhat free to do development in. If development were unrestricted, they would be working on tire compounds, fuel chemistry, weight - there would be tons of development on materials and engineering to get weights crazy low, computer controlled suspension - actually probably the entire car geometry would be computer controlled, the wishbones and body surfaces would all be dynamic, tire pressures could be dynamic, of course you'd have crazy active aero, exhaust and intakes used for aero purposes, fans and god knows what. NONE of what formula 1 cars do now is because it's the fastest way, in fact it's quite often specifically regulated that way because it's *slower*.


02-27-17 | Love Yourself

Lots of people don't believe they are good enough to deserve a good lover. When I come across a woman who's beautiful, smart, social, just full of light and happiness and beauty, I think she wouldn't want to have anything to do with me, or more accurately I know that I could probably pull it off to trick her, turn on the charm for a while, but in the end she would be disgusted with me and it would all fall apart with much misery.

The standard shitty pseudo-psych advice is that the problem is your self-loathing, that you need to love yourself better and believe that you deserve good love, to tell people "you are good enough! you deserve it!".

What a load of shit. You *aren't* good enough. The problem here is not your low self esteem. Your first evaluation of the situation was perfectly fine, she *is* too good for you.


02-27-17 | Android Battery

At dinner with techies a while ago, I complained about how shit Android is, for example my phone will just occasionally eat all its battery while doing nothing. My guess is that it's some app, or some fucking system update, that just decides to do a bunch of work, because lord knows I never do anything on it.

It usually happens overnight, and I particularly notice it when I set an alarm to wake me up, made sure my battery was charged, leave my phone by my bedside, and wake up to no alarm and a dead phone. WTF, you had one job!!

So anyway, at dinner they were like "oh you're being silly, there's this Android battery history thing you can look at to see what's going on".

So this morning I wake to a dead phone and no alarm, and I'm like WTF let's look at the battery history and see which bastard app ran in the night and ate my battery. So look.


Battery usage since last full charge :

Screen : 8%
Google Services : 5%
Chrome : 4%
Phone Idle : 3%
Cell standy : 2%
Android System : 2%
Android OS : 2%
Wi-Fi : 2%
Tumblr : 1%
Voice calls : 1%

which adds up to 30%.

Two problems : where the fuck is the other 70% ?

Also, while those usages look low, I did nothing during that time, so they're actually damn high. (I wonder if "Screen" includes the damn annoying pulsing blue LED light? does that thing use a lot of power?)


02-25-17 | Benchmarking

There's this weird situation with Oodle where almost nobody who ever buys it actually uses it on text. Text is just not a type of data that occurs in software in any significant quantity.

(if your shipping game does have a large amount of text data, you fucked something up and you should fix that shit, compile your XML level format to some kind of binary cuz parsing that shit is unacceptably slow!)

So my performance on text is totally irrelevant to whether the product does it job well or not. However, people do frequently benchmark Oodle on text, because the standard compression corpora are all text-dominated (silesia, calgary, canterbury, enwik, etc.). So they try to do the "right thing" and compare on a standard corpus, and they wind up seeing the text results.

The problem with that for me is that text and binary really behave vastly differently in LZ. Text is all about matches, it's all about your encoder finding good matches, your decoder is doing lots of offsets, lots of string copies, there are lots of short (3-5 byte) matches. Binary is totally different, you get alternating runs of long LRL's and long ML's, you get lots of rep's and rep-len1's (zero literals in sub literals). In text, offsets and ML's both have a very smooth predictable falloff, in binary the histograms are both flatter and more spiky. They're just super different.

The result is that to look good on benchmarks, I have to spend a lot of time tuning for text, which is totally irrelevant to actual function of my product. It's a weird and annoying thing.


02-25-17 | Free Market

Theoretically if you had lots of competition in broad band, then it would be okay for it to be up to them whether to favor some traffic or to honor net neutrality.

The problem in American capitalism is that you don't actually have that choice. Most people have one or two broadband choices. They're huge monopolies, they keep merging. There is no open competitive market, with transparency and options.


02-25-17 | Fucking Hell

Fuck, I reek of testosterone recently. It's so strong I can hardly stand it. Funky, earthy, acrid, like nasty sex and sweat and muscles. It seems to be at some kind of peak, I'm not sure what's going on in my body chemistry, maybe because I'm having so little real sex these days? It's a bit weird because I feel just about as neutered and dissolute as I have in many years. WTF body, WTF are you doing? Stop oozing sex, it's not time for that!


02-25-17 | Funny

Kind of funny how Republicans these days talk about "horrible tax and spend Democrats" and then turn around and endorse Trump's Hyuuge infrastructure program. They talk about "free market" but then want to limit international trade. They talk about job stimulus, which is specifically opposed to "free market".

YOU HAVE NO IDEOLOGY !


02-25-17 | Tumblr Brain Explosions

I browse Tumblr sometimes as a way of poking around the internet with little danger of stumbling on things that will enrage me (like politics or tech).

My following feed winds up with a lot of porn in it. Which is not always what I want, hey I'd like to browse the net a bit with coffee, here take a big set of nasty dicks and assholes! Yay! I just don't understand how all this software is so shitty, it just feels like nobody who makes this stuff actually uses it. Just maybe you should be able to have multiple following sets for different categories? Or maybe just give me a simple button to toggle X-rated stuff on and off in my feed? Or a way to bookmark a blog but not get its RSS feed; there's stuff I want to go back to and browse sometimes, but not have their daily shit shoved at me.

Anyway, there are a few really common sights in the porn blog world that absolutely make my brain explode.

One is the pandering bullshit. Some guy will post some shit on his porn blog like "Don't listen to the media, ALL bodies are beautiful!" or "Whatever your color, whatever your shape, know that you are gorgeous!". You fucking lying patronizing scum. You run a fucking PORN BLOG. Your entire existence on Tumblr is about posting pictures of thin women with long legs and big boobs and perfect skin, huge cocks and muscley men. Your entire fucking hobby here is about selecting beautiful/not-beautiful. And on this very fucking blog that's entirely about "some people are beautiful and some are not" you post this patronizing shit. And the worst thing of all is that dumb fucking people heart it and reblog it and add comments about how great that statement is.

The other is the cam girls. There are shit tons of semi-pro cam girls, and at first it seems kind of sexy, it's more human than porn, it's a real person, an amateur, someone that you get to see periodically over time. But they just almost always have revolting personalities that make my head explode. For one thing, a minor forgivable thing, there's the inevitable sort of double standard about sexuality and objectification, the girl is there promoting pictures of her boobs and butt, and often posting text about "I need to be bent over and used as a hole" but then some guy will send her a message like "really want to fuck u" and she'll reply with "ugh gross show some respect". Err, okay, but yeah, also you also are kind of litterally asking for that. But the real problem there is that the guy sent you a private message and you chose to respond with your "fuck off" publicly. Which brings me to the bigger complaint about the cam girls :

It's incredibly common for them to post something like this :

guy : I just wanted to say u are so gorgeous!
girl: tbh I could care less what you think
Which is like, err, *brain explosion*, fucking hell. 1. You are posting pictures of yourself to make money, so obviously your ENTIRE EXISTANCE on here is about caring what he thinks. You are trying to get people to find you attractive so you can take their money. 2. He sent you a PM and you posted the reply of you being a bitch publicly, which is a strange choice. What's the point of doing that? To publicly shame him? To show all your followers that you have no respect for them and think they're all loser nerds that you kind of hate? It's a really fucking weird way of shaming the people that you're profiting from; I guess it's a bit like a PUA's "neg", some people want their gods to treat them like shit. Not me. Unfollow.

It's all just deeply sad. All these girls that think they're "winning" by making a few bucks by objectifying themselves, and all the sad lonely men that follow them, and the nasty inhuman way they all treat each other. In the end, the bit of naughty pleasure I get from it is overwhelmed by how depressing it is and I unfollow.


02-25-17 | Just Sayin

Seeing lots of ads on web sites for "machine learning courses". So total novices will be designing neural nets that they don't understand which work like shit. It would be kind of hillarious except that fucking retarded corporations and governments will actually use this shit for important things that affect people's lives.

Saw some moronic tech writing about the NL Hold'em poker bot doing well that "this is a milestone for AI and the tech will bleed into all kinds of applications". Um, no. That tech will be used for playing No Limit Hold'em. It has almost no connection to the bullshit uses of "AI" that most people do. In particular with poker, you have millions and millions of past hands to learn from, and while there is some missing information, you do get an absolute and concrete score for each hand. So it's very easy to just run huge databases of counterfactual regret.

I keep reading about how the tech guys working in self-driving cars were paid "fuck you money" and are so in demand and blah blah. Hmm. I'm pretty sure that the core guys who developed Valve's VR stuff (Ryg, Atman, Abrash, etc.) could have done all that stuff pretty fucking easily (on the software side anyway). Object recognition, motion tracking, meh.

It's sort of a weird cranky thing that all the hot tech topics of the moment are just pure bullshit that I don't think will ever work. But then, has any complicated tech ever worked? There are always these crazy fads, like all the fractal nonsense, then multi-scale radiosity with wavelets, monte-carlo hidden markov models, blah blah, oh this crazy complicated tech is going to solve all these problems. But it just never does.

One of the lying bullshit claims about self-driving cars is that they are important because they'll make the roads safer. Fucking asshole liars. That uses the standard bullshit argument of comparing vs. cars that have no other tech advancements. That is, on the self-driving side, you're assuming that they can get better and better and use all this new tech, but on the reference side you are assuming that it's a dumb car from the 1980's with no tech and no improvements at all. Asshole unfair strawman argument. What you should do is compare to how you could improve the dumb car. At the very least, the "dumb car" can have auto-braking collision avoidance systems such as the ones that are already currently available. And of course you shouldn't assume that tech stays static, it can improve to. You could use object recognition to detect danger and do something like flash a red box around them in a heads up display on the windshield, so if you're driving along and a pedestrian is about to step out, they get highlighted on the windshield. You could also easily have things like attention tracking for the driver, for example eye tracking is very easy, you could make sure the driver has their eyes on the road at all times.


02-24-17 | Resolution

Self control resolution.

When I'm drinking and watching TV (and possibly masturbating), don't also poke around on the phone.

Just get off the fucking internet on the phone.


02-24-17 | Lonely Grandma

The standard TV Sitcom Cliche is of the lonely mom or grandma, whose kids have moved away, and they constantly call or try to come for a visit or guilt you into coming over "what? you can't come for a visit? I only carried you in my womb for 16 years, you don't appreciate that?".

I've known at various times various people who are like this, that really want people to like them, want people to come for a visit, and often I feel guilty that I'm not hanging out with them, so I'll go over and do it a bit.

But at some point, if you are the kind of person who wants company and friends, if you're lonely and you want visitors, then you have to behave in a way such that people want to be with you. If you just nag and complain and then you kind of suck to hang out with, fucking sort your shit out, learn how to be nicer to be around. Attract flies with honey.

I have very limited free time, and if you aren't my choice of free time, that's just your fault, not mine.


02-24-17 | Rally Stars

How can WRC take the most extreme amazing motor sport and make it SO FUCKING BORING to watch !?

Why do they not show me ghost cars so you can see how people are competing against each other in real time? Why don't they take the time delta and start the cars all together in a final rally-cross style race, like the "Eliminator" in American Gladiators type of stuff?

It's a bit like watching Decathlon in the Olympics. Amazing, also terrible.

I think that in 20 years a lot of these sports will cease to exist, and instead we will have "reality TV" style seasons, "America's Best Rally Driver" or whatever, where you follow the competitors and the phoney human stories, with dramatic/manipulative production and drivers crying and yelling at each other and so on, because hey it just is more compelling than this boring shit.


02-24-17 | Reminder

Just a reminder that these people are human beings :

Undocumented immigrants. People who have been charged with a crime but not convicted. People with criminal records. People who have been stopped by the police but not charged with any crime. Suspected criminals. Suspected terrorists. People with different gender, religion, or political party than you. The poor.

Even people who are actively fighting against you, either to remove you from power peacefully, or in armed conflict that they believe to be righteous but you do not. Even they do not deserve to be tortured, to have their families murdered, to have chemical weapons used against them.


02-24-17 | Fake News

It's impossible for me to tell if there was actually anything terrible in the Clinton mails or in the pay-for-access behavior of the Clinton Foundation. It's well established that you can't trust the NYT to cover the Clintons or the Democratic Party. There's plenty of "zomg what a scandal!" news around the web, but the vast majority of it is just partisan nonsense. Any possibility for a rational evaluation is smothered in so much shit.


02-24-17 | Shocking

50% of Americans think they can safely text and drive.

80% of Republicans approve of Trump.


02-24-17 | Gambling

So some fat soccer dude ate a bun and is in trouble because it was "spot fixing".

These ridiculously easily exploitable prop bets should just not exist. The players certainly shouldn't get in trouble for messing with them. It's the fault of the gambling houses for offering props that are so inconsequential and easy to throw.

For example you can bet on what color of tie Tom Brady wore to his press conference at the Stuperbowl. WTF. Of course Tom should tell all his friends to be a ton on blue and "fix the bet". That's not the fucking athlete's fault, it's the fucking stupid gambling site. Same thing goes for in-game things that are not really relevant, like "is the first play called a run or a pass" and shit like that. That's *your* fault if you offer that bet and get exploited.


It constantly blows my mind that people gamble on golf WITH HANDICAPS.

Golf is the most gambled on amateur sport in the world AINEC. There are lots of hustlers and pro golf gamblers; people play for big money all the time.

But they gamble vs a handicap. So you can just say "I'm a 7 handicap" when actually you're a 6 and ZOMG what a dastardly dishonest cheater!

When I bring this up with poker players who gamble golf, they're like "blah blah nah it works fine", but then a week later somebody is posting about "he cheated me at golf!". Yeah, no shit.


02-22-17 | Sweet Times

The sweet times I have with Noemi are something that noone else will ever really know. We're fun around other people, like her mom and such, but we really have fun when we're alone together, we just laugh and play and love each other and have so much fun. Nobody will ever know, even Noemi won't really remember it, it will just be my own private memory of how we pretended to be monkeys and swing in the imaginary trees and hide from tigers, or play chess "with no bumping" or make birthday parties for imaginary friends, or all the things we do. It's a kind of weird private wonderful magical world for me, it's like a secret garden of wonders and joy for me that nobody else can ever see, and I can tell them about it but they sort of never believe me.


02-17-17 | Jesus Christ Fuck Virginia Mason and All of Health Care

I just got yet another bill for the 15 minute doctor visit I had back in December.

(recap : I had a herniated disc, very obviously, I popped in and chatted with a doctor for like 15 minutes, no x-rays, no nada, one prescription for pills)

I already got and paid an outrageous bill for $1000. Well. At one point during the brief chat, another doctor popped their head in the room and was like "yep". Apparently that was a separate provider doing a consult and that cost $400.

Seriously fuck everyone in health care, from the pharma companies to the HMOs, the doctors, and especially the "coding" people that do billing. What a bunch of corrupt dirty fucking rotten assholes. Stay the fuck away from doctors and hospitals, never ever go. I don't care if you have a fucking 2x4 through your leg, it's not worth it.

And the fucking Republican garbage-face morons think the private sector is solving health care just fine and they should be de-regulated and allowed to provide "market solutions". The politicians are not actually morons, they're lying corrupt fuck-faces who are being paid by the health-care lobby to say what they want; the voters that believe their shit are the morons.

You can't have privatized profit when the customers don't get to see up-front pricing. You can't have privatized profit on services that are not optional or that the customer can't shop around because they're locked in by preferred provider networks and price-fixed non-competitive rates. It's just obviously such fucking garbage.

ADD : oops, I didn't turn over the bill, there was more on the back side!

Physical Therapy at Virginia Mason bills $455 per visit. WHAT THE FUCK. I know the therapist isn't making that much, they generally make around $60k/year. Maybe they get $50 of that $455. Cool system.


02-16-17 | Tax Reform and Business Expenses

I like to fantasize about systems for idealized government as a kind of escapism from the awful reality of it.

In a dream world, taxes would be incredibly simple. There would be something like a flat rate with a large deadzone, something like :


tax = (income - 50k) * 0.25

you could have a much lower rate than our current highest rate, because there are no deductions, no special rates for dividends and capital gains, it's just all income.

You eliminate all the friction of the IRS, tax accountants, all the paper gathering - it's a HUGE boost in productivity for the economy to get rid of all that. There's no WIC and weird exemptions and deductions for the poor, because the big 50k deadzone just means their tax is all zero.

So, that all sounds good, but there's a problem. How do you define "income" ?

Remember part of the goal is trying to stop the tax-inversion where the super rich actually pay a lower rate than the moderately rich. eg. trying to eliminate all the loopholes and just make it simple.

But the problem is that the super rich can all own businesses, and divert their income to a business. Then they can have the business buy them homes and cars and keep the money out of their personal account, basically hiding income in various businesses to avoid ever getting it as personal income. Because we've eliminated all personal deductions, they'll instead pay for things with their business and take them as business expense deductions.

Ideally you would just eliminate business expenses, and just tax all revenue, simplifying business taxes as well. But that's of course not possible. You have to be able to account for revenue, cost, profit to tax businesses. The problem is that businesses "expenses" can hide a lot of things that are actually payments to individuals.

One way to do it (I think) would be to eliminate the corporate income tax. Instead try to recapture all corporate expenses that go to benefit individuals, and charge that expense to the individuals as income. The amount the company spends on your office, food for you, travel, etc. all goes on your income, minus the part that was absolutely necessary for the function of the job (which is near zero).

Business expenses are basically a huge tax advantage to the rich that the poor don't have.

As I already said, obviously you need to be able to deduct the *necessary* cost of business to calculate profit from revenue. However, the is an *optional* part of business expenses that is actually a way of paying tax-free income.

For example, if you're traveling for work and you have to eat dinner - well, you would have had to eat dinner even if you weren't traveling, so basically zero should be deductible here. But perhaps the additional expense of eating out vs eating at home could be deducted, which would be something like $5. If you choose to eat somewhere nice, that's a treat for yourself, that income, that's a way of paying "utility".

Things like having a pharma convention in Hawaii. If the convention is necessary to business, then the deductible part should be the cost of having a convention in the cheapest possible place. There should be a tabulated base rate of like $50/night for hotel rooms. If you choose to have your convention somewhere beautiful and stay in a nice hotel, that's fine, but the additional amount is a form of income.

On a large scale, things like beautiful corporate campuses or having your software company in the sexy exposed-brick building in downtown SF is not actually necessary for your business. (you'll claim it's necessary for hiring which is a load of shit). It's for pleasure. It's a way of paying yourself and your employees, and paying them tax free.

The point of all this is not to rag on people who steal from us all by abusing business expenses. It's that "simpler taxes" is not at all simple. Simplified personal taxes and eliminating deductions would just favor the rich who can hide income and payment of goods/services/pleasure in their businesses.


02-16-17 | Due Process

I understand there's some legitimate legal debate about whether due process rights apply to non-citizens.

I won't comment on the constitutional law question ; I am not a constitutional law scholar, and neither is anyone commenting on this, so why not just shut the fuck up about it.

However, regardless of what the supreme court might eventually decide on the question of law, I believe there is a larger point, which is the question of morality and what the law *should* be.

If you believe that basic human rights should not apply unless you are a citizen of the United States then you are simply a deeply immoral and possibly evil person.

There is nothing moral or kind or Christian about being good to your family or those who are close to you, live near you, or look and behave like you. That is just selfishness, greed, tribalism, covetousness.

Morality, benevolence, generosity are tested when our graciousness helps people that are not in our group, when helping them is of *no* direct benefit to us, and may even be negative for us in short term cynical calculus.


Of course this issue also arises in the issue of climate change.

Failing to stop climate change is a way for the richest countries to be slightly richer in the short term, and in exchange the very poorest will suffer immensely, as it's the vast world poor (billions of people) that still rely on subsistence agriculture that will pay.

When the very richest choose to make themselves slightly richer at vast cost to the poorest, that may be "smart" as Trump would say, but it's also clearly immoral.


02-14-17 | git hate case

Git is shit, hate case study : multiple simultaneous work subsets.

When I first started using git, the first thing that popped in my mind was "what about partial submits and maintaining multiple simultaneous working sets". That was just obviously going to be a problem, and no surprise, it in fact is a huge problem.

The fundamental issue is that git does not have the idea of files being at different rev #s, and being able to do a partial update.

Let me go through this in rather annoying detail.

In p4 I might be simultaneously working on two things


[set1]
 a
 b

[set2]
 c
 d
so I go to submit set1. When I do that, I discover that somebody else has submitted a rev to files a & c.

So I update to get their changes to a , and merge my change in. But I *don't* update to their rev of c because I've got some weird work in progress in my c. My c is now lagging behind a & b.

I do other work and maybe submit a & b a few more times, then finally my work on c & d is done, and I update them, merge the changes and submit.

In git, you first of all have the problem that you can't do a partial submit.

So if I have a,b,c,d changed and I want to submit a,b , I'm already in a mess.

So I stash c & d. I have to pull from the repo to submit, so I update *everything*, which I didn't want at all, I only wanted to update a&b to be able to submit them. But whatever. I commit that change, and then I stash pop c & d. But that's fucked, because I got updates to c & d and the stash pop just stomped them. No good!

Better than stashing would be to save the changed to c & d as a patch, revert them, sync and merge a & b, commit that, then apply the patch. BUT this is still forcing you to merge c & d to get up to date on them when you commit a & b - which I don't want to do. I want to delay merging them until I'm done with my work in them. (eg. maybe I'm tracking down a bug in them and I don't want any changes to come in that might mess up my repro).

Now obviously the more git-y way to go about this would be to have the [set1] and [set2] change sets on separate branches.

But I think that is a fantasy about how coding works.

I don't sit down and think every time : "I'm to work on this specific problem and only this problem". I might poke around in a bunch of different problems. I might start coding in various files, and only after doing it a while I realize, oh I want to divide this into separate work sets and commit them one at a time. Coding is much more organic than that.


02-14-17 | git hate case

Git is shit, hate case study : modified files to change the state of a machine.

One of the common things I did in P4 that is a huge pain in the ass in git.

I frequently want to modify a file, and keep it "checked out" modified for a long period of time as a way of modifying the workspace of a given machine.

I don't ever want that file to be part of my commits, I don't want anyone else to see it. In p4 I would just make a changelist and drag it off there and leave there for a long time, and possibly eventually revert it.

For example maybe I'm profiling on one machine, so I go to my header and enable #define DO_PROFILER , and I want to just keep that checked out on that machine. I want to be able to keep checking in (committing) work as usual and not have to deal with "profiler.h" having this temp change in it.

Maybe I normally build 64-bit for Nintendo Switch, but on one machine I change my mak files to build 32-bit, and I want to just leave it that way for a while, then eventually revert it.

Sometimes these things are semi-permanent. For example Jeff has checked in a "d.bat" in git. I hate that because I use "d" to mean "dir" in my shell. So in my own view of the workspace, I want to delete or rename d.bat. But I can't ever check that in, because he wants d.bat. In p4 that's easy, I can just delete it in a pending changelist and then drag that off to the side and leave it forever.

It's just very hard in git to have a local machine that differs from the repo. I'm sure the git nutters will say this is a "feature" because it ensures consistency, but in practice it's just a huge fucking pain in my ass.


02-14-17 | git hate case

Git is shit, hate case study : frequently changing, rarely submitted files.

I have quite a lot of files that change constantly, that I don't want to be thrashing tons of revs into source control for, but I do want to check in periodically.

Mostly these are machine-generated files. For example the Oodle public header, the Oodle doc html files, etc.

In p4 the work flow for handling these files is :

Make a changelist called "autogen" and stick the autogenerated files off in there.

Day to day, they may change a lot, but I don't check them in. Importantly - I don't even see them. They're not in my default changelist. I don't even think about them.

When I do some kind of checkpoint, like releasing a build, then I go check in all my autogenerated files.

That way I can sync back to various points in history and get a full code state - including the autogenerated files. (and crucially I don't have to run the autogen again, which might not work for whatever reason, maybe the autogen tool itself is not checked in and is incompatible, whatever).

The crucial aspects are :


I want these files checked in periodically
I don't want them checked in every time they change (I don't even want to see them)
I don't want to see them during my normal work flow
I *do* want to be able to see them if I choose

I think the best way to do this in git is to make them temporarily untracked, using :


git update-index --assume-unchanged <file>

but that's definitely just much worse, because you can easily just forget about them. When they were just off in "rarely submitted" changelist, I could still easily snapshot how my machine differed from a committed rev by doing a p4 status.


02-14-17 | git

Almost every single fucking day I have some fucking git problem WTF WTF


v:\devel\projects\oodle2>git stash
fatal: LF would be replaced by CRLF in oodle2/include/oodle2.h
Cannot save the current worktree state

WTF !? WTF !?

I FUCKING HATE GIT GOD DAMN IT.

The underlying problem causing this is that git is constantly fucking up my whitespace and I can't get it to stop. LEAVE MY FUCKING WHITESPACE ALONE.

And git commit seems to touch files which makes them rebuild or get reloaded which is a huge WTF no no no.

I tried my first branch merge, and I got :


v:\devel\projects\oodle2>git merge --no-ff oodle2-243
Merge made by the 'recursive' strategy.
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Counting objects: 617997, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (136489/136489), done.
Writing objects: 100% (617997/617997), done.
Total 617997 (delta 479422), reused 612579 (delta 474324)
Unlink of file '.git/objects/pack/pack-023630587765f30a7b6536181d6307bd96555d31.
pack' failed. Should I try again? (y/n)

WTF !? My source control should never have critical-looking failures WTF WTF

Sometimes git eats my work. One case is if a file is locked (eg. I've seen it for sure with a .sh file that's currently executing in cygwin) and I do some git ops, like I dunno what I did, pull I think - BOOM the local copy of the file is gone, changes lost. WTF.

Everybody talks about how "robust" git is. Eh, sort of. Once you actually get your changes committed it's robust, but until then I've found it to eat my work far more often than p4, which I never had a problem of losing my local copy of a file in.


02-13-17 | FUUUUUUCK

Trying to watch some rally car driving on Youtube to procrastinate from doing my powerpoint.

Find a video I want to watch. Can't actually play the video because I use an ancient firefox that doesn't run HTML5 and youtube is all broken now in old browsers. My usual solution is to download instead, but my damn downloader won't work until the whole page loads successfully. So I have to wait for the full page to load instead of just playing while shit trickles in.

Waiting for r4---xxx.googlevideo.com ..
Waiting for s-xxx.googlevideo.com ...
Waiting for blah.ytimg.google.com ...
Waiting for ...
AAARGH !!!


02-13-17 | FUUUUUUCK

I'm trying to write my GDC PowerPoint slides. As soon as I try to write any kind of marketing material, my mind just wants to run away and hide. I feel physically light headed and a bit nauseous.

I have marketing anxiety disorder. I need some fucking xanax to deal with this shit!


02-13-17 | Abortion + Religion + Speech

I think that the average liberal does not give the anti-abortion view a fair hearing.

They phrase it as women's rights and try to turn it into a question of being anti-woman and unreasonable and so on.

I personally am pro-choice, but don't think the issue is so simple at all. What I want to talk about is the question of whether we tolerate religious beliefs *at all*.

Let's pretend for the moment that The Bible clearly says that abortion is murder (of course it doesn't, in reality the whole anti-abortion Christian movement is created by Rasputins that are mobilizing the regilious nutters for their own power and control - but lets pretend). So let's imagine that a group of people really do have the deep-held religious belief that abortion is murder, that all these women getting abortions are killing human lives.

If you really believed that, then damn right you should be up in arms to stop it. (Just as we should all be up in arms to stop Obama's drone murder program, or the criminalization of race, or incarceration for drug posession, or all the other violations of human rights).

If you really believed that abortion is murder, then blockading abortion clinics is totally reasonable behavior. When the law of the land is immoral in your eyes, you don't just tolerate it, you protest it, you stage sit-ins or other nonviolent means to stop it.

If we don't tolerate that, what we are saying is we do not respect their right to have that religious belief. You can't say that you allow them to have the belief that something is a grave crime against humanity, but to not act on it.

What I'm getting at is : modern secular liberalism is fundamentally incompatible with *any* religious beliefs.

There is of course a very limited form of "religion" that is allowed, which is sort of just the superficial practice of religion but without actually believing it. You're allowed to dress in your religious way, and gather and sing songs or whatever, but you aren't allowed to have any beliefs that conflict with secular liberal society. It's putting religion in a very small box. Of course it doesn't work. Most religions have a set of rules for behavior that are allowed, and part of believing the religion is believing those rules of behavior, which might not be compatible with the laws of the land.

Let's look at another example. Consider the provocative depictions of the Prophet Muhammad in cartoons and such. If a religious group believes that depicting Muhammad is a sin, a sacrilege, an outrage, an affront, a provacation - why would you do it? It's really just being an asshole, being disrespectful, it's poking them in the nose. It's a way of saying that our belief in free speech trumps your religion. It's a way of proving that we in fact do not honor your religious beliefs.

Many of our modern beliefs are fundamentally incompatible with ancient religions. Ideas like the equality of men and women, the right of choice of sexual orientation, etc. are held by many religions but not allowed by modern secular liberalism.

Liberals find themselves in an odd position as Republican Christians try to criminalize Islam. Certainly we need to be outraged about the state favoring one religion over another, which is happening all over Europe and America, so we support the right of Muslims to practice their religion freely. But not really. We support it in the same way that we support the right of Christians or Jews to have their religion, which is - not if it conflicts in any way with modern secular liberalism. That is, you're allowed to sing songs on Sunday, but you aren't actually allowed to have a set of beliefs and moral codes that come from your religion and not from society at large.


02-13-17 | The Rules

Emmy and I tried to go for a hike on Saturday, though it turned out to be a bit too snowy still and we didn't make it very far.

In the parking lot as I was getting our backpack sorted out, she spotted a sign with a dog on it. Being a lover of animals and curious she wanted to know what the picture of the dog was for, so I told her it was saying that dogs have to be on a leash.

So of course a minute later a guy walks up with his dog off leash. Emmy in that toddler way just says "how come his dog is not on a leash? he haf to have his dog a leash!" She's in the wonderful age of being so curious about the right way to do things and wanting to learn and do them like a grown-up.

So the asshole moron guy doesn't just walk on and ignore it like he should. (tip: if a toddler ever calls you out on breaking the law, just walk away and let the parent handle it). He feels he needs to justify himself to a toddler so he says "do you know why dogs have to be on a leash here?". Well, I have a few reasons in mind, but I bet you're going to tell me one that I don't expect, so why don't you just say it instead of posing it in the form of a question like a condescending fucking asshole. "because there are ground nesting birds here that they want to protect, but obviously when it's so snowy that's not an issue." Ok, asshole, get the fuck away from us so I can go back to having a sweet happy day with my daughter.

It is amazing how people can rationalize why the rules don't apply to them. Everybody has to follow the rules! Except me, when I don't want to. I have perfectly valid not at all far fetched reasons why the rules don't apply to me.

I can have my dog off leash because my dog is nice and everyone loves to be licked by him, I can take 50 items in the express checkout line because the other lines are really full, I can speed because I'm late to pick up my kids from school, I can use a cell phone and drive because I'm a very good driver and I don't do it very often, I can pirate TV shows because they don't provide an alternative pay download mechanism, I can litter because it's their fault there are no trash cans around, etc. etc.

When people do follow the rules, it just because they didn't particularly want to break them. If they ever do want to break them, they make up an excuse why it's okay. The actual conflicted case of "I really really want to do X but I don't because it's against the rules" is so fucking rare and hard for humans to handle that it causes major mental breakdowns (like "I really want gay cock but I'm a crazy Christian" or "I really want that sweet child sex but I know pedophilia is wrong").


02-13-17 | Both Sides are Bad

If you're a semi-educated person, stop saying that "both sides are bad" or the "liberals are nutty too" or any of that bullshit. The liberals have not been engaged in the intentional sabotage of the function of the American government since 1994, going back to Gingrich and the "contract with America" in which the Republicans turned themselves into a destructive reactionary voting bloc whose sole purpose was to oppose the Democrats, not work towards any coherent goal for America. The liberals have not used voting laws and gerrymandering and state legislative control to undermine the right of everyone to have a vote that counts. The liberals do not call Trump an insane dangerous moron, and then turn around an ally with him when it suits them. They are not remotely the same.

If you just don't pay attention to politics, say that, it's okay to not have an opinion. That's far better than trying to paint it all as a gray area.

I think sometimes it comes from a cowardly desire not to offend, to try to mend bridges or not pick a fight, the way we humans are always such pussies about calling out our neighbors' bad behavior to their faces.


02-13-17 | Socialism

If you believe that you should be able to do unskilled blue collar work, like work in manufacturing or fossil fuel extraction, and that there should be enough jobs for you, and that you should make enough money to support and family and own a home and a truck and a snowmobile, YOU ARE A SOCIALIST.

A free market capitalist system will not support those jobs at those wages.

If you believe in free market capitalism, you should be happy that jobs are wiped out in middle America where they make no sense economically, you should be happy that wages are in the crater, that goods are cheap and we can get subsidized low exchange rates with the Chinese, that's all great by standard market utility theory. The markets are working well at moving the jobs to where labor is cheapest.

The fucking utter flip-floppery of the Republicans is so staggering. Just complete and utter lack of any consistent ideology. All of the pro-trade free-market small-government shit is just complete bullshit. If you want to do job training for the inner city poor, "oh no, that's socialism! small government!". But if you give huge government contracts to the military plane builders so that they will open a factory in a red state, oh that's making jobs for hard working Americans.

You have to decide if you like capitalism or if you like livable wages for blue collar work. You can't have both.

Of course what the Republican tricksters push is the absolute worst of both world. They purport to support jobs through corporate welfare ; we have to reduce the corporate tax rate so that they'll make more high paying jobs for middle America. This of course does almost nothing for jobs and wages (corporations still inevitably want to move jobs where wages are lowest, eg. not America), but it does enormous good to the super-rich.


02-13-17 | Deportation

If you actually want to fix the American economy, clearly you should not be deporting latinos, who are hard working, law abiding, moral, and the bedrock of the American working class. Anybody that wants to do farm labor and janitorial work and gardening work for minimum wage is a great *benefit* to the economy. Of course.

(this is of course ignoring the educated H1B issue which is so fucking brain-dead it needs no comment. Our economy could be the greatest in the world if we had had an open-door policy for all highly skilled people for the last 20 years; we could have sucked up all the best talent from all around the globe)

You should be deporting all the spoiled-as-fuck millenials that are driving up rent with the parents' money and contributing nothing. You should definitely deport all the crazy "white working class" useless fat fucks with no skills and precscription drug addictions.


02-13-17 | Bundy

Two thoughts on the Bundy kerfuffle.

1. It seems to me to be yet another example of the insane Republican hypocrisy and double standards. They talk about "property rights" and the "rule of law", but not when it applies to them. Then it's "jack-booted government overreach". I'm afraid the discriminating factor is *who* is trespassing. A poor black person in the city who's squatting in an abandoned building, they're "violating property rights" and then a draconian police response would be applauded, and if they got killed in the process, well it's their fault for breaking the law. But if a white Republican cowboy type is stealing private property and breaking the law, then how dare the government try to stop it. There is no logical ideology by which this makes any sense other than different rules apply to different people.

2. The Obama DoJ made a calculated decision to let a lot of these things go. They obviously made the call that a firm enforcement of the law, possibly guns blazing (Waco style), might mobilize the nutters even more and create a big problem with lots of the crazy gun-toting militarist right-wing groups swarming to the scene.

(in the age of the internet there is a very real danger of right wing flash mobs. These nutters are heavily armed with all kinds of crazy weapons, they do "training camps" in the woods of Georgia and Montana and imagine themselves to be like Revolutionary War heros, Minutemen who are armed and ready to fight the government opressors)

So, the Obama DoJ had a policy of just trying to peacefully ignore these groups. It happened with the Bundys in Nevada and Oregon. It happened with the vigilante border patrol nutters in Arizona. I recall in WA when the law was passed that even private gun sales had to go through a background check (duh) the nutter gun people staged a protest where they went to the steps of the capitol building with guns in hand and swapped them back in forth, just asking to be arrested, and made nutter claims about "they better not try to stop us". So the WA police just said fine, go ahead, and totally ignored it.

On the one hand, this decision has clearly been wise in the sense of diffusing short term situations. On the other hand, it is a pretty fucked up double standard. If you're a white Republican gun-toting nutjob, then your armed protest is allowed to proceed without any harrasment by law enforcement at all. On the other hand, if you are a peaceful black person, you get shot with rubber bullets and pepper spray. And imagine if the Black Lives Matter people showed up armed with assault rifles, exercising their right to bear arms?


02-09-17 | A Life on Camera

You remember back in the 80's when video cameras were rare, when TV cameras were rare, when getting yourself on the media was rare.

Back then, if you were a cool cat, you didn't pimp yourself to the camera. You'd see some clowns who would do whatever they could to get on camera, say what the reported wanted, be their dancing fool. If you were cool you didn't diminish yourself like that. You didn't go for fame and publicity, you lived in the real world.

The internet now is like a camera pointed at everyone all the time. It's like your own private Teen Beat Magazine all about you. It turns everyone into a self-conscious whore, a phoney, a clown. It indulges and amplifies our narcissism.


02-09-17 | Moving On

One of the fucking nasty lies that supposedly "reasonable conservatives" are telling now is that the left is antagonizing them, that the left is too radical, that the protestors are turning off good reasonable Americans.

If you think that we need to stop talking about race, and move on, that all people have "equal treatment under the law" - then you are a fucking racist and a moron and fuck you.

The whiney spoiled rotten victim-complex white-working-class has zero fucking problems. You're rich as fuck (compared to equally skilled & educated people in most of the world). You have no fucking problems.

You know who has fucking problems in America? Anyone black or brown. The fucking mildly poor whites have no reason to complain.

I think the greatest injustice in America and the #1 thing we should all be ashamed of is the criminalization of poverty. We have over 2 million people in prison, prisons that are often inhumane violent unconstitutional places of incarceration, and most of them are there essentially for being poor.

If you ever think that "slavery was in the past" or "white people were slaves in the past too" you are a fucking moron and should be stabbed in the nuts. (just as a tiny taste of why you're such a fucking moron : black people could still be lynched for talking to the wrong woman in the 60's (that's the 1960's not the 1860's) and the funding and quality of public schools in white vs black neighborhoods is vastly disparate today, right now).

If you're a white person, or better yet a person in power who is in charge of our justice system, imagine being black and broke, what happens if you're stopped for speeding? jay-walking? Perhaps possessing a tiny bit of marijuana? Imagine you get put in jail while awaiting trial because you can't afford bail. You should be constructing a system where those are not terrifying possibilities.

If you think that Obama was in any way "divisive" over race, how? What the fuck did he do that "divided" the country?


Now, certainly, I find the online SJW crowd to be a bit distateful. There is a certain overly-holy overly-politically-correct set, particularly online.

You can just ignore them. Just like reasonable people are supposed to ignore the crazy alt-right online, you can also ignore the SJW loons.

Sometimes I find myself agreeing with the anti-SJW people when they react against the over-correctness, like come on, it's okay to use "man" to mean "human" (as in "mankind"). But that's a bad place to be. You don't ever want to be agreeing with the anti-PC set, because they are pretty much using anti-PC as a facade for just being straight up racist. They'll turn around and say shit like "I would never use the N word for a decent black person, but when they dress like a thug and talk like that they're making themselves one!". Errm, nope.


02-08-17 | Video Games

I would like to play "A Link to the Past" , because it's supposedly one of the best games of all time, and I quite like the old simple Nintendo games, they usually feel solid and well made and don't have too much frustration factor. (I wouldn't mind playing some of the Mario games I missed out on either, which is pretty much everything after super mario 2)

So, it's available on 3DS. That might be fun. The 3DS is ancient so they must be really cheap, right? What, $300 !? WTF !? Oh, that's the "New 3DS XL" , I just need a "New 3DS", not a new "3DS", WTF WTF And I can't just buy it, it comes as a download code so I'll have to make an account and all that shit which is exactly what I DON'T fucking want.

God damn I miss cartridges. No fucking logging in, downloading updates. You just plug it in and turn it on and go.

I don't want to spend $200 to play one damn game for a few days that will probably suck anyway.

I remember when I was in college, when I would come home to visit for Christmas or whatever, my brothers and I would go to Blockbuster and rent a bunch of games and play the hell out of them for a week or so. If they sucked, no biggie, they're just rentals.

One time I returned them to the wrong Blockbuster location, which of course they couldn't just detect and transfer them and handle it right. I got no notification about it until months later I get a letter from a collection agency that I owe $200 or some shit. Of course I call up and yell at them that they have the fucking games I just took them to the wrong location and they need to sort it out. Of course they didn't and I wound up paying $500 or some shit which was quite painful for me at the time (about a week's pay).


02-06-17 | Bed Time

At night right recently when I put Emmy to bed, right as she's about to fall asleep she says "I'm scared".

I think it's mostly just the transition of falling asleep, losing yourself, going into a kind of oblivion. She's so awake, just wild with life and energy all day long, right up until the last second, and then a switch flips and she's dead asleep, like I could crash cymbals over her head and she'd sleep right through it. That brief moment of transition must be strange.

At first I made the mistake of trying to talk through it. I'd say "it's okay, I'm with you, I love you" - "I'm scared" - "what are you scared of?" - "monsters" - "it's okay, the house is all closed, the monsters can't get in" - "but the monsters can eat the the door and the house" - "no way, the house is too big and strong" - "but the monster is so big, big as the sky, big as the earth, it eats the house and the ocean and all the land and the whole world". Oh shit. That's some Cthulu shit there, I have no response. That *is* scary.


02-06-17 | Honey

How in the fuck does commercial honey production work?

Normal food is like this crazy factory production. To make enough flour or sugar or bread or whatever to satisfy the massive demand of so many fucking people stuffing their fat fucking over-fed faces with shit all the time, requires a bizarre factory farming mass production with lots of technology and chemicals and all manner of non-normal-food-production stuff.

But honey is just like bees who go out and lick flowers. I hardly ever see bee hives anywhere; once in a rare while. How the fuck are there enough bees and hives around to scrape out the honey for commercial production?

It makes sense if the rare hives I see go to the farmer's market honey stands, of which there are always many. Local flower honey or whatever.

But what about that shit honey that comes in a bear that millions of Americans buy? No way that's made from bees just flying around on their own. That just doesn't lend itself to mass production and factory farming. There must be like a bee sweatshop somewhere. A big warehouse with horrible flourescent lights and cubicles, where the bees are all force-fed sugar syrup, and they're milked for honey that goes into conveyer belts and feeds the machine. Right?


02-06-17 | Brag

We shipped three major new compressors last year, with lots of craziness (SIMD, ASM, etc.) and lots of per-platform special cases and everything that could possibly go wrong.

So far we have ZERO bugs in any of the decoders.

(there was one small bug in the encoders where they could overrun the compressed output buffer when expanding data) (there was also a bug in the older (not Kraken/Mermaid/Selkie) LZB16 decoder on ARM, and LZB16 could get used as a fallback for KMS on tiny buffers)

Knock on wood, probably jinxed myself by saying it, but also WOOT brag.

ADD : yup, jinxed myself, the week after posting this we got our first bug (the 128k+1 bug).


02-06-17 | WTF Coders

I really do not understand why people want to write code like this :

    if (k &= 0x1f) {
        k1 = 32 - k;
        z = 0;
        do {
            *x1++ = *x << k | z;
            z = *x++ >> k1;
            }
            while(x < xe);
        if ((*x1 = z))
            ++n1;
        }
#else
    if (k &= 0xf) {
        k1 = 16 - k;
        z = 0;
        do {
            *x1++ = *x << k  & 0xffff | z;
            z = *x++ >> k1;
            }

the weird thing is that a lot of really brilliant people write really great code in this style, so clearly something good is happening in their brain, it's not entirely feces. (in data compression this style is quite common, eg. LZMA, PAQ, etc.)

For me the "order of operations" in C is something I barely know, and don't even WANT to know. Sort of like most detailed corner cases of language-lawyer trivia. If I'm in a situation where I need to know exactly how the language interprets something tricky - I've done something horribly wrong.


02-01-17 | Deep Learning

I believe that the current fad for neural nets & "deep learning" is a complete load of crap and 99.99% of what's being done with it is total garbage.

Yes, yes, there are some high profile exceptions where they are in fact doing something.

But for every 1 of those, there are 1000's of "deep learning" "big data" networks that are using billions of CPU hours to discriminate {cat}/{no cat} , when in fact what the net is detecting is if the image is slightly orange.

Basically pretty much every "successful" neural net could solve the same discrimination problem with 10,000 X less CPU power by using custom code that actually finds the things you are looking for and making decisions about them.

But since it's trendy and mysterious, and can be shown to sort of work over test sets (cat detection was 51% successful!), it will be used in totally inappropriate ways, like detecting terrorists to shoot bombs at, medical diagnoses, etc.


01-31-17 | Charles' IO Perf tips 2017

1. Doing elevator algorithm for sectors is not helpful on most modern devices. Certainly on SSD's and NVRAM devices, the sector id is totally scrambled, so trying to make them consecutive does nothing good. Even on modern HD's, there's often a layer that remaps the sector id's you see to the real device sector id's (and there may be several layers of caching, or even an SSD cache disk). If you are still loading from DVD on consoles, elevator is of course still very important there.

2. You want to have 2 async IO's running *per device* all the time. If you only have 1 IO running per device, there's a turn-around time between that IO ends and you start the next one. That is too much time, it doesn't let the head stay moving continuously, it lets the disk go into idle mode, it's just all bad. You need 2 so that when one completes, the next starts running right away without any CPU involvement.

Now, the question of whether to run more than 2 (per device) depends on how reliably you can get CPU time to enqueue another operation. Enqueue'ing more than 2 increases your latency if you change your mind about what is the highest priority read to do next, but on the plus side it gives you more time before you have to act on IO completions.

3. You need to play lots of games to avoid CPU involvement in IO. With disks at 1 GB/sec, adding the overhead of allocating a temp buffer and memcopying the read through it is a major percentage cost. But that is exactly what will happen if you're not quite careful. Use buffered vs unbuffered IO wisely, strive for sector alignment of position & size of reads & writes.

4. It should always go without saying that tiny files are merged into packages so that you are never doing IO smaller than 64k or so.


01-30-17 | Misogyny

Michelle Obama is widely liked as a first lady, because she didn't do anything. (Laura Bush similarly).

Hillary Clinton was pilloried as a first lady for daring to know something about politics and government, and helping her husband do his job. How dare she. What a fucking bitch.

The common complaint was "we elected Bill not Hillary, she should stay out of it". So surely those Reps will be outraged when the Trump sons are in policy meetings? Oh wait, of course not.

And it's of course a ridiculous complaint on the face of it. We elected GWB not Dick Cheney, but presidents are allowed to choose their own Rasputins.

Of course it's just misogyny. If you're a first lady, you're allowed to run initiatives for health and fitness, teach people how to cook healthy food, you're allowed to sew and decorate the white house. You're allowed to run anti-drunk-driving campaigns or "what about the children? won't someone think of the children?" drives, like a super PTA mom. Stay the fuck away from policy, men are talking here, go back to the kitchen. Jacky O is still widely admired, for what? For being somewhat attractive? Fucking asshole America, get your head out of your asses.


BTW the article The Hillarycare Mythology is an excellent retrospective.

Clinton's health care plan was of course doomed because it actually had teeth to control costs, so it had an army of health care industry lobbyists and money against it. The ACA passed because it does almost nothing to control costs. And I can only imagine that it's about to get even worse.


01-30-17 | Preschool

I think Montessori is a fucking weird cultish load of shit, but it seems to be the only widespread decent preschool.

Any program which clings to the exact forms of its original prophet as if they were words from God is obviously shit. It's incredibly clear when you see all the articles by Montessori teachers that just go into convoluted rationalizations of "why what we do is exactly right and should never change" rather than being open to change and new ideas.

On the other hand, the alternative is public preschools, which are like Lord of the Flies, "okay kids, beat each other up for a while, then we'll watch Disney cartoons and learn about commercialism"

Things that Noemi has learned at public preschool : saying "gun shoot, gun shoot" , great songs like "poop in my butt, poop in my butt" , emotional manipulation like "if you don't let me play with it you're not going to be my friend any more never ever". Good stuff.

Those should not be the only options!


01-30-17 | Hate

Many articles have been written about how the vote for Trump was not just the facile explanation of hate, racism, and misogyny, they say it was the alienation of the WWC and jobs and so on.

First of all that's a load of shit. The hate for Hillary was 90% misogyny. The hate for Obama was racism. The hate of muslims and mexicans is racism. etc. Even Republicans that don't think they were directly motivated by racism or misogyny, the entire world-view of propaganda and alt-facts that they have consumed from Fox News and others is entirely based on them. The smear campaign against Hillary that's been running almost continuously since 1992 has been all about misogyny.

Anyway, even ignoring that, I think there's a factor that hasn't gotten the attribution is deserves, which is the hate of liberals. Aside from all the other hates, the Republicans seem to just have a massive fucking hate of everything liberal, for mysterious reasons, and will even cut off their own nose to spice the liberal face. (see eg. all the states that refused ACA money)

Here in the Gorge we have a problem with lots of fuck-faces polluting in this pristine environment. We have oil trains derailing, coal trains that drop one pound of coal dust per mile, of course the Hanford nuclear plant with leaking containment cells and a massive cleanup project, and perhaps worst all the ag runnoff.

The Republicans around here have a fit any time you even start to talk about controlling this pollution. They seem to think that they have a god-given right to shit all over the commons. Fuck you I'm going to "roll coal" and shoot my beer bottles at the lake shore. There's no stake for them in this, they live here too, they don't own the fucking coal mine so you think they would also want to not breathe coal dust. I think it's the sheer hatred of liberals that puts them on the side of polluters. Liberals hate pollution, therefore we support it. Fuck you liberals, breathe coal dust, and it's an acceptable cost if I have to do it too.

The coal trains are so fucking insane. We don't even burn the coal, not because of environmentalists but because natural gas is just a better fuel, most of the US is converting to natural gas and coal is on its way out. We ship the coal to fucking China, who burns it and the pollution comes back to us on the Pacific jet stream. But oh, putting a fucking tarp on the coal train cars would increase the cost of coal by like 1 cent per ton and that's unacceptable. Currently BNSF are doing cost/feasability studies, but how is that even a fucking question? You own the land to run the trains (which of course you shouldn't, biggest government handout to private industry perhaps ever), but you don't own the air or the water all around, so if you're dumping coal dust in it you have to just stop, period, no fucking feasability study, if you can't stop it then fuck you stop shipping coal.

The whole idea of subsidizing fossil fuel production "becuz jobs" is so fucking insansely transparently stupid. The whole advantage of fossil fuels is that they take almost no jobs to harvest. The whole fucking point of them is that they are incredibly energy dense per unit jobs, therefore they are cheap. Literally every other way of making energy makes more jobs, because it is less efficient. Furthermore, every other way is more spread around to small businesses, fossil fuels concentrate all the profits in the hands of the few.

Republican ideology makes no sense until you realize the key words. You have to replace every reason they claim to be doing things with "making the rich richer". If they say something is "becuz jobs" or "free markets" or "lean government" or "family values" , if you try to actually make sense of it you'll be like huh, wtf? that makes no sense, you massively subsidize the American auto makers and have total protectionist rules about auto parts, how is that free markets? Oh, it's "making the rich richer", now it makes sense.


01-30-17 | Value

Werner Herzog's documentaries are always interesting, even if the subject doesn't particularly interest me, because they are personal, because they are human, a single man's design. They always say something about Werner, and in the end the most interesting thing about all works of man is providing some view into the mind of another person.

I've been watching 80's movies recently and it strikes me that even quite bad movies can be entertaining when they are "of their time". It's a kind of added value, that they're a time capsule, not just in the "oh look at the huge car phones" willy way, but in the production, in the choice of music and the way they use lighting and color, the taste and sensibility of it says something about the way the author and the audience saw the world.

The key to this is to be unafraid of making very contemporary art. I think a lot of people are afraid of that, because fads date you, and in the short term it will look like a bad choice; in 2-5 years the fads will seem hopelessly uncool.


01-28-17 | Blah

Watched "The Naked Kiss" as part of my back-catalogue-of-noir dredging. It's meh, but Constance Towers is amazing. More of her please! Fierce and intelligent and beautiful. Shame she seems to have never gotten the good role she deserved.

Watching "8 out of 10 cats does countdown". In the UK, comedians don't do sitoms or standup, they just do panel shows. It makes good sense comercially, you can pump out a panel show every week no problem, much easier than real material. The mathematician / Vanna White girl Rachel is quite hot. Even in the same moment as I'm thinking WANT WANT WANT I'm thinking how sad is it that hot girls who can do math is so fucking rare that it's an exceptional unicorn.

On the regular "8 out of 10 cats" the S20 host Aisling (I thought it was "Ashley" until I googled it) is fucking awesome. Super hot, smart, funny, and tough, she sticks up for feminism and decency and doesn't just go along, but keeps it light. So cool.

I guess this is a warning sign; I'm not dating or socializing so I'm getting crushes on TV girls.


01-28-17 | Two Homes

I mostly hate having two homes. Rich people love to brag about their many homes, "oh I summer in Houston, winter in Winnipeg, and have a pad in Salt Lake City for partying." In reality it's a huge pain in the ass. There's the problem of buying everything twice, okay, whatever. The more critical issue I'm running into now is - where do I get my mail? If I only get it at one place, I'm not getting it at the other, and I wind up getting bills really late, and the bastard water company threatens to turn off my water. Or like if I need some documents like a birth certificate or whatever, they always seem to be at the other home.

There is something I really like, or would like in theory I guess. I like the idea of having totally separate homes for different purposes.

I've always wanted a work cabin, a kind of hermetic escape to go with just a computer and a view of trees and no distractions and just crank out work.

I'd love to have a home that was a home of *no work*. Just hiking and playing with my daughter and fun times and no internet, no computer, no work at all.

It's quite hard to have a home that has many purposes, work, play, family, all in the same place, I like having isolated places where I don't have options.


01-28-17 | Trump Watch

"Alternative facts" are nothing new. For years the school boards in the south have been taken over by religious nut jobs that force biology textbooks that teach creationism as a possible alternative theory to evolution.

Religion is a deeply toxic poison that relies on the idea that what you believe, or "faith", can someone override facts or science or observable reality.


01-28-17 | Sweet Love

I spent a week in Kirkland cramming work, and exercising between work sessions.

I wish I could come home to someone sweet. Like a human cat. To just crawl into bed with and cuddle and stroke each other. To swap massages (my fucking IT bands are painfully tight as usual). To just nuzzle and watch TV with. Sweet kindness.


01-27-17 | David vs Goliath

It's pretty incredible what Xiph (& Mozilla) have done creating competitive open source codecs. They have a handful of people, small budgets, AND they have to avoid the most obvious straightforward ideas, because those are patented (fucking fuck the fucking fuckers).

In contrast the PEG groups and so on have huge corporations behind them, millions of dollars of research budgets, thousands of scientists and research papers, just absolutely massive infrastructures of development.

It's quite a David vs Goliath story.


01-27-17 | The way to fight Trump

I've seen a ton of articles on "what to do now" which say crap like "call your congressman" or "get involved in politics" or "go vote".

Oh, the same old shit that doesn't work? Great idea. Way to turn off the people who might have been energized to do something. Those dreary hopeless suggests just totally diffuse the anger and motivation for people to actually do anything.

The recent peaceful protests can similarly be easily ignored.

I believe that the only way to fight fascism is with nonviolent resistance.

That means *illegal* protest. You have to get out there and put your body in the way of something that they really care about. You have to hurt them in their pocketbook, the only thing they care about, and do it over and over every day until they have no choice but to deal with you.

There should be a human line in front of every trump hotel. Deportation centers should be swarmed. Congress should be halted by thousands of people blocking the roads around the capitol.

There have to be enough people doing it that it can't be presented as anarchist fringe, it has to be white people, moms and dads. They have to get water-cannoned and pepper-sprayed and jailed, and it has to happen over and over for anything to change.

The fascism is already happening. Gerrymandering, voter suppression, making protest illegal, propaganda and misinformation. You can't fight that through the normal democratric process.

Until the populace is desperate and angry enough to go out there and fight with direct action, things will keep getting worse.

If you were in your home, and the police rolled up to arrest your muslim neighbor, would you run outside and stand in their way and possibly get beaten or arrested?

If you lived in the south in the 60's and a mob showed up at your black neighbor's house and dragged them out of their home, would you run outside and try to stop them?

If you lived in Cambodia or Germany or Rwanda or Turkey or Sri Lanka when the death squads were sweeping through killing people, would you as a member of a non-targetted race just hide in your home and say "it's not my problem, there's nothing I can do?"

At the moment, despite the seeming wave of rage about Trump, most of us are still far too comfortable, too happy to sit back and say "it's not my problem", to pretend that blogging about it is an acceptable way to be involved.


01-27-17 | Sad

It is of course true that the Democratic establishment has been too pro-business, too pro-capitalism, favoring trade and "free markets" and big bussiness and GDP growth over more sensible goals like median income growth. It is true that there hasn't been enough done to help the poor, to control health care costs, college costs, to control predatory monopolistic markets like insurance and telecom. Financial deregulation by Clinton and so on has put the power in the hands of the banks, and the "quantitative easing" of the fed has propped up the return of capital without helping jobs at all.

All fair complaints. But now all of that is going to get much much worse.


01-26-17 | Finance

Finance has got to be the greatest field to work in. You fiddle around with math and talk about a lot of esoteric shit, and wind up doing slightly worse than the S&P 500, but you get to act like you're a freaking genius because you got 4% returns and made billions of dollars, you get to live like a king and condescend to everyone.

You're in a field where by *default* you just win, because the market in general is going up.

It's sort of like if I came to work and there was a page of code just written for me magically by elves in the night. And I could fiddle around with it all day and act like I'm "adding value" but at the end of the day I only finish one page of code.

Oh, but he's a billionaire he must be a genius!

("real estate developer" is the same)


01-23-17 | The Good Old Days

Watching "Fear City" (I'm on a rare 80's noir jag), Lando Calrissian (aka Billy Dee Williams) calls someone a "guinea".

I was like : huh? , I know that must be some kind of racial slur but I have no idea what race it's even slurring. I had to go look it up. Anyone know? Bueller? Anyone? The answer is "dark italians".

Ah, the good old days. Let's make America racist again! Back when daily conversation was about wops and kikes and all those great words my grandparents used that I don't even fucking know who they're slurring.

(it's a bit of a mystery to me which racial group was okay by 50's American standards. Obviously blacks and Mexicans and stuff are not even human beings, you can literally wipe your ass with them, but you also hate the Irish and Italians and Germans and French and Polish. So... I guess only English and Scottish people are okay? Except if they're too english then they're the "hated British" that we fought in the revolution, right? It's an incredibly narrow window. Oh and of course if they're gay or female that's bad too.)


01-23-17 | Insomnia

I woke up at 2. I lay in bed thinking fucking hell, I need to get back to sleep, fuck! Around 3 I got up to try what the sleep expert people recommend - just get out of bed and sit and read for 30 minutes and then get back in bed to try to sleep again. I did that, laid back in bed for an hour.

Those moments lying in bed wishing for sleep are the worst. My whole body is tense saying "fuck! just get up!" but I'm trying to fight it, doing relaxation drills over and over in my head, trying to untense the muscles. It's such an agony to stay in bed, it's like holding a hand in the fire, some deep instinct is saying "get up! get up!" and you try to fight it with will.

Some times I have so much tension in my shoulder-neck that it's like my muscles are trying to strangle me. I guess they're fed up with me and are just trying to end it. Sometimes they actually cut off blood flow to my brain and I go light headed.

I think nightmares every night. I don't always remember my dreams, so I'm not sure what I dream on those nights, but any time I do remember them, they're always nightmares.


01-23-17 | Trump Watch

I keep imagining Trump as the classic clueless communist dictator. Any time the world doesn't do what he wants, he goes into a rage and kills lots of people, so his handlers stop showing him the real world. He passes some insane economic policy that's a disaster and puts everyone out of work on the street, but he gets take on tours to be shown his great successful factories. The factories are just made from cardboard and the "workers" are paid actors that keep carrying the same part out one door and back in another door to make it looks they have lots of them.


01-23-17 | How you will die

Assuming it's not natural causes (eg. old age), it will be :

#1. Car crash

#2. Guns, most likely owned by a friend or family member

#3. Alcohol or cigarettes or other self-inflicted poison.

It will not be : terrorists, shark attack, serial killers, lightning strike, rock climbing, sky diving, microwave cooking, cell phone radiation, gluten, muggers/criminals, airplane, gangs.

People are just absolutely insane about what they worry about killing them. And they never spend much time worrying about the things that actually will kill them.

Of course this is most extreme with kids, people get in a tizzy about "safety" for their kids, they have to wear a helmet to ride a scooter, my god you let your kid climb trees! oh no peanuts or honey might kill them! And yet they don't think twice about strapping the kid in a car and driving all over town, which is what will actually kill you.


01-23-17 | Trump Watch

Amongst the billionaires on Trump's guest list were Wynn and Adelson, casino moguls (like Trump).

Gambling is a great example of modern American capitalism. It has absolutely nothing to do with running a business well or market competition.

Partly it's about exploiting people's addiction to suck money out of them and provide them nothing. Poison their brains with advertising to make them think that just flushing your money down the toilet is "fun" and that I'm being a crank for calling it that. That's sick enough.

Mostly it's about using government lobbying to ensure yourself a monopoly. You regulate away all competition. You make only your casinos legal, you fight things like poker rooms and state bingo halls.

Most of all you fight internet gambling, which would put all these guys out of business. If you could poke at your iphone and gamble, nobody would ever go to their shitty casinos ever again. So they bought an army of lobbyists and just made that illegal.

That's the reality of the Republicans' and the billionaires "free market".


01-23-17 | State Taxes

I live right on the WA-OR border, and it just is very frustrating how stupid the state income tax situation is.

RAD is in WA, a state with no income tax. OR has a state income tax of 10%. If I lived in OR, I would have to pay the tax. If I even got myself an office to work from in OR, I would have to pay the tax.

Which is just retarded for OR. They are discouraging me from spending my money in their state. I have to be careful to stay on the WA side of the border.

I'm not opposed to the idea of state income tax, BUT having it in one state and not the neighboring one is just retarded and creates crazy distortions. It's the same problem with corporate taxes and nations. I don't think there's anything wrong with a 25% corporate tax rate (or whatever), BUT if the corporation can just move its headquarters to somewhere with a near-zero rate, then that's a big problem.


01-23-17 | Spine Health

Last month I went into the doctor for my herniated disc.

It was a really obvious diagnosis, I was presenting the classic symptoms (pain shooting down the leg, worse when bending forward or coughing, etc.). No x-ray, no MRI. I spoke with a doctor for maybe 15 minutes. I got a prescription for a steroid, which helped a lot.

I just got the bill. $1100

$1100 for 15 minutes of chatting (and one prescription scribble). (and probably an hour of a clerk doing paperwork and billing). This in a non-ER situation, where it took them 10 days to schedule me despite being immobile from pain. And this being with insurance that gives me the negotiated rate (the bill shows -$400 for insurance rate adjustment but who knows what the uninsured rate would really be, probably 1.5 first-born children).

Fuckin' Obama! It must be Obama's fault. Oh wait, no it's actually the disgusting asshole doctors, billers, insurers, and the whole fucking health care industry. You can all choke on cocks you fucking garbage faces.

For my one short chat with a doctor they billed like 4 different treatment codes, which is totally standard practice with insurance billing these days, just throw as many codes at it as possible because it makes the bill go up.

And yet somehow what we need is less government "interference" in health care? Because if we just allow the health care industry to rape us however they see fit, somehow that will be great? WTF fucking Republican shit-for-brains fucking cock-ass mother fuckers.

You can't have privatized profit when it's a good with no competition, no up-front pricing, no customer choice, no ability for the customer to say no. (the same thing goes for our internet, utilities, etc.).


01-19-17 | Writing Ad Copy

I would rather be murdered than write this shit.

Fuck it. I'm just gonna write "just fucking buy it". "Fuck you, buy it."

"Oodle - it's good shit. STFU and buy it."


God damn this shit is hard. I keep trying to use tricks to force myself to just do it. "You have to stand at the computer and you can't do anything else until you write this shit!". Close all my other programs, no distractions. "After it's done you can watch TV and masturbate. No fun until it's done!".

So I poke at the page, AAARGH no I hate it, I can't do it!

I am fucking rubbish at commerce. Thank god for the RAD sales guys that help me deal with some of this stuff that I just can't handle on my own.

Right now I'm wishing we had a marketing guy that could write (or at least polish) this ad copy for me. And do social media marketing and all that shite.


01-19-17 | The Joys of Git

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUCK

I'm really fucking sick of being pissed off and raged up every fucking day that I just try to get some damn work done.


01-19-17 | Work is Work

I literally have not done any work on data compression algorithms since July. I miss it.

There's been a lot of platform porting work, and lots of running tests for clients and just all that kind of shit work that makes up so much of what I do.

I think some people mistakenly think "lucky! you get to work on data compression all the time!". Not exactly.

Work is work. Needs must and so on.

I don't mind too much as long as it's moving the product. But I do miss real algorithm work, hopefully I'll get to do some soon.

I just realized that I'm writing this because I'm procrastinating some more shit work that I need to be doing right now - writing my flier for GDC. Writing ad copy is bizarrely painful and difficult to me, and my mind will trick itself to try to avoid it, like I'll suddenly remember some bugs I need to fix in the code, or laundry I need to go wash.


01-19-17 | Hindsight / Next Time

I wish that I had made my public entry point functions (in Oodle) separate thunks.

eg. right now I have something like "OodleLZ_Compress". When a client calls that, they go directly into compression code. When I internally want to call Compress() from some higher level function, I call exact same function. There's no difference between internal calls and external calls.

What I wish is that I had my own self-contained world for internal calls. Like maybe my code all lives in a namespace like :


namespace oodle_internal_v242 {

int Compress(...) { }

}

and when I need to call my own Compress function it uses that.

Then also have a separate set of publication thunks like :


OODLE_EXPORT_FUNC(int) OodleLZ_Compress(...) {

  OODLE_PUBLIC_API_PRE(...):

  int ret = OODLE_NAMESPACE::Compress(...);

  OODLE_PUBLIC_API_POST(...):

  return ret;
}

which just call into the internal stuff. (actually in practice that would probably all be in one big macro so that the PRE could see the args without re-trying them, etc., but it's expanded in pieces here to show the idea more).

The small CPU overhead for doing an extra jump is negligible. There are lots of small advantages. Nothing huge, but I think overall it cleans things up nicely. It isolates all the external-linkage stuff (extern "C" ? hidden visilibility? DLL export?) in one place. It gives you total namespace isolation of your internal calls so that you don't have accidental global namespace linker collisions (yuck). With the PRE and POST you could easily enable things like logging of all client API calls, or log memory use before & after, or profiler scopes.


01-15-17 | Debugging Story

I thought I'd write up the NX debug I did the other day. Debug stories are kinda fun sometimes.

First the answer, and then how I got there :

The NX ARM compiler is clang/llvm ; for 128-bit store-release, the builtin __atomic_store is generating :

__atomic_store_n(&x, 1, __ATOMIC_RELEASE);
0x0800F2A4:    ldxp xzr, xzr, [x21] 
0x0800F2A8:    stlxp w8, x20, xzr, [x21] 
0x0800F2AC:    cbnz w8, 800f2a4 
The ldxp there is an illegal instruction on ARM because the two dests are the same register, which is forbidden. On ARM the behavior of that is "undefined". On the NX what it does is halt your program, no exception, no trap, no help in the debugger at all, just a hard halt.

What that sequence is trying to do is use the ldxp to reserve a cache line, then store two 64-bit words if and only if the cache line is still reserved. stlxp puts whether the store was done to w8 and cbnz branches to try again.

Presumably the optimizer is seeing that the loaded value is not needed at all, we just do the load to get the reservation. So it's saying "hey I'll load the into the zero register", but that's not a valid instruction.

An acceptable sequence for this is :

__atomic_store_n(&x, 1, __ATOMIC_RELEASE);
0x0800F2A4:    ldxp xzr, x8, [x21] 
0x0800F2A8:    stlxp w8, x20, xzr, [x21] 
0x0800F2AC:    cbnz w8, 800f2a4 

And apparently this is a known LLVM bug . (is there a way I could have been aware of known bugs in my compiler?)


And now the story of how I found it.

I ran my NX exe in release mode. Nothing. Crickets. It doesn't even get to main(). No exception, no error message, just dead. WTF?

So, any time I have a nasty problem like this, first thing is - try the debug build. See if it happens in debug too. It doesn't. Debug runs fine. So somewhere in the difference between debug & release is the issue.

Sometimes when I have a debug vs release bug issue, I'll try incremental compiler options (like maybe enable asserts and _DEBUG but turn on the optimizer, or vice-versa) to see what exactly is the difference, and then maybe try to isolate that down to one file; often it's one file where you can toggle optimization on and off and find the problem. Because this is was a particularly nasty issue on a non-local console target, I thought let me try just making a blank test app from scratch and try that in release.

So I started with just a blank main() - that works. Added prints to main - that works. Then I started to add some Oodle. I added the Oodle Core lib and called a function to make sure it worked - that works. I added the Oodle Ext lib and called a function - hang.

So just linking in the Oodle Ext lib is making it hang before I even get to main(). Hmm.

One possibility is that putting in the Oodle Ext lib is causing something funny to happen with the linking of the exe; maybe it's making some invalid exe headers, or who knows; at this point I can't tell that my exe is even valid or is starting *at all*. But let me push that possibility on the stack for the moment and first look into something simpler.

Maybe it's something in cinit?

On Windows, I could just break-point in the cinit code. In MSVC we get the code for all the CRT startup and you can just trace through it and find problems, easy peasy.

Not so on NX. I can't find anywhere to set a breakpoint in the pre-main startup code. So I have to try to hack one in. I make an object just to break me into cinit :


struct T { T() { __debugbreak(); } } t;

so I'll get a breakpoint. Try debugging - success! I have hit my breakpoint and I'm in cinit.

Now, try just hitting "go". Yep, halt. Didn't reach main. So I know the halt is happening somewhere between t's cinit and reaching main. Now I just have to find what it is in cinit that's causing the problem. I can't printf from cinit, and I can't just "go" to find the problem, so I have to manually search through it.

I just have to trace out of my return by going to disasm, and I get this :


0x0800F13C:    ldr           x8, [x19], #8 
0x0800F140:    blr           x8 
0x0800F144:    adrp          x8, 8081000 
0x0800F148:    ldr           x8, [x8, #3480] ; 0xd98 
0x0800F14C:    cmp           x19, x8 
0x0800F150:    b.cc          800f13c 

This is the NX pre-main CRT calling the cinit func pointers. It's something like :
func_ptr cur;
do {
++cur;
(*cur)();
} while( cur != end );
the "blr" is the call to the func pointer. So we just need to step into these over and over, F11 in, keep doing it. I hit lots of initialization loops, so set a breakpoint past them and go.

Finally I got to the bad cinit call that did this

0x0800F2A4:    ldxp xzr, xzr, [x21] 
and it was found.


The main thing that made this particularly nasty is that the invalid instruction doesn't generate an exception that the debugger can just catch and give me a PC with disassembly. This would have taken a few minutes instead of all day if I'd just gotten a failure on the bad instruction.


BTW I found this page useful : Introduction to ARMv8 64-bit Architecture

nice straightforward coverage for ARM newbie like me.


01-15-17 | Christ

Coding has been a fucking brutal nightmare this past weak. In addition to fighting git and llvm/clang/gcc doing their damnest to fuck me, I have :

Hit a compiler codegen bug on the NX (in the __builtin_atomic_store for 128-bit stores). (see full bug story)

Then I battled through fucking brutal Mac issues. Fucking TLS declspec thread fails in my version of Xcode in the most nasty obscure way. At no point do I get any errors about TLS not being supported or anything helpful, all I get is a signal 11 when I run my app. WTF you fucking asses, WTF WTF.

And then another fun issue. A while ago I had to update my Windows 8 to 8.1 for some shit. Apparently that badly broke my VMWare (Workstation 9) which hosts my Linux build. So now my Linux build is broken. Slogging through some nasty shit, managed to get that fixed.

Jebus.

It made me think, if I wanted to be rigorous about maintaining build environments, I should really have all my compilers/targets in their own VM. That way if I have to update Visual Studio to make one build happy (eg. Xbox One), I can do it in an isolated VM and I don't risk that update fucking up some other build.

God damn I fucking hate the "update all the time" paradigm that we're in now.

At the first job I worked at (CTC/Comkey), all our compilers were in DOS. (we made some Windows builds but still ran the compilers from DOS). When we checkpointed the code, we also just copied the whole compiler dir. Boom, done. A completely restorable checkpoint including the whole build system. God that was fucking sweet.


01-15-17 | FYI - Don't Bother Buying Videos on Youtube

I did an experiment and bought a season of "Sarah & Duck" for Noemi on Youtube.

Don't do it.

I can't download them. Neither with "Youtube downloader" nor with "Download Helper". It seems the pay videos have some kind of different URL thing that confuses or blocks the scrapers.

So, once again trying to actually pay for content is an epic fail. Back to stealing it. (there's tons of non-official uploads of Sarah & Duck on youtube that work just fine with the downloaders. It's only the actual pay one that I bought that doesn't work.)

(apparently I can download on my Android device via Play Movies, and then could copy those files to my PC, but apparently they have some DRM encryption thingy)


In related news, the idea that you should be stuck in someone else's player to view content you bought is such fucking bullshit.

Youtube is a great example. You might try to buy only nice content that you approve of for your kid, you set them up to watch it in Youtube. But there's no way to disable showing the sidebar of other videos, there's no way to lock them in just one video or just one playlist, even disabling automatic "play next" is impossible.

So if you turn your back and walk away for one second, god knows what they're watching, fucking ads for barbies or similar brain-poison.

Fuck youtube. Fucking garbage eating assholes. The entire format of youtube is intentionally designed to be abusive to the viewer and make it hard to just watch the one video you want without getting sucked into a fucking nightmare of nasty comments and related videos and ads and so on.


01-15-17 | Interlude

If my life was an 80's movie

I've had my early bright success. "He was the greatest, he could invert a gigawatt in 3 parsecs! Never seen anything like it. But he don't hack no more." I had my heart broken, I found out my hero was a fraud and also my father, and my true love was killed. I had my interlude where I grow a beard and move to the coast and stare the ocean a lot.

Now it's time for one last caper. Get back into the game, just one more time! But this time it's personal.


01-14-17 | I Wish

I wish I was more methodical about perf testing.

In particular, I'd love to have an automated system to measure speed of all my compressors on all my platforms, and run that on my standard build machine.

Then I'd like to associate that in perforce with each stable build. So any time I have a stable build, I can fire it off, and it checks in the results, so that I have a totally reproducible reference point to go "ok at this time I had this speed".

One of the fucking annoying things I'm constantly running into is that some unrelated change causes the compiler to change its codegen in some way and I lose speed. I wish I had a better way to go back through the revs and go "ok wtf happened".


01-14-17 | Rare

One of my favorite bands, "Timbuk 3", has been offerred millions of dollars over and over to license their song "The Future's so Bright" (gotta wear shades).

Despite being quite destitute, they've always refused. For one thing, the song is ironic (you fucking morons), it's about how *bleak* the future is (much like "born in the USA" etc.). For another they're deeply anti-capitalist, supporting advertising would totally go against their beliefs, and unlike most of the disgusting hypocrite rock bands that pose about being rebels and tough and anti-establishment, they actually live it.

The thing that always strikes me is that this is even newsworthy. Pretty much every interview with them it comes up. People are just a bit flumoxed by it. Because it's SOOoooo fucking rare for anybody to ever turn down money when it conflicts with their beliefs. Most people are like, hmm you want to kill my children and rape women? but you'll pay me a million dollars? Okay, sign me up! For anybody to ever say no is just shocking.

I was reminded of this by Krazydad writing about the Mac & Cheese maze in which Kraft steals his work, and he chooses to not try to profit from it at all.

These very modest acts of being just a righteous moral human being are so rare that they become exceptional.


01-13-17 | P4 vs Git

The way I wound up using Perforce in Oodle2 :

1. All files are marked writeable (+w) in P4. You just start editting them on your local machine whenever you want. You can always also go check them out if you want, but there's no need to do so.

2. All files are lower case. This is just a good idea in general, aside from P4 fucking up case, it helps with building your project on Linux or whatever.

3. Before working on my changelists, I would just run "p4upd.bat" which was :

p4 edit ...
p4 revert -a
which picks up all your changes.

4. The only problem that I ever had with P4 was that renames/deletes/adds continued to be missed. I think you could easily write something on Windows using ReadDirectoryChanges to monitor those dirs and keep a list of changes to notify the user about. (not a popup, that would be fucking horrible, maybe just a task bar icon you could look at that would say "hey I've noticed these changes in your dir, do you want to put them in P4?" and you could go through them).

It was totally sweet.


01-11-17 | Trump Watch

If you actually wanted a straight-talker that doesn't bullshit for political correctness, doesn't kowtow to corporate interests, and doesn't play insider power politics as usual - he was running, his name was Bernie Sanders.

I understand the complaint about Bernie being an "angry old man". I am similarly often accused of being bitter and crotchety and so on.

I think that if you look at the corporate influence of the pharmaceutical industry, the banks, the car makers, if you look at the way we treat the poor or prisoners, if you look at the fucking lies that they use to try to undermine social security, unions, medicare, etc. - you SHOULD be angry. You should be fucking outraged and yelling about it. Any politician that's not furious about business as usual is part of the problem.

But I know it's not very attractive.

Look, I understand. If you actually want serious programming about the truth, you would watch Bill Moyers, and Frontline, and listen to Democracy Now. But nobody does, because that stuff is a fucking bummer.


01-11-17 | Trump Watch

The pathetic, insecure, weak, childish toads that puff themselves up and put on a play of being tough and competent

they show their nastiness to anyone that unmasks them, that pricks their illusion, even just someone who asks them questions and doesn't go along with their bluff.


01-10-17 | People are Fucking Morons

Google Voice is about to get an update. Quoted from the engadget article -
Also, we'd be remiss if we didn't point out that the desktop site is mired in a dated gmail 
look and the iOS app hasn't seen an update since some minor bug fixes back in June, so even 
a visual overhaul would make Voice feel less like an afterthought.
Yeah, damn that stupid dated gmail look. That really ruins the functionality. It sucks that the page loads in only a few seconds and doesn't reflow over and over. It sucks the way the buttons are just simple buttons that are where you expect them to be and don't animate or change under your click.

ADD: yep, the update is out and it fucking sucks balls. It gobbles CPU, it fails in lots of basic good UI usability (eg. the "to" box is at the top of the page, but the text entry is at the bottom of the page, so you have to click around all over), it's SOoo slow and has that horrible trickle-in incremental GUI nonsense; it has glitches like most modern Google stuff where one pane will update (eg. when you get a new text) but the other pane won't so they're out of sync. WTF WTF terrible. And worst of all is that the moron reviews and users will think "it looks modern".


01-09-17 | The NFL and NBA

On the one hand, the major US sports are in a big panic about their declining viewership and general irrelevance and likely decline.

On the other hand, they continue to penalize their athletes for celebrating, speaking their minds, wearing what they want, promoting their own brand, or generally being interesting human beings.

Umm.

Maybe in this era of fucking real housewives and kardashians and presidential nutjobs and twitter meltdowns, maybe get a fucking clue.

Maybe if you allowed your athletes to have some freedom and become stars and be interesting, people might care about them.

What you absolutely NEED are the Richard Shermans and Alan Iversons and Randy Mosses and anybody else who can stand out and have some fucking personality, to give people a reason to care about how they play. Let them do whatever they want as long as they're legal on the field.

Basically as long as these sports have fucking racists dress code policies, fuck those sports. As long as they don't let athletes own their own fucking name, fuck them.


01-09-17 | The Origin of Dubstep

Adam Sandler invented dub step.

This is hard to due in words, it's easier to act out in person.

You know how dubstep music always starts really sweet, like doo-dee-doo some nice melody, and then oh no, big surprise, the drop, womp-wa-womp-womp, etc.

That's just "sloppy joe" (Lunch Lady Land). (and most of Sandler's oeuvre from that era) (oeuvre , err-vra, oh-oo-vvra)

Sandler went "Well I wear this net on my head, 'Cause my red hair is fallin' out" all sweet, and then BOOM surprise mutha fucka! here comes the drop

sloppy joe slop sloppy joe - waa waa waaa (dubstep sounds)

Electronic music producers must have sublimated that song and now it's everywhere.


01-09-17 | Kid Stories

When kids are making up fairy tales, it's just one crazy twist after another. Like as many big extreme events as they can toss in, and it doesn't really make any sense. It's like -

the princess went to the big mountains and found the treasure chest, so big, the biggest ever, but then a giant came out and ate up everything, the sun, the whole world, but the giant was also the stepmother! and stepmother put the princess to sleep for a hundred million thousand years then the warrior battled them, the biggest battle ever! etc.

Any time you prompt them, like ".. okay, and then what?" the answer is always something dramatic, like "...um.. and then A TIGER comes out!". And you're like, WTF, but this story was in space, and it was a thoughtful examination of the banality of family interaction, where did the fucking tiger come from?

It occurred to me this is exactly like JJ Abrams and standard pop culture Superhero movie writing. Quality stuff.

(I will not ever watch any of the new Star Wars or Star Trek unless I am strapped down and my eyes are pried open clockwork-orange-style)


01-09-17 | Noemi Days

We were snowed in, school was cancelled. I had to fill 3 days with indoor activity by myself.

For the first time, we listened to the "Peter and the Wolf" musical symphony thing and she actually listened through the whole thing. She kept saying "what's that?" about the music, and I'd explain what it signified, we talked through the whole story. It made me tear up a bit because it reminded me of listening to it when I was a kid.

(it happened because I started whistling Peter's Theme for some reason, and Emmy was entranced by it, after I finished whistling the theme she said "again!", so I whistled it again and she said "again!" so I was like fuck, we can just listen to the real thing)

(Emmy likes to be like a Sultan and command "again!" when she likes something; like if we do a "run and spin" she'll go "again!")

(I'd like to have a video of a Peter and the Wolf Ballet, but I can't find a decent one. All the ones on Youtube seem to be really shitty hand-held cam recordings. The only professional one I see is the Royal Ballet one from 1995, which is a pretty crap VHS transfer). (also Youtube seems to have broken my Youtube Downloader (again) which is so fucking annoying)

For the first time we watched a whole nature show (Planet Earth 2, Grasslands) without her screaming that it was too boring and she wanted to watch Peppa Pig instead. A few times she said "this is boring", but we stuck with it; we cuddled and talked about what was happening, and I tried to make it fun for her with more commentary and lots of "whoah that's amazing"s. It was nice to be able to watch something together that wasn't agony for me.

We made a maze on the floor using blue painter's tape. I pushed all the furniture out of the way so we had a big space. It was an idea I had, maybe a month ago, because we've loved doing mazes, we sometimes make our own mazes on paper, or by drawing them in the sand on the beach, then I had the idea, hey I could do it with blue tape. So I layed out some paths, some spirals, not branching but just circuitous, like a "labrynth". She kept walking the path I had made and then saying "let's make it bigger, so big!", so I kept extending it, through the kitchen, down the stairs, adding jumps and tunnels, until I ran out of blue tape.

We shovelled the snow off my driveway. I got her her own little pink shovel so she could help, she was all excited. It's so cool at this age the way they just want to help out and do what you do and learn. A few months ago we washed my car together for the first time and she literally said "this is fun!". Yeah, it is fun! It's fun to shovel snow with her, and we threw snow at each other and built a little snow cave to hide in.


01-06-17 | How Hard Can It Be?

Why is it so hard to just make a show about some people hanging out and driving around? I don't want them to do particularly much, just chat and be mildly amusing. It seems to be almost impossibly hard based on the fact that everyone trying it these days is awful.

(The Grand Tour is fucking terrible, but if you want TG USA or the Drive version of it, ye gads, there is terrible beyond terrible; you have to start with stars that aren't odious)


01-06-17 | C

Instead of globals and functions and such being global-scope by default, and having to mark them "static" to make them file scope, it should have been the other way around. Everything should be file scope by default, and you have to mark it "global" to get global-scope linkage.


01-06-17 | Infotainment

Why does the word "infotainment" even exist? How is this a fucking thing?

I know, let's put fucking TOUCH SCREENS with fucking APPS in FUCKING CARS WTF WTF

Every manufacturer that makes one of these should be fucking murdered. Everyone who ever uses one of these should be in fucking jail WTF. Oh, I'll just drive along and browse through Yelp to find a store that sells more shit to stuff in my skull since I obviously have shit for brains.

Not only is it a fucking thing, but the fucking car review press will rag on a car if it has lame infotainment, or praise it for good infotainment. That's not any criterion for rating cars. The reviews should only say "this car has infotainment which is fucking awful and dangerous and stupid and you should never use it".

Why the fuck do you want this shit anyway? You have a fucking phone or ipad or whatever, why do you want it build into your fucking car which will always be more shitty, more out of date.

AAARGH

In related news I've noticed more people just blatantly watching movies in the front seat of their car. They have a screen around where the rearview mirror should go and are just full on watching a movie. (it looks like "rear seat entertainment systems" were legal in pickup trucks before model year 2016, so they're actually legal).

How is this shit legal? WTF NHTSA step the fuck up.

According to a 2015 survey conducted by AT&T[2][3] with a sample of over 2,000 US respondents,
"7-in-10 people engage in smartphone activities while driving" including social media (40%), 
web browsing (30%) and even video chatting (10%).
WTF. I guess on the plus side, when you crash into someone and kill them, there's a 70% chance that they deserved to die too, so there's that.

I guess this is all part of the general diseases of me-me-me fuck everyone else, and the need for constant entertainment. Everyone's poking at the internet or watching TV or drinking beer, getting the latest news and tweets and funny videos to just stimulate-stimulate-stimulate, never a moment of just being alone with yourself.

I guess the next step will be AR, with some glasses giving you a constant overlay of naked ladies and youtube stars and real housewives and such just chattering away in part of your vision 24-7.

I was going to write a blog post about how my new Audi has this annoying red LED light in the OnStar area of the car, just above the rearview mirror. The Hyundai we rented in Hawaii had the same thing. It's a very annoying spot for me to have any lights; I don't want any status LED lights inside the car at all. At night I want only the instruments illuminated, anything else is distracting and detracts from my night vision and ability to see outside. Seems a bit ridiculous to complain about in contrast to using fucking apps on an infotainment system.


01-05-17 | Trucks

Huge trucks are selling like hot cakes. Because all their buyers know that gas will never ever be expensive again. (recall how during GWB's Iraq Folly the price of gas shot up and everybody stopped buying trucks and actually chose to buy hybrids and such). (also probably related to the subprime car loan bubble; I guess the huge boom in trucks and SUV's last year was mostly "0% down, 0% interest" type of crap)

Of course there are despicable regulatory loop-holes and crony-capitalism involved in large trucks (the US government using it as a way to favor domestic automakers vs foreign competition). And it's generally terrible for humanity in terms of gas use, global warming, needing larger roads, more strain on infrastructure, taking up parking spaces, killing people, etc. etc.

I just hate it on a personal selfish level. As someone who would like to ride bikes on the road or drive reasonable (small) sized cars, it fucking sucks.

The big trucks have their head lights right at my mirror level or eye level, I can't see through them. Driving beside a modern pickup truck, you can't see around it at all, they're too fucking huge; eg. if I pull up to red light and want to make a right turn, if there's a truck in the lane beside me I'm fucked. They make driving much less safe for me even if they don't hit me.

And of course when they do inevitably hit me, they are far more likely to kill me. Stupid Republicans will talk about "freedom" and how I should mind my own business and they can drive whatever they want. No, you absolutely can't. When you're sharing the public roads with other people, your choices don't just affect yourself, your choices can kill other people. Because of that there are of course regulations about how harmful your vehicle can be to other people. Claiming "I can do whatever I want" is just patently false and fucking retarded. The only question is about where exactly we draw the line.

One of the problems is the loophole for larger trucks (F-250 class and larger) which don't even have to be crash-tested the same way, and they totally avoid most EPA requirements like MPG reporting and CAFE.

Another problem is modified trucks. An F-150 stock might have to pass crash tests that check that it doesn't decapitate people in a passenger car. But as soon as you modify it, all bets are off. Do something like put a rock-guard on the front, or a winch, or lift the suspension, and now the crash-safety mechanisms are totally ruined and it's a deadly weapon.

Anyway this rant is purely selfish. It just makes me feel intimidated and not safe being out there on the road. It makes me feel like I have to get a Dodge RAM Magnum Small-Dick Edition Super-Wanker Duty just so I can compete and feel safe.

It's a bit like if you walked around the city and everyone was carrying assault rifles. Even if they aren't actively shooting you in the face, it feels awful, intimidating, like I either have to get one too or just lock myself in my fortress of solitude.


01-04-17 | Boring Architecture

It's a bit odd to me just how very conservative and boring architecture is. No architect that's ever lived wants to do something different? It's all so bland. It's all pleasant, just nice, wood and stone and the same crap. Even brutalism, one of the more extreme movements, is just concrete boxes and windows. What about some fun?

The outside is all spikey angles, like a sea urchin, a star, all mirrored and purple. Maybe the outside is all metallic with holographic paint so it shimmers different colors. It's motorized so it's always moving, shifting, like an amoeba. Maybe the outside is all LED panels so you only see waves of color moving around on it. Maybe it's shaped like a human head; the eyes are windows and you walk in through the mouth, on the tongue. Maybe it's all neon triangles and shapes and color like that 80s geometric style.

Some would say the "postmodernist" architecture people did a bit of this. But very rarely did they actually push it. Most of the ones I've seen just have a bit of odd intentional mis-use of classical forms, like columns stuck on the side of the building where they make no sense, and arches at the very top, and all in an unbalanced anti-classic mismash. Which to me just looks like bad normal architecture, it doesn't go nearly far enough; if you're going to stick random columns and arches around, stick like a hundred on, at all kind sof crazy angles, so it's like an escher painting.

It's pathetic what we call "modern" is just some glass and steel and concrete. Ooo, I used concrete, how bold, that's a real brave statement there. That's only, 100 years old or so. That's like saying you bought a "modern" car and you show up with a model T; "what's modern about it?" "it's not pulled by a horse, look it has a motor!".

And like yeah yeah I know it's not very practical, it costs a lot more and makes difficult spaces, sure. I understand why 99.99% of buildings don't do this, but why don't 0.01% ?

And maybe you say, oh well homes are very expensive and are made to last for many years, so naturally people will be more conservative. But for the super-rich that's not really true. The people who buy a Ferrari La Ferrari and then get it bedazzled and decked in zebra testicle interior, they can just flush millions down the toilet and not care, and they do make crazy disposable statements with cars and fashion and all kids of other things, and homes to them are short-term disposable investments, so why not go mad?

Why not a place that's like those wooden stick puzzles where it makes like a 3d asterisk of sticks and you can't figure out how they're all interlocked to support each other.


01-04-17 | Business and Morals

Weird how most people seem to think it's okay to turn off your morality as soon as money is involved.

They'll say "hey, it's just business" as if that excuses anything. Oh, it's not personal, it's just business.

Like, if we hire you and know you're fucking great and could get paid way more but didn't know better, hey it's just business.

Or, if we evict you from your home or foreclose on a technicality or whatever evil things people do all the time "it's not me, it's just business, I have to".

But that's a complete load of shit. Morality applies to all interactions between humans, it doesn't just turn off when money is involved.

If anything, when money is involved it becomes a more true test of your real morals, because now the consequences actually mean something to you. Lots of people tell themselves they're a "nice guy" until business is involved and then anything goes. Oh, so you're nice when it doesn't hurt you personally in any way, when it costs you nothing, but as soon as it actually hurts you, you're a ruthless fucker.

(sort of like all the people who are "chill" or "easy going" until it impacts their life in any way; like oh, I'm such a chill friendly person. "Okay, do you mind not blowing smoke in my direction?" "Fuck you man, I do what I want!" Yep, super chill. The real test of being "nice" or "considerate" is when your actions impinge on someone else and you would have to actually modify your behavior in a way that you don't want to.)

Like if you own a restaurant, and it's doing great so you don't even work there any more, and you own a fancy home, but you still pay your servers the super-under-minimum-wage that's allowed by law, and you require them to buy their own uniforms and so on, you think "I'm a generous guy, I give to charity" , but look at how you treat your employees, you're fucking them "oh, that's just business" , uh no, that's the most true test of who you are as a person.

One of the most extreme and ridiculous examples of this that I keep seeing are CEO's that claim "I'm legally obligated to maximize profit for my share holders", as if that's a reason to do all kinds of evil. Like when oil companies are leaving their tailings in open ponds that drain into the ground water and poison communities, and they knew about but didn't say anything, oh an announcement would have hurt the stock, and as CEO I'm legally obligated to protect my shareholders. I really wanted to do right, but my hands were tied! Umm, no, no, fucking no. It's just not in the law at all except in very limited ways, and even where it is in the law it in no way overrules the legal obligation to do things like pay taxes or not kill people. It's just a complete fucking lie and we keep letting these bullshit CEO talking head people get away with saying it. Stop it. Reporters - call them fucking ignorant or manipulative liars.


01-04-17 | Killing for pleasure

Every day, all of us are killing people for our pleasure.

There's how you spend your free time. If you sit on your ass watching TV instead of working for good causes, volunteering or whatever. There's what you do with your job; if you work at something fun and lucrative instead of a job that would do good and help humanity. You are choosing to kill people so you can have more pleasure in your life.

There are more direct ways. If you watch movies or poke at your phone while you drive, you're choosing pleasure and saying "fuck whoever I kill". If you de-cat your car, or even just drive a shitty polluting classic car or diesel, you're saying for some amount of pleasure you are okay with killing some people. If you like to drive fast occasionally, you are killing for pleasure. Obviously an increased probability of killing someone counts as fractional people killed.

If you support gun ownership rights, you're saying that whatever fun you get out of feeling like a man for once in your life is better than some people's lives.

If you don't currently have a Syrian refugee living in your home, you're killing people for your pleasure. Of course "pleasure" also means the avoidance of displeasure. If you live alone, or live well, or eat good food, or have any luxuries at all, and don't donate that money to clean drinking water in the 3rd world, you are killing people for pleasure.

One that always piques me is whenever a product is outlawed because it's found to be cancer causing or to destroy the environment or poison people (like Scotch Guard or Wurth Engine Cleaner or all that kind of poison crap) there are always a bunch of bone-heads that rush to buy up the remaining stock while they can. Because whatever small added pleasure they get from using the old poisonous formulation instead of the new one is more important to them than killing people.

My point is not to judge all these things. It's to point out how stupid it is when people say "oh my god, how do dare you do X, you're risking peoples lives just for your enjoyment!". Of course I am. We all do, millions of times, every day.

I think that you could calculate the value that we actually assign to a human life based on the decisions we make. I think it would be pretty low.


01-04-17 | Things you should never benchmark

Things you should never benchmark outside of a specific final end-use application :

1. Memory allocators / garbage collectors.

2. Threading primitives.

3. Hash tables.

Because there's no such thing as "fastest", there's massively different use patterns.


01-04-17 | Discovered on Tumblr

I uninstalled chrome from my phone to stop myself from poking at it pointlessly. So instead I poke around on Tumblr when I have a bored-pull-out-the-phone moment.

Things I have discovered on Tumblr :

Already wrote about all the "daddy" / degradation female-written porn blogs. Yucky for me. It wouldn't bother me so much if there was a big majority of healthy sexual female porn blogs of confident, secure, normal women that fantasize about mutual power play or loving but nasty sex, but no, there are just about zero of those, almost all the female porn blogs are about being slut service whore for daddy. Yuck. (also of note : Tumblr is deeply sexist, if you search for asexual keywords like "sexy" you will get lots of naked ladies but no naked men. I also understand that Tumblr censors "X-rated" (whatever that means) videos, which basically means censoring cock but not pussy)

"Thinspo" ; so the thinspo crowd is a community of extreme anorexic girls that provide encouragement and motivation to each other. Not to get over their disease or think that they're beautiful the way they are, but rather to "achieve their goals" of becoming disgusting emaciated skeletors. They post things like "ignore the haters and all those who judge you, remember we are here for you, they're gross fatties and when you are too small for size 0 jeans it's all worth it".

"Futanari" ; Hentai of chicks with dicks. Hell yeah! File to "how did I not know about this?". It's like the ultimate in pure sexuality; big boobs, feminine curves, big cock. And being cartoon somehow takes the nastiness off it.

"pleasefireme" ; supposed to be a blog about sexual discrimination and how hard it is being a female at work, but winds up mostly just being whining about awful customers at retail jobs. Jesus christ people are awful.


01-03-17 | Fucking Fuck

Any time I take photos with my phone now, it asks if I want to upload them to some suggested location.

How about never EVER post anything from my phone anywhere public. Where's that option?

How about a global Google setting to always keep all of my everything private?

Of course not, because Google is fundamentally pure stinking evil.


01-02-17 | Fixing Defective People

Part of my "beautiful" rant is that by reacting with "everyone is beautiful" you are implicitly affirming the norm that to be valid you must be beautiful.

Part of my problem with depression medication or "social anxiety" medication is that it's based on the assumption that there is a certain very uniform normal human ideal, which is pleasant all the time, never feels depression or rage, has no anxiety or nervousness, just goes around being mild and content. Not only does it set up this ideal of behavior, it assumes that being different from that is not just less than ideal, or imperfect, no - it's so bad that it is a "disease" that should be medicated.

So much of society has quietly accepted this disgusting whitewashing. If you have ADHD you're broken and need to be fixed; if you're on the autism spectrum or have occasional depression, you have to be fixed.


12-30-16 | Degradation

I don't find sexual degradation of women to be hot anymore.

On the same time, it's massively on the rise. In female-written erotic stories, in "slutty girl" tumblrs, in porn. There's so much crap that's like "use me as a three-hole slut piece of meat", or "I'm only turned on by men that treat me like a piece of shit" or etc.

Now, look, I understand the argument for it. If you're in a healthy relationship where you treat each other as equals, it's fun to role-play total male domination. It's fun to just be animal, to be broken down, to lose all intellectual humanity, to become pure id, pure nasty lust, to be meat. That's cool and all.

I think maybe it's the Trump world that's really soured it for me. In a world where your president is someone cool like Obama you feel like society is more civil, that people treat each other with respect, and then it's okay to play dirty in private. But when the fucking President thinks it's funny to say "grab em by the pussy" and everything else, where degradation of women is being celebrated, it's not cool to play that game in private any more.

It's kind of like, if you're around your friends that you know are not racist and are decent people, then making an outrageous racist joke one in a while can be funny. But when your racist uncle makes the same joke, it's not fucking funny.

Playing at rotten things like that only feels okay when it's obviously not real.

I think that comedy is kind of dead. I don't think that making fun of Trump is funny. Making racist or sexist jokes is not funny any more. That shit's too real now.


12-30-16 | Lowered Expectations

I don't expect a lover to actually help me to be happy or achieve my goals, but at least don't undermine me. (and by "help me to be happy" I don't mean "do what *you* want to do for me" or just generally be cheery, but rather assist me in the things that *I* want to do. Being sweet or kind to someone is about caring about what they want)

Like, I'm way happier when I'm fit and active. I really need to get outside every day, get some exercise. Much like a dog. I'm way happier when I'm eating clean and healthy, even though I will sometimes crave junk foods.

In an ideal world I'd find a lover that actually *helps* me with my goals, even just encouragement would be nice, or noticing, like "lookin good" or "do you need some time apart to go work out? go ahead! no worries". That would be nice. Hell it would be sweet to have someone that wanted to work out together, plan healthy meals, do PT and swap massages, stretching sessions, that would help a lot with keeping me on my program. But I expect none of that.

I'm more likely to get things like "you don't like the unhealthy fatty dinner I made? you jerk! eat it all!" or "surprise I made you a nice treat of chocolate cake!" or "how dare you go out for a run, you've been at work all day and you need to clean the house!". Just total sabotage of my efforts to take care of myself.


12-30-16 | The Smile

A beautiful woman smiled at me in the grocery store. Oh fuck, what am I supposed to do with that? Go over and awkwardly try to chat you up? You constantly judging me, looking for the slightest reason to reject me. Maybe I succeed in getting a number, so I can be childishly delighted by my "score". Maybe we'd go on a date and talk about nothing interesting, being totally fake and pretending to be perfectly little yuppies that like yoga and feminism and hiking and whatever the fuck we're supposed to conform to these days. Maybe we'd go home and have sex and it would be okay, but kind of meh because of the rotten condom, and also weirdly forced and artificial, with unsaid expectations and obligations attached to it. Then we'd have to go on horrible dates like farmer's markets and meeting your awful friends that have barebecues and say "dude" or "bro" and talk about real estate values. And over time I'd find you closed minded and conformist and kind of stupid and group-thinky.

What is the fucking point. Just fucking save it. Don't fucking smile at me, put that shit away.

Sometimes I think beautiful women shouldn't be allowed in public. They're too confusing and disturbing. (often they're even worse for other women than they are for men). They should be kept locked up somewhere, like a zoo, for us to go and admire, but not allowed out in the general population. You wouldn't let tigers just walk around free, would you?


12-30-16 | Trump

If you make fun of Trump for being orange, or having bad hair, or saying "yuuge", or saying "the best", or even his twitter tantrums or mild scandals - you're letting him win, you're playing his game.

He's a lunatic with a nasty temper, total incompetence and disregard for the seriousness of managing government, he's racist and misogynist, he's corrupt, he's a liar.

These are the points, over and over. Not "he has small fingers" or whatever fucking trivial stupid shit. It's not funny, it's fucking serious.

And yes I know that we all need to laugh about it once in a while to deal with it, but what I see in the world out there is 99% laugh lines and 1% serious, and it should be the other way around.


12-29-16 | Trump

I guess one of the really depressing things about the Trump election to me is that it shattered my faith in most of America.

I always thought that Republicans and the Tea Partiers and so on were kind of scum. People who'd rather shoot bottles in nature and drive around in it than protect it. Or people who are always on about cutting taxes or market solutions or welfare queens, or those sort off-hand ways of saying "fuck everyone but me". You're kind of scum, and I don't respect your values, but okay, people are different and have a right to different opinions, and I still hoped that they had some kernel of humanity inside, some grain of decency. It turns out they don't.

It was okay to have sort of scummy selfish hateful political opinions as long as I thought that it just came from a place of being a bit ignorant, being a bit confused, but there was still some goodness inside.

But you saw who this man is, and don't fucking plead ignorance because it was everywhere in the media, you couldn't avoid it, you saw this man and you thought "yep that's the leader for me".


I've been at times imagining what it's like to live in a country where the majority of population votes for a government that has as a major policy the invalidation of your right to exist as a human being.

Like if you were a Jew in Germany before the Nazis, sort of living a normal integrated life (not really, there was always lots of anti-semiticism in Europe), but then governments start to come in that have the fundamental policy that you are scum, they start saying you're behind all the bad shit in the world.

Every day you woke up and looked at your neighbors, or people coming in your shop, you'd wonder - is this someone who voted against my right to live?

Imagine being gay in Russia or Uganda or something where the government has a popular policy that you don't get to live. It's not just the fear of the police or getting caught, it's also just every person around you that you talk to, your neighbors and coworkers or whatever - is this a person who believes that I don't deserve to live?

I imagine what it's like to be an illegal immigrant now in the US, or a moslem, you try to go about your daily life, going to the grocery store, doing your job, you try to smile and say hi to strangers, but there has to be a fear with every single interaction, was this person a Trump voter?

I can't imagine being put through something like the Japanese internment camps, when you finally get out, you have to try to live with the people who did that to you.


12-29-16 | Specs

When giving me the hardware specs for a console, I don't really care that much about "maximum bandwidth" of the RAM or storage or anything.

It's okay if you want to brag about how big your maximum bandwidth dick is, I know the numbers look nice and big. But what I really want to know is *minimum* bandwidth.

I know minimum is problematic on PC's, but on consoles you should be able to give me a minimum. maximum also typically changes over the life of the console as the components change, so the maximum you quote now is hopefully a minimum of maxima. But I can't plan my streaming system around a quoted maximum, I need to know minima.


12-29-16 | Post-Truth

Let's not pretend this only a Republican problem. All around us every day are science rejectors, crackpots, people who trust in "faith".

The Californians are a great example; generally smug about being a bastion of resistance to Trump. Yeah, good for you, but let's not pretend that your righteousness in that domain is based on a better perception or evaluation of reality. You're the people who get coffee enemas or drink alkaline water or whatever, you get accupuncture and take herbs and believe in "alternative medicine", you get aura massages and gong cleansing, you think power lines are poisoning you. It's the fucking nexus of nut-jobs.

All over the country you've got people doing fucking TRX or Barre workouts or whatever because the intermittent isometric lengthening contractions activate your mitochondria or whatever fucking nonsense pseudo-science exercise crap they currently believe.

People are eating raw food or paleo, or palm juice or some other crazy crap.


I'm going to dwell on the medical issue for a moment, because I think it's a telling example of post-science-ism in our culture.

There are sort of two schools of post-science medical thought in the US these days.

One is the "mainstream medicine is bullshit" people who think that 1000's of years of Chinese superstition is a better way to heal your body. Maybe they take herbal supplements or vitamins.

The other is the science-news filth consumer, which is just as bad. "New study shows eating loads of bacon decreases belly button wrinkles", oh interesting. This is part of a disease of the internet news and the constant feed, just pouring crap into your brain that has no content, has no merit. These people draw diagrams about how eating fruit is bad because the fructose goes through the liver and does this and that and blah blah. These people want to talk about "peak oil" or the "AI singularity" or the "trolley problem" with autonomous cars. It's vapid buzz-word recycling with no content. (or the "butterfly effect" or "quantum uncertainty" or whatever the non-science crap is today)

The bad-science filth consumer reads that some kind of plastic bottle is bad, so they buy another type of plastic bottle (which turns out to be bad too). They want some new insulation for their home made from cellulose fibers because its "natural", which turns out to be fire-retarded with nasty chemicals. They want to take the new pharmaceutical because it's advertised to reduce heart attacks (maybe it does, maybe it doesn't). That's not science either, that's all just believing advertising.

I personally am very skeptical of new pharmaceuticals, new chemicals, pretty much any new product that hasn't been tested for human exposure for many years. That doesn't mean I'm "anti-science" ; just because "scientists say" doesn't mean you should believe it. But you *should* believe that scientific process. You should believe that it is possible to investigate the truth, and maybe you just need to study the research to see how strong it is.

Real science is about forming hypotheses and testing them. If you can't test them, they aren't science. You have to be careful that the test actually proves the hypothesis, and state only what the test really showed (eg. people who took this pill had this outcome, NOT that the mechanism we expected was actually happening). You have to be careful that the test was large enough, that it was confirmed, that there weren't mistakes. This takes some time, so pretty much any breaking science news should be ignored. (and a lengthy FDA approval process is inherently necessary and a good thing, because science needs time to find longer term effects and for other researchers to get to study the tests and check for errors).

Real science is about being limited and skeptical. Real scientists say "I don't know" a lot, and are careful to only say that things that have been well proven.

Now obviously for the average consumer, they aren't going to study the scientific journals to see how well supported a question is.

If you aren't going study the research yourself, here are a few good guidelines to follow :

1. Any breaking science news; heck any "science" you read on the internet or in a newspaper (or dear god in a TED talk) should be treated with great skepticism. That doesn't mean you believe it to be false or a conspiracy theory or any crap like that. Maybe it's true, maybe it's not. You should try to just ignore it, treat it as containing zero information. Wait for it to either be confirmed or refuted.

2. Before you believe in the advertisement that a pharma company is showing you, or the article in some magazine about alternative therapies, or the advice of your herbalist healer, ask "who the fuck is telling me this?". Why should you believe them, more than say a doctor, or the CDC? Sure if you want to be skeptical of your doctor, that's okay, but if you're so cautious about believing things, why are you going along with what the employee at the natural food store is telling you about supplements?

3. In a pinch, trust your doctor and the CDC. They did actually go to school for this shit and studied it for years and work on it every day. They are legally accountable to not do harm to you (unlike the GNC store or your aura photographer). Yes, they make mistakes sometimes. Yes, some doctors are corrupt either intentionally or subconsciously and have been influenced by pharma company money. No, those are not widespread problems. And hey, people that are trying to do actual science based on experiments and facts can sometimes be wrong. Only charlatans are always right.


12-28-16 | Beautiful

Two gripes.

One is when people say "bald is beautiful" or "big is beautiful" as if they're saying something controversial, making a stand, and then as an example they use someone like Stefania Ferrario. Well yeah, she's fucking gorgeous, but that doesn't mean that "big is beautiful". It means big *can* be beautiful if you're like perfectly built and proportioned and have a great face and all that. It's just a terrible way to make a terrible point. Of course anyone of any type can be beautiful if they're just right.

(being pedantic : the stupid thing here is if you're trying to say "unconventionally beautiful people can be beautiful too" then you don't use as your example someone that anybody would say is beautiful; if your preconception is that backward rednecks would say she's ugly and they're wrong, then don't use someone that they would drool over)

Two is when people take a woman that they like who's obviously not beautiful, like Oprah or Judi Dench or Meryl Streep or whoever and is like "I think she's beautiful, she's amazing, blah blah". Yeah, maybe she's amazing, but she's not beautiful. She doesn't have to be beautiful to be a great actress or CEO or woman in general. Not everyone is fucking beautiful, and that's okay.

My problem with this is the idea of taking someone who's weird looking or ugly or whatever, and saying "it's okay because I think they're beautiful". The underlying assumption behind this is that you think someone is not a valid human being unless they're beautiful, so you're validating them by saying they're beautiful.

Physical beauty is a judgement of how well somebody fits the current culture norm of physical perfection. By definition it applies to maybe 10% of the population. The whole idea is a way of judging people and thus segregating a population that is excellent under that criterion. Therefore not everyone is beautiful.

But it's okay to not be beautiful. You can be an amazing woman and not be beautiful. When you go along with this "so and so ugly person is beautiful too" all you're doing is perpetuating the norm that beauty is a prerequisite to being a valuable person.


12-28-16 | Ode to McCaw

When I started watching rugby, I didn't pay much attention to the forwards. I was playing wing, and my main interest in watching games was to learn, so I was focusing on the backs and what they were doing in different situations. As I grew to enjoy watching games for entertainment, I still wanted to watch the backs for the razzle-dazzle and open field running, and I didn't really understand the skills going on in the forwards' play (plus they're often jammed up together and it can be hard to see what they're doing).

But then I started to notice things about McCaw's play.

The vast majority of forwards sort of lumber around slowly in open play. They often are at a half-jog, they often don't even get into position to get into the defensive line, or to come up for carries on attack. They're big, they're tired. When they do make a tackle, they fall into the ruck, and then they usually take a phase off. They get up slowly, shake it off, let somebody else make the next tackle, then finally get back into the defensive line. (some of the worse ones, like the big useless Adam Jones would take three phases to get back into the line; some lazy backs do it too, I've seen Nonu take a phase off on defense many times)

Then one day I saw McCaw make a tackle, pop up, get back in the defensive line, and make the very next tackle. I had to stop the tape and go back and watch it again. Holy shit. Then I started to look for that kind of thing and I noticed that almost nobody else in the entire game of rugby was doing that. Everybody made the tackle, and then sort of lazily got back to the line. McCaw made the tackle, popped up as fast as he possibly good, and was immediately looking for how to get back into the play. These days there are a few that do it (like poor Sam Cane, in the shadow of a giant, perhaps the most underrated player in world rugby) but of course those guys are just following in the footsteps of McCaw. One of the ways you can tell the greatest players ever are that they change the way a position is played, or change the model of player that you recruit for that position.

His work rate is perhaps the defining amazing thing about McCaw that made him the greatest ever. The vast majority of players at even the highest levels of test rugby are fucking *tired*. They're constantly looking for a chance to take a break. Is the play far away from my position? Phew, I can rest a second. McCaw is constantly looking for a chance to get into the action someone. On offense, on defense, in open play.

Over and over I'd notice the little odd moments of broken play; maybe somebody toes a ball through, then it bounces off someone else's foot, and it's sort of in no man's land, the ball is loose and the announcers are going crazy, who's going to get it? And then McCaw come storming in and scoops it up. Just that constant effort, combined with great intuition, the ability to anticipate and be in the right place at the right time, to sense when a ruck is vulnerable to stealing, to move around the field off the ball and keep yourself set to make the play.

Of course lots of that comes from the insane conditioning and training level outside of the matches. Many have written about it before so I won't belabor it, but the most impressive thing was to keep pushing, doing the extra endurance training year after year even as he got older.

To do all that and also be one of the most level-headed captains in the world, makes him the greatest of all time. His captaincy really shone in the tough games. The 2016 All Blacks have brilliant talent even with all the greats they lost, but you could see a bit of that character lost in the tough games at the end. The McCaw All Blacks showed their mettle when they got behind. One of the greatest games I've ever seen was NZ - Ireland 2013. That was the McCaw All Blacks at their best. It was sheer grit, effort, just determination and hard work to get back into that game. There was never panic in the McCaw All Blacks when they got behind at half times, they never started scrambling or forcing the game like most teams do when they're behind, they just kept plugging away, amazing trust in themselves.

Ode to McCaw


12-28-16 | Design

My new (to me) Audi bongs if I turn off the ignition when the lights are on. Nice feature right? Keeps you from running down the battery, great. But if you know enough to bong me to tell me turn the lights off, why not just turn the lights off for me? If I want the lights on after I turn off the ignition (which is vanishingly rare) I'm okay with having to do something like turn the switch off then back on again. Make the user take action in the NON-standard case, and make the standard case just proceed by default.

Those house door locks in the knob that you can set so that they lock behind you when you leave - those are just designed by locksmiths so that they make money from all the people who lockthemselves out, right? Nobody actually wants that feature, do they? I'm okay with always having to use my key to lock my house when I go outside, it's a way of ensuring that I have my key on my person.


12-28-16 | Diesel

If the VW scandal means that we finally kill off diesel fuel, then it will be all worth it. It's about time.

Spent (some of) my day today getting my emissions test for new (to me) Audi. The guy in front of me at the emission station had some diesel truck. They kept telling him to rev it, and a huge cloud of black soot would shoot out of his tail pipe. This wasn't any "rolling coal" (fucking assholes) conversion, just normal diesel from a big truck motor. Yeah, I want that in my face.

Why do big old American cars point the exhaust pipe out the right hand side at the rear of the car? They seem perfectly designed to pipe their exhaust straight into cyclists and pedestrians. It's like aimed straight at us, so when they stomp the gas at a green light, the stopped cyclist in the cyclist lane gets coated in soot.

(it's easy to guess the reason, I guess it's the point that puts it farthest from the driver, and so it doesn't shoot soot on the car right behind you, but fuck)

Anyway, fucking nasty diesel, good riddance.

Also, do those OBD emissions tests actually ever do anything? Modern cars would have a "check engine" light if they detected anything wrong with the emissions system. All the OBD2 scans do is look for fault codes from the car computer system. How many failed catalytic converters are they really detecting that way?

Anybody who intentionally ruins their emission system (removing their cats or whatever) can very easily defeat that OBD scan by flashing their ECU to always return a pass, or clearing the fault codes, or whatever. Seems like a pointless hassle if they're not actually going to do the sniff test.


12-28-16 | Law

Because something is "legal" never makes it moral. The rule of law has been used as an excuse for most of the genocides in history. The slaughter of the Native Americans was all legal. It's very easy to take someone's way of life, criminalize their existance, and then snuff them out while "just following orders" or "just enforcing the law".

The law never trumps morality or human decency.

Every government is constantly in threat of turning into despotism, or perhaps more commonly in democracy is oppression of a minority by a majority. That can very easily become law, and any attempt to fight it through normal legal channels is hopeless, by design.

Because of that, illegal protest is a fundamental necessity to any healthy society. That society must always tolerate people who say that the rule of law is crushing their right to life, that the law is outside the bounds of human decency.

Being redundant, that tolerance must be for *illegal* protest, because if you only tolerate legal means of resistant then you are validating the tyranny of the law.

In a society where illegal protest is met with rubber bullets, water canons, pepper spray, you are perilously close to a society that is not moral, not humane, and slipped into fascism.


12-28-16 | Impressed

I've always been pretty good at handling difficulties that are forced upon me. Ruined back? Ruined foot? Deal with it, get on with life. Divorce and heavy child care load? Just handle it. Crazy work load at Oddworld and such? Just plow through. Flat tire 20 miles from home? Just walk home. Handle it.

I've always thought I would be good at those kind of survival situations, like your plane crashes in the desert and you have to hike for days and eat each other to survive. Whatever, deal with it. It's not a big deal, you just do what you have to. People are so impressed by the survivors of that kind of thing, but it just seems easy to me, you just do what you have to. What else are you going to do? Just panic or freak out? Silly.

OTOH I'm almost completely unable to take on difficulty that's optional. Choose to walk any miles? Nah, that makes my feet hurt, why would I do that? It doesn't make sense why you would choose to hurt yourself.

The people that really impress me are ones that voluntarily put themselves into difficulty because of a higher moral reason. Like doctors that could be comfortable and rich in a normal practice, but instead choose to work in some charity group like D w/o B or the red cross in crisis zones. Or people from wealthy backgrounds that choose to do something quite awful like government social work jobs or battered woman shelters or things like that. That's incredibly impressive to me, people who choose to suffer day after day when they could easily not, those are real heroes.


12-28-16 | Yuppie Yogis

All these disgusting yuppie yogis. Traveling the world as if it's a form of collecting trophies to brag about. Visit this primitive tribe in Indonesia, get some great photos for your Instagram! Always needing the new form of "enlightenment", the new teacher, the new style of exercise, going on another great retreat to brag about. It's all still just consumerism, it's acquiring and bragging about it, it's seeing advertising for what thing to buy that will make you happy and then buying that thing, it's still just consume-consume-consume, I'm bored, I'm unhappy, feed me more, tell me what to do. The worst are the ones that got rich somehow, sold their company that made bicycle seats from up-cycled old Air Jordans, and they are now so "wise" and have seen the light, they didn't find happiness in their past life of acquisition and one-upmanship and consumerism, but in their new life of chic boho and the coolest yoga mat and the best teachers, oh now it's all different.


12-28-16 | A Maid you can fuck

I don't think there's much wrong with a man wanting a wife that's just a maid he can fuck. (BTW not my personal desire, I have no interest in a clean house). As long as he's up front about that and the woman knows it and chooses that, okay.

What I find really fucking scummy and vile are the guys that say "I love women" or "I respect women" or the worst is even the patronizing "women are smarter than men, right girls?" (and the audience cheers), but in reality what they want is a maid they can fuck. That is the worst rotten scum.


12-28-16 | ISIS

When an independent crazy person in the US shoots a bunch of people and says "it was ISIS" , eh.. sort of. They got no training, no material support, they just bought a gun and went crazy on their own.

Independent crazy people go nuts and shoot people every fucking day in the US. Sometimes they are arabs who say something about ISIS, and sometimes they are not. The former case gets a lot more attention in the press, and a lot more reaction from government, but I'm not so sure that they're actually very different.


12-28-16 | Capitalism

The whole point of capitalism is to fuck the workers. That should not be a surprise.

As an industry gets more mature, more developed, the way it's run gets more efficient, what happens is :

higher profit margins
commoditization of the labor required
higher productivity
more automization
lower wages
concentration of profit at the top
less competition
more monopolies / cornering of markets through IP, etc.
more corruption, ties with government
regulation that locks in the largest companies
These are just the natural and ineviteble results of corporations trying to optimize for their own best interest.

If you believe in "free markets" this is what you are actually advocating for. I believe the role of good government is to fight these tendencies of capitalism while allowing the best aspects of it (letting the market find optimal solutions to problems).

Any time you look at mature vs. new industries, this is the contrast. In fact one of the best things for human beings in capitalism is to have constant new industries, more change, because the new industries haven't yet figured out how to screw the people and play the system.

eg. alternative energy is better for workers than carbon-based energy. The software industry was quite wonderful to workers for many years, but that is changing as it gets more mature.


12-28-16 | Absurd

I know this sounds a bit absurd and reactionary, but literally Republicans are a much MUCH greater threat to your life than ISIS. AINEC (and it's not even close).

ISIS kills maybe 100 people in the US a year?

Police in the US kill 1000/year. Guns kill 30,000 / year. Cars kill 10 pedestrians or cyclists a day.

GM, Takata, Dow, DuPont, etc. kill more than ISIS. I'm not even going to try to count the # killed by things like global warming, fracking, particles and NO in vehicles emissions, coal, etc. which kill enormous numbers of people, but since the numbers have some uncertainty bars that allows morons to ignore them. (hey morons, an uncertainty range or a probability of accuracy on a measurement does not mean you can/should ignore it)

Of course there's lack of mental health care for the deranged, lack of care for the homeless, lack of preventive health care, etc. which kill untold numbers, and then even worse is foreign policy which has literally killed millions.

Murderers are our neighbors. People who literally don't even care, who say "fuck 'em". They deserve no understanding or slack or empathy, they're fucking scum.

(of course any time we mention ISIS we should remember a few things : 1. ISIS was created by GWB's Iraq invasion (and further back, by the US backing of Saudi Arabia), 2. ISIS is zero fucking problem for Europeans or Americans compared to the nightmare it is for Syrians and Iraqis that are in a hell of our creation, 3. There is no fucking ISIS in Aleppo, Putin and Assad have been murdering citizens not terrorists)


12-27-16 | Desperation

It's so easy to see others in horrible relationships, just toxic poisonous people that drag you down or mess up your life or put you in a box, and think jesus just leave them. Get toxic people out of your life. On the other hand, in real life meeting someone is so impossible, and you're so alone, that when you do finally meet someone and put in the effort to get to know them well enough to find out that they have a heart of pure shit, it's too late, you don't want to give it all up and go back to the horror of being alone, so you stick it out.


It's easy to say things like :

real love must be 100% ; when you meet the right person, someone who you can really open up with and communicate with, that you don't have to lie too and pretend, that you can really talk about life with, someone who supports you and makes you feel valued and loved, then that relationship is everything, and you should be ready to sacrifice money, job, whatever for them if necessary. Like if you had to move across the country and drop everything, or if your job was making you stressed and be bad to them, then fuck your job, quit, they're more important, that special connection is so rare that you must put it above everything.

It's easy to say things like :

I've discovered real love from having a child. You must be endlessly patient and interested in them. You never turn them away or say "not now". You never stop hugging and cuddling. If you see them perform, of course it's amazing and wonderful and interesting because it's *them*, you're not judging the objective merit of it. You're always on their side, you never side with others who are judging them. The stories they tell and their opinions on things are always interesting, not because the stories are objectively interesting, but because they tell you something about the person telling it, they reflect the thoughts of the person you love so they're interesting just as a window into this other person, so of course you want to hear all about it. Adult love that's not unconditional like that is shit.

But you can't just go around giving unconditional love to any adult, you'll pick the wrong person, and they will just take, or hurt you deeply, you must be a bit cautious, wait for the right person.

But of course as an adult you will never ever meet the person that you trust and love so much that you want to commit to them at that level. It can't be "I will be a good giving lover if I meet the person who deserves it" because you never will.


12-27-16 | Obviously

Obviously nobody wants actual solutions to problems so thinking about policy is just frustrating masturbation.


12-27-16 | Obviously

Obviously the solution to the off-shoring corporate tax problem is to tax companies that do business in the US the same regardless of where they claim to be based.

You do something like take the proportion of their economic activity (receipts and expenses) that are within the US, and you tax that same proportion of their profit.

Similarly, any corporation that does business in the US should be subject to normal US corporate laws. I don't care if you claim you're chartered in Antigua or the Isle of Mann, if you do business in the US you can be sued in US courts and are subject to US disclosure regulations and so on.


12-27-16 | Obviously

Obviously there should be no capital gains or dividend tax rates, there should just be income. Then there are no loop holes to exploit.


12-27-16 | Obviously

Having even a very low transaction tax on financial transactions would eliminate the predatory automated traders. Probably 1% is enough to make them non-viable, since the way they work is finding tiny margins where they can make a gauranteed profit and getting in and out of it very quickly.

The reason we want them out of the system is of course :

1. All the profit they're sucking out of the markets would instead go to normal investors.

2. They are an extreme risk to the stability of markets. Their rapid huge (in total) actions can swing markets wildly in ways that are out of our control.


12-27-16 | Economics

It's kind of amazing actually how shit economics is. In the sense of actually understanding markets and how things affect them.

Like what affect does sales tax have on markets? eg. if my government lowers sales taxes and raises income taxes (keep total tax receipts constant), does that encourage more commerce?

We have no fucking clue. It's a bit strange. I understand that it's hard to predict, but even in hindsight we have no clue. Like when governments take action, and then over the next few years the economy changes, there's not fucking causality that we can draw. We should be able to map out the flow of money, to see changes in various patterns and have a more concrete model of these things.


12-27-16 | TV

"Gomorra" the series is fucking great.

Praise to fucking linear narrative!


12-27-16 | Realization

I have realized late in life that any time I rage at the world for being so stupid that they don't make things I want, I should make them myself. The TV shows I want don't exist - I should make them. etc. Any time I get frustrated at how shitty products are (hello, fucking electronics with no fucking blinking lights or beeps!), the answer is "make it".

Too damn lazy though.


12-27-16 | How to live

I have no fucking idea how to live, and almost nothing in me that says "I want that!" that gives me drive to do anything. (other, of course, than a beautiful woman with good love, but that's impossible so fuck it)

Many days my head is full of random desires, but I know those are just advertising and the poison of consumerism. Like "I should buy an old British soft top sports car and drive around the country side, it would be so glamorous" , but of course I don't actually want that, it's just images from advertising. Or "I should work hard to get a house on a hill that overlooks water with a pool, then I'd be happy!" but that's all bullshit, all poison.

In my younger days I tried to sort it out. Clear my mind, think. What are the moments that really make me happy, where I feel natural and open and joyous. Biking in the country, skinny dipping in natural water, dancing in clubs, whatever, etc. Then I thought, okay, try to build a life around those moments. But that didn't really work for me, because in the end those moments of joy are brief and empty without someone to share them with, the real deep contentment of something like road trip explorations is when you do it with someone you love. Those activities themselves are just not that fun or satisfying.

Recently I've been having different ideas about how to figure out how to live.

One is just pick some arbitrary thing to do, and just do it. Maybe you pick hiking. You don't really like hiking, it's not that fun, it hurts, it's a pain in the ass. But fuck all that, just fucking do it you bitch, do it like it's your job. You have a free day, get out and go hike. It sucks, but just do it. That's one way to make a life.

Another is to pick a vision of a man that you think is cool and try to be like that. I guess this is something that many people do, but I always thought it was childish and superficial. But now I know that everything is shit, and there is no such thing as "being yourself", so hell why not do this. So I try to imagine a man that makes me thing "damn, I'm jealous, I should be like that", and then try to be like that.


12-27-16 | Utopia

Is there any city that's super bike friendly (ala Copenhagen and some of the Scandy counties), but also has good weather?

It would be so sweet to live in a city without cars. Maybe the downtown is totally car free, there's lots of protected bike lanes (separated from car traffic by physical barriers, not paint). So you can just ride around all the time, ride to restaurants, ride without a helmet.

But, you know, not where it's fucking cold and dark like Amsterdam and Copenhagen and Oslo and so on.

I'm thinking like southern Spain or Italy? That would be fucking sweet. What a nice way to live. Seville is on some lists but doesn't really seem super bike-friendly from what I can see.


BTW Portland is on many lists of good bike cities and is fucking terrible for bikes. It may be one of the best places in the US, but it's still just a nightmare. The vast majority of bike routes are on roads with cars, and the cars are aggressive nutty raged up commuters. It was very unpleasant, very aggro, not safe, not peaceful and fun and relaxing.


12-27-16 | Herniated Disc

On 11-20 I "herniated" a disc in my lumber spine.

I was in excruciating pain for about two weeks, until I finally got into a doctor (*1) and got a steroid prescription that cleared it up pretty quickly (*2).

The first two weeks I was in deep depression. I could hardly move, and I kept reading blog posts by people about the fact that it basically never heals and I thought fuck, I can never do anything physical again in my life, my life is ruined.

A few notes as I've been reading about it.

1. I put "herniated disc" in quotes because the truth is nobody fucking knows. Anybody who specifically tells you that you have a "slipped" or "herniated disc" or a bulge here or anything precise like that is full of shit. I don't care what they say they saw on the MRI, they're full of shit. (MRI's in general are a bit like tea leaves, you can see almost anything you want in them, and act very sure about it, and it makes the patient feel secure, but another MRI tech might read something totally different)

You have a disc injury of some kind and being any more specific than that is basically bullshit. For whatever reason it's squeezing nerves that it shouldn't.

2. Yes you will have it for the rest of your life. It does not heal, and once you have one disc injury you're much more prone to repeat in the same place.

That's not the end of the world. You should be able to return to full activity, but it will be something that you have to manage and be aware of every single day of the rest of your life.

Every single time you lift something, you have to be careful. Even simple things like how you put the dishes in the dishwasher, every single bending movement, you have to be aware of for the rest of your life. That's not the end of the world.

3. The people who never get better are mostly ones that don't treat the injury with the respect it needs. You don't get better in a few weeks and go back to doing manual labor. Obviously if your job was manual labor, that sucks, you probably need to look into disability payments. You have to change everything in your life that's a trigger for disc injury - your bed, your car, your chairs, how you work, how you exercise.

4. Your PT will probably be semi-ignorant and useless. Most PT's suggest something like the McKenzie program, which is basically lots of back-extension stretches, which supposedly push the discs forward. In fact the clinic outcome studies for the McKenzie program is weak or even contra-indicated. eg. it's bullshit.

5. Short list of things that don't work :

McKenzie program
inversion tables
spinal decompression therapy
accupuncture
active release / dry needling / EMS / other crazy chiropractor crap
manipulation / manual therapy
yoga
stretching

6. The worst things you can do are what most people do. Either take a bunch of pain killers and just go back to activities that trigger it, so you will never get better, or they greatly reduce activity and just let themselves be crippled. (of course what you should do is to get off pain pills so the pain is a warning you can respond to, but continue to exercise and move and be as active as possible, without putting the wrong kind of forces through the spine)

*1 = awesome health care system we have where you have a severe accute injury and can't get an appointment with a doctor for 10 days. When I finally got in, the doc suggested I could have just gone to the emergency room. Awesome system.

*2 = holy fuck steroids are awesome. I felt like a fucking horse, all power and muscle and energy and health. I stank too, pungent reek of hormones pouring out of me.


The best PT's I've found on the web are :

Absolute PT

Upright Health

I also liked these guys : The Hodge Twins


Low back spine "flexion" = bending forward, as in a forward bend, or a yoga "cat" position. This is bad. Flexion also occurs when sitting with bad posture (not enough lumbar support, or hunching). Flexion occurs with bad standing posture. Flexion also occurs when doing things like squats or deadlifts without enough hip flexibility, so that the hips roll under.

Low back spine "extension" = arching backward. The McKenzie program is basically doing lots of extension stretching to compress the spine the other way.

Neutral spine = slight extension backward curve in the low back.


The lifestyle change for someone with disc injury is basically to never go into lumbar spine flexion ever again in your life. Not ever.

Your spine range of motion is now neutral - extension. You want *less* mobility.

You really don't want to sit in flexion for long periods of time, eg. in a car, at work, on an airplane, you have to be super aware of these things. Even unloaded, just being in a flexion position for an hour could set off a major episode.

You also of course never want to put load through a flexed spine, as in lifting heavy things (such as children).


The basic problem as I understand it for people like me is like this :

Spending long periods in spine flexion (as in sitting a desk with bad posture) ruins the body's natural support of the spine. Tendons lengthen, low back muscles change to a longer resting length.

So the first thing you might notice before you ever have a disc injury is that your low back is "tight". You might even start to get muscle spasms or some mild pinch-nerve pain episodes due to the muscles in the back seizing.

That's a warning sign. What's happening there is that your passive posture (from tendons and bones and internal muscles) has changed to a more flexed position, so you're now just cranking your back extension muscles to try to hold your back up, and those muscles freak out and get tight or spasm.

The typical situation is that you have too much flexibility in the low back, and also too might tightness in the hips and upper back.

At this point, doing things like yoga forward-bends or "touch your toes" that put you in more flexion is BAD BAD BAD, but lots of people will encourage you to do them. You now have instability, lack of support in the low back, and a disc injury could occur at any time.

My general life pattern of being totally sedentary and then doing an hour of hard workout is also just about the worst thing for the body.

I'm overall reasonably fit and strong. Lots of the PT and advice in the medical literature is targetted at old decrepit people; it assumes you have severe fitness problems, no core strength, etc. That's not really my problem, and I think is not the problem with most programmer types that gets these injuries.

But say you sit in a chair with bad posture for 8 hours, that's got the low back in flexion, then you go and workout and do something like crunches, that's again putting the low back in flexion. So even though you have "core strength" you have established a body position that is putting the lumbar spine in a position where it could pop into injury at any moment.

A lot of the bad exercise advice out there also encourages using "hollow body" or keeping your back flat on the floor when engaging abs. That's also not awesome. It's kind of an over-reaction to people severely arching their backs (in extension).


It will be a battle.

The trouble I always have is staying dedicated after 2-3 months. The first month after an injury, I'm careful and work hard, but then I start to feel better, I forget about it, and I stop thinking about it. I can't do that. Every single day when I wake up I have to think "how do I sit up from bed without going into lumbar flexion", it has to be consistent for every moment for the rest of my life. Fun times.


A little part of me enjoyed the first week of being in total pain and incapacitated, lying in bed. Great excuse to watch loads of TV. A larger part of me was close to total emotional breakdown and depression that week when I thought I might be in agony like that for the rest of my life. Fortunately it got better.


12-24-16 | The Seducer

People love to just shut off their minds and get swept along. It's the most natural thing in the world. Just to hand over control of your life to someone else. Even someone who demonstrated no real ability to handle it well at all. We do it all the time, we love it. A woman at a bar will fall under the spell of a PUA type, someone who just takes over the night, fills the conversation, makes it fun, keeps it entertaining without you ever having to stop and think and take initiative. It's the same thing a salesman does, just keep talking to you, saying crap, making you feel that you don't have to do anything and it will just keep moving to the conclusion of you buying that car. You give yourself up into someone else's hands. I suppose religion works the same way; the pastor says do this do that and life will be good to you, and you know it's a load of shit, but you go along with it because it just lets someone else dictate the terms of your life, you don't have to struggle with what is the point or what is the meaning of it all, someone just tells you, and you just listen to the bullshit because it's easier than reality. It's how Manson and Koresh and so many others seduce followers, someone smiles at you and tells you what to do, and you can just stop thinking for yourself, and that's one of the greatest pleasures, what a load off.

It's quite unbelievably naive to me that anyone would be surprised that evil is often charming, most psychopaths are quite charismatic, most dictators can be funny, can be chummy. Of course they are, that's how they work. In fact what's surprising is the opposite; anybody who's quite charming and can control a room, if they are NOT pure evil narcissism and svengali-like users, that's a huge surprise.


12-24-16 | Always

Any time you make popular art that is a powerful indictment of evil, of the poison and darkness that surrounds us, the morons will take it the exact opposite way, as a celebratory anthem, as a story of a hero.

See, eg : "Born in the USA" , "Scarface" , "Apocalypse Now", etc.

Seems to be almost 100%


Semi related : the morons who are like "Monica Belluci in Irreversible is so hot". That's not hot. She gets fucking raped, it's horrible, it's traumatizing. "Oh yeah but she's totally hot". You're fucking deranged.


12-23-16 | The Cold War

We did not "win" the cold war. There was no war. The threat was invented and exaggerated to create fear, to pump and skim money through the military-industrial complex, to distract and control populations.

We did not "win" the cold war. We murdered poor people in proxy battles all over the world. We installed brutal dictators throughtout latin america and the middle east. We created most of the fundamentals behind the messes that plague us today. We spent trillions of dollars on pointless weapons that could have been spent on our own people.

There was nothing glorious or triumphant or heroic about it. It's nothing to be nostalgic about.


12-22-16 | Design - Stationary Bikes

All stationary bikes that apply their resistance with a vertical brake pad (which is the majority of them, it's the most common form of resistance) are fundamentally terrible because of the frame flex when you stand up, which changes the vertical geometry and thus the resistance. Side-pinch brakes are much better.

The vast majority of indoor bikes I've seen have fundamentally stupid geometry and not enough adjustment range. They put you in too much of a normal biking position, that's way stretched out forward and with a flat back. Obviously the reason you do that on a real bike is for aerodynamics, which doesn't apply to indoor bikes. They should have enough range of adjustment to bring the handlebars closer to you and higher.

Stationary "trainers" (resistance stands that attach to your own bike) seem to be ubiquitously terrible. They all seem to be of the same design, which I don't understand. They hold the rear wheel by the ends of the skewer and use your normal rear wheel. This makes them not very secure, not very stable. They always feel a bit wobbly if you stand up and really dig hard and rock the bike with your arms (which is the most fun part of riding, the hard standing push). Why not make them with a solid rear axle that replaces my normal bike wheel? I should take off my rear wheel and set the bike onto the axle of the stationary trainer. ------------ Why is the government spending $1 B to address the opiod addiction crisis? These are not illegal drugs. They're a toxic product provided by US corporations. Clearly this should be paid for by the pharma companies. The profit is privatized while the risk & consequences & cleanup is made public. Why are tech companies so immoral? Large established companies are inherently worse for employment and income inequality.


12-21-16 | Trump Watch

Lest liberals get all high and mighty about the sanctity of government and rule of law and all that (in eg. North Carolina, or the GOP's refusal to let Obama appoint a Supreme Court justice), let us remember that the great liberal heros FDR & LBJ were past masters of abusing the system and using "unprecedent power grabs" and mechanisms "outside the norm" and all those same accusations. They were praised as pushing through their progressive agenda despite resistance; you can't object to the means, if the objection changes when you agree with the ends.


12-21-16 | Trump Watch

One of the things I have always found unsavory about the Daily Show and John Oliver's show and such is that they target much of their mockery at the way people look, eg. Trump's bad hair or stubby fingers or whatever. When you descend to that, you're not better than the childish scum you're mocking.


12-21-16 | Trump Watch

The history of Republicans using foreign interference to win elections.

In 1968 , LBJ was president, we were in the Vietnam war, Nixon was running against Humphrey (LBJ's VP). In October, in the critical month before the election, LBJ was close to securing peace talks in Vietnam, which would have included a temporary cease fire while the talks went on. Nixon secretly (and illegally) reached out to North Vietnam and said don't agree to the talks, when I get elected you'll get a better deal. The North Vietnamese agreed, there were no talks.

This has been extremely well documented, and nobody reasonable disputes the fact that this happened. Some Republican partisans say "it doesn't matter because the peace talks would have failed anyway". While it is true that the peace talks probably would have failed, the fact of having peace talks and a cease fire would have definitely affected the election, and a private citizen (Nixon) interfering in US foreign affairs is illegal (treason) whether the talks were likely to succeed or not.

In 1980, the Iranians were holding 51 American hostages from the US Embassy in Iran. Pres Carter negotiated a deal with then President of Iran which would have released them in October (hence "October surprise"), surely giving a boost to Carter's campaign against Reagan. Reagan secretly (and illegally) reached out to Ayotalla Khomeini and made a deal to keep the hostages captive until the election was over, in exchange for US Arms.

This is considered by some to be a wacky "conspiracy theory", but there's loads of evidence from many sources. So far as I can tell the only reputable source that denies the facts of this are the US Government.

In 2016, Trump invites Russia to hack the DNC


Trump :

“Russia, if you’re listening, I hope you’re able to find the 30,000 emails that are missing,” Trump said during a news conference at one of his South Florida resorts. He added later, “They probably have them. I’d like to have them released.”

Trump, whom Democrats have accused of having cozy ties with Russian President Vladimir Putin, repeatedly declined to condemn the actions of Russia or any other foreign power of trying to intervene in the U.S. election.

"No, it gives me no pause," the celebrity businessman said. "If Russia, or China or any of those countries gets those emails, I've got to be honest with you, I'd love to see them."


Pence :

“If it is Russia and they are interfering in our elections, I can assure you both parties and the United States government will ensure there are serious consequences,” the statement continued.

BTW in case we get confused by the spin, Hillary's private server that she used while SoS was *not* hacked and those emails were not leaked. It was the DNC that was hacked, and the emails that were leaked had nothing to do with the ones she was supposedly hiding or keeping secret. In the press, the two have often been mixed up as just "emails".


12-21-16 | Trump Watch

It seems to be that if you are a country that has committed a great atrocity, such a genocide or coup or treason,

if you admit it, face it, have trials, expose it to public scrutiny, teach it honestly to your kids in school - that it makes your country more humane, less likely to do it again, more introspective, more aware of the dangers of power, etc. (I'm thinking mainly of Germany & Japan after WW2)

On the other hand, if you don't face it fully, then over time there will be people who deny it completely, and it will be commonly waved off as being "in the past" or "no big deal". It will allow people to do the same or worse again.


12-21-16 | Trump Watch

Getting stuck in the issue of "Trump vs Hillary" is myopic and part of the stupid horse-race bullshit that the media wants.

The only reason why the race was even close was because Trump was such a horrifically insane candidate out a horrifically terrible Republican field. (you thought Ben Carson was such an embarassing nutter that we'd never hear from him again, oops, guess not).

If the Republicans had even a decent candidate, they would have *killed* Hillary. My guess is they would have killed even a non-hated Dem candidate.

For the part 8 years the Republican smear machine has been going "fucking Obama", or "socialism" or "he's not a citizen" or "Benghazi" or whatever fucking insane shit they go on about, and people have been eating it up. Propaganda works.

The Republicans have a ground game of propaganda, fake news TV channels, web sites, churches. They have complete anti-democractic control of many of the southern states, through gerrymandering, changing the laws, they've got appointments on election boards and courts. The puppet masters like the Koch brothers have been playing small ball for years now, buying up the little things like state congresses, which they now control in an almost unbeatable way. You can't just cede all that ground and hope to win.


12-21-16 | Trump Watch

If you are a reasonable person who is on the wrong side of righteousness, you are part of the problem.

A few examples.

1. If you vote Republican, you are supporting the party of evil, of voter suppresion, of anti-democracy power grabs, of mysogeny, of racism, of anti-science, of anti-truth. You may have your own reasons that are perfectly respectable and maybe you don't agree with those things, but it is no longer a defensible position to side with the party of evil.

2. If you are a cop, you might be a perfectly moral and righteous individual, but if you have kept quiet as your colleagues shoot unarmed men, if you have watched drugs or throw-down guns be planted, if you have sided with the police union when it fights the DoJ's attempts at reform, if you have watched your colleages turn off their body cams for stops - then you are part of the problem. You cannot stand in silence as your colleages do evil and claim to be apart from it.

3. If you are a responsible gun owner who believes in gun rights for hunting or the firing range or whatever, and you oppose gun control, you are part of the problem. You are part of the reason why 30,000 Americans die every year. You might not agree with assault weapons or large magazines or semi-auto handguns or any of the insane weapons being legal, but if you give voice to gun rights in general and refuse to stand against the insane weapons that we allow to kill people around this country, you are part of the evil.


12-21-16 | Trump Watch

I keep having a kind of nightmare.

I'm on the playground in high school, having a political debate (as I often did).

I'm trying to argue points on merit, like "having health care paid by the government does not make it more expensive, assuming no cost-saving controls, it just changes who's paying; instead of each individual paying through their own insurance, it's now paid by taxes, so it can be progressive, etc..."

My opponent is a steaming pile of turd who keeps making points like "you're dumb" or "fuck taxes" and then starts slapping me and saying "stop slapping yourself".

I turn to the crowd around us and go come on, surely all of you see that this steaming turd is a fucking moron and you should support me, but instead the crowd goes "yay! steaming turd! stick it to the egg head!"

If you are trying to engage in non-violent protest, or to change policy through public debate, you are in the end relying on the people around you to see what's happening and decide who to support. That's terrifying.


12-21-16 | Trump Watch

Some things I continue to see from the press/resistance that make my head explode :

1. The idea that Trump or the Republicans would ever be ashamed, or there would be too much controversy, or they just couldn't possibly do _blank_ because people would be outraged. (eg. in reference to things like keeping interest in his own companies, inviting his sons to state meetings, blatantly favoring the businesses of himself or his friends, using his pulpit to bully the press that critizes him, etc.).

There is *no* bar at which "the light of day" will ever make that man behave reasonably. There's no level that's too embarassing.

A related disturbing fallacy that I keep seeing is that somehow if the press keeps exposing corruption and lies and scummy behavior, that will somehow have any effect. All we have to do is keep telling the truth about this nightmare. Uh, yeah, and then what do you think will happen?

2. The idea that policy solutions or facts or substantive discussion has any impact whatsoever.

I keep seeing liberal wonk blogs that are like "oh we need better policies to help the WWC, here are some proposals, blah blah..." or "the ACA has a problematic bubble for people who are just above the subsidy income level, here are polices, blah blah..."

It's chasing your tail, masturbation, sad and pointless. Fixing the policy does *nothing*. The opposition to the ACA has never been about any of the facts or the reality of the ACA. The entire opposition to Obama and Hillary has zero to do with any facts or reality of either of them. Ask a Republican to name one factual problem with either Obama and Hillary and they just can't do it. It has nothing to do with facts or policy, it's a world entirely built on spin and crazy conspiracies and smearing and insanity. You can't fight that by fixing policy. Quit trying to have the best policy.

3. The idea that Dems/liberals have to try to reach across the divide, to be less partisan, to connect with Republicans, to find common ground, blah blah.

No. This is part of what's fucked our country so badly. The Reps keep moving further to the insane right, and Dems keep trying to be the reasonable alternative, to cross the divide, and thus keep moving right, to the point that on all issues except social identity politics, Dems are now more conservative than Nixon's Republicans.

It's all a bit Chamberlain and the Nazis. You don't find common ground with the fucking nutters.


12-19-16 | Tires

What the fuck is all of y'alls fucking problem with rubber?

I got Emmy a 3-wheel razor scooter for Christmas, and it's okay and all, but it's got fucking hard plastic wheels. So fucking stupid. A thin wrap of rubber around the wheels would be so much better. Grip, compliance, cushioning, surface smoothing. Rubber fucking works.

Of course real pneumatic tires would be even better.

So many of the "high end" expensive strollers just have hard plastic wheels. Useless garbage. WTF is everyone's problems with tires? They work beautifully. Oh no you have to pump them up occasionally, bending over and pushing a bar a few times is such a huge problem that I'm willing to have a much worse riding experience to avoid that horror. No!

It's like all the fucking cars where you can get the "luxury" or "upgrade" of larger wheels. Oo, 20 inch wheels on a 911, that's awesome - if you're a fucking moron. What is all y'alls problem with fucking tires!


12-19-16 | Trump Watch

When your country slips into despotism and fascism, no amount of resistance is unreasonable.


12-17-16 | Hiding Data in Encoder Choices

I mentioned this idea to ryg a while ago, and since then I saw an academic paper about a similar idea, so it's by no means new. In any case, here it is.


Many compression codecs are over-complete. This means the encoder can send the same raw data with a multitude of different compressed streams.

Some examples of over-complete codecs : LZ77, H264, H265, etc. (in contrast, probability-model based compressors like PPM, blocksort, Context Mixing, are generally not over-complete)

Typically we use the choice of encoding to try to find the smallest possible encoding. For this discussion I will focus on LZ77 for concreteness.

The variety of choices for sending a given stream can be used to send information in the choice of encoder. This can be used to reduce the size of transmitted data, or perhaps more interestingly, to send hidden messages.

Consider a typical LZ77 encoder, when it encounters a sequence that could be sent as a match. It may have options like :


"abc..." follows

send "a" as a literal
send "abc" as a match at offset 100, or 180, or 230
send "abcd" as a match at offset 1000, or 1050, or 1200

These choices have different expected output lengths, so typically what we do is choose the one to minimize output length. (the simplest heuristic is longest match at lowest offset, but more advanced encoders consider other things). Instead, we can send bits by using the bits of the side-data to choose one of the encoding options.

The decoder can then recover the side message thusly :


decode the full stream in the normal way

run the encoder over the stream
at each point where the encoder has a choice of options,
see what choice was taken in the encoded stream you received
that choice gives you bits of the side data

Easy peasy.

To encode the side data bits into the choices as compactly as possible, you should use a method that allocated codeword space based on the difference in expected encoding lengths. That is, the various encoder choices don't take the same number of bits in the output, so you should allocate codeword space accordingly.

One way is to use a kind of arithmetic coding. Treat the side data bits you want to send as a number in [0,1] with lots of bits to the right of the decimal. The encoder choices are ranges of that interval, and as you select them you refine the range until you have specified the number exactly. That is :


You find N encoder options.  Each has an estimated output length in bits of L(i)

set p(i) = 2^-L(i)

P(i) = p(i) / Sum_N p

is a normalized probability for each encoder option
normalize the P's to some fixed-point precision (14 bits or whatever)

use the P as interval sizes in the [0,1] range
partial sum the P to make cumulative probabilities

the side-data bits correspond to a current code target value T

to send more of T, find the cum-prob range that T lies in
the encoder chooses the option that corresponds to that range

now renormalize the arithmetic coder interval 

It's just like the action of an arithmetic *decoder*.  Bits of the side-data that you want to send
stream into the "code" value when you renormalize.  The code value specifies the "symbol" to send
with the LZ77 choice.

(this is just the standard algorithm for encoding bits using codewords of unequal length)

In practice N should be limited for efficiency to 8 or 16 or something, so that you can terminate the string match search at some point. Also obviously when fewer matches are possible at a point in the stream, N is lower.

The point of all this is that you can send hidden side data in zip or any LZ format.

This is *not* encryption. The side data should be encrypted with a rigorous and correct encryption algorithm before being used as side data.

The purpose of this is for when governments or network providers start cracking down on sending certain types of data; perhaps they try to detect and block encrypted data.

There are lots of other ways of sending side data, such as adding "user data" blocks to flexible formats like JPEG or PDF, or by putting signal in the bottom bit of lossless images, or adding data segments to exes. One of the cute things about this method is that it doesn't modify the payload data at all. That is, you can make something like a zip of acroread.exe , and the exe that's sent is unmodified, it doesn't contain the message at all, so the fact that a message is there at all is not obvious.


12-17-16 | Bad Porn

I've noticed a huge increase in "daddy" fantasies in porn recently. There's a whole pretty large subculture of DD/LG ("daddy dom / little girl") that is obviously into this shit, but even outside the DD/LG set there's lots of "daddy" play which ranges from just saying "oo daddy" or "tell me I'm a good girl" kind of dirty talk, to full on role play.

I particularly encounter it in dirty tumblrs. For me the absolute hottest porn available these days are tumblrs assembled by girls, with occasional pictures of themselves, where they also write notes about their fantasies. In my random sampling of these, a hell of a lot of them play the incest fantasy.

I don't like it. It's an instant boner-killer and I have to turn off the video as soon as she starts going "daddy daddy".

I know in the Dan Savage norm we're supposed to not judge people's fantasies and say that anything you do consenually in private is okay, but fuck man, this shit is not cool. I wish that it wasn't so pervasive and widespread that it is bleeding into normal porn. I don't like it.

I'm finding porn in general to be less appealing and more objectionable these days. It's been taken over by the really rough abusive sub-genre. I know that the anti-porn among you will say that porn has always been degrading to women and blah blah but no, not in the same way.

When I was a kid we had the Andrew Blake stuff and similar nonsense in US porn that was very mild, almost reverent of women, obviously in an objectifying way, but not in a violent abusive way. These days it seems like all porn involves choking and slapping and rough face fucking and so on. Some of that stuff is kind of hot, but it doesn't have to be all the damn time. It's like the only way to make it "intense" or "passionate" is to make it really abusive, and it's fucked up, I don't enjoy it.

Of course the really toxic thing is that porn is so ubiquitous for kids these days that it cycles into real life behavior. You get a sort of amplifying cycle, where kids grow up watching porn, so they think that's what real sex is like and they try to emulate it, then the people who become porn stars have grown up on that cycle and take it even further. You lose touch with what human sex should be like without the influence of trying to imitate what you've seen in porn.


12-17-16 | F1 and Context

People complain about F1 these days (because it's terrible) and the defenders say things like "F1 has always been processional" or "one manufacturer has dominated through lots of F1 seasons" or "even back in the supposed glory days it was like this".

No. You're missing a huge amount of context.

Motorsport in the 70's was in a totally different context. Even into the 80's with things like "Group B" rallying. The cars available for people on the road were shitty slow things. The racing cars in contrast were incredible pieces of tech, and ludicrously faster, impressive astounding things. They were like NASA rockets, research, the future.

They were also incredibly dangerous and hard to control. The power out-paced the safety development, so the drivers were brave risk-takers, like early pilots, jumping into these crazy machines with huge motors that could kill them on any drive.

Then, yes, the actual racing was often shit. It was often processional, and often one manufacturer would run away with the title because they had some tech edge. But the context was totally different.

These days, the difference between something like a Focus RS on the road and a WRC car is not that exciting. Sure they're not the same, but the road car is so good and so fast, faster than most people can drive, that seeing something higher tech is not that exciting. Just the attraction of the cars themselves is not there. The difference between an F1 car and something like a McLaren P1 is not that compelling. And cars in general are just not as important culturally as status symbols, or symbols of national manufacturing pride, or as tech milestones.

So when you say "F1 has always been like this" you're fucking missing the boat.

It has to be different now, it has to be better. It's not longer interesting for the tech or the danger or the excitement about the cars. It has to be about the competition, it has to be about the drivers, it has to be about the passing, the on-track moves. It has to be interesting as a *sport* for spectators, not a tech exhibition.


12-17-16 | Adblock

There are frequent pleas these days from writers that exhort you to turn off your adblock, because adblocking is "stealing" and they need to get paid for their content for serious writing to be sustainable.

Fuck you, what a load of shit.

First of all, there's the problem that web ads in practice are awful abusive things. They're often pop ups that jump right into your flow, sometimes right under your mouse so you're just trying to click around and then pop your focus gets on an ad and you click it by accident. They're often malware that take you to attack sites. They're often for nasty attack pages that if you click will change your home page or pop up new pages or other awful shit. They often flash or play videos or other things that are abusive to the eye and ear. It's not like these are traditional print ads that just sit inoccuously on the page and don't assault you - they're awful unacceptable things.

But even if that wasn't the case, even if the ads were just still images that sat quietly to the side, still fuck you.

Advertising is one of the most toxic brain-damaging things that you can inflict on someone. It is *never* morally righteous to infict advertising on someone, and anyone who chooses to live a life with less advertising is never doing anything wrong. You are the one who is at fault here. You need to raise money in a way that is not fundamentally evil.

All advertising works by twisting people's minds, making them think they want something that they don't actually need. It's designed to make you feel like your life is incomplete unless you get that new shiny thing. It's designed to make you feel scared or depressed if you don't.

Advertising is very very fucking clever. Even if you do your best to block it out, it seems deeply into the whole culture and becomes a norm that you don't even realize. ("it's totally normal to upgrade my phone every year", "you should spend two months salary on a wedding ring", "if I buy the stylish new clothes, women will like me", "I should buy an SUV and do rugged outdoorsy stuff", etc.)

No, you should not ever have to look at advertising. And you should do everything you can to avoid it. Anyone who makes it possible to live a life without advertising is a fucking hero.


Now obviously there is a problem with content creators getting paid. That's a hard social problem, because consumers are so used to getting media for free.

This is too big of a problem to dig into here. For video, I think you could have a streaming version online with ads in it, or a download button to get an ad-free version that costs some money. For newspapers, I'd like just a donate box where I can give them money, but I *don't* want any fucking subscribier model where I have to have an account and sign in, I don't want to be in your database and I don't want any fucking email from you.

Obviously ad-supported media tends towards awful click-bait that just wants page views and has no motivation to then make the content any good. On the flip side, patreon style donation-funded media tends towards insular self-congratulatory crap where people just feed on what they already believe and never get told anything painful or difficult.

But in any case, I do not agree that anyone is ever morally obligated to submit themselves to the poison that is advertising.


12-17-16 | Car Design

I don't understand why cars are not built in a modular way.

Particularly for a small manufacturer like Subaru or Mazda, they should have something like 3 engines, 4 body styles, 2 transmissions, and let me pick from my choice of each to put together the car I want.

The bodies obviously have to have identical engine bays and mounting points, but that doesn't really seem like a major problem. I know it puts constraints on styling (what the car makers call "packaging"), but it seems like the functional benefit is so great that it's a worthwhile constraint and the stylists could work around it.

So someone like Subaru could have :


{Impreza, Outback, Forester} * {2L H4, 3L H6, 2L H4 Turbo ("WRX")} * {Manual, CVT} * {low, off-road, rally}

(I added a suspension choice)

so you have 3*3*2*3 car choices

It's better for the consumer to be able to choose the exact combination they want. It's so frustrating to me when I see a car I want, but the manufacturer has put the wrong bits in it (I want an RX8 but without a stupid rotary; or I want a Subaru but without a stupid CVT) when I *know* they have the right bits on the shelf and just won't give them to me.

It seems also much better for the manufacturer to have a reduced set of things to make. So many car makers have a huge slew of different engines for different models which makes no sense to me. You only need 3 or 4 engines for a whole model lineup {eco, torquey, performance} - done. That would save massively on development costs, manufacturing line setup, it just seems insane the way manufacturers like Mercedes make something like 50 different engines.

It's also just bad for the engines. I don't *want* the weird one-off engine that you developed for a performance model. It's going to have all kinds of problems. I want the engine that you've been making for 20 years and tweaking and improving, that goes into millions of cars and has lots of testing and development behind it. The greatest cars that ever were (or ever will be) were the Hondas of the 90's and one of the things that made them so great was that so many of them shared just one engine, the 2L I4 which was such a masterpiece. There were lots of slightly different variants of that engine but it had years of knowledge and tweaking behind it.

What I'm getting at is - the advantage they get from having different mounting points in different bodies, and then slightly different engine options, does not seem worth it at all.


Also, while I'm at it, fuck the stupid fucking tapered roof lines that ruin rear cargo space. Fuck the stupid huge C pillars that ruin rear visibility. Fuck the high door lines (high no, is not for crash safety, it's for styling). Fuck the stupid huge expanses of dashboard and sloped windshields. Stupid stupid fucking terrible design for no damn reason (because they think it looks good).


12-15-16 | Productivity

This year I managed to have a few really productive spurts working on Kraken/Mermaid/Selkie. Sort of notes to self about the keys for how I did it, and possibly interesting to other.

1. Live in an apartment. This is huuUUUge. No yard work, no home repairs, no taking out the garbage, no waiting around for repair men. Owning a home, or even renting a home, is such a huge time drain. No home improving, no thinking about buying stuff for your home. It's just a huge mental load off, such a huge distraction. I think it's best if the apartment is pretty newish (so no problems) and is one of the big corporate places (so it has package reception and a full-time maintenance guy) so there are no landlord problems like you get with small places.

2. No women. (or no men if you're of that persuasion). Dating or even thinking about dating, relationships, spouses, etc. are such a huge drain of energy and time. When making a productive burst, just "monk it up". During this time I kept writing notes to myself that said "monk life" and "just accept the pain", which leads to -

3. Strict schedule, no pleasure. During these bursts I would wake around 5 AM mostly due to insomnia/excitement, go into work. At 12, go home for lunch, work out, eat, rest a bit. Go back in, work until 6 or so. Strictly stop working at 6 even if you feel good and want to keep going - don't burn yourself out on any one day. Go home and eat dinner. No computer at night. No working. Just chill out and go to bed early. If you're bored or lonely, too bad, suck it up, fuck you. Eyes on the prize. The night time boredom is part of the work you have to do. If you go out or drink or anything like that, it will hurt your work tomorrow. Your work tomorrow starts the night before. I would write notes like "be like an olympic athlete in training".

4. Eat well, exercise. Every day at lunch break I would take an hour to work out. Take the time to cook decent food. What you're doing is a big push of your body. Treat yourself like an athlete.

5. Work in an office that's walking distance from home. Don't work at home. Working in an office forces you to focus and stay on schedule. For me being walking distance is huge, hard to quantify. It means I can go home for lunch which means I can work out and eat healthy food and lie down for a few minutes. It means I can get to work in the morning without being in a rage from commuting. It's just really good for me.

6. Turn off the internet at work. You will need to take breaks, but be rigorous about your break time, it's part of the Monk life. The most rejuvenating break is to lie down and close your eyes. Don't sit and poke around the web.

7. Obviously being excited about what you're working on helps immensely and is not something you can always have.

8. Work with someone. This is invaluable. Even if you don't have a true partner or coworker on the project, it's huge to just have someone to talk to that knows a lot about what you're doing, someone to share wins with. It's even better if they are also making progress independent of you, so you can feed off each other, taking turns making milestones, which kind of keeps the excitement and momentum going even when you personally have a slow day.


12-15-16 | 21st Century Cures

The 21st Century Cures Act passed without much focus. (partly it was horribly mis-reported in the mainstream press, but also I blame the Trump smokescreen; he will be using random insanity to distract us from the truly evil acts of government that go on in the next four years)

It's a terrible terrible bill and a danger to all of us.

In terms of "how does it affect me / what should I do" , there are two relevant tips : 1. Do not take any drug that gets its FDA approval in 2018 or later. If you are hospitalized, do not allow them to give you any medication or use any devices until you get information about what they are exactly and look up when they were approved. Tell them explicitly you do not want to be in any trials (since they no longer have to ask your permission). 2. Invest in pharma.

What is in "21st Century Cures" ?

First is some funding for research programs. $1.8 B for the "Cancer moonshot", $1 B for opiod addiction treatment programs, $4.8 B for NIH research (though this is discretionary and can get removed at any time, and likely will in an all-R government).

So dopes like the NYT lead with "bill provides funding for Cancer cures" blah blah. Okay, whatever. First of all, the NIH budget is already $32 B and funds lots of research. This isn't really a big increase in research funding. (oh, and as pointed out elsewhere, the NIH "increase" will in fact be a decrease in real inflation-adjusted dollars; NIH funding has been steadily decreasing in real dollars and this bill doesn't change that)

(aside: I assume since the NIH is funding so much medical research, that must lead to cheap patent-free drugs that are in the public domain, right? Because all government funded research should of course be in the public domain. Oh, no, it doesn't? It leads to pharma companies with patent monopolies that then get to charge whatever they want to sick people?)

"21st Century Cures" also takes money away from the ACA Preventive Health program. Because dollars spent on prevention are far more effective, and lead to people not needing expensive medication, so we wouldn't want that.

The really important thing in "21st Century Cures" is the destruction of the FDA approval process that prevents pharma companies from pushing unsafe or simply ineffective drugs on us. We already have a huge problem with pharma companies direct-advertising to consumers, paying doctors to use their drugs, and pushing un-approved off label usages. Pharma companies have already won the PR war, as many patient advocacy groups seem to be under the insane impression that the evil FDA is spitefully keeping cures away from patients.

Of course the truth is that we already have drug trial programs for people with serious diseases, where you can opt into drugs that aren't yet approved. And for urgent needs (such as recently with Ebola) the FDA does act very quickly to approve drugs for trial.

There are 4 really scary things in "21st Century Cures" :

1. Removal of "informed consent". Medical companies can put you into trials without consent in some cases. There are limits and the language is a little vague; like many of the measures, the details will depend on how the FDA director implements them, which is scary under Trump.

2. Fast path for stem cell therapies. Fast path for antibiotics.

3. Drug approval with patient experience data (“real world evidence"). If you advertise well enough to consumers and they say they thought the drug was great, it can get approved. What could possibly go wrong?

4. Drug approval with "intermediate endpoints". Instead of proving that a drug actually helps with cancer, you can say the goal is to affect some chemical level in the body, then you just have to show that it does in fact affect that chemical level.

5. (added) Mental health "parity". If we actually improved mental health care for the sickest, creating a government (not privated) care hospitals for the seriously deranged, getting people out of prisoners or off the street and into care - that would be wonderful. None of that will happen. When 21st Century Cures does do is require by law that insurers provide coverage for "mental health" claims the same as they do for physical problems. I suspect what this will mean in practice is more pharmaceuticals for malaise and so on, and it removes by law the ability of the insurers to control their own cost by saying "fuck you we're not covering your pills for malaise".

The neutering of the FDA approval process is by far the most terrifying part. The FDA used to require randomized clinical trials, which ensure that drugs are safe and effective at their end result in varied populations. The FDA has never been a tough gateway. Their focus is on approving drugs whenever possible. For example they don't deny approval simply because a drug is worse than a cheaper/safer existing drugs, which has led to rampant abuse.

As usual this bill was written by the industry that it should be regulating, by a huge swarm of lobbyists.

What makes it particularly stick in my craw is that fucker Obama talking about how this is a "triumph of bipartisanship" and how it will help save families from the pain of losing a loved one. Such scummy fucking lying shit to disguise a massive corporate handout and deregulation as if it's helping the sick. Allowing pharma to experiment on the public and charge whatever it wants may in fact help a few, but it will hurt many.

This is also a great bill to look at which Senators have any integrity vs. who's in the pocket of lobbyists. 94-5

Some reading material :

The 21st Century Cures Act passes, potentially turning the FDA into a puppet of the pharmaceutical industry – Respectful Ins
Orac – Respectful Insolence
Sanders comes out against 21st Century Cures bill TheHill
Article on how the NIH subsidizes private sector drugvaccine for-profit projects.
Congress Is About To Pass A Bill That Shows D.C. At Its Worst -- It May Also Turn Around The Opioid Crisis And Cure Cancer T
Government R&D, Private Profits and the American Taxpayer - The New York Times
Regulatory Explainer Everything You Need to Know About FDA’s Priority Review Vouchers RAPS
21st Century Cures Act A Gift To US Pharmaceutical Industry PopularResistance.Org
Is the FDA at fault in the deaths in Juno's clinical trial
21st Century Cures Act will distort the meaning of 'FDA approved'
Bernie Sanders attacks 21st Century Cures Act, pharmaceutical industry
Passage of Cures Act comes at expense of preventive health funding - Modern Healthcare Modern Healthcare business news, rese
Merry Christmas The 21st Century Cures Act doesn't offer promised gift to the NIH - Modern Healthcare Vital Signs The health
CDC Features - Excessive Drinking Costs U.S. $223.5 Billion

It boggles my mind how much of the mainstream press has totally swallowed the shit on this bill. Places like the NYT and the Atlantic have written basically that it's okay not to supervise the pharma & device industry because "they would never intentionally put your health at risk" , we should trust them because private corporation always put safety before profit. WTF WTF


It's all so fucking sickening.

America is in fact in a huge health care crisis. That crisis has nothing to do with needing new experimental drugs for rare diseases. The problems are :

1. Health care costs are out of control. Just insurance is something like $400/month under ACA. Many don't have insurance, or if they do have insurance they are afraid of the copays and deductibles and so don't go to the hospital.

2. People can't afford basic health care, preventive visits, annual checks, or are afraid of surprise bills and so don't go. This leads them to only get care when it has become a crisis, which makes it far more expensive.

3. Shortage of doctors, which means longer waits for care, which can be critical, as well as higher costs. We should make it easier for foreign doctors to get certified to work in the US. We should also allow Nurse Practitioners to act more as primary care doctors for common ailments.

4. Obviously the biggest problems are behavioral. Obesity and the related problems with diet, exercise, diabetes, etc. Opiod addiction, alcohol addiction. (nobody wants to talk about alcohol addiction; see the CDC report that alcohol use cost the US $223.5 B in 2006). These are difficult problems but they certainly aren't solved by new poorly tested drugs.


12-15-16 | Trump Watch

As usual, Adam Curtis' "Hypernormalization" is beautiful and moving.


12-15-16 | Moving

I recently moved to Hood River and almost immediately I want to move again. I have this problem lately that anywhere I am I want to be somewhere else. Obviously a big part of it is that it's gray winter now and very depressing and that always makes me a bit crazy. I'm also snowed in, which is making me more crazy.

Part of it is that I'm not settled in or connected to these towns really in any way. I have no job here or friends or family, so it's just so easy to drop it and move away. I'm oil on water, I'm disconnected.

Part of it is that what I actually want to move away from is my life, myself, the internet, the smartphone. This whole cloud of awfulness that surrounds me and makes up my life is what I'm trying to escape, but I bring it with me.


12-15-16 | Trump Watch

Nostalgia for the 50's has many levels of idiocy.

For one thing, it was the time of greatest progressiveness in our government and politics, with the New Deal programs and so on, so the idea that we need to "go back to the great way it was" by using trickle-down economics and anti-humanist corporate welfare (same thing as Reagan) is ridiculous.

Of course it's idiotic because in fact life was way worse in the 50's, even for middle class whites. Affording a car or a color TV was exceptional, people died of all kinds of health problems, it was just worse.

But the thing that particularly strikes me is that the 50s were a time of intentional blindness to the bad realities of life. People who are nostalgic for the 50s don't want to hear about gay issues or blacks or women's rights or whatever. Not that those weren't problems then, but a certain type of whites pretended they didn't exist.

It's nostalgia for a time when the football team could rape a cheerleader, and she would just keep her damn mouth shut, because nobody wants to hear about that. It's nostalgia for when we could treat the blacks, or japs or gooks or whoever as being not quite human so it was okay to treat them however we did.


12-15-16 | Trump Watch

I keep imagining a Sacha Baron Cohen Borat-style scene. Sacha dresses up as a Trump supporter and goes to a blue collar bar in the mid west on the night after the election.

He starts off yelling and egging on the crowd with things like "Trump! woo! USA USA" and the crowd is going woo yeah, he gets them singing along to songs, but gradually it starts to get darker "Fuck Hillary! Fuck that bitch!" (crowd yells along Fuck her!) "No woman's gonna tell us what to do" (woo) "She doesn't deserve to suck Trump's cock!" etc. some of the crowd starting to get wary but some still wooing along. "We got that fucking Obama out of there! Barack HUSSEIN Obama, he's a fucking muslim, get all those ISIS towel head mother fuckers out of our country! USA USA" etc.

I bet you could have captured that scene.


12-14-16 | Trump Watch

When I was in high school in Houston (around 1993 I guess), there was a whole rash of beatings of gay men out on the town in the clubbing area at night (Montrose I think).

In response, a patrol was started by vigilantes to protect the gays. I guess it was a pink triangle patrol, I don't remember what they called themsleves. They'd drive around looking for incidents and try to break it up.

We'll need a lot more of that.

It is my belief as a decent human being that power should be used to defend the weakest and most vulnerable. Power should not be used to make the already strong more powerful.


One of the particularly scary things about a racist fascist Republican presidency is that we have many racist fascist Republican police departments around this country.


12-14-16 | Trump Watch

In WW2 we committed the human crime of Japanese Internment, which ruined lives of innocent people who had done nothing wrong other than be the wrong race. In the post-war years we had the communist witch hunts, in which a baseless accusation could ruin a life, or equally ridiculously ruin your life if you in fact had communist ideals even if you had committed no action against the United States.

Years later we agreed that those were horrible inhuman things, we can hardly believe that we Americans did such things, not so long ago.

But the people who did those things were never punished. The people behind it were not imprisoned or jailed. The fuckers who "named names" of reds were allowed to walk free, their property and jobs were not taken, they were not black-listed.

After the Sinhalese murdered the Tamils in a disgraceful genocide, they called for peace. It was not time for casting blame. It was time for reconciliation, time to work together and move on.


12-14-16 | From Graham Greene's The Third Man

[about the fake penicillin racket in post-war Vienna]

This racket went on quite happily for a while. Occasionally someone was caught and punished, but the danger simply raised the price of penicillin. Then the racket began to get organized : the big men saw big money in it, and while the original thief got less for his spoils, he received instead a certain security. If anything happened to him he would be looked after. Human nature too has curious twisted reasons that the heart certainly knows nothing of. It eased the conscience of many small men to feel that they were working for an employer : they were almost as respectable soon in their own eyes as wage-earners; they were one of a group, and if there was guilt, the leaders bore the guilt. A racket works very like a totalitarian party.


12-14-16 | Trump Watch

My prediction of what will actually happen in the next 4 years :

Most of the chaotic populist crap that Trump promised will not happen. Tarrifs or currency wars with China won't happen. Deporting illegals en masse won't happen. Why? They would be bad for business.

What will happen is hand-outs for the super rich and large corporations. Targetted deregulation to remove pesky problems that stand in the way of large corporate profit. Just pure trickle-down economics mixed with Putin/Berlusconi style corrupt crony capitalism.

We'll probably see "tax reform" that will be full of nasty loopholes. The "health care reform" of ACA will be full of gimmes to the health care industries. The "infrastructure bill" will be electric grid for the utility monopolies, we'll see the cable & telecom monopolies tighten. The populist / libertarian alternatives of decentralized solar and local wifi grids will be killed or subsumed. Construction companies will get huge contracts to build pointless crap. Wall street will get whatever deregulation it wants (some of Dodd-Frank repealed likely).

Our regulatory agencies will get fucked. EPA, FDA, SEC, IRS, etc. will be gutted. Basic functions like stopping corporations from making deadly drugs, toxic waste, etc. will fail.

The media will be spinning its own tail chasing every new bit of wacky Trump randomness and never settle down and focus on the massive corruption and all the Rep congressman that are complicit.


One of the handful of good things under Obama's government has been the Federal DoJ taking action to reform local police departments. I know it's happened in Seattle, and obviously places like Ferguson, and all across the country, where police departments had a string of racist human rights abuses and failed to do any reform on their own, DoJ has issued orders and done its own reviews and implemented new policies. This has been a wonderful bright spot of federal oversight. Goodbye!


Under Trump, the gross economic measures might actually go up. Things like the DJIA, GDP. Hey if you give subsidies and tax cuts and deregulation to big companies, their profits go up, the economy looks good. In 4 years the Fox News pundits might be saying "Trump was great for the economy".

In the short term, the best way to prop up an economy is just to give money to the biggest companies. Presidents are always judged on ridiculously short term economic time frames.


12-14-16 | Trump Watch

One of the things that made me cry today :

Signed by Trump on Tumblr.


12-14-16 | Trump Watch

I know I need to stop thinking about this, and perhaps some day soon I will. It's making me crazy. Every day I'm full of despair and anger. When I go out into the world, I'm afraid. I see people in the grocery store and I wonder if they are Trumpians. If I hung a rainbow flag on my house would someone shoot at me?

Part of me wants to wear a T-shirt that says "Trump is not my president" and "hate is not my American way" or some shit like that, and just deal with the daily fights that would inevitably ensue. But I know that's not good for me.

I know that I will eventually let this go and just settle into ignoring it, go about the daily business of my life. But NO fuck that, that's what let's them win. That is literally how countries slip into fascism, because the decent people don't want to get caught up in it so they just put their heads down and try to ignore it and keep doing to work and taking care of their kids, meanwhile the country falls apart.

This country is all of ours and just hiding your head in the sand is NOT FUCKING OKAY. If you're an American you need to FIGHT. Every fucking day. And it will suck and be hard and painful and you fucking do it anyway because you're a fucking adult and sometimes being an adult is hard.

I find myself getting really enraged at my peers. It's not really fair at all. If I see anybody talking about algorithms, or gadgets, or what restaurant is good, or what car they want to buy, WTF ARE YOU TALKING ABOUT we just elected fucking Trump get your head out of your ass and talk about something that matters. How can you be so fucking selfish and ignorant. Whenever I talk to someone who says they "don't really follow politics" or "all politicians are terrible" or whatever I want to scream at them. Wake the fuck up.

One of the really infurating things is that I know the Dems and sane people and liberals will not stop this. I see nobody who is doing the right thing. People who are sane and have power need to be putting up fierce direct opposition. Every sane corporation in America should refuse to do business with Trump or his government. The newspapers should have banner headlines every day "crooked fascist controls America". TV News should be saying nothing but "Trump must be stopped". Every sane person in government should be on full fillibuster or strike. Direct opposition is the only way to stop it. Instead we get Dems trying to be all reasonable and take the higher ground and "work together"; they try to be above the name calling and hate-mongering and slurring, they try to stick to the facts and just point out the truth about Trump corruption and lies and so on. THAT DOES NOTHING! When someone is punching you in the face you can't sit there going "hey guys, let's just get along".

One of the things that sickens me is people who want to comfort each other, saying "it will be alright" and all that. No, it will fucking not remotely be alright.

I think the rage and anger and despair is important. DON'T just ignore it and let it go away. Don't go do yoga and go to the gym and just "focus on yourself" or whatever you do to take your mind off it and cope.

When something makes you disgusted and furious, you fix it, you don't just try to ignore it.


12-14-16 | Sad World

Some months ago, Noemi and I were playing at the beach (as is our wont) in Oregon. A muslim family arrived at the beach, women in burkas, and were laughing and playing in the water. I felt a sudden tension in the air. Like all the other beach-goers were looking at them. I was waiting for some right-wing nut job to go yell at them about "Murica" or whatever, and I was readying myself to jump up and defend them. This may have been all in my head, maybe nobody else at the beach was paying any attention to them and all the tension was in my imagination. It made me want to go up to them and tell them "it's okay for you to be here" which would be a weird kind of discrimination in its own way. The whole experience made me sad about the country we now live in.


On "sad". Noemi and I often playing "rhyming game", you say a word and then have to say another word that rhymes. We go "cat - hat - fat - sat" (and she often goes "wat blat krat" , not always actual words).

Anyway, whenever we do "dad", it goes to "sad mad bad". Yikes! It also goes to glad & rad, but far more striking is "sad mad bad".


12-14-16 | Trump Watch

The Carrier deal is of course pathetic posturing ("Mission Accomplished!"). It's not shocking or terrible or really remarkable, it's the kind of deal that cities & states make all the damn time. It's totally bog standard American politics. Company threatens to move 1000 jobs, you give them tons of tax breaks or subsidies, they move 500 jobs. Then a few years later they move the remaining 500 jobs anyway, or threaten again to get yet more breaks.

Here in the Northwest, Boeing threatens to leave Seattle every few years, and in exchange they get tax cuts and other incentives from government, they get pension cuts from the unions, and then generally move jobs anyway. Some of the big financial companies move back and forth between Seattle & Tacoma (or threaten to do so) on a regular periodic basis.

What I think is worth pointing out, since Trump has called attention to this type of hand-out to companies who threaten to leave is : this is exactly the way to make your economy sick and uncompetitive.

When big established companies get tax breaks, but small businesses don't, you're favoring exactly the wrong companies.

Big established companies have *huge* advantages as players in the marketplace. They have contacts, ties with suppliers and distributors, they have name recognition and advertising, they have equipment and experitise, they have politicians making regulation in their favor, they have established production lines, etc. etc.

If you're a big established company and you still can't compete, god you suck, your business must just be totally fucked. Either you're running it horribly, or it simply doesn't make sense in the world economy. Propping up that specific business is favoring gangrenous limbs.

The way to make jobs is not to single out individual failing companies and give them handouts. It's to create a vibrant economic environment so that jobs can be quickly created in the fields where they make sense.

If you want a healthy American economy, it needs to be built on competition and innovation. Stop favoring shitty dinosaur businesses. Stop favoring monopolies like the telecoms.

Oh, and the attack on the union boss that called out Trump's lies about the Carrier deal is terrifying. It's like fucking Stalinist fascism, you have to go "oh thank you great leader, yes of course you saved thousands of jobs, my calculations are wrong" or you get attacked. There is no freedom of speech when the president can sick his mob of nutter followers on you, who then harass you or perhaps shoot at you.


12-14-16 | Fluidity

I have heard many Democrat pundits bemoan that hey didn't do enough to address the "white working class" and job loss and so on.

Okay, maybe in terms of politics and just pandering. Certainly Trump won by giving them total bullshit pandering and he has already begun to do the exact opposite of what the country needs. Cutting taxes on the rich, favoring big business, etc. will continue to make things worse for the middle class.

What I have not heard from the Dem talking heads is any actual policy to help the WWC. (shit like the $15 minimum wage is fine and all but won't actually help anything structural)

Of course on some level the answer is just "you're fucked". Jobs for the uneducated masses will continue to decline. We don't need people to do manufacturing, and we will continue to lose the shit jobs in manufacturing, call centers, retail, etc. There's just not very much that we need all you people for any more.

In a global economy, wages will equalize. That will put uneducated labor somewhere around $5,000 / year ? (I just made that up, but it's certainly low, even way lower than the median American now makes). There's just no reason for me to pay you when I can pay someone in India/China, and there's no reason for me to pay anyone why can I just have an annoying automated talk-bot instead of a live call center worker. And before tech people get too smug - you're next. "Programmer" will be a global job in the future and global wages will be *low*.

But nobody wants to hear that, so we'll just pander and lie to get elected. In the mean time, this is what I believe an actual sane proposal is to improve the American economy :


The healthy economy relies on two things : 1. Make employing an American as cheap and easy as possible. 2. Fluidity.

"Fluidity" is the property that resources in the economy can be quickly and without friction be moved to the usage which maximizes their utility. The primary resources that we currently have terrible fluidity in is : people & IP.

These two points very often are solved by the same things. Make Americans as cheap to employ as possible, and make it as easy as possible to move to the job where they can be best used.

Nationalize health care. Keeps cost low, eliminate profit-taking by insurers, pharma, etc. Remove the burden on employers and individuals. It's paid for by taxes, so it's mostly the rich who provide health care for all. The huge advantage here is that A) you get fluidity because employees can move between jobs (or quite and start a start-up) and they don't have to worry about health care, B) there's no issue of part time workers and who gets health care - you can employ people for any # of hours as you need, C) the cost of the health care is not associated with employment; in a sense the company's profits are paying for that person's health care whether they are employed or not, so you may as well employ them.

Similarly pensions, 401k, unemployment insurance, worker's comp, etc. - all removed from the employment contract, everybody gets them and they come from the general tax pool. Remove them from the cost of employing people.

The employment contract is now just cash for hours. Workers can quickly and easily move to where their talent has the highest utility, which is good for the output of the whole economy.

Furthermore, if you are providing basic services out of the general tax pool (and say you also build good public transit), then salaries can go way down and people can still have good quality of life.

In the most extreme case, say you provided a national free internet grid, good public transit, national health care - people's basic monthly needs go way down, salaries can go down, American workers are more competitive globally.

etc.


Brief aside on what will *not* fix the WWC problem : education. This is part of the Sanders platform, and it's very common from tech people who project their own life experience. The basic idea is, hey take all the adults in America and teach them how to be tech innovators, then they can be entrepreneurs and programmers and make money like those guys in Silicon Valley do!

Great idea! I'm sure if we add 50 million programmers to the employment pool, there will be jobs for all of them. Or if they all make their own apps or games at home, the market will support an extra 50 million apps per year.

Of course not. High skill jobs will always only apply to 5% of the population (or whatever). If you raise the general education level of the population, then the bar for what "high skill" means just rises. For example, it used to be a good qualification just to have a college degree; then everyone had that and now that's a very low level of qualification, you need specific higher skills or phd-level degrees to stand out.

Education and tech jobs do not fix much. That said, our relative education level vs. global markets could mean that relatively fewer jobs leave for foreign markets. But you still have to fix the fundamental issue of why should I employ a low-level programmer in America when I could employ a cheaper one elsewhere.


12-14-16 | Trump Watch

I've seen various explanations of the failure of polling, eg. Nate Silver's theory that it was failure to control for sampling of education level, but I haven't seen many people propose the one that's most obvious to me :

Trump supporters were embarassed. They didn't want to admit that they were going to vote Trump, so they either lied to pollsters (and said they were "undecided"), or they chose not to take the poll.

As background for those that don't know, the fact that your subjects can select whether to answer a poll is always a tricky issue to control against. The standard technique is to take a demographic survery of the people who do choose to answer, and then you know the demographics of the whole population, so you can see which portion of the population chose to take the poll and compensate accordingly.

eg. the elderly will disproportionately choose to participate in phone polls. Say 50% of those who agree to the poll are elderly. But you know only 30% of the population is elderly. So when you tabulate your results, you weight those results, so that that 50% of the responses only get 30% of the contribution.

There are known ways this can go wrong. For example, in polling for elections, you're trying to correct the demographics not to the whole population, but to the slice of the population that will actually vote. So you also need projections of who will turn out to vote, and those turnout projections can be wrong.

But there's a more fundamental problem with this kind of correction for polling that I believe is an inherently unsolvable problem :


If the choice to participate in the poll is correlated to the question you are trying to poll (eg who will you vote for for president)
and is NOT correlated to any other demographic category, then you cannot correct for it.

Or, a bit more accurately, if you take the correlation of president-participation, and you remove the contribution of all other surveyed demographic factors, then any non-zero remaining correlation is uncorrectable.


12-14-16 | Trump Watch

One of the really destructive things that Trump has fed on is the idea that "the government was always bad" or "all politicians are fucked" so "this isn't any worse".

Uh, no, this is way worse on a level that is hard to imagine.

The example that has set me off today is all the insane conflicts of interest with Trump, his family, and his whole cabinet, on a level totally unparalleled in modern America. I have no doubt that we will be making policy to specifically favor the individuals at the top of our government. (in fact I'm putting my money where my mouth is by buying stock in Trump's advisers' companies).

Dumb people say "err but Hillary had the Clinton foundation, Cheney had Halliburton, blah blah". Yeah, no doubt, there have been terrible conflicts of interest in the past and we should do much better to root out corruption. (A much trickier one to root out is the standard practice of politicians joining a company *after* they have made laws to favor it; eg. you see senators pass some law that really favors an oil company, then when they leave public office they become an "adviser" to that company for a mil a year).

Sure, that's bad and we should oppose it, but that doesn't mean we just toss up our hands and go "fuck it, anything goes!", and just allow way way worse. If you at least make them hide the corruption a little bit, that does something to reduce it, they can't be quite so blatant.


12-14-16 | Trump Watch

Stop responding to the fucking troll !

Based on the way the media continues to respond to Trump, we're fucked. Any hope of an organized and strong resistance to this corrupt lunatic is gone.

You don't respond to the troll. Trump is a moron and a lunatic. When he tweets something, you just roll your eyes and ignore it. Ideally you just put him on "mute". Let him do press conferences or whatever, just don't show them on TV, don't report about them. Keep reporting about what's actually happening in the world, *actions* not words. Anybody who's dealt with internet trolls knows this. Anybody who's dealt with abusive relationships or gaslighting knows this.

If you respond to their words, even if that reponse is "god you're an idiot", or if it's "you're wrong on the facts, and here's why, blah blah" - they've won. They got you. If you engage, they got you. They'll take over the conversation and make it about them and direct your attention. They'll suddenly switch course, contradict themselves, get you all confused. Stop responding.

Instead, he tweets nonsense about Airforce One, or about the F35, or does the Taiwan call, and the media goes into a big tizzy responding to each one. You lose. He can do that to you every single day. You won't ever be able to focus enough on any one issue to get traction on it.

We're so fucked.


12-14-16 | Star Prophecies

It turns out the future wasn't so much like Gene Roddenberry's utopian Star Trek where all races and sexes and species are united and equal. It's more like Star Wars, with fascist tyranies ruling the galaxy.


12-14-16 | Edited for Content

On the plane from Hawaii I rented their video player. All the movies are "edited for content" which means god forbid you hear a curse word or a see a boobie. But stabbing someone with a knife is fine. Grabbing someone by the hair and smashing their face into the concrete is totally fine for kids. Shooting people with guns is fine. But thank god it's edited so Sam says "Snakes on the mother-hugging plane".

If you're on a plane and you pulled out a porno mag, you'd be treated like a monster, but you can watch any level of violent war and murder and it's no biggie.


12-14-16 | Trump Watch

Almost every day I have a moment of crazed panic, like "this can't be happening", where my mind starts short circuiting, putting together the pieces and likely outcomes and thinking "no no no" and I go into a tail spin of so much anger and sadness and just disbelief that I don't know how to process it.


12-12-16 | Today

Today I got internet service. Can you tell?


12-12-16 | The Grand Tour

Holy shit The Grand Tour is fucking terrible. E1 and 3 were sort of okay. E2 and 4 were major WTF this is totally unwatchable.

What a fucking shame. We (reasonable people of the internet) knew in our hearts it would be like this, but we crossed our fingers and hoped. Maybe the travelling from place to place would make it like all travel shows, like Botswana and Vietnam and Polar specials. Maybe the travelling would make it fresh, maybe they would meet local car people and try local roads and that would break them out of their own boredom with the format. Maybe it would just be throwing the three old fogeys into funny situations and letting them improvise without forcing ridiculous canned gags.

Nope. It's just an uninspired rehash of the worst of Top Gear. It's like the fucking India Special which was self-lobotomizingly painful. So sad. The guys even look visibly tired and bored.

It would be better if things were changed up on them and taken out of their control. Like if the producers actually gave them secret challenges that they didn't know in advance (as opposed to the fake secret challenges which they wrote themselves) so they were legitimately surprised on camera. (eg. challenge : Clarkson has to film for two days with no booze or hot foot; punching production staff is a forfeit).

I would pay to see a travel show about driving roads and local car cultures, and wacky challenges with silly hosts. But dear god not the Drive hosts either. Spinelli and Farah are camera poison, and Harris is only marginal. Forced bro-tastic jocular banter is never good. It's a damn shame that Adam Carolla didn't get the Top Gear US job, he would've been perfect for it, WTF.

The Top Gear Trio's career arc has been oddly similar to a big rock band, like an REM or a U2 or something. There's the early rough years when they have lots of energy and character, but it's still not quite polished right. Then there's a brief peak when the combination of production quality hits with talent that is still full of energy and excitement and novelty. The funny thing about that peak is nobody will agree exactly when it is; it's evasive, if you ever try to look quite at it, it seems to disappear, but you know where it is generally. (eg. for Top Gear, it's somewhere in S6 - S10 , though if you try to pick any specific series as the one peak it becomes hard to make that argument.) Then after the peak, you get more money and more talent, and for a while things are still actually good, (eg. Achtung Baby), it's sort of lost its heart and principles and vitality, but there's still enough there, and the production is much better, so overall it's still quite enjoyable but in a slightly more sacharine way. The commercial audience actually peaks somewhere later in this cycle, though everyone will claim they were fans since the beginning. Then comes the long decline, with increasing budgets, with writers trying to capture the original magic, and you run it into the ground.


12-12-16 | Country Life

I walked out of my house during the blizzard and shut the front door, not realizing it was set in the stupid lock-behind-you mode, without my key or phone.

Why do fucking doors have that mode? I've never in my life wanted that. It's like a "ha ha you locked yourself out" booby trap made by the door manufacturer.

So I borrow my mom's iphone to try to call a locksmith. Fuck iphones are hard to use; why is there no back button? Anyway, there's one locksmith in town. I call him, he's on vacation in California. Fuck. There's another locksmith in the next town over, I call him, he's on vacation. WTF.

The thing about small town country life is you're much more reliant on friends and family to help you out. There are no cabs or ubers; if your car breaks down somewhere, you need to have a friend to call to come get you. City life is much better for cranky loners, there are services you can pay to take care of your needs; you can hire movers rather than having friends help you move, you can get massage therapists to touch you, you can go out to clubs to dance, all the functions of friends and lovers and family that you don't have can be bought.


12-12-16 | Pro tip

If you ever have suicidal thoughts, never EVER tell anyone about it. Particularly don't tell your doctor or psychiatrist or anyone in health care, don't tell anyone at your school like a counselor or anyone. Don't ever talk to someone who might be able to help you.

If you do, they are highly likely to report it, at which point you can easily get stuck into an involuntary hold. The hold is a minimum of 24 hours, but they can extend it indefinitely without your permission.

Unfortunately this is now often specifically required by law. In general you have confidentiality with a therapist, except when you admit to having particurarly bad thoughts they are now required by law to report it. So admit nothing.

I sort of understand the point of the laws. Obviously it looks terrible in the media when someone murders their child, and it comes out that they had a history of thinking about doing so and had told their therapist about it. So then the public is like "the evil therapist knew and did nothing, they have to tell the police by law now!". Okay. But the result is now you just can't ever tell anyone anything. It should be a positive thing for someone who's having strange thoughts to talk to a therapist and get help and hopefully work through it.


The whole "suicide is a disease" movement (like "alcoholism is a disease") is fucking condescending judgemental bullshit. It's a reaction to the past "suicide is a crime" or "suicide is a sin", and you're now no longer supposed to say "committed suicide", you're supposed to act like suicide happened to someone, oh no they were a victim of this horrible disease. No. Suicide is a perfectly reasonable life choice.

What's fucking deranged is how people cling to every last second of life as if it was so damn precious. WTF is wrong with you, you selfish cowardly inconsiderate shit.

If you are diagnosed with Alzheimers, your life is going to gradually become awful, not just for you but for everyone around you, you're going to forget the people who love, you'll be violent and mean with them.

If you get Alzheimers, OF COURSE you should kill yourself. If you don't, my god how fucking weak and stupid and rotten to your family. People act like there's some inherent value in human life, that any kind of life (being in a coma or being paraplegic or whatever) is worth living and committing suicide is deranged or caused by mental disorder or whatever. Uh no. If you're paralyzed and you choose to die, I'd say that's perfectly fucking reasonable, and it's the converse that's deranged.

And always let us remember that being a living human being is just about the most selfish and destructive thing you can do to the planet. Just being alive for a day, count your food and energy consumption, your destruction of habitat, all the cascade of resources consumed (eg. when you eat a cow, you not only kill the cow, there's all the methane it made, all the trucks to transport and refrigerate it, the pasture land taken from the wilderness, the corn raised to feed it, all the people involved in that, etc. etc.). Your life needs to be worth a fuck of a lot to make up for the massive cost of your existence.


12-12-16 | Things I hate which seem to bother almost noone else

Headphones. Multiple problems here. I can stand them for maybe 30 minutes, but much more they start to really bug me. There's some mild discomfort, but that's not it. It's more the feeling that I'm strapped in to a clockwork-orange-like forced listening device. HERE TAKE THIS SOUND DIRECTLY IN YOUR BRAIN. No, ugh, get it out. Music from speakers is more like something outside myself, something I can choose to ignore, whereas headphones are like invading my space. I like my food served on a plate, not in a feeding tube shoved down my throat thank you very much.

Sound isolating ear buds. Jesus christ someone snuck on me from behind again, don't fucking do that, you scared me. On a related note -

Having back to my people, ever. In a restaurant, at work. I always want my back to a wall. The worst is having a high-traffic path behind me, I'm just constantly tense and on guard. The various times I've had the horror of working cubicles, they default to putting your back towards the path and your workstation into the wall, I always try to reorganize them so that I face out towards the path.

Spoken audio in surround sound car speakers. Car speakers by default generally give you this "sound all around you" balance, so that the source of the sound seems to be right in your head. This sounds pretty cool for music usually, but it bugs the fuck out of me for talk radio or books on tape. GET OUT OF MY MIND!!! I have to switch the fade to be front-only for spoken audio.

Bad sound in general. Occasionally people will be like "hey check out this cool song I found, I'll play it for you on my phone...". Umm, no thanks. I appreciate the song tip and please email it to me. Okay, no, seriously stop it playing on your phone. No stop it, it sounds like fucking shit. No I can't appreciate the song at all, all I read is fucking horrible balance and distortion and it makes me want to cover my ears and scream.

Flourescent lights. I can't believe when people fix up an office or restaurant or whatever to be all fancy hipster reclaimed asbestos or whatever, but leave the flourescent lights. They're just instant tension, like I'm in a hospital Of course the most extreme version of this is the flickering or buzzing light. Sometimes I'll go into an office or a store and there's a flickering light, and other people are just walking around going about their day as if nothing is happening. WTF THERE'S A FLICKERING LIGHT MAKE IT STOP. If it was my office I would disconnect it immediately.

(aside: I've actually worked places (HP) in cube farms with flickering flourescents, and I asked someone WTF why don't you disconnect that, and he says oh we're not allowed to touch them you have to call maintenance, so I'm like "fuck that shizzle" and I put a chair on a desk and get up there and disconnect it. This was always one of the perks of being a young under-paid bad-ass, places would have all kinds of stupid rules like "you're not allowed to bring in your own office chair or monitor" and I'd be like fuck that shit, you either buy me a decent chair or I'll bring in my own. Oh yes, such a cool cubicle rebel.)

The flickering light is like somebody standing there tapping on my skull. But other people are just ignoring it. It's like somebody just whipped out their dick and everybody is walking around like nothing is happening I'm like "WTF does nobody else see this?".

Shitty sub & tweeter sound. Horrible.


12-12-16 | Typical Date

At set date time : me : "I'm so excited to see her, I'm gonna ask her all kinds of things and hold her and cook for her and etc."

30 minutes late : god damn it, late again, so inconsiderate, fucking bitch, I'm getting bitter, try to just cool out and watch TV and don't get too agitated

1 hour late : fucker fucker fucker I'm going to yell at her when she finally shows up, I give up on keeping my clothes neat and start stuffing my face with cookies

2 hours late she shows up. God damn her, it's a kind of power play or something, showing dominance over me, total disrespect.

Her : "Sorry, I had to help my friend walk his dog, blah blah"

Me : "You could have done that any other time, you don't work, you have so much free time, blah blah...."

Her : "Look, I have boobs and butts!"

Me : "OMG I forgive you. Want want want."

I hate myself. Also, fuck you inconsiderate late bitches.


12-12-16 | IRL

World : hey, let's chat

Me : Err, I hate chatting online, but I'd be happy to chat IRL

world : crickets


12-12-16 | Wells Fargo

The problem is not that they are using the customer agreement (for the original valid account) to get arbitration over the fraudulent accounts that people didn't open. The problem is that fraud should automatically invalidate that clause.

Personally I think arbitration clauses should be fucking illegal. You should never be able to take away someone's ability to sue over illegal activity. The courts are the only force keep corporations in check in this country.

Actually, as I've noted previously, I'd like to see all customer agreements be illegal across the board. There's no valid reason for them, and many abusive ways they are used.


12-12-16 | Trump Watch

One of the sad ironies I've been witnessing is all the Republican crowing, "woo, we won, such it liberals!". Okay, good for you, yes in fact most liberals are incredibly depressed and defeated right now, and since you delight in the pain of others I guess it's a happy day for you. So, good job, you made some people literally cry, yay.

But also, ha ha, you're fucked. Trump will of course be *good* for the wealthy elites. Trump will be fucking *terrible* for the middle & lower class voters that made him win. So fucking suck it you bitches. Your jobs are all going, your states will be bankrupt, you're so super fucked. In the mean time, us liberal dems in NY and CA will do just fine in our wall-street fat-cat kombucha-sipping yoga pants.

Unfortunately, we liberals can't really take great delight in this because the whole identity of being a progressive is that you care about everyone in the country. We believe that wealth and power should be used to help those among us that are least well off. So your downfall doesn't really bring us delight. In fact it's almost the defining difference between the parties that Dems are the party of empathy, wanting government to be inclusive and helpful to all, while Reps are the party of hate, selfishness, insularism, spite.

I personally think the whole alt-right white nationalist neo-Nazi aspect is rather overblown. But even if you strip that away, what's the identity of the Republican party? Hating gays, hating moslems, hating immigrants, hating women, hating welfare leeches, hating "big government", hating coastalites and most of all hating liberals. Everything is everyone else's fault, never mine!


12-12-16 | Trump Watch

What Americans really want in a politician is someone who panders in all the tackiest most obvious ways, but pulls off the illusion of not being a panderer.

They want a "straight talker" but


Liberals are all up in arms about the electoral college being nonsense. Of course it is, but if it had worked the opposite way (Trump won the popular vote but the electoral college prevented him from winning the presidency) everyone would be happy about it.

Of course I write about this every four years and nothing will ever happen. The big problem with the electoral college is not that it fucks over the high-population states (CA gets it worst) and favors the backwards, the big problem is that it makes the national discourse about the swing states. In fact, when you consider that most voters in the swing states are locked in as either sworn D or R votes, the entire nation focuses on the interests of a handful of flexible voters in a handful of states. That's terrible.

Of course, since we have the electoral college, we should remember the whole point of it is so that when a dangerous moron like Trump is chosen, the electors can refuse to nominate him. That is the fucking point as written in the constitution, which the R's claim to always be hot about. (of course, many of those R's also claim to be bible originalists, but don't like to be confronted with the literal words that are in the bible; the constitution and bible originalists are both some kind of strange buzz word that has nothing to do with the actual text or its original meaning).


12-12-16 | Trump Watch

If you like your medical advice from Dr Oz, if you like your psychiatry from Dr Phil, if you learn to cook from Giada and Guy Fieri, if you get your economics from Kramer, if you get your automotive knowledge from Clarkson, you might like Trump.

Completely across the board in every field, we have chosen complete fucking incompetent morons to be our "experts". You may have opinions about whether they are entertaining or likeable or whatever, but it is nonetheless striking that our celebrity experts are so uniformly completely incompetent at their chosen field.


The claim that clean energy sources costs jobs in a direct way is just total bullshit.

For every 50 jobs you lose by shutting down a coal mine, you gain hundreds in solar, wind, etc. In terms of *direct* jobs, renewables simply *make* jobs not cost them. (the argument about total jobs is more complex, because of how the higher cost of energy affects other industries, but the morons who want you to save their coal jobs are not talking about that).

Fossil fuels are incredibly efficient and mature industries. All mature industries are very good at paying the minimum number of people the minimum amount, and concentrating wealth at the top. That's what mature industries do, that's the goal of capitalism. In contrast, renewables are immature industries, which means they are less efficient, less concentrated, employ more people and pay better.

The whole "save our coal jobs" thing is such total fucking bullshit on so many levels. 1. It's just such a tiny bit of jobs. Yes I'm sure it matters a lot to Coalville, WV, but 500 jobs in the total economy is nothing. 2. Those jobs fucking suck. Oh no, we can't be down in a coal mine all day and die of black lung, waa. 3. Renewables probably make more jobs. 4. The fucking coal is being sent to China anyway, WTF, why are we mining coal and exporting it. 5. It's so fucking toxic and destructive of the environment around, which literally kills people and in a direct petty economic way is bad for tourism.

Now, does clean energy cost non-energy-sector jobs due to higher costs? Hmmm, hard to say. If we had lots of energy-reliant manufacturing, then sure that would hurt, but we just don't.


I've seen over the years all these little issues that seem to piss off Republicans so much.

Recently there's been the Trans bathrooms nonsense (nonsense in the sense that who fucking cares, it's no damn big deal, it's not an assault on your way of life). Car people got all upset about E85 gas (Obama!). Of course in reality E85 gas has nothing to do with liberals forcing that shit on you, it's corrupt crony capitalism pushed by ADM and the corn lobby (yes, that's your fault, red states).

Up here in the Northwest of course there was the Spotted Owl Kerfuffle and the general shutdown of the logging industry. Much hoopla was made of the horrible liberals interfering in the sweet logger's way of life, costing jobs, etc. Of course now in 2016 there is viable timber land just sitting fallow. There is a shortage of people who want to do logging jobs. Weyerhauser keeps shrinking, not because the liberals have closed their land access, but because American lumber simply isn't a viable product. And yet I bet the perception in much of the rural backwaters of the Northwest is that it's somehow the liberals fault that the logging towns are shut down.

A few years ago, Obama changed the rules of border enforcement agents to allow them to work several hundred miles from the border (previously they only had jurisidiction within 10 miles of the border or something). The change made almost the whole state of WA within the jurisdiction of border patrol. They began performing sweeps in the rural towns where immigrant laborers were previously safe, such as all the apple picking towns in the east Cascades. The result was a year when the apples sat on the trees and rotted. I remember reading interviews with the orchard owners saying they offered minimum wage (previously they had paid less, because minimum wage doesn't apply to migrant farm labor even when they are citizens) and buses from Seattle, but nobody took it.

It's always dangerous to speculate about what's going on in someone else's head. One thing we can say is that these industries affect very few people directly. Lumber, mining, they just aren't huge employers. So it's not about the individuals losing their jobs.

Despite what they might think in their own mind, most Republicans are not cowboys or ranchers or coal miners or gay steel mill workers (god Republicans are so fucking gay, with their work boots and big trucks and jeans and carharts, they're like a whole fucking culture of over-compensating machismo, err look at me I'm so tough, I'm a rugged man, I don't crave cock at all, I shoot helpless deer with an AK47, I'm not closetted gay I just take out my inner rage by being anti-gay any chance I get, err). In fact most Republicans are fucking mortgage brokers or work in Ruby Tuesday or are greeters at Walmart or whatever fucking terrible retail office drone job like the rest of us. But for whatever reason those Reps care very much about a few terrible jobs in dying industries.


12-09-16 | Trump Watch

It's almost impossible to understand why someone would vote for Trump or support Trump, or the Republican party in general. We can sit on the outside and theorize about the loss of white exceptionalism or whatever other reason we come up with - but that's always outsiders just guessing at it, which is highly suspect (it smacks of white academics explaining why the blacks do what they do).

The difficulty is that there are basically zero rational Trump supporters. (at least I've never encountered one, either in real life or in print). By rational I mean someone who makes an argument based on facts and a sequence of logic.

Certainly the vocal wing of Trump support that we see in internet comments is a vile and hateful, ignorant and awful slice of humanity. But it's impossible for me to tell just how reflective of the average Trumper that is.


I have never in my life felt so alienated and afraid and pessimistic in my own country. I'm afraid to speak loudly about politics when I'm out in public because I don't know if some fucking violent gun-nut Trumpazi will be listening in and start screaming at me.

I believe that one of the fundamental tenets should be that you can have different political views without fear of violence, assault, shooting, etc.

This is the kind of thing that should not have to be said, but in the nasty Trump world there are now many many things that should go without saying that we have to just keep saying.

There are parts of the country where just overtly dressing like a liberal (perhaps by carrying a yoga mat, or your own water bottle) can get you harrassed. I feel the urge to go into hiding, to dress like a comformist Republican (jeans with a carhart jacket) so that I won't be attacked.

One of the ridiculous false equivalences is Republicans saying "now you know how it feels, we felt the same way when Obama was elected". Umm, no. If you felt that way when Obama was elected, it's because you're a fucking lunatic who has no grasp on reality. If you thought "Obama is gonna take our guns" it's because you're a deluded nut-job who listens to crazy misinformation. Obama never threatened anyone with violence (as Trump has done), Obama has never suggested that armed militias could take out the opposing candidate, Obama's supporters never shot at anyone. It's not fucking the same at all.

It all smacks a bit of the bullshit equivalence of abusive relationships. One person punches the other, and they say "we're both to blame, it takes two to tango, we were both fighting, blah blah". Uh, no.


Many centrist Republicans have been calling for a new party that takes the large un-represented middle.

They want a party that's fiscally conservative, works with international partners, supports free trade and global economies, is socially liberal.

Umm, you mean the Democrats? The Democrats *are* the centrists conservative party that everyone wants.

The idea that the Democrats have been far-left liberals any time in the past 30 years or so is pure misinformation from the Republican spin machine.


Propanda works. Spin works. The Republicans are incredibly good at putting nonsense in the minds of the masses.

If you repeat the same bullshit over and over, people believe it.

The Republicans are incredibly good at making derogatory buzz-words for things; "activist judges" and so on, convincing people that lawyers are evil and the sweet corporations have our best interest at heart.


11-09-16 | Republicans

You know when you make the mistake of reading Youtube comments, or looking at the replies on Twitter, and you just see the horrible ignorance and nastiness of all those people, you think that it's just bad internet behavior, that it's just a tiny portion of the population that's so hateful and racist and backward. You try not to look at it, you just pretend it's not there.

Those people are the Republican party and in fact they make up a near-majority of the country.

If there's a video of a Critical Mass bicycle protest where a car drives into the group and mows down cyclists, if you look at the comments you will find things like :

"serves them right, get out of the road!"
"car vs bike, car wins, no shit dummies!"
"if it was me driving I'd have hit way more, then backed up and run over them again"
"they're lucky it wasn't me in my Ram truck, it'd pop their heads like watermelons"
etc.

If there's a video of a traffic stop where a black driver mouths off to the cop and gets tazed for no damn reason, prepare for a horrorshow of comments about how she deserved it, or was probably on crack, or should've known better, or whatever.

These are the people who elected our President and Congress. These are the people who control our country.


One of the bizarre non-factualisms of the Republican message is this story that the Dems are the party in power and that the Dems are "the government" whereas the Republicans are "the outsiders".

Huh? This country has been majority Republican since Bill Clinton, right? since 1994 or so? Even when we've had Dem presidents they never had a Dem congress.

They act like the state of this country is in any way Obama's doing; Obama with a Rep congress has been able to do almost nothing, WTF do you think Obama did? They seem to have this huge anger, they feel they've been oppressed by the Dems somehow, that the Dems were in power and fucked things up and now its their turn to get back at the Dems. When were the Dems in power exactly? Not under Obama. And what did they do to you?

There's just no specifics or facts to the Republican angst. What exactly did Obama do that was so bad? What about Hillary is "crooked" and what did she ever lie about? This is the victory of "truthiness", that if you just repeat the same bullshit over and over people will believe it.

The biggest changes to the American system in recent years were all under GWB (NSA, DHS, Patriot Act, banking collapse, etc.); the current government is very much the GWB system, not much has changed since then.


One of the scariest things about the current Rep movement is a lack of basic human decency. What I mean is when you look at someone who is maybe a different gender or race than you, different religion, different nationality, maybe they're even on the opposite side of a war from you, you should still think "they're still a human being" and that means that they should be treated with some respect, given the benefit of the doubt, innocent until proven guilty, not harmed any more than necessary.

Like maybe you do want to stop Mexican immigrants from entering the country, okay, but you wouldn't want them to be locked in the back of a truck where they bake in the sun, or die of dehydration walking through the desert, or get mowed down by drones. They're still human beings.

And it's that basic human decency that's so terrifyingly absent from the modern Republican. People like Trump and Cheney who want to torture the shit out of arabs just for laughs. They'll say shit like if it has the tiniest chance of saving even one American life, they would torture thousands of people.


11-09-16 | Comic Strip

Panel 1 : Dumpster Fire (running for President) making a speech at a rally

Panel 2 : Hillary Clinton making a speech at a rally

Panel 3 : Two Americans chatting , with caption

Possible captions for Panel 3 :

"Both candidates are flawed"

"It's her fault for not running a better campaign"

"I only voted for Dumpster Fire as a vote against Hillary"


11-08-16 | Trump Pain

This is so unbelievable. Literally unbelievable. I keep checking the news again thinking there must be a mistake.

President "grab them by the pussy" , President (talking about his dick size) "trust me there's no problem down there", President "I have the best words", President "nobody knows more about Washington than me". Trust me, it's gonna be great.

This is the man who offered Kasich the VP spot with control of "domestic and foreign policy" because he has such little knowledge or interest or ideas for the actual running of the government.

Look, I understand there are a lot of fucking nutters in this country. For some people the only issue that matters is abortion; for some the only issue is gun ownership. But even if that's true, if you're a die-hard Republican small-government person or whatever your fucking thing is, you still have to look at this candidate and think "fuck no", even though this is the party that matches my belief on this issue that's important to me, I can't vote for this lunatic, right? right?!

I believe that Trump is an actual danger to the world. He's pouty, vindictive, impulsive, petty, self-obsessed, he makes enemies with almost everyone he comes into contact with. I wouldn't approve him for a gun sale, he should fail a background check, and he's going to be in control of our military? (he'll go after ISIS "so hard")

This is the man who literally encouraged his audience to beat up peaceful protestors at his rallies. This is the man who suggested that the "2nd ammendment people" use their guns agains Hillary if she won. He's a dangerous psychopath and is unfit for almost *anything*, least of all running a country.


All the Dem talk of "uniting" and "peaceful transition" is pussy bullshit.

At what point do you say nope, the person elected is so rotten that we won't hand over power. I know the Hitler comparisons are tiresome so let's choose someone else. Say your country elects Pol Pot. Do you go "we have to respect the democratic process" or do you say no, actually this is morally unconscionable and we need to do everything possible to stop this.

In reality, throughout history, populations have just sat and watched as mad men tooks the reigns of power.

What we really need from the Dem legislators now is 4 years of fillibuster. No judicial appointments. Take a page from the Republican playbook and just stop all laws, stop all changes to government.


It's going to be a terrible time to be a journalist. What will happen if you write a negative article about President Trump ? You probably won't just be assasinated like his buddy Putin does. But you will probably be monitored by the NSA and/or FBI. You might be jailed for some bullshit charge about revealing state secrets.

It's going to be a terrible time to be a government employee. The true heroes of the American government are the beaurocrats that run the agencies and try to make the basic function of the government serve the people. They get smeared in the press, their jobs are constantly being fucked with by stupid congress that cuts their funding, doesn't pay them and then piles on more regulation.

They will be quietly fighting the good fight.


As usual, thank god I'm a white male. For all the blacks, moslems, hispanics, LGBT's, etc. wow, I'm sorry, you're fucked.

Any gains we've made recently on police reform and human rights are going to at best stall out. Prison reform, voting rights, fucked fucked fucked. Oh yeah, health care reform is fucked. School reform is fucked.

The general trend of humanity towards reason, science, humanism, kindness, empathy, nonviolence - fucked.

The climate is fucked. The natural spaces of America are fucked. It'll be a good time for coal mining on federal lands and shit like that.

We are in a global rise of fascism. (well, "global", I dunno, certainly in the US, Europe, I don't follow politics in most of the rest of the world).

Oh yeah, sorry Syrians, you're fucked! One of Trumps few concrete foreign policy ideas is to work with Russia to murder the last of the pro-democracy anti-Assad faction (and their families, and everyone else in Aleppo). Oh, right we're pretending it's "ISIS". Yeah, they'll definitely only bomb ISIS, not all those attempting to free their country of a murderous dictator.

The Palestinians are fucked. The democractic movement in Iran is fucked. It will be a good time for hard-liners and dictators everywhere, a bad time for opening and normalizing relations, a bad time for the democratic movement in the Middle East.


Presumably Trump is just going to pay himself a huge salary and then bankrupt the country, as he has done with most of his past businesses.

His entire business modus operandi has been to give himself contracts with gauranteed profit and very little personal risk; not actually making wise real estate investments, not growing businesses, but being smart about profit-taking for himself. He'll rename it "TRUMP America" and get a license fee for using his name and then cut and run.

I'm sure this will be a field day for real estate developers, and for rich tax-avoiders in general. We'll see some "decreased regulation" to "boost business" which will just be a huge tax holiday for the super rich.

Republicans always talk about how there's "too much regulation" and how if they get control of government they'll cut the red tape and so on to make it easier for businesses. It's total bullshit. It's totally true that we face a crazy amount of regulation of some businesses. But it's not Federal, and it's not something that you can just easily streamline. Many businesses face a nasty complicated web of regulation due to overlapping and conflicting laws at the city, county, state & federal level. Say you want to do something like turn wood pulp into an engineered particle board product. There will be environmental regs, building code regs, often different from state to state, even from county to county! To make a product that you can use all over is a huge mess. If we could unify all those codes nationally and simplify them, that would in fact make life way easier for business. And what is the power of the Federal government to do that? Just about zero.

The actual "leaner regulation" that the federal government realistically can do is only at the very top, for the most corrupt awful businesses. The "stupid regulation" that the average voter thinks of, like ugh chain saws have to have safety guards that's so dumb - that won't change. What will change is net neutrality, big bank capitalization, monopoly control of telecom, extradition of corporate profits, etc. Only the really big most corrupt issues will be deregulated.

The similar stupid Republicanism is "cutting government". Okay, hey you want leaner government; I'm not sure I agree but sounds like a fair point in theory. But what exactly are you going to cut? Not military. Not medicare. Not social security. So, you're not cutting 90% of government spending. What's left? There's only the tiniest bit of government spending that you can realistically cut, it barely makes a dent, and they tend to be quite useful agencies.

(I told Drew this story; some years ago the fucking nutter Republicans tried to cut funding to USGS (US Geological Survey that maintains maps of the country) (they did in fact slash it but didn't cut it completely as proposed), which for fucks sake their entire budget is only $10M or something, it's like the cost of one missile it's fucking ridiculous. One of the stupid congressmen made some speech in the hearing that "we don't need to be paying USGS to make all these maps because the private sector is doing a better job" and then there was a statement from Garmin or whoever that was like "err.. actually please don't cut USGS, we get our data from them")

One of the standard stupid Republicanisms is that government should be "leaner" or "more efficient" but also never ever spend a single cent in a way they don't like. It's always the Reps that dig up some obscure expenditure, like the NEA gave a few dollars to an artists who painted naked men, or Welfare gave a few dollars to some hipster who's not actually broke, and go oh the sky is falling, we need better oversight. So then you need *more* beaurocracy to monitor and check all the expenditure to verify it's never going anywhere wrong. It's fucking contradictory, if your apparatus is minimal and simple and doesn't require lots of paperwork, that means it will sometimes make mistakes. In the business world, that's done by design (six sigma and whatnot). eg. GM will kill some drivers rather than recall faulty ignition switches. There's an accepted amount of loss and error, which you live with because it's cheaper than all the oversight to prevent it. eg. all retail stores accept some amount of theft, because trying to stop it all is much more expensive. The Reps want low overhead minimal management, but then throw a fit when a pack of gum is shoplifted.


Look. America is headed for the shitter. This is something that Hillary and the establishment message in general are loathe to admit. (no that's no excuse for voting Trump).

The rural, poorly educated, shit-for-brains white male that voted Trump thinks that for some reason they should be entitled to the riches of the world. Guess what, you're not. Globalization is here, no matter what any American President does (and of course Trump has zero concrete policies to do anything wrst this). There's no reason why some stupid fuck from Pennsylvania or Florida with no particular skills should make $50k while a Mexican or Chinese person makes $10k. Capitalism (which you claim to support while not actually understanding it, you stupid fuck) will not allow that.

The future of America is poverty (by current standards) for most Americans. We are not anywhere near that future at the moment, but just the tipping towards that future (a trajectory or relatively less dominance) has sent many into an insane panic. None of the candidates has any realistic plan to lessen that. There are legitimate ways to improve that but nobody is seriously proposing them.

Realistically we need to face a long period of decline, and we should make that decline as painless as possible. But stupid fucks throughout history have never handled that well. They'd rather burn the system down in a huge fuckup so that then we can be "improving" again.

That is, if we're at 100 now, we could manage a decline to 95, 90, 85. That makes people lose their shit. They'd rather go 100 - 50 !! fuck fuck !! - 55 - 60 - 65 see things are getting better! Never mind the fact that now you're at 65 instead of 85.


If you voted for Trump, okay, fine you're a fucking garabe human being, you're hateful stupid selfish fucking racist sexist flaming dumpster fire of useless fucking awful shit. Or just unbelievably stupid to not see what you're supporting.

The thing that really bothers me is 30% of hispanics voted for Trump? WTF? WTF? And all the Bernie supporters that voted Green or didn't vote because they didn't like Hillary. FUCK YOUUU


Googles tonight :

How to move to New Zealand.

(discovered it's really really fucking difficult)

Countries with least guns per capita.
Least religious countries

Ecuador? Singapore? The governments of both of those are extremely fucked up though, so not comforting at all. Why is there not one single country in the world that's like "hey we're fucking sane, if you have money and a job and a good education, come here and let's make a utopia of people who are just fucking vaguely reasonable, it's not asking much, we're only expecting like a 2 out of 10 on the scale of vaguely reasonable civic management"

I don't want to buy a house in America. I might buy gold. I feel like one of those nutty doom-sayers.


Oh jesus.


11-08-16 | Symmetry

Some huge % of the hours spent in a car are solo. (90% ? I'm not sure). Most people spend most of their time driving alone.

Why are cars symmetric? Why not make them more driver-centric? Make the driver seat slightly wider and the passenger seat narrower.

I know some cars in the past have done driver-tilted center controls, and that it did not catch on, but I think it's great and there should be even more of it.

Like, even move the transmission tunnel over to the side, don't put it straight down the middle. (there are some issues with this such as balancing the half shafts and also wanting to mirror the layout for left-hand-drive countries, but still)


11-02-16 | Emma and NPR

It seems like NPR for some reason has the most evil corporate sponsors.

(of course there's also the problem that the "ad free radio" is constantly shoving ads at me; This program is commercial free thanks to the support of listeners like you; this program brought to you by Exxon/Mobil turning government subsidies into rising sea levels just like you bitches want us to, and Koch Brothers - just try and stop us)

In the recent past they were frequently sponsored by ADM ("At ADM we take something sweet like farming and make it all about corrupt government subsidies and usurius expansion") and Monsanto ("Monsanto, because ADM wasn't evil enough").

Now it's Emma. I feel like the Emma ads are always just about to break down and say what it really is. "Emma - direct marketting solutions" ; "Emma - tailored messaging for customer outreach" ; "Emma - email marketting coordination" ; "Emma - okay it's fucking spam, look spam works, you want to sell shit, use Emma."


11-02-16 | cbloomtionary

Relationship : a way to blame your personal problems on someone else.


11-02-16 | The Regret

When you go out and get drunk and sleep with someone that you shouldn't, sure maybe it's thrilling in the moment. But that's not why you do it. You're half drunk, and the thrill is fleeting, and you won't carry of the positive memories with you. What you will carry with you is the regret. And that's the secret of why you really do it. You want to do something wrong, you want to fuck yourself up, you want a dirty secret to be ashamed of.

All real gamblers know that secretly the real appeal is losing. Yes, the thrill of winning is great, it's an ecstatic high, but winning is brief and makes you just want to chase bigger wins. Losing is easy and reliable. Any night you need a fix you can go out and lose big, lose so big you can't believe what a horrible thing you just did. And that deep hurt of losing is the real draw, secretly deep inside that's what the gambler needs.


11-02-16 | Disdain

If you are the typical pansy nerd intellectual like myself, you are as attractive to women as a wet kleenex. They may say otherwise, but you find out the truth when you do something unusual, out of character. Maybe you do some home repairs, or fix the car on the side of the road, or push it out of the mud, or protect your family from a bear, or defend her with some fisticufs or whatever typical blue collar manly-man thing. Then she goes "oh my heart is racing, you're so sexy, I want you right now!". Okay, that's great and all, but what this really shows is just how unattracted you are to the normal real me that does computer programming and avoids violence. What it really shows is what complete disdain you have for intellectual work and the strength required to be kind and gentle.


Semi-related : Hey ladies, if you want to put an end to the crude sexually-aggressive PUA behavior, just stop having so god damn much sex with them. Those guys are operating on a very basic action-reward system. If respecting you for your brain and treating you as equals and not treating you as a sexual object got them laid, that's what they would do.


11-01-16 | Confession

Any time I read about a woman being sexually harrassed (eg. most recently reading about girls who were on Jeopardy and then sent lewd comments about their boobs), my impulse is to immediately google them so I know what they look like. That way I can read the rest of the story with the proper context, knowing either "oh yeah I'd totally harrass that" or "weird, she's not even hot".

I mean, I google women's images any time their looks are mentioned in an article, and it always strikes me as a bit of a rotten thing to do, but it only feels really sick when the article is about sexual harassment.


11-01-16 | Negative HVAC Pressure and Poison Buildings

I recently tracked down (part of) what is making the air so disgusting in my Portland apartment.

The building has go all these automatic vent fans (very annoying, give me a fucking switch). One of them in my bathroom has been malfunctioning for a long time and just running all the time (give me a fucking switch, don't be automatic, software is the worst!).

The result is negative air pressure in my apartment. Now, all these modern "green" (shit) buildings are supposed to have air-intake vents to balance the building air pressure out; possibly the intake vent does some kind of temperature exchange or humidity or something. That's a nice idea if everything is working perfectly. Which it very easily might not be.

What happens if your apartment has negative pressure and the windows are very well sealed? The air will come from somewhere else. The most common place is to suck it out of the walls.

The walls of course have lots of air leaks, light switches, smoke detectors, etc. All holes air can go through.

In my case I tracked it down to some specific huge holes. My building has emergency sprinklers that are covered in little discs that are designed to drop off when the sprinklers turn on. These are just in holes in the ceiling and the discs are intentionally loosely fitted. I could feel the air just gushing out of these holes.

This air is poisonous. It's coming from the ceiling / attic space. In my case I'm on the top floor, so above me is insulation and (leaking) air ducts and so on.

Synthetic insulation is unbelievably poisonous and has no business being in homes. The idea that you can lock it in the walls or attic and be safe from it is a fantasy, that air will come in your home. (fiberglass and "rock wool" are the worst). Anything that you need to wear a respirator to install in the home should not be in the home.

I'm convinced that these sealed buildings are toxic and I don't want to live in them. The short term fix is easy - open a window. But that has obvious negative implications for heating.


I think my current dream house is brick.

Real ceramic brick is a wonderful building material. Totally non-toxic. It's very slightly porous to both water and air, which is good. I don't believe in membranes or sealed construction, I believe in everything breathing.

The exterior walls should just be really thick. You do a 2-wythe outer structural skin, then a 1-wythe air gap (possibly with some baffles to slow down air flow? or maybe some kind of cellular natural insulation? I dunno, but it needs to allow some air & water to flow intentionally, this space must be able to drain), then another 1 or 2-wythe inner brick skin for the interior wall.

(I know the eco-mentatlists are into straw bales but I'm skeptical that they won't rot or mold over time. There are some construction methods like adobe & straw bale that I think are suitable in a place like Arizona but not where it rains.)

Any plaster or render applied must be something like old lime render that can breathe as the bricks do (not any of the new renders with latex mixed in). I'm not sure about the merit of new render that has cement mixed in. I'm skeptical of anything new.

You have a home with no drywall, no fiberglass, no glue, no plastic = good.

Heat is from a wood stove in the middle of the home = no blown air or air ducts that are always full of poison. Bathroom ventilation is done by putting a fan in the bathroom window. Easy peasy.


11-01-16 | Myth

There's this myth about the stereotypical hot-tempered Mediterranean or French lady.

The myth goes something like this : sure, she gets angry easily and yells about it, but then it's over and she moves on. It's better for someone to just speak their mind and let it out than to hold in the anger and simmer over it and take it out as passive-aggresiveness for weeks (as the stereotypical northern european would do).

The problem with this myth is that it assumes that after the big blowup of rage and letting out the anger, that she goes back to a baseline of kindness and pleasantness.

In fact, she goes back to a baseline of being touchy and tempermental and yelling at you about something else. The myth is that these are isolated events of blowing up about real issues and the "moving on" is to pleasantness; in fact the moving on is to more yelling.

When you believe that blowing up and "letting it out" is a positive way to live, that becomes an excuse to do it all the damn time.


11-01-16 | Except

She says she loves my mind, she loves the way I think, my ideas on these, she loves to listen to my opinion on things, she loves my intelligence, how much I know.

Except when those ideas are about what she's doing, or her interests, or anything she knows much about. When my intelligence is used to suggest improvements to something she's doing, then she wants none of it.


10-31-16 | Notation

When talking about things like ANS and Huffman it would be nice if we had a better notation for log2's and power-of-2's in computer science. Something like the neat-ness of Einstein notation in physics. Maybe lower case x means log2(X) (X upper case). I'm not sure. Or maybe an underline under a symbol is the log2 of it, while a line over it is the pow2 of it.


10-27-16 | Intentionally Incomplete Guide to E46 M3 Problems

In no particular order :

X. Rear subframe. One of the major and well known problems is the rear subframe tearing out of the sheet metal where it is bolted to the unibody. Many cars may have small cracks that are not visible without dropping everything in the rear of the car and cleaning all the grime off the mounting points to be able to see the cracks. If your car has no cracks currently, the best solution is BMW's recommended solution - inject structural foam into the unibody to make a solid connection in the space between the sheets of metal in the rear floor. If your car already does have cracks, you need to weld plates over the cracks (Redish Motorsport is recommended). This is of course more of a problem for people who drive the car very hard or have more power than stock - it's primarily drive torque through the rear axle that applies forces to the rear subframe that tears it out of the body. If your rear floor is not ripped to shreds, then the foam or plates solution is < $2000. Once your floor is ripped up, it's a major major problem. For extreme cars (drifters, super or turbo-charged) it's probably wise to get a brace in the trunk that rigidly connects the top of the rear subframe mounting points.

X. Rear shock mounts, Front strut towers. Similar issue to the rear subframe but not quite as common. Basically all the points where the suspension or driveline mount to the body were poorly engineered and mount to thin sheet metal that's not strong enough. Front strut towers were mainly a problem on 01 cars that didn't come with a brace, but later cars fail too when under excess load (stiffer suspension, hidding curbs, etc.)

X. VANOS. (VANOS is the valve timing adjustment in BMW's ; its The VANOS unit has a number of random failure modes that can go without much warning and cause serious engine damage (sometimes you will get fault codes or rattling sounds, . These include oil pump disc holes slack, exhuast hub teeth breaking, loose cam bolts, bad O-rings, and the solenoid failing. Beisan Systems has very extensive remedies for these that are well researched. You should get a full VANOS rebuild with the preventive measures when you get your next major engine service w/ valve timing.

X. Rod Bearings (aka connecting rod or con rod bearings). This was a "service action" to correct a serious engine failure mode in 01-02 cars. 03+ cars mostly didn't have this problem. Earlier cars should have had this service performed by the dealer. Nothing to worry about now.

X. RTABs aka "rear trailing arm bushings". If you buy a used M3 chances are the RTABs are ruined, and that's quite a serious problem, it causes squirelly random handling in the rear end that can be downright dangerous (with traction control off). You need new RTABs every 50k miles or so. Many change them for polyurethane or for "limiters" which are rubber bushings with a metal sandwich around them. The car has lots of other rubber bushings that go bad, but the RTABs are the only ones that are actually dangerous. To be specific, the thing that makes them so dangerous is that a worn RTAB compresses causes the rear wheels to toe *out* under squat (eg. under power). You never ever want your rear end to toe-out under power because it makes the rear end actively try to go sideways; generally you want slight toe-in of the rear end at all times.

X. Fan blades. There are two fans in the front of the car, both plastic. It seems this plastic gets brittle over time and can shatter, at which point high velocity plastic goes flying around the engine bay and usually takes out other things. This seems to mostly be a problem with cars that spend a lot of time at high RPM (eg. track cars). A common mod is to replace the fans with an electric one.

X. SMG. The SMG has a wide number of complicated and expensive failure modes. Don't get an SMG. When it does fail the best fix is to convert the car to a manual, which is ~$5000.

X. Rear diff, rear diff bolts, diff mounts. The rear diff fails; sometimes it develops the "M clunk"; often it just becomes semi-open, or it goes from open to engaging abruptly. At some point it should just be replaced with a simpler non-adaptive diff such as a clutch-plate style diff.


If I was to buy an M3 again (which I'm tempted to do, just to have a second one), I would immediately take it to the best shop I could find and have this done :

1. Drop the rear end, clean the floor and check for cracks. If no cracks, do structural foam. If cracks, weld Redish plates.

2. While the rear end is out, do rear shock mounts, rear adjustable camber arms, rear shock mounts, and RTABs. Also diff bolts and subframe bushings.

3. Change the shocks & springs. For a road car either twin-tube Konis (ala Dinan or TCK) or the ideal would be an FCM custom setup. The vast majority of other products are way too stiff for the road. The front needs camber plates. Stock sways are fine. About a 1/2" drop is right.

4. Do the Beisan VANOS work.

5. Replace all the rubber you can. Bushings, hoses (brake & clutch). Remove the clutch delay valve. Replace the two accessory belts.

Total bill $5-$10k depending on the shop. Then it's pretty well sorted. I know it sounds bad, but it's not the worst. For one thing, the guts of the engine is all good (post con rod bolt fix), the block is good, it's not like a lot of flawed cars that just have fundamentally bad engines. This one is good and just has a lot of bad shit around it.

Once that's all done, then you just have to deal with the usual BMW shit that will continue to fail (the CPV, the amp & speakers, water pump, power steering pump, belt tensioner & pulleys, fan clutches, etc.). Oh yeah, and the giubo (flex disc) and the CSB (center support bearing), and the throwout bearing, and ...


The only thing that's not quite perfect that you can't really fix in any easy way is the weight. It's just a bit too heavy. If it was 3100 pounds instead of 3400 that would help a lot. And the lack of travel in the front suspension before you get into the bump stops (certainly not a unique problem, almost ubiquitous in modern German cars). And the MacStruct front suspension geometry is inherently not great.


The weak sheet metal and welds in the body mean that the usual concerns about hard-driven cars are magnified with the E46 M3. Cars that have been on too-stiff aftermarket suspension should be avoided.


10-18-16 | Maybe

We're currently switching from P4 to git at RAD. I've never used git before so I'm learning it.

At this point I can't comment on whether I think it's awesome or not. Clearly some things are better and some things are worse. We'll see how it pans out.

However, what I can say is holy fuck the amount of stress and confusion that git has caused to the average programmer is UNBELIEVABLE. As I'm trying to learn it and start googling things about what is git rebasing, what if you rebase and have merge conflicts, rebasing and branches, etc. there are just pages upon pages of guides and tutorials and Q&A's.

Most of those pages contain things like "OMG don't do this" or "this will get you in a bad state" or "watch out for this!".

Umm.. maybe your source control shouldn't have huge failure modes and crazy complicated destructive usage patterns?

I imagine that large companies must have dedicated "git engineers" and when a typical programmer has a problem they just have to call the "git guy" to fix it. (and the git guy condescendingly chastizes him about doing something wrong).

Also, the "working offline" feature that is the main thing about git is pretty awesome ... pretty awesome if we lived in 1990 !

The fact that you don't have to constantly communicate with a master server is a huge design feature of git that causes the difficulty of there being no authoritative "head" which can then get you into trouble (classic distributed database problems).

But like, we have the internet now? And everyone's connected all the time? More and more software just won't even run without internet, I don't really see being able to work offline as a huge feature anymore. In my years of using P4 it's been a problem like, maybe one day in that whole time.

(I guess it's good for things like github repos, since you wouldn't want to rely on connecting to their server any time you needed to do source control ops, but in a corporate environment where you have an always-available server it's not so compelling)

I guess one of my points is the idea of apparent simplicity vs. actual simplicity. The actual simplicity of software is not proportional to the lines of code, or the number of actions or command line arguments or anything like that. It's proprtional to the number of questions about that software on stack exchange, or the number of pages in the book about how to administer it.

Eg. Hey I have this new source control program. It's so simple! The only commands are { forward, back, read bit, write bit } !!


ADD : Jesus, after spending a day on this, the volume of pages of people being confused about git and explaining git is *staggering*. Pick absolutely any git topic, like "git stash branch", and you will find *hundreds* of pages on it with lots of people having opinions on best workflow.

This is bananas.


10-18-16 | Circles

The ironic thing about Alec Baldwin doing Trump is that Trump has been doing an Alec Baldwin character impersonation in real life.


10-18-16 | MotoGP

So sad it's about to be over and then it will be fucking ages until it starts up again.

The way Marquez balances on the front tire is unbelievable. Even on his coasting laps just trying to finish and take it easy, he's still braking with the back wheel off the ground, balancing the bike, sliding the rear. More than anyone he has the ability to be constantly in a near-crash situation and just holding it. He can start to lose the front end, push the bike with his elbow and knee, lever his body and pull himself out of it. It's beautiful to watch; he really epitomizes the comparison of the motorbike to the wild bucking bronco, constantly trying to get out of control, but he wrestles it and stays on.

It's incredibly impressive the way he matured this year and managed to win even with a bike that had major problems. In the past he would have been frustrated with his poor pace and pushed too hard and crashed. There are some great riders/drivers (Marquez of earlier years, Hamilton, Crutchlow) who might have great pace and might be great rides if they have the fastest machine, but they have too much desire to be at the front, so if you give them a machine that only has the pace for 5th place, they'll try to make up the difference with later braking, faster corner speed, more aggressive moves, and they'll crash too much. They're great talents that might be legendary if they are lucky enough to get the top machinery, but will be immature crashers and waste good results in lesser machinery. Marquez of the past was like that but he seems to have grown past it this year. In a way that's a shame, because his "1st place or nothing" style when he first came in to MotoGP made for exciting spectating.


10-17-16 | Ode to the Gorge

Just East of Portland, the Gorge is a land of high cliffs, scattered with waterfalls, deep ravines cut into the walls of rock that lead back into shaded dripping fern-covered grottos. After a rain the water erupts from spouts all over the walls. It feels like an ancient place of dinosaurs or druids.

Further east is the Hood River valley. It's carved by the water running off giant Mt Hood, and blessed with the rich volcanic soil of countless ancient eruptions and mudslides, that make it now verdant, productive, covered in orchards that burst into bloom in the spring and fill the air with the smell of ripening apples, pears, cherries, peachs and plums. It's an eden of climate and resources, a bountiful land that's hard to believe is real.

Beyond that to the east the land quickly becomes dry. It's a land of golden hills, long grasses and twisted oak trees that rattle in the wind. Big open raw faces of rock and hill and sky, geometric basalt and mysteriously deposited boulders. At Celilo and the Dalles there was once the largest gathering of free Native peoples in America, to trade and feast on the gift of the salmon.

Above it all tower the two mountains, Adams and Hood. They seem to appear just when you forget about them; sudden shocking giants, covered in white, piercing the sky. They seem to watch over all this land like arbiters of protection, who could at any time erupt and destroy it all. They are surreal, and as you get close to them they fill the sky and you feel as if you might as well be on another planet.

Through it all runs the wind. The oft violent wind makes the air clear and fresh, wipes away the evils of man. The wind batters you, reminds you that nature is bigger than you, laughs at your puny human problems.


10-17-16 | Confession

Confession of a guilty pleasure.

Normally when I finish a book, I put it on my shelf, then when I get too many I donate them to a library (which they then sell).

But when I finish a book that I really hated, that made me go jesus christ I can't believe I wasted so much time on that, I throw it in the trash. When I drop the book that stole my hours in the trash I feel like I'm punishing it and the author, fuck you shitty book, I smite thee from the face of the earth, you shall not stain the shelves of any used book store.


10-17-16 | Sickening

I'm sickened by the constant anti-Hillaryism even from the supposedly leftists press. You constantly see "both campaigns have made mistakes" or "none of the candidates are great" or "they're the most disliked candidates" blah blah blah.

What exactly is your problem with Hillary? "Oh I don't trust her." Why not? What has she actually lied about? Maybe you can think of a few small things, as opposed to the other crazy candidates that bald-facedly lie about things they just said earlier that same day.

I personally have things I don't like about Hillary (hawkish foreign policy, general pro-Wallstreetism), but I suspect most of these people couldn't name one actual concrete thing about her or her positions that's bad.

I'm sickened by how much of our presidential election focuses on what people wear, or their hair, or the funny noise Howard Dean made, or the fact that Al Gore was a bit robotic, or Bernie Sanders unkempt hair. How about in the most important election in the world, we focus on who would actually run the country best and not on how they look?

Can any of the current top 4 candidates (other than Hillary) name the departments of the US government and what they do? Could they even tell you as much about how a bill becomes a law as school-house rock did?


10-17-16 | TV

Atlanta is totally amazing. It's the best thing I've seen on TV in a long while. It's sort of true to life, and sort of makes poignant commentary, but it's not all full of itself, and it's also just funny and bold. More like this please.

Insecure - very promising so far, too soon to say. (last year we had the "The Grinder" and "Blunt Talk" which both started out *amazing* like a fucking rocket to the face but petered out into sitcomy crap after a few episodes). ADD : more episodes seen now, yes it is amazing. Really smart, human, lacking cheap standard forms, good music, yes yes yes.

Lady Dynamite (aka That Maria Bamford Show) - did like. I'm an MB fan in general, I think you either love or hate her.

The Eric Andre Show - hands down the funniest show on television. It doesn't always hit, there are whole episodes that miss for me, but when it hits it's like a full on spit out your food, fall out of your chair laugh.

Man Seeking Woman - much like Peep Show, this does an amazing job of capturing the reality of being a pathetic man.

Wolf Hall - amazing, must see. You have to be a fan of those quiet moments when the camera lingers on an actor and he's not saying anything but you can see what he's thinking.

The Night Manager - a bit drawn out and plods at times through the middle but overall yes. The main actors are too wooden, and why is that one lady (Olivia Colman) in every single UK TV show? Come on lady, give someone else a chance at some female roles, you can't have them all!

The Last Panthers - did like. Something about just the atmosphere of it worked for me.

Chef's Table - sickeningly pretentious and overly worshipful, but still entertaining. Surprisingly I find almost none of the restaurants profiled to be appealing as placed that I want to eat. It is incredibly inspiring how hard they work for their craft, how dedicated to minute perfection, I like that.

Grand Designs S17 is out. Good time waster. Make the hours drip away so we can get closer to death.

Mr Robot - mmm I watched S1. I think it could have been one two hour TV movie and that might have been better. You're supposed to use the long format of the TV series to flesh out the characters and make me interested in the sub plots, it didn't. The visual style is derivative of "Utopia" (a better show), so much so that I looked to see if it was the same DP. It is not. It did get me excited about burning down the system. That would be a use of my talents that I would not feel is totally pointless.

Westworld - get to it with the robots going crazy already.

Did not like : Easy, Speechless, Fleabag, High Maintenance, Better Things, Quarry, Transparent, The Night Of, Casual, You're the Worst, The Get Down, Take My Wife, Hap and Leonard, The Good Place, superhero shows.

WTF happened in True Detective S2 and Fargo S2 ? I loved both but at some point they just went, ah fuck anything making sense let's just do some random JJ Abrams-esque shit. So not okay. Make sense. When anything can happen and the fictional world is not logically consistent and characters don't have any sensible motivation, then nothing matters and it has no impact.

I watched an episode of Kevin Hart's "Hart of the City". Holy shit. I didn't know that provincial (parochial?) "black" comedy like that still existed.


10-17-16 | WaitOnAddress

Windows 8+ has WaitOnAddress which is a bit like futex.

It's a bit of a shame to see that OS designers are still rather behind the times. It would have been much nicer if they had exposed the lower level PrepareWait-Wait that WaitOnAddress is built on.

Raymond Chen wrote a bit about how WaitOnAddress is implemented :

Spurious wakes, race conditions, and bogus FIFO claims: A peek behind the curtain of WaitOnAddress

which is a standard waitset pattern. For review standard waitset pattern is like this :


waiting thread :

check condition
waitset.prepare_wait
check again
if wait needed
  waitset.commit_wait
else
  waitset.cancel_wait

signalling thread :

set condition
waitset.signal

the double-check and two-step wait prevents races that cause the signal to be missed because it happened before the wait but after the check.

I don't know if Raymond's description is complete, but if it is then Windows WaitOnAddress suffers from the wakeup going to the wrong thread problem that I have written about in the past WRST to waitsets.

What this means in practice is that YOU SHOULD NEVER EVER USE WakeByAddressSingle. Always use WakeByAddressAll.

They could have made WakeByAddressSingle work if cancelled waits resignalled. (I wrote about this before wrst waitsets).

Let me state this again clearly :


When using a waitset with preparewait -> commit_wait / cancel_wait

if you want single thread wakeups to work in a useful way

then cancel_wait must pass on consumed but unneeded signals

If Raymond's description is correct, Windows does not do this. I have not tested this, he may have just left it out of his description.

In any case, doing broadcast wakeups is generally a good idea with these kind of APIs anyway. There are a wide variety of ways that a single wakeup can not wake the thread that needs it.

(See for example this post on semaphores for previous discussion of the resignal problem). (god dammit I miss my blog autoposter, I miss those days of being able to write text blogs and post them to blogger, fucking fuck software)


ADD : In related news, I changed Oodle's ThinLock and ThinSem to use the NT Keyed Event. I'm quite amused by Keyed Event because it solves this double-check-race in such a different way (by making the Signal block until there is a waiter). It amuses me that there's such a different solution to this problem that works quite well and is actually simpler in the case of simple lock and sem.


10-17-16 | Design

Keys are de-facto used by turning them in the lock and then pulling on the key to open the door. With normal keys this wears the teeth of the key and also the tumbler, and over time damages the lock. This could be fixed easily by making the first tooth of the key a square-cut peg that doesn't go into the tumbler but rather catches against a flange so that you can use it to pull the lock without putting any stress on the delicate parts.

Drinking glasses should always have heavy bottoms and thin sides. You should be able to grab them with your eyes closed with no risk of tipping them over. Standard pint glasses and old fashioned glasses are excellent and almost every other glass is terrible.

The standard American coffee cup is a vulgar and awful item. They are typically low-fire ceramic. The walls of the side of the cup are too thick and rounded on top which makes them feel blunt and overly large on the lip. Coffee cups should be high-fire ceramic, and the rim should taper slightly so that it goes from about 6 mm of thickness through the sides of the cup down to 2 mm at the tip so that it feels delicate and precise on the lips.

Low fire ceramic in general is not a nice thing; it's too thick, and not dense enough. It's a bit like synthetic fabric. It doesn't matter how nice a thing you make from it, it's fundamentally a bit nasty.

Coffee served in a paper cup is fucking garbage and should be immediately thrown away. (yes I'm looking at you starbucks). The feel of the paper on your lips is vile, the smell of paper ruins the smell of the coffee, and worst of all the crema sticks to the paper and never reaches your mouth.

The old-style Melita cone dripper is the best way to make coffee. Sadly it seems this can no longer be purchased (if anyone has one, I want it! and no the knock-offs are not as good). The new style Melita dripper to me epitomizes everything bad about capitalism and modern non-functional design. It's simply worse (higher center of gravity = more prone to tipping, and stupid window = cools the coffee), and yet it's "good design". The glass and ceramic drippers aren't as good as the cheap plastic one. The existance of other ways to make coffee speaks to me of the stupidity of consumers and the pointless endless cycle of advertising and marketing and consumption that doesn't actually make anything better. Aeropress, espresso machines, french presses, chemex one piece dripper carafes, etc. blah blah pointless stupid wastes of time and money. (and let us not even speak about K-cups) The simple old plastic dipper cone is a beautiful object of pure function and economy that speaks to me of intelligent design that cares about doing the job well and efficiently with no nonsense.

Bowls should always have feet that are unglazed. The foot is one of the most important parts of any piece of ceramic and is often neglected by both throwers and industrial designers. Bowls with fully glazed bottoms are garbage. The unglazed foot provides something a bit rough to keep the bowl in place on the table. It should not be so rough that it scratches the table - hand throwers should sand the foot after firing so that it has the natural grit of unglazed ceramic but no sharp edges. The foot should be wide enough so that the bowl has no propensity to tip, but not so wide that it spoils the shape of the curve.

The rims of bowls should always have a lip that's slightly thicker than the wall. This gives you something for your fingers to rest against when you hold it. On hand-thrown bowls it provides strength to the circular shape at the lip. It also aesthetically demonstrates the solidity of the circle, it feels honest and simple, a bit like exposed beams in a building, it makes the occupant feel more secure to see the structural element, even if it's not necessary for the integrity of the construction.

The correct dish for a child is a very low wide bowl, with a hard bend to the walls, not a smooth curve. Alternatively you may think of it as a plate with a vertical wall around it. It should be heavy ceramic, not light plastic. It should have an unglazed foot that is very wide, so it is stable and doesn't slide. Children eat by scooping food and often push it to the edge of the bowl. They should be able to push a utensil against the side of the dish and there should be no tipping, spilling, or sliding. With a dish such as this, even a one year old can easily eat on their own.

Light bulbs should always be incandescent. Fancy filaments and flourescents and LEDs all ruin a room. (fancy filaments at very low power are okay as objects of art, but not as a sources of illumination). Light sources should never be in your field of view unobscured or undiffused. The absolute best possible light source is a large north-facing window. The best artifical light source is a chalice-style lamp hung from a high ceiling.


10-16-16 | Cancer

You see this touted as heroic; oh so and so bravely struggled against cancer, so and so fought off a terrible cancer, what a hero!

Hero? No. Selfish prick, yes. Oh, I have a terrible disease that kills 90% of people, but I'm special. I'm not going to just cheaply die. My life is worth so damn much, I'm such a fucking gift to the planet that I'm going to take millions of your dollars and years of research and doctors time, because I need to maybe live a tiny bit more.

Fuck you, what conceit! If you're at a gala event and they introduce "Jim who's bravely fighting leukemia" ; fuck you Jim! You're costing me $1000 ! Your life is not worth $1000 and fuck the system that lets you just take from me without my approval. I could save a thousand third world lives with the amount you're spending on yourself you selfish prick.


When someone kills themselves, their family should be paid the expected cost of that person over the remainder of their lifetime.

The worst thing you can do for the world is be alive. All the resources you consume, the toxic coal strip-mining that's done for you, the global warming you cause, all the social security payments you will need and all the health care in your old age. If someone who's 60 years old kills themselves, the benefit to the world is *huge*, what's it worth, a million dollars?


ADD : Obviously I'm being a huge dick in this post just to be provocative, which I know is childish and something I've tried to cut out. (I used to have a bad habit of doing childish shit like talking about my poop at formal dinners just to make the lord mayor drop his monacle, it's a bad habit).

What I'm trying to poke at in a shitty way is a serious issue.

The cost of health care in America is way too high. "Affordable Care" insurance costs around $4000/year if you never go to a doctor (more precisely $4632). Median personal income in the US is around $33,000. For people around that income, the cost of health care is completely back-breaking.

From the CDC, 2014 stats :


    Per capita national health expenditures: $9,523 
    Total national health expenditures: $3.0 trillion 
    Total national health expenditures as a percent of Gross Domestic Product: 17.5% 

Almost 20% of GDP is way the fuck out of control.

The problem is that when you choose to fight a very expensive disease, that doesn't just happen in a vacuum with no consequences. Your decision comes at the cost of others. You can find various statistics on this. The top 5% most expensive patients account for 50% of all healthcare spending; the top 10% account for 70% of all spending. 30% of Medicare spending is on patients in their last year of life.

The real concern is that the trend is for this to only get much worse. As the population ages, and we have better and better science to keep people alive longer (if we spend enough), we also have a health care system that has little motivation to control costs, that privatizes profit, and now by law requires everyone to share the cost by buying insurance.

Now of course with my sensible hat on, I don't expect patients to choose to decline care. Aside from people in fact being unbelievably selfish pricks ("I don't care if my SUV is deadly for everyone else in a crash, it keeps me and my children safe! fuck all y'all!"), it's obviously a very stressful situation to be in and they may have reduced mental function, and it's just not reasonable to expect them to make the decision themselves. It's also not reasonable to leave the decision up to the family, as even if the family thinks it would be best to end someone's life early, it's impossible to make that call.

There needs to be a better way for the health care system to decline care for elderly patients.


The current "Affordable Care" system is a horribly non-progressive way of distributing the cost of health care. A progressive way would just be to have it paid by the federal government through income taxes, which would put most of the cost on the wealthy. Instead everyone has to pay roughly the same premium, except the incredibly poor.

You may say "there are subsidies at the lowest income levels", but they're *ridiculously* low.

To get full subsidy you have to make below the federal poverty level, which is $11,880 for 1 person. Once you make 400% of the FPL ($47,520) the subsidy is gone completely.

If you make $23,760 (200% of FPL) you have to pay $1527/year just for insurance premiums, and of course any actual health care would be in your deductible and cost extra. (that's roughly the income level of a full-time minimum wage job at a $15 minimum wage)


I though the recent John Oliver on Opiods was an incredibly pussy weak take on the problem.

It's very easy and popular to blame it on the "evil pharma companies".

They're not the problem. The problem is the patients, and the attitude of just "give us more drugs" and "my doctor should never say no to me".

When people have a viral flu and go to their doctor and ask for antibiotics, if the doctor says "no", they go find a different doctor who will say yes. Doctors that say no to drugs get negative ratings. The whole health care system has no motivation to say no to patients, they just increase the cost and pass the cost on to everyone.

The problem is not "we need a better medicine for chronic pain", the problem is doctors need to say "you don't have chronic pain, get the fuck out of my office".

The American public is incredibly hypocritical and selfish about health care. People want infinite amounts of health care for themselves and for doctors to never say no or deny care, but they also want low costs. You can't have both! Back when Obamacare was being passed, the Republican propaganda machine distributed these talking points about "death panels", which of course was just pure fucking nonsense because Obamacare doesn't have death panels, and Medicare already did have cost-review boards that could deny care. But also, hey if you're the fucking Republicans that want small government and limited costs you should be *for* death panels.


ADD : For example, after this I injured my back. I was searching for doctors and reading doctor reviews for people who specialize in low back pain. Some of them have really terrible reviews from patients on healthgrades or whatever, and the reason is always because that doctor wouldn't give them the pain pills they wanted. The doctor tried to push physical therapy or whatever, so the patient goes on and writes a nasty angry review about the doctor "playing god" or "denying care".

Patients fucking suck, patients should not get what they want, and I suspect that most "patient advocacy groups" are pure evil.


My personal take on how to solve this problem is that we need two-tier health care.

The federal government should provide free health care for all that covers only critical problems in the most cost effective way.

eg. it should have cost caps on drugs (preferring generics when the newer solution isn't proven to be better, and requiring pharma to provide cheap drugs when there's no generic alternative).

It should pay for all the emergency rooms in the country, urgent care, concrete problems.

But if you come in with "chronic fatigue" or boner problems they tell you to GTFO.

Also if you have obesity related problems and aren't exercising, or if you're a smoker with lung disease or a drinker with liver problems they tell you to GTFO. Same thing for major diseases when you're over 80.

Then there could be private supplemental insurance on top of that for people who can afford it.


ADD : To continue to be a dick about this and dig myself in deeper, I saw this in the news : Afghan Whigs to play benefit concerts for guitarist with colon cancer .

This is exactly the kind of thing I'm talking about. Look, I love(d) the Afghan Whigs. They made great music. I have nothing against Dave Rosser, he might be an awesome dude. He has "inoperable colon cancer" and he's getting all this attention and effort to raise all this money. You know, fuck you Dave Rosser. You could save *thousands* of people around the world with that money and effort. There are people dying of horrible things that are easy to prevent, like shit in their drinking water.


10-16-16 | Rotten World

When you're 3 you can dress up as a princess and everyone smiles at you and says "so cute".

When you're 39 if you dress up as a princess people will calls the cops when you try to swing at the playground.

Fucking rotten world.


10-16-16 | Reminder

The carnage in Syria has almost nothing to do with ISIS. The main thing that's going on is the mass-murder of civilians by Assad and the Russians. The pro-democracy resistance was initially supported by the US, including CIA training and arms, but we've abandoned them as the Russians have been dropping bombs on hospitals and schools and funerals.

One of the justifications for the ridiculous Iraq war was that "Saddam is a bad guy and has chemical weapons which he once used on his people" even though he wasn't really actively doing anything bad at that moment (in fact the sanctions and inspection program from the previous Iraq war had worked great). Now Assad actually does use chemical weapons on his own people and we shrug. Not theoretical chemical weapons use or past, but present.

Saudi Arabia has probably beheaded more people than ISIS. Oh ISIS is so horrible what monsters, everyone is outraged. Yeah, Saudi Arabia does that all the fucking time. And they're our great buddies that we send arms to.

Of course Saudi Arabia is also the #1 world sponsor of terrorism (in terms of financing).

The insane Republican spin machine loves to talk about "corrupt" Hillary Clinton and her ties to the Clinton foundation and conflicts of interest and how buddy-buddy she is with wall street. Umm, Carlyle Group? (and etc. the conflicts of interest in our recent past politicians are so vast they're hard to comprehend)

Hank Paulson. Robert Rubin. Maybe we could get someone to run Treasury that's not straight out of Goldman or Citigroup?

When people like the GM executives or the Takata executives decide not to fix a known lethal defect because it would be too expensive, why don't they go to jail for murder?

etc.


10-16-16 | Retreat and Defeat

I am retreating. I am defeated.

I can't stand to be around the fuckers that make life rotten so I just do less and less.


10-16-16 | Organic

Just a friendly reminder that "organic" food is total bullshit and is most likely worse for the environment than conventionally grown foods.

The "organic" you get in the grocery store (eg. Whole Foods, PCC, New Seasons, etc.) is grown in big farms that use nitrogen fertilizer and chemical pesticides. The only difference with conventional growing is that their chemicals are "naturally sourced", eg. not synthetic (though in fact, they often are actually synthetic, they're just synthesized versions of something that occurs naturally but it's cheaper to make it than extract it).

This is almost certainly worse. The "organic" pesticides are much longer lasting, much wider spectrum. In contrast some of the good conventional pesticides are designed to target only specific insects and to decay very quickly.

Now I certainly take the pro-conventional pesticide propaganda with a lot of salt; just because they've designed these chemicals to work in a certain way doesn't mean they always succeed without long term nasty side effects. But the way the "organic" industry dumps loads of weakly regulated "natural" chemicals on its products should cause much concern.


One of the great sad jokes is when companies come out with a new product that has "less long term side effects" than the older alternative.

We see this all the time - birth control, pain killers, pesticides, etc. Oh, look this old product that's been studied for 50 years has these small known side effects, here take this new thing it has no (known) long term side effects!

Eh. Yeah, it has no known long term side effects because it's *new*. Not because it's actually known to be better. You just want to use the population as your long term test set, and we won't know if it's actually better for another 20 years.


10-16-16 | Software

When I was a teen, I was so excited by the possibilities of computers, and all the change that was obviously about to happen in the world. I was constantly seeing ways that software would make our lives better. I would go to the library, and they'd have paper cart catalogs, and microfiche, and I'd think got this so fucking dumb, obviously this should all be on computers and it would be so much better.

These days I spend most of those kind of moments thinking about how software makes things *worse* and wishing it would go away.

For example my microwave has a bug that makes it so that if I turn the light on and then cycle the fan in some way, the light won't turn off again. Why can't I just have a fucking mechanical switch for the fan and the light? Get rid of all the control circuity and just give me single mechanical switches that toggle power to simple devices. N's fume hood has some kind of bug that makes it beep all the time.

Back in my teens I used to fill out forms on paper and think "god this is stupid, this should be electronic, I should be able to just type this in". Nowadays half the time I get an electronic form I wish it was just fucking paper.

The problem is not that software is inherently bad, it's that people use it wrong. You should make the simplest, most robust, most predictable possible solution to the problem. For example, electronic forms should always just be plain text, they should never change as you edit or re-flow or try to predict anything, they should never load pages as you go, you should never be able to lose your progress. Typing is better than writing with a pen, yes. That should be the *only* difference.


Most of the tech email threads & blogs that I see these days I just don't even comment on. I'm not sure where to start. I see people talking about doing crazy things with code (write your own mutex!) or some new algorithm or whatever, and I just don't understand it. What problem are you actually solving? What is the specific situation that's a problem and why is that the solution?


10-11-16 | Trump

Trump reminds me a bit of the experience of being beaten up by bullies as a kid.

50% of the populace around you are liberals or sympathetic or whatever, but they just sort of stand around going "oh how horrible" and not doing anything.

50% of the populace laughs or cheers him on. They think it's a Darwinian example of the fitter and more deserving taking from the weak. That's just good business.


10-11-16 | Whoah

I just typed "web\n" at the command line (accidentally) and discovered that I have a web.bat which does this :

c:\progs\wsapps\netscape\program\netscape.exe %1 %2 %3 %4

Whoah. That's old.


10-05-16 | Presents

We're getting into the parenting phase where we have to hang out with other kids and go to parties and such.

Jesus christ other kids and parents suck so bad. We went to a kid music show last week which was pretty righteous (Red Yarn in Portland, good stuff). There's like a kid dance floor area, so Emmy runs up to dance around. Some big kids are kind of slam-dancing around wildly bumping her, whatever, such is life. The thing that drove me nuts is the other parents who go up and sit right next to their kid on the dance floor, so it winds up totally jammed up with fucking fat tubby shit parents sitting around, so the kids are literally tripping and falling over the dumb fuck parents. God you're all such brain damaged turds, they've set up fucking chairs all around the perimeter for the parents to sit in so that you don't sit in the middle and you're either too fucking stupid to realize or you're just so selfish and inconsiderate that you don't care.

Birthday parties where you're expected to bring presents are totally fucking unreasonable.

I'm supposed to buy a present for some kid? I don't fucking know this kid, I don't know what he has or what he's into. Kids are vastly different, I can't really buy him a book, because kids interests and levels are totally different. Only family and close friends that actually know the right stuff to buy should be buying presents.

When I'm invited to a kid party with presents I want to bring something really fucking rotten to teach the damn parents a lesson for being so fucking stupid as to have a party that doesn't say "NO PRESENTS".

Like get them professional clown face paint that's not washable. Or lots of silly string. Something the parents will have to clean up. Fuck you parents. You shoulda said no presents.

Get them a puppy. Here, take care of this for 20 years!

For like a 7 year old boy, get them throwing stars and fireworks. So the parents get to deal with the tantrum when the take it away.

Get them one of those aggressively inappropriate educational books about "why mommy and daddy lie together and make grunting noises" or "timmy likes other boys and that's okay".

Get them some really annoying electronic toys that make horrible noises over and over, like those awful laser guns or one of those sound boxes where you push the button and it says phrases. Listen to this you fucking parent!


10-04-16 | Utopia

The city could have streets full of bikes and pedestrians. Street cars run slowly down the middle of the street, never stopping, people can just hop on and off. The side walks are wide and lined with trees. Cafes have chairs and tables out on nice days. Restaurants are simple and unpretentious, with only a few things on the menu that they make perfectly, as they have done for years. The lake is motor-free and lined with parks and beaches. A bike paths runs the whole way around the water front, with cafes and restaurants along the shores.

The city is dense apartments. Sub woofers and dogs are banned. Ceilings are 14 feet high and all apartments must have windows on two different faces of the building. In every apartment building is a little neighborhood restaurant that can't be found on the internet. Food is always served family style. In every apartment is a pub; when you want to watch the sports game or have friends over, you go to your building's pub. Most nights in the pub there's a sing-song. Nobody is so boorish as to stumble out of the pub and yell "woo".


10-04-16 | City Life

I suppose I might like the city life if I had friends to explore it with. The city is a playground, full of food and drink and shows and events, you can run around and partake of it, but only if you have the right friends that make it fun. You have to be open to the possibility of enjoying anything you explore, but also ready to laugh at it and move on.

If I'm just gonna sit home and mope, there's no point to being in the city.

I love the city at night. When the streets are mostly empty of cars. Lights shining on the black asphalt that shimmers with fresnel specular. It's a lovely time to bike around the city. I love going to a bar in the city at night, though don't really want to drink or chase women or any of that. The best part is just walking in the canyons of tall buildings, the strange way the sound of cars echoes around.


10-04-16 | Resolution

I'd rather have 480p video at 266 kilobytes per second (~ 500 MB for 30 minutes) than 720p.

Give me lower res without artifacts. Fuck 4k video. That's the last thing I need. Tons of pixels with no fucking bits of information, so you just get huge swaths of smooth gradient, faked edges, big distorty chunky artifacts or big shifting cubism-esque shapes. Yuck. I don't need 1080.

Just give me fucking 480 with enough bits so it isn't mushy blocky garbage.


10-03-16 | Passwords

Of course browsers should never store, or even *see* plain text passwords.

It might work like this :

You have a password manager program on your PC that stores passwords for lots of sites. (stored encrypted).

Some web site wants you to log in. It gives you a password entry dialog, and a public key.

You copy that public key and paste it in your password manager.

The password manager encrypts your password for that site. You paste the *encrypted* password in the log in prompt.

The web site has the private key to decrypt the password.

At no point does your browser get your password.

(of course the web site you're logging into still has it, and probably just hands it out to hackers, fixing client-side security leaks is such a tiny issue right now compared to the massive server-side leaks)


10-03-16 | Poker

I watched a tiny bit of the WSOP and it got me a little bit excited about poker again.

The 2016 High Roller for One Drop is pretty good. Particularly later on when Brian Rast joins the commentary.

I think that we're still pretty far off optimal NLHE strategy. It will be intriguing to see what the computers come up with for truly optimal NLHE strategy when the algorithms get good enough to process that.

Personally my suspicion is that (in cash games, not tournaments) optimal NLHE strategy involves *way* more big bets than people typically play. The very top nutty online kids play this way a bit.

eg. you see the mediocre TAG pros talking about "pot control" a lot, but in fact if you ever see that somebody is intentionally playing pot control, you know they don't have a monster so you can shove on them.

There are SOooo many spots where TAGs basically telegraph their hand. For example on 2-suited flops if a TAG shoves it's either a good flush draw or a set. They don't mix up their range nearly enough, and you can quite often get into situations on the turn where you know their range extremely well. That lets you possibly shove big as a bluff, which then you balance by also shoving big for value.

You still see "good" players analyze hands based on the "story" and "what makes sense". So let's say they bet a 2-suited flop and you call. River comes the third of the suit and they make a small blocking bet, and you shove. They conclude you "must have the flush" or "it's the only thing that makes sense". If anyone thinks like that, you should shove on them all the time. But you rarely see people shoving that much (except at the highest levels). It just shows that the average "solid" player is still way off a proper balanced play.


10-02-16 | Ugh

I'm trying to get myself motivated to finish my JPEG Decoder (with deblocking, deringing, likely source image hypotheses, chroma from luma, etc.) and I just can't get excited about it.

What is the point of anything?

I could write this really awesome JPEG decoder, and post it up on my web site, and then what?

1. Decode JPEGs
2. Power
3. Women
except not. Nothing good happens. So fuck it.

My only motivation is to tear down all these dumb fuckers who use the JPEG strawman. "Oh waa JPEG at low bit-rate is so blocky". No it isn't. If you use a shitty decoder that doesn't do deblocking it is. So don't do that.

The problem is that I have no need for this super JPEG decoder myself. I need a project that's something that I personally want to use.


10-01-16 | JPEG

It's standard practice to compare against a straw-man of JPEG-Huff at low quality.

(I've written in the past about various problems with this; eg. JPEG is not designed for low bit rates; it's very easy to put a modern back-end on it; of course you can use a deblocking decoder; you're comparing a very fast JPEG-huff decoder vs. much more expensive new algorithms, the JPEG-huff should get that spare CPU time to do post-processing; etc. etc. I'm not talking about those errors here.)

Then in order to show how "JPEG is bad" they will show zoomed up regions of each image so you can see the JPEG artifacts.

Doing this reflects a complete lack of understanding of JPEG, image compression, the DCT and CSF's.

JPEG is *not* scale invariant. Optical frequency response and the threshold of visibility is not scale invariant. When you zoom up a JPEG-compressed image by 8X to show its artifacts you are completely invalidating the basis of JPEG.

JPEG is built on assumptions about viewing distance and resolution. It needs to know roughly how much of an angle on the eyeball is swept by a single pixel in order to make good frequency-visibility thresholds.

This is not just true of JPEG, it's true of almost all lossy image compression, whether they authors are aware of it or not. Any format that discards high frequency information is doing this in some way or another. (eg. just doing something like chroma subsampling is only really valid at certain pixel sizes).

Now, this is in fact an important point to remember and is a drawback of JPEG and all lossy image formats. They should be used at the correct resolution for the display.

eg. a super high resolution image on a 4k display will have much smaller pixels than what JPEG was built for. This measn you should be using a very different CSF matrix. (and ideally larger DCT blocks as well)

This is part of why I never loved the JPEG -> BC1 image compression thing for games. Game textures can be viewed at a wide variety of zooms, which invalidates the basis of JPEG. (the other reason of course being that orthogonal lossy formats add up errors). And of course anything other than just displaying the pixel values invalidates the assumptions of JPEG (eg. if you do any math on the color values, such as adjusting brightness/contrast or using them as a texture on a lit model).

Anybody who tells you their lossy image compressor is "visually lossless" is a charlatan. Maybe it is, in a specific room, on a specific monitor, at a certain display res, at a certain brightness/contrast, at a certain scaling.


10-01-16 | The T-Shirt

I have a T-shirt with a small tear where the collar meets the body. I think it would be a simple repair, but to take it to a tailor in America would cost at least $10 (plus my time, which would be much more, plus gas and so on). It's incredibly expensive.

To buy a whole new T-shirt is around $10 at H&M or uniqlo or whatever. And that's even in a retail store, where most of the cost is the rent and the American retail employees.

If you order the exact same shirt direct from Asia, it's more like $5 , or even less without shipping.

It's quite staggering to me. Having an American sew one line for a few seconds costs more than having someone grow the cotton, pick it, comb it, spin it, weave it, send the fabric to a market where it's traded and then shipped from Bangladesh to Malaysia (or whatever), cut into patterns, sew the whole shirt, bag it, put it on a giant boat and ship it across the world.

Part of it is just hey, mass production works. But part of it is jesus America is expensive.


10-01-16 | The Toaster

I want a piece of toast in the morning. I go to turn on my toaster.

Booting ... booting ...

Okay, it's up. Hmm, it's not responding to buttons. Oh crap the network light is flashing, it must be downloading updates. Go do other things for an hour ...

Okay, it's ready. Put in some toast. It won't start. WTF WTF. Google it. Oh, I see, in the update they randomly changed the UI and now I have to push and hold the "toast" button while I slide the lever down.

Fuck it's burning! It won't pop up! Is it another UI problem? Fuck fuck why is it burning! Unplug it.

Suddenly my fridge starts shooting out ice and my lights starting flashing off and on. God dammit the toaster update had a security leak and now I've been hacked.

I need to go outside to flip off all the breakers to shut off all the power. Try to open my door. It won't open because the electronic door lock is getting DDoS attacked by the toaster.

Break a window, climb out, flip the breakers. Go find all the "factory reset" buttons on everything.

Okay, I still want some damn toast. Turn off my wifi so nobody can get to the net. I'll try just turning on the toaster with no net.

Nope. Flashing red failure light. It needs to get online to check certificates to make sure it's not a pirated toaster, it won't run without network.

ARG! Okay, turn on the net, power everything back up.

Turn on the toaster. Since it's wiped to factory reset, it needs to download all patches. There's no cumulative update so it has to get patch 1, then patch 2, ...

Maybe I'll have some toast tomorrow.


09-29-16 | Urg C

Note to self : never use "UL" as a suffix. "long" is 32-bits in MSVC and 64-bits on gcc/clang platforms (roughly).

I guess use "U" for 32-bit and "ULL" for 64-bit. Would be nice if we had "U32" and "U64" as suffixes for constants.

I've got a bunch of code that does : U32 x = stuff; U32 y = x * 0x12345678UL; which technically on gcc platforms is boosting that multiply to 64-bits and then truncating. Most likely that compiles just fine to a 32-bit multiply, but arg.

We have stdint for sized variable types, but don't have portable suffixes to put constants in those variables *banghead*.

ADD : correction : apparently this is just me being ignorant. There is "UINT32_C" etc. in stdint eg :

#define UINT32_C(x)  (x ## U)

Also I think that just not using the suffixes at all would be right 99% of the time, though you get annoying conversion warnings then. I got in the habit of sticking "UL" on everything which was apparently a bad habit to pick up.


09-28-16 | No no no no

I've seen a bunch of stuff lately along the lines of :

"We need a whole new security model for Linux, since Linux is now in cars, and door locks, and HVAC control and all these systems that don't get security patches and may be in the field for 20 years."

NO NO NO NO. The solution is to NOT PUT FUCKING LINUX IN MY FUCKING DOOR! God dammit a key worked just fine.

Oh and maybe when you have Linux in my car don't give it a fucking open wifi so that random people near me can hack my car. How about my car doesn't need to be fucking networked god dammit.

I feel like the whole "internet of things" is like a train running straight at a cliff and the proposed solution is to put padding on the front of the train. How about stop the train and admit this is a fucking retarded idea that does nothing good and lots of bad.


09-28-16 | Recommendation

"Memory Barriers: a Hardware View for Software Hackers"

Good intuitive intro to memory visibility issues.


09-27-16 | Computing Utopia

What if every app was in just a very simple language like C. Importantly a language that never updated so you never had compiler incompatibilities and oh I have to get the new JDK and oh crap this lib is not compatible with that one.

What if it was always JIT'ed. Maybe you cache compiled binaries on disk, but the compile is fast and modular, so you can change any part of it and it rebuilds instantly. You can delete the binaries and restart the app and it's fast and always builds without stupid install/config problems.

What if every app always came with source code, and never updated. So you can modify and tweak and play around and not have your changes wiped out.

What if every app was constantly hot-loaded from code and could drop & reload modules like DLLs, so you could edit on the fly. So if you're using some program and you don't like some dialog, you just go edit it and it's different.

What if a debugger was constantly running as part of the OS, and we had some kind of neat visual debugger that doesn't exist right now. Maybe power users would constantly have two screens and one was just the debugger all the time. The visual debugger would be constantly showing you in realtime what your machine was doing - disk IO, network usage, CPU usage, and not just graphs but call-trees, *who* was using it, down to the source code. You should be able to pause and scrub the timeline forward and back so you could trace what anything came from, go see that source code, modify it.

Tinkering, and editting, and making things your own is just a nice way to live.


09-27-16 | Safe Computing

Talked to Drew about this and think it's worth writing down.

The whole idea of signing / certificated and app stores and controlled portals for "safety" is such bullshit. It's for control. It's for profit.

Computing platforms should always be open. That's not contradictory with safety. You just need full sandboxing and fine grained permissions.

I should be able to download an exe from anywhere and run it and know it can do nothing bad to my computer.

It should start with a small default set of permissions, then have to ask to do anything else. If it wants to read/write files or use the network or any of that, it needs permission. As noted previously, the app should not get to know if I deny it permission, it just gets a kind of null version of that resource. You need fine grain control, like maybe I want to give this app access to load one particular file, but not free rein to read any file on my disk.

It's all pretty fucking obvious. It should be almost impossible to get a virus unless you intentionally give it permission to use your disk or write to your OS files or whatever. The whole idea that we need curated controlled app stores to have virus-free computing is a total load of shit.


09-27-16 | Cant go home again

Well I got sick of my Portland neighbor's constant fucking subwoofer dubstep pounding, so I went and yelled at them and complained to the management of the building.

Now I feel so uncomfortable about the situation that I never want to go to that apartment again.

Maybe I'll rent an AirBnB room the next time I go to Portland.


09-27-16 | Of Course

Trials should all be conducted by text terminal. The judge, jury, defendant, and jury should all be in separate rooms with only text terminals.

Things like the background of the defendent/victim should be inadmissable. (eg. race, are they an honor student, are they an athlete, etc.). It's unbelievable that judges actually say shit like "he has a promising future ahead of him" to student athletes and young rich kids and people like that, it's not your fucking job to decide who gets a future and who doesn't.

And it also removes the whole bullshit issue of "I trust his face" or people putting on sob shows, etc.


Of course job interviews should be done by text terminal.


T&C's and EULA's and so on should all be illegal. There should just be standard terms that are set by law, and businesses can't change them.

"Blah blah businesses have a right to set their own terms and if you don't like it, don't use them". Bullshit. Businesses have no rights, they are not human beings. If you want the *privilege* of doing business in my country, you play by my rules.

Consumers should be able to know they have fair and reasonable terms in normal business interactions like going to a doctor or renting a truck or buying some software with having to read pages of contracts.

And of course the idea that you can choose to say no to these contracts is ridiculous.

Health care is particularly disgusting. What are you supposed to do when you go to the hospital with a knife in your gut and they hand you pages of forms to sign that include shit like "we can bill for the amount in excess of what your health insurance allows" and "we're not liable even for gross negligence" and "we're allowed to try experimental unapproved procedures" etc. Say no? Bullshit.


09-26-16 | Repetition is the something ... repetition

Android Permissions is so obviously the wrong way to implement that.

I was trying to stop the fucking camera from automatically publicly geo-locating my photos.

So, disable location services right? Well, to do that you have to do it on "Google Play Services" which affects the whole fucking phone.

So, while I'm in there, fuck why not turn off some more permissions? Body sensors? Fuck that you don't get that permission.

But if you turn off body sensors, gmail throws a fit and pops up some shit every time you use it.

The right way to do app permissions is to not let the app know whether it has permission or not.

An app wants body sensors? It just gets default data.

An app wants my contacts list? It gets an empty list.

An app wants storage permission? It gets "/dev/null"

The app should never not run. The user should always get full control over what an app can do on the system. And it should be more fine grained. Obviously something like "Storage permission" is way too gross. There should be "read only permission" ; there should also be "write, but only new files, and only to the downloads folder" ; stuff like that.


09-26-16 | Fucking Google fuck fuck fuck

God dammit the fucking Android Camera + Google Photos is such a fucking nightmare clusterfuck.

I just want to be able to take photos on my phone and get them to my computer.

When I download media on my phone, don't just fucking upload those and and mix them in with my personal camera stream!

Now Android is automatically geo-tagging photos and trying to attach them to businesses. I take a picture with my phone and it asks me to upload it publicly tagged, "Is this at Privacy-Invaded Gelato?". There's no option to say "hmm, how about never fucking publicly tag any of my photos EVER", there's only a prompt to correct the location. (there's also no prompt to decapitate all the developers involved, so clearly they aren't interested in making the user happy).

Having photos that are in the cloud but not on the phone is a PITA, as is having photos on the phone that are not in the cloud. Both of which are quite useful for a variety of reasons. Like when I copy a fucking video to the phone via USB, maybe don't fucking upload that to cloud. Actually maybe don't upload anything to the cloud except photos from the camera, and/or give me fine grain control.

ARG god dammit. I swear the people who develop this shit must not actually use it themselves. Generally software is good when the developers use it themselves. (presumably everyone on the Win 10 team is running Win 7 on their home machines)


09-26-16 | Life

I've just had a bunch of intense days with Noemi and it feels wonderful. My head feels clear and calm, exhausted but at peace. I feel like I know what to do in life - just be with her, take care of her. It's good for me, to have that child's joy and play, to do all those activities, to get out of the house, to have someone other than myself to fixate on.

But a lot of it is just the constant business. I've written this before and I always forget it and get lost in my own vortex, but one of the absolute pitfals for me is free time, time to think about myself and my future, having to make plans or decisions. What's good is just being forced to deal with issues every moment, just surviving, just constantly putting out fires so you never have any break to stop and think about what's it all about or whatever fucking stupid thing you want to think about.

When I finally get her to sleep at 9:30 and I just collapse into bed and fall asleep immediately myself, that's a good day.

I really need to have something like that in my life; I dunno quite what it should be. Lately I've been day dreaming about having cattle; something like that, animals that depend on me that I just have to be constantly doing shit, mending fences, feeding them, getting them out of ditches, whatever it is, so that I don't have time to self destruct.

I'm too much of a weak coward to actually create that in my life, I think. But it seems like it might be good for me.

Hobbies like building your own house or whatever don't really work for me in the same way, because they require your own initiative to keep going each day. Same thing with shit like surfers or fishermen who have to catch the great swell, or wake at dawn for the best fishing, it's too easy for me to just say nope, fuck it, I'll stay in bed. I need it to be the cow's life that depends on me, something like a kid or an animal that I feel obligated and connected to, not just my own pleasure.


09-24-16 | God Dammit

I can't figure out where to live.

Oregon has got really nasty income tax capture rules. Even if I legitimately do all my work in WA and only spend my time in OR doing Noemi family days, if you live over 50% of your days there they count you as a full time Oregon citizen. They also have rules about "intention to base your family there" which Noemi going to school there could trigger even if I spend less than 50% of my time there. If I do 3/7 days as child care in OR I'm right on the edge, so even spending a handful of days just hanging out or working in Oregon would push me over.

That makes it very expensive for me to have a permanent home in Oregon. I'm so sick of going back and forth I just want a damn home! I want a quiet room with a bed. Ideally a bank vault.

So I thought okay, I'll just rent something nearby in WA as a temporary thing. But there's not much available, the rental market is crazy tight right now.

I don't understand why rent isn't just an auction. I'm sure there are nice rentals that are much cheaper than what I would pay. Why isn't rent an open auction? I never understood in hot city markets where 100 renters show up for an open renter, that just seems like bad capitalism, the demand is too high, the price should rise to reduce that demand to the natural equilibrium.

So I send an inquiry to a place that has a home for rent. They want to fill out some huge application and run a credit report before I'm even allowed to view the place. Fuck you, no. Oh right, I remember now, renting is fucking horrible. You get to be a landlord's bitch. Fuck.

So then I think maybe I'll just buy something cheap in WA to live for a few years. It's not really where I want to live, but hey interest rates are so cheap, I can just hold it a few years then move on to what I really want. It would give me time to look around without rushing, maybe even buy empty land and build my own place.

Then I remember the financial ass-rape of realtors & title and so on that would cost me around 10%. So I could buy a $500k home and the monthly payments are okay, but eating a fucking insane $50k transaction cost is not remotely okay.

Okay, so fuck that. I can't buy, I can't rent. RV ?


The 2-5 rule for homes now is kind of interesting.

(roughly, the rule now is that if you live in a home for 2 years out of the last 5, then you don't pay capital gains on the profits of the sale, up to $250k)

In the olden days, you had to take the profit and roll it into your next home purchase to avoid capital gains, but that's no longer the case.

It seems to me this presents an interesting option : buy & sell a home every 2 years, but keep them for 5. So you are getting 5 years worth of appreciation, but can sell every 2 years.

Of course you'd have to have your own real estate license to avoid the ass-raping transaction costs.

The whole real estate system is so fucking disgusting, it's unbelievable and so typically American. The components are :


Huge tax breaks for real estate profits (by law)

realtors + title insurance + etc. rape you on the transaction cost (by law)

mortgages allow you to leverage up an investment

mortgages are given as liberally as possible and packaged up & resold

the resold-mortgage market is backed by the huge semi-public FM's which secure that market

Anyway. The supposed reason for the 2-5 rule is to prevent real estate speculation, since you have to live in it as your primary home for 2 years you can't just be buying and flipping properties and avoid capital gains. But that's fucking ridiculous. As in everything in America, the people who are really flipping and speculating are doing it as corporations; whenever they sell a home they roll the profit into buying another, so they never make capital gains and never pay taxes. So in fact flipping is not prevented and it just punishes individuals who have to sell a home and don't meet the rule for whatever reason.


09-23-16 | Refuge

I would like to have a place where I don't feel like I'm under attack.

No neighbors blasting subwoofers, no barking dogs, no smoke fumes in my windows, no neighbors moving my property line pins or putting up illegal fences or cutting trees on my property. No cars trying to run me over, no road ragers, no one stealing my work or nit picking stupid shit, no constant nastiness and snarkiness, no one yelling at me or throwing plates at me, no one getting me to open up about my most private tender issues and then rubbing them in my face.

Just a place to be safe and left alone. I have this dream of some land in the middle of nowhere with just no one the fuck around. No internet access, no neighbors. Peace.

I suppose it's an impossible goal. There will always be invaders. In the country you have shit like people tresspassing on your property to hunt or just shoot at shit, neighbors dogs running on your property to kill your chickens, all that kind of shit.

Maybe I could electric fence the whole perimeter. But you still get shit like the fucking oil trains derailing and spilling into your swimming river, which is a kind of assault. You might have either private people or the government flying drones over you, filming you. You can never get away from the invasion.


09-20-16 | Standup Comedy

Rape rape rape. Murder babies.

I'm fat and ugly and also a slutty whore! I'm lonely and desperate. I masturbate and poop.

We all masturbate and poop!

I'm so selfish and a terrible terrible parent. Child abuse. Racism! I'm so racist.

Rape rape rape. Murder babies. Cunt!

Am I funny yet?


The other standard form for standup comedy these days seems to be the personal story (ala Tig et al).

Whether you enjoy these stories or not, they're almost never funny. They're just spoken word, or a "one person show" or a confessional; they belong on "The Moth" or some NYC open mic night. They're not comedy. Tell some damn jokes. (Though I guess "not funny" is pretty standard for "comedy" these days; see eg. "Louie" or "Master of None" ; bleh yeuck)

I find these confessional / story comedians kind of disgustingly smarmy and needy and PC and audience-baiting.

Real stand-up is powerful because it allows you to judge the performer and perhaps hate them.

That's very rare in our society. It's a forum where people can say outrageous things; either over-sharing personal stuff or saying truths that we don't normally share, and we as the audience are free to judge and either admit "yeah I secretly want to murder babies too" or jeer at them.

The thing I really don't like about this personal story crap is that it feels like somebody telling a story at group therapy, where you are forced to go "aww" and be supportive and encouraging, it's a "safe space" for sharing and all that shit.

These people telling stories about having diseases, or being raped, or whatever horrible thing, you have to be all sympathetic and blah blah. It's sort of emotional response bullying. It removes one of the most awesome things about stand-up which is how dangerous it is, that the audience is allowed to hate you.


09-20-16 | Shitty

Sometimes I'm mean to you just because I want you to leave me the fuck alone. I get increasingly pissy and terse and eventually just start attacking you because I NEED SOME FUCKING SPACE. Yes, it's shitty of me, but it's also really fucking shitty of you that you don't just leave me alone the first time when I ask nicely.

Sometimes I overact my ailments. Like waa I had a hard day, work is so hard and stressful. Or waa I'm having such a bad allergy attack my eyes are burning, plbbbbt big nose blows. Yes, you know what, it's not really that bad, I didn't need some of those sniffles and eye rubs, I could totally get over it. But fuck you, you could've just been sweet to me when I asked, before I did any over-acting and just said hey I'm having a hard time, please be sweet to me, and you didn't do it, and I had to do some ridiculous dicky over-acting to get any sympathy. Yeah, fuck you for that.


09-20-16 | The Hydra

(not my compressor)

Black Lives Matter will come to nothing. Occupy Wallstreet and so on led to nothing. The anti-free-trade protests came to nothing.

You can't attack the beast that way. When you attack any one issue, they just bend, stall, make some "reforms" that "take time", set up some committees. Maybe some small changes happen, but mostly they just wait out the short attention span of the modern protest movement. In a few years, it's back to business as usual.

You can chop off one head of the Hydra, but another pops up. You can't win that way.

The only thing that matters is structural reform. You must attack the heart of the beast, or nothing else will ever change and last.


One of the great tragedies of life is there are all these people who really want to do something to make the world better, want to either give money or time or even dedicate their whole lives, and there's not any great venue to turn that desire into useful action.


09-20-16 | The Void

I see no future, I have no direction. I want to just buckle down and work on something and avoid life but I don't know what to work on. What the fuck is the point of working on tech? Tech is not the problem with software. There are millions of fucking awful things in the software that I use every day and none of them are tech / algorithmic problems that require any innovation.

When I was young I used to be so excited about computers. They were this new obviously better way of doing lots of things. I'd go to the library and they'd still have paper card catalogs, and it'd be like whoah obviously that should be on computers. I'd drive around and think obviously all the street lights should be networked so they can be timed to make non-stop flow with the dominant traffic.

Now I just never see a problem and think "computers will make that better". Instead I do something like buy a toaster and think "my god please don't have a fucking computer in here" and with many devices (like cars) I believe that I'm now stuck in a retro-grouch world where I'll never be able to buy a new one and will be stuck maintaining old ones.

I guess I've always been miserable, the present always looks like shit to me, but at times I've been sustained by hope, some goal, some idea of something in the future being better, or even just a dream, just a dream of some vision, a sweet love, a place in the country, whatever. Right now I have no dream and it's bleak.


09-19-16 | The Easy Fix

What if fucking web browsers just displayed text and images?

Pages would load super fast, instantly layout, never re-flow, never hang or glitch.

Best of all there would never ever be a security hole. Because they fundamentally couldn't run scripts, couldn't execute arbitrary code.


09-15-16 | The Yoke on my Back

My current expenses for just rent + child support + alimony is right around $10,000 / month. That's not including food or insurance or preschool or phone plan or anything like that. Just basic survival without any splurging costs me around $14,000 / mo = ~ $170k / year. (granted it's a pretty high level of basic survival compared to most of the world, in that my fucking shitty apartment is close to my work and has a washer & dryer).

That's a fuck of a lot of Oodle I have to sell just to survive.

FUCK !

Oh shit, actually it's a lot more than that, I forgot income tax. To get 170k after tax, I have to make around $280k before tax. Insane.

The American cost of living is not viable. We're due for a big collapse.


09-15-16 | Consequences

Guns should fire backwards (to kill their user) 10% of the time. That way you would still want to use them if your life really was in danger, but if it wasn't then you wouldn't want to take that risk.


09-14-16 | Default

Sometimes I contemplate whether we could change the default in some cases of assigning blame.

Like any time there's a traffic accident, assume the driver was negligent or willfully incompetent. If they killed a pedestrian, it's murder. If you crash into another car, it's assault. You have to specifically prove some kind of circumstance that mitigates it to get down to manslaughter or less. (instead of the way it is now, which is that the default is no blame at all, and you have to specifically prove some kind of intention to kill). If someone takes a defense like "I pressed the wrong pedal" that should be jail time, not "oh its an accident".

Of course in reality this would just mean that poor people go to jail and the rich get off, so maybe not great in practice.

I often think about corporate responsibility. What if any time a corporation committed a crime, the CEO was by default held personally responsible. Instead of having to prove that they okay'ed it, flip it so that they have to specifically prove that they *didn't* okay it. And even if they do prove that they didn't know about it, then they're automatically fired with no pay for being so incompetent that they didn't know their own company was committing massive crimes.


09-14-16 | 100 Percent

There's this idea that you can qualify people or choices and rule out the bad ones. It's total bullshit, because 100% of the choices are fucked.

We've had consistent problems with preschools allowing fucking asshole boys to beat up on our girl. So when I go to check out the new potential preschool, I ask "if you have a behavior problem, like a kid being rough with another kid, how do you handle it?" and the teacher tells me "we teach 'conflict resolution' so the kids learn how to handle their own problem".

Oh, okay, that's totally reasonable, because a 3 year old girl can totally handle a 6 year old boy beating up on her. She just needs to be taught 'conflict resolution' and then it's totally fine for the adults to cop out and not take any responsibility. Great plan.

So obviously I should rule that school out, but it's just 100% of preschools now that totally fail to discipline violence because of the fucking stupid trendy group-think "no spanking" and all that. Hey, sure, you don't beat kids with a belt when they fail to call you "sir" like in the bad old days, but when boys are violent with little girls you FUCKING SMASH THEIR FACE and flush them down the toilet.

It reminds me of when I used to go on job interviews, and I would try to qualify the company. I'd ask questions like : "so, if I'm in programming but I think that the game is really doing something wrong in design, how do I address that, like is there a system in place for bringing major issues to the attention of someone that can cross jurisdictional boundaries?" and the widespread response I got to questions like that was "uh..." , usually followed by a 'conflict resolution' style cop-out of "oh, you just talk to the person". Oh, right, because when things like the story fiction is way the fuck off track, like embarassingly so, it totally works great to just talk to the story guy about it. Yeah, you totally don't need a system to raise major issues.

But again that's like 100% of companies.

If you're on a first date, and a girl says something like "you better not sleep with me then never call me again, ha ha, you wouldn't do that would you? because if you do, I'll murder you; ha ha just kidding ,no not really, ha ha", you should just walk away. Okay, you're fucking crazy, I need to have nothing to do with you.

But again that's like 100%.

If you rule people out based on obvious signs of fucking danger and incompetence, you're left with nothing.


09-14-16 | Brain Damage

Everyone seems to be on Xanax or Oxy or Prozac or some other insane fucking drug these days. I've seen figured like 10-20% of the population is either on an opiate or an anti-anxiety drug or an anti-depressant.

The whole prescription recreational drug industry is so disgusting. If we weren't a morally bankrupt country & society, all these pharma companies would be out of business and all the doctors that are prescribing this shit would be in jail. Here, have some fucking opiates. It's okay, they're "medicine". Weed is bad, don't touch that. Yes it's paid for by everyone through insurance! And overdose deaths are an unfortunate consequence, the benefits far outweigh the risks, we're helping all the people with their "chronic pain", of course nobody would ever mix drugs or take them with alcohol, that would be dangerous and is impossible for us to foresee. Fuckers. You murdered Prince you fuckers, all in jail.

Anyway. I've never taken any of that stuff because I don't want pharmaceutical chemicals that fuck with my brain. I feel like it's so crazy to tamper with your long-term brain chemistry like that.

On the other hand, today I realized that going through years of life with deep depression and anger, or manic-depression, or social anxiety and all the related alienation, and just nights of self-loathing and futility and rage - yeah that's probably not good for my long term brain chemistry either. Just because all those negative chemicals are being made by my own body doesn't mean they're harmless.


09-14-16 | How to fix a race bug

So you have a nasty rare random race bug that you can't track down in any kind of reproducible way. Here's how to fix it :

1. Just randomly change bits of code. This doesn't actually fix anything, but it makes the race no longer occur in the one way you know to (sometimes) reproduce it.

2. Just randomly add lots of mutexes. They don't actually protect anything that needs it, but they do cause your threads to synchronize so they run in lock-step and you don't actually have simultaneous threading any more, so no race can occur!

3. Just throw out all your code and start over. Hope it doesn't happen in the new code.

I'm pretty sure those are the only ways to fix race bugs. Nobody ever actually isolates them and understands what's happening.


09-12-16 | MotoGP is fucking amazing

Best racing series ever. The guys are gods, the way it's run is pretty fucking reasonable and no-nonsense, it's just so much win.

Best MotoGP reading I know of : motomatters.com & Mat Oxley's column at Motorsport Magazine.

One thing I'm very interested in that nobody ever talks about is what actually makes the bikes different?

The commentators tend to focus on the tires which is boring and too obvious.

What is it about the Yamaha that makes it better in the corners? Why can't Yamaha then develop an engine that's as good as the Ducati? Why is the Honda's engine harsher?

It's really amazing how the series has found a balance where the bikes and individuals riding style are so different, and yet competitive. That's what you want in racing, like when the Minis jumped into rallying and touring cars and were much slower on the straights but faster in the corners, but could sometimes win, that's awesome when you have really different character, different approaches to being fast but get the balance right.


09-12-16 | Driving

A couple of weeks ago I did the drive from Seattle to Portland via FR 25, Randle to Northwoods, then Wind River Rd down to Carson.

I'd done 25 - 99 to Windy Ridge and the back side of Mt St Helens before, I've been wanting to complete the route for a long time but haven't made the time; it takes almost a full day to do Seattle - Portland that way, and of course you need time for breaks to get refreshed and sharp.

Driving the 25 fast is no fucking joke. It's windy, occasionally on steep cliff edges. You're often in the forest where there's all the sun-shade-sun-shade dappled shit that is so hard to see in.

The road has many large pot-holes and other pavement problems that are very dangerous. There are also deep undulations, places where the dirt under the road is washing out or something so the road has sunk and there's now not a pot-hole but a deep smooth trough. These undulations gave me some of my scariest moments; when you hit them, your suspension bounces and you're suddenly airborne with no traction at all; I hit one and my rear end popped up and flew sideways across the road.

Driving it in the M3 was like a fucking battle. It was physical, rough. To drive that car in those conditions you have to man-handle it; it's not a fine finness car, delicate turning and throttle, you wrestle it. When you hit pot-holes and undulations it will try to jump off the road and you have to grab that mother fucker and wrestle it back on. I was holding the wheel with my elbows out for leverage to really wrassle that bitch.

It was amazing. The whizz of that creamy I6 as it runs up the revs. The snappy change of direction, and the way you can use the throttle to snap around the turns.

After the 25, I came upon the Lewis River and jumped in its icy waters to refresh and reset after the period of intense attack.

Wind River Rd is much milder, it has some sweet windy bits, but it's all nicely paved with none of the terrifying jumps and holes that make the 25 such a scary dangerous run.

It was a good day.


ADD : it also reminds me that the #1 thing that would improve the usability of the M3 in the real world (on imperfect roads) is better suspension. And "better" does not mean "firmer". The main issue is length of travel. It needs way longer travel, it needs to be softer over little bumps, more grip on washboard, more predictable grip.

You never hear about this in car reviews, the car makers aren't catering to real world performance at all. If anything the M3 suspensions have gotten *worse* since the E46 (in the E92 and F80) ; better on perfect smooth roads, in some ways they have better geometry, but they have even less travel, which leads to terribly unpredictable performance, huge jumps in spring rate when you get into the bump stop.

The thing that I actually want from cars is predictability and linearity. That is, loss of grip should be gradual and with lots of feedback. Very slightly different inputs should lead to only very slightly different results. Almost all cars epic fail on this.


09-10-16 | Depression

I often see people who are able to do something really remarkable in their lives, something fun and satisfying and beautiful, like maybe they're a professional dancer, or they play in a band with a cool group of friends where they can really jam and feel connected and free on stage, or maybe they can drive a race car. So many of them hit some point, in their mid 30s or whenever, and decide they've had enough of that and just stop. WTF?

You have a reason to live. You have a reason to wake up each morning, how the fuck can you give that up?

And how stupid am I that I haven't worked harder to be able to do anything really magical and meaningful in my life?


09-09-16 | Brave

People these days talk about how they're "trying to be more vulnerable" or trying to be brave enough to show their real selves and be vulnerable and so on. It's fucking total self-indulgent bullshit.

Do you know what happens when you're honestly legitimately vulnerable with strangers? They pull down your pants then stab you in the eye.

And all these people who are being "brave enough to show their true feelings" or whatever, or owning their vulnerability, they just happen to have true selves that fit exactly into the mold of what mass society wants them to be; their honest vulnerable true self just happens to be really into up-cycling and biking to work and retweeting that black lives matter while also being brave enough to admit their selfish and need me time and wouldn't actually sacrifice their daily kombucha to save a life.


09-08-16 | Why is this not the thing?

Obviously maintaining any single open repository of torrent trackers is going to be increasingly difficult. At one point they thought they might slip through a legal loophole because they aren't actually serving any of the data themselves, only links to the data. But apparently the courts don't buy that.

So why not make the whole tracker site itself distributed in the swarm?

A torrent can be identified by a key/hash , so add onto that a "torrent DB" that can also be identified just by a key. The actual contents of the torrent DB are encrypted and distributed around a swarm, so it's actually hosted on machines all over the world.

To make this more blind, don't special-case torrents, just make a way of encrypting any data and spreading it around so nobody has a single copy of it, and nobody can be held accountable for hosting it because they don't know what it is.

Unlike Tor and VPN's and so on we aren't trying to send large data through this swarm, only very compact indexes to the large data. The large data itself goes through the normal torrent system. A key point being you should be able to be a node in this swarm with only a small amount of incoming & outgoing traffic.


I think a similar system could be used for encrypted email.

My idea goes like this :

One of the inherent security holes for any encrypted email is that even if the message is encrypted, the NSA or whoever can still track who the source & destination are.

So remove that. Instead of sending a message to someone, you send it "to" a crypto key, and just post it publicly. Essentially you are just posting an encrypted message on a public forum with no particular recipient, but only the person who has the right crypto key can actually receive it.


09-05-16 | Cats

Some years ago I had cats. I'm allergic to cats, and I read that since the allergy is actually to their spit, one thing you can do to reduce the allergen effect is to bathe them regularly.

So I would bathe them, with my girlfriend, every month. Of course they hated it, so it was quite an ordeal. To do it without getting scratched to bits, I would hold the cats by the scruff on the back of their neck to partially immobilize them, and then hold them down firmly in the sink with my forearms so they couldn't move to get that nasty back-leg scratch kick. Then my girlfriend would pour the water over them. She was a sensitive soul and it always broke her heart a little bit to put the cats through something they hated so much.

In hindsight I see now : jesus what a controlling nutjob I was. I have to wash my cats every month, err I'm bossy dad with strict rules. I can see the same kind of behavior with Noemi and I don't like it. Like hey you have to wash your hands before eating! Put that food down, you don't get to eat until you wash your hands! Whoah bossy dad, chill out.


Several times now I've had girlfriends that I told "I'm allergic to cats I can't live with cats" and then they immediately go and get cats. And after getting one cat and say "god dammit I'm fucking allergic to cats WTF" they go and get another cat. And they act like "look, a cat! it's so sweet! don't you love it?" and I'm supposed to be all happy or I'm a fucking asshole.

It's just a deeply shitty hateful thing to do. It's a kind of deep lack of compassion or willingness to compromise at all for another person. It's a feline "fuck you".


09-02-16 | Rrrr

I either want to just die, or murder everyone. I can't decide which. Fuck it, I'll just get drunk and watch TV instead.


09-02-16 | Promises are more popular than solutions

Writing about the pay gap made me realize something.

Hillary is incredibly realistic and pragmatic. Probably more so than we've seen in the modern era; competent technocrats don't get a lot of play any more. She doesn't just vaguely whine about social ills, and promise they will be fixed somehow. She talks about real policy proposals, and not pie-in-sky Sanders style policy that will never get passed, but real small step compromises that might actually happen.

In contrast you have things like the twitterverse and the blogosphere that just harp on about "waa waa black lives and womens pay and isn't it horrible, oh the humanity" without ever actually trying to push for an actual viable concrete proposal. They just demand "change" without being clear (and realistic) about how that would happen.

In the same vein you have Obama and his whole "hope" bullshit, and of course Trump who will somehow or other make America great without actually having any concrete policies, and Sanders who I sort of love but is of course pushing ideas that are dead in the water.

Americans seem to now love the latter (the vague bullshit) and hate the former (actual policy proposals that might make a real difference).

Certainly there's always been this aspect of human nature. But there was a point where you could raise the objection that "my opponent has no concrete policy proposals; how do you plan to actually enact this change you promise?" or "my opponents' policy proposals are unrealistic and unviable, they have no chance of passing so can't be taken seriously" and those objections were taken seriously.

Realistic solutions are not pretty. They have unsavory compromises and never accomplish as much as you'd like.


09-01-16 | Fucking Bullshit Feminist Orthodoxy

The supposed 30% female pay gap has been widely debunked, repeatedly, and yet keeps getting spouted and touted. If you don't go along with it you get shamed as not being a feminist or whatever.

There are entire organizations now set up to pushing this bullshit statistic and have pre-formulated talking points to support it.

For those not aware or who don't want to do the research themselves : the 30% pay gap comes from just averaging all mens salaries vs all womens salaries. Of course the biggest causes are due to choice of different careers, women choose to work fewer hours, women choose to take years off due to children, women choose more humanities educations while men choose more STEM educations, etc.

Now there does seem to be an actual pay gap for equal qualification at the same job. That's very hard to measure (due to controlling all the variables to remove other factors) and various statisticians come to slightly different conclusions, but it seems to be in the 5-10% range.

As usual, this bullshit disingenuous statistics is not just annoying, I believe it's actually harmful. It hurts the credibility of the whole equal-pay movement to be constantly spouting lies. It makes it very easy to dismiss. It also hides from the important factors that we should be fixing - why do so few women choose to get STEM degrees? why do so few women choose to pursue jobs in tech & finance? Naively it appears that women are intentionally choosing to make less money, which maybe they are, but maybe there are factors discouraging or preventing them from pursuing those paths.

It also diminishes the non-white pay gap, which is at least as big as the gender pay gap but doesn't get the same attention. The black pay gap can easily be dismissed as being due to lack of education or skills or whatever, but hey so is the gender pay gap. The most important discrimination happens earlier, before the point of biasing wages for people with equal qualifications.

I've seen almost nothing in terms of actual policy proposals to improve the situation. (most of those tweeting the gender pay gap seem to not realize that it already is law that you can't discriminate based on race or sex). The only one that I've seen that I think is interesting is to make it law that companies must post all salaries publicly; make it public information they must file as part of some kind of quarterly report. That way everyone can see if they're getting paid less than their peers and ask for raises.

Okay. So to be clear, if you claim "women get paid 30% less for the same work" you're spouting nonsense and need to shut up. It's 5-10% for the same work, same experience.

Now for those who want to go further, yes there is a 30% pay gap and that does reflect real issues that perhaps should be fixed. For example, if women are paid less because they voluntarily choose to work fewer hours than men on average, then hey that's fine that's a life balance choice and that's a pay gap that does not need fixing; but if there is systemic discrimination in the hours available, and women are "choosing" to work fewer hours because they don't really have a choice, that's a pay gap.

For example, part of the pay gap comes from the fact that women "choose" lower paying careers on average (teachers and caregivers and whatever it is that women do). Which, hey if it really is a free choice, then that's not a pay gap that needs fixing; like if you could be a CEO or a barista, and you chose barista because you prefer the life style. But if that choice is actually forced by systemic discrimination, that's a problem.

It can be tricky for the objective rationalist such as myself to see these things. It's easy to get caught up in the mythology that we have a fair and unbiased capitalist marketplace, that should assign jobs to those who are most qualified, and wages based on supply and demand of qualified workers. That is of course not the case. It's easy to be hoodwinked by claims like the African American pay gap is caused by the fact that they have work education, less job skill, less experience, so of course they get worse jobs, right? Well no, in fact it's a reflection of a whole system that has failed, their education and policing and neighborhoods and etcetera.


09-01-16 | Idea

Make a sound card with a full CPU on it. Running some kind of custom super-simple low level OS.

The actual audio-in, then processing, then audio-out is all done by the CPU on the card. It does NOT go through your host PC OS, which is a nightmare of stalls and latency.

The goal is to have gauranteed super low latency processing, but with custom programmable code. Trying to do it in any kind of consumer OS is a nightmare. So just run your own little embedded system.

Then the host PC can run a sound studio app which can control sliders on the card in "realtime" (in quotes because we're talking PC realtime which is laggy and full of stalls, but close enough to realtime for something like adjusting sliders). The host PC app can also upload new DSP/mixer code fragments to the card.


09-01-16 | Why

Why are we doing memcpy and memset with CPUs ?

Shouldn't that just be a command to the memory subsystem? Like even the DRAM controller could do it without bringing those bytes out onto the bus at all?

The goal is not faster memcpys in terms of bandwidth (though you would probably get that), it's to not take the CPU clock while it's happening. And it seems like a no-brainer in the modern world where everyone is trying to minimize energy use; seems like a real waste of watts moving those bytes into cache lines, and copying them through registers, load & store queues, cache control messages, blah blah, so much work.


09-01-16 | Sucks

When art/dance/video is

"a meditation on..."

"an exploration of..."

you mean it sucks. You mean it's some vague bullshit that doesn't really say anything because you don't have any concrete ideas. You mean it's not really coherent or structured because you're too lazy to edit and compose and form something with substance, so hey here's some random crap.

(not really, I actually like that kind of wishy washy shit a lot myself, but there is something incredibly douchey and disingenuous about those phrases)


09-01-16 | Interesting

Anybody who says things that are interesting will sometimes be wrong. Perhaps often be wrong. Perhaps often bother you. If you want to hear bland inoffensive crap that's always right, that requires us to be extremely conservative and minimal and never take any risks. You have to accept the bad with the good.

A common idiocy that I often think of : I once heard this quote from some government official saying basically that all the TSA crap and NSA spying and so on was necessary and we have to accept because "allowing the possibility of one terrorist attack is unacceptable". NO NO NO so fucking wrong. Of course you *MUST* have a society where terrorist attacks are possible. Imagine a society where that's not possible. You would have to have constant surveillance in every single room. Any harmful chemical would have to be illegal. Hell, heavy pipes and baseball bats would be illegal. You'd have to have thought-monitoring chips implanted in every human to detect if they're thinking terrory thoughts. Of course you don't want that. If you want freedom, there will sometimes be bad acts.

There's a weird thing where if you're right 99% of the time, then the 1% of the time when you get it wrong you get pilloried. But if you're just way off all the time, you get away with it. (see eg. Hillary vs. Trump ; but I've also seen this over and over in the work place, the guy who's very careful and hard working vs. the guy who's just slapshod and says/does random shit all the time). The weird thing about it is people don't seem to credit past performance at all. eg. you have some meeting and some point is raised, careful always-right guy says A and slapshod guy says B. Everyone in the room should immediately just go, "okay say A" , because hey that slapshod guy just says random shit all the time and is usually wrong. But that doesn't happen. Instead his point is actually debated and considered, which it just never should be. Basically humans are way way WAY too forgiving and don't pay attention to past behavior nearly enough. Someone can lie over and over and over, and then the next thing he says people will be like "hmm maybe this time it's true". WTF.

Having a philosopher's quote on your facebook or whatever is highly correlated to you being a moron. Don't you have your own ideas?

If you are not sometimes deeply depressed, you aren't paying attention to the world around you. If you aren't sometimes overwhelmed with self-loathing, then you are not being honestly introspective. Because you are a total fucking scumbag garbage human being sometimes.

The secret to productivity (and what helped me through Kraken-Mermaid-Selkie) is to keep women (or more generally, relationships) out of your life. Relationships are the killers of work. Sometimes I wonder if there's a way to achieve temporary chemical castration.


08-31-16 | Resume of Evil

Things that happened under the presidency of GWB :

We allowed a possibly preventable terror attack. In response, they invented a total BS convoluted link to invade Iraq, a long time pet project of the administration.

After invading Iraq, we proceeded to do almost everything wrong in stabilizing and building a nation, instead focusing on a neo-liberal experiment in corporate-first governance. Cheney's Halliburton wound up with over $40B in contracts.

Our country tortured people, both directly and via partners.

Our country began a program a murdering suspected terrorists based on the most sketchy of evidence and with no supervision.

After the terror attack, we passed a set of laws that legalized massive government spying. Protections that have been in place for years were rolled back so that court orders were no longer needed and prohibitions against spying on US citizens without cause were wiped out.

Back in the US, we relaxed regulation which allowed coal plants to grow and upgrade, and allowed fracking all over the country.

Due to deregulation and poor regulation, our economy suffered its second largest ever collapse. Running Treasury was one Hank Paulson ex of Goldman, Goldman who knew about and engineered the CDS/MBS travesty and wound up profiting massively from the collapse. In response to the collapse, there was no increase of oversight or regulation, instead the banks were gifted massive amounts of free money.

It's a pretty staggering resume of evil.


08-31-16 | Lesser

"Waa I won't vote for Hillary, she's just the lesser of two evils, I'll only vote for a choice that has integrity" blah blah say the Sanders fanatics.

You're a fucking moron. The lesser of two evils is obviously the best choice and it's very important to make that choice. It's *LESS* *EVIL*. It's right there in the fucking name. Make the choice that has less evil.

I shouldn't have to explain this at all but lets do an example just to rub your fucking stupidity in your face.

You're given the choice to either kill 10 people or 100 people. If you don't make a choice, it's either 10 or 100 randomly.

"Waa that's a horrible choice I can't choose to kill people I won't do it blah blah"

Dumbass. Of course you choose the 10 people. It's the lesser of two evils which is a fucking wonderful choice to make.


08-31-16 | Differentiate

In the long ago, I used to think that one of the things that made me special (as an eligible bachelor) was the secret spots I would discover in cities. I would spend my time alone wandering about, trying weird ethnic hole-in-the-wall restaurants, finding little pocket semi-secret parks, like the public access courtyards in office buildings in San Francisco, or the street-end beaches in Seattle. I had a compendium of favorite neat places in my head that I would take dates and they would be impressed.

These days none of those places are secret. There are literally web sites dedicated specifically to listing them. The knowledge is no longer special.

But oddly, if you go to those places, you will find they are still empty.

You can go swimming in Lake Washington on a hot summer night and be the only one there.

Because even though everyone knows (or could know) about these things now, they still don't actually do them. They sit in their shitty homes and poke away at horrible phones finding the lists of best things to do and bookmarking them or "liking" them, but never actually doing them.

It's quite a depressing/digusting thing about humanity, and also wonderful for those of us who prize solitude.


08-31-16 | Snake Oil

All exercise physiology is total fucking nonsense. Things like KT tape, ice baths, what and when to eat, interval training, etc etc. they have no fucking idea if it works, if so how or why it works, if it's just psychosomatic, etc.

That's kind of fine. Hey, just try some different random stuff, if it works for you, then great.

What really rankles is the fucking bullshit science they cloak it in. "Oh, this move triggers myo-facial blood flow, and this modality decreases toxins, and this boosts this hormone blah blah". You fucking liar. No it doesn't. You have no fucking idea if it actually does that, and the whole style of presenting "oh no, this is exactly the way to do this and here's the science" is such moronic lying shit.


08-31-16 | Dream

I sell everything I own, liquidate all my savings to cash, delete all my internet accounts, disappear from society. I go live in some cheap semi-3rd-world dense urban area. I'm not quite sure where; Lagos? Budapest? New Orleans? I live in a little empty apartment with that beautiful speckled peeling paint, just a hot plate for my morning coffee and a single bed. I sleep until noon, smoke cigarettes, wander the streets at night, haunting the local clubs listening to jazz or highlife or whatever the local scene is, my head tucked in my coat and scarves, the streets are wet from rain reflecting the lights. I drink myself to sleep, drowning my demons and insomnia each night.


08-31-16 | Beware

Never sign up for any contract, any ongoing payment; never go to any practitioner that can bill you later. Never use insurance. Never agree to any license agreement or T&C. They will fuck you.

Buy everything with cash. Pay a known amount for a concrete deliverable; buy books, pay per gym visit, use burner pay-go phones, pay now, get something now.

Beware doctors, realtors, contractors.

Don't share your personal information with anyone, including the government. Beware the police.

Every time you leave home, beware the cars, walking biking driving, look the fuck out. Beware those who are purely malicious, but also those who are just so selfish that their negligence is a hazard to others.

Beware the media, the social media, peer pressure, the hive mind, groupthink, getting brainwashed into the current consumerist trend or norm of behavior. Advertising an insidious toxic poison, and the circular pointless chattering of your peers on the web is not much better. Avoid all exposure, your mind is not strong enough to resist it.

Make your home a fortress. Any connection to the outside world is an opportunity for them to poison you, whether it be IRL or over a wire.


There's no need to invent crazy conspiracy theories about secret groups of the ultra-powerful running the world. It's right out there in the open. They don't try to hide it.

The bankers of Chase & Goldman literally revolve through Treasury and the Fed and make the rules for themselves. The regulatory boards for oil & gas all cycle in and out of the industry.

Corporations have all the rights of individuals, plus the ability to dissolve at any time without consequence if they say poison a million or people or get into massive debt. If any regulation ever hurts their profit margin they can sue for recompense. They're literally above the law.

The boards that supposedly protect shareholders and monitor CEOs are all filled by the same people who are friends with that CEO, and that CEO is on a different board of a company they are CEOs of. Every corporation is a huge web of ownership.

There's no fucking secret evil group that runs the world. There is an overt well-publicized evil group that runs the world.


08-31-16 | Irony

It's a bit ironic that the current mindless herd trend is "mindfulness".

Of course it was a bit ironic when "minimalism" became all about buying the just-right 50 things.

Of course there have been mass corporate ad campaigns that exhort you to "be an individual" or "make your own choice".

I am creating a group for people who are opposed to groups.


08-30-16 | Intention

My ex-wife and I have some occasional disagreements about what is best for our child. We have slightly different ideas about what rules should be enforced for her best interest (against her wishes). Obviously to some extent you have to make those decisions for a child; they don't have the long-term self-interest capabilities to make decisions like should they risk their health in some way, or should they have to take sports or music classes or whatever. There's some slider on just how much you err on the side of making decisions for them that you think are in their best interest vs letting them just do what they want now.

(Some kids are allowed to flake out at school and do no enrichment classes and huff glue and get concussions and whatever else, and years later the kid is like "hey mom, WTF why didn't you make me learn sousaphone? now I'm a grownup with brain damage and no skills!?" and the mom is like "well you didn't want to!" , no fuck you mom, that's your job as a mom to make me do that, I was a fucking kid what did I know?)

So anyway, we sometimes disagree on those points, and I think errr that dang ex-wife, I'm so mad at her she doesn't enforce the rule that I think is important, grrr I'm an angry pop.

But then I remember, hey, at least she's a mom who loves her child completely and sacrifices for her and is trying to do what she believes is best for her, mostly, and that's pretty damn good. That's all you can ask, that's all that really matters, just that someone actually cares and is trying, and if you disagree about exactly what should be done, that's small potatoes.


08-30-16 | Thrashing

I can feel that I'm thrashing about; randomly spinning my wheels; it's like I'm just straining against a straight-jacket; I rage in one direction, but not enough to make any difference, then change direction and try something else, and nothing seems to actually help. I'm like a fish in a boat, I know something is desperately wrong and I'm thrashing about with all my might, but it's not getting better and I don't know what else to do.


08-30-16 | Real history

Something I often think about is the way that sites like Wikipedia and others fail to record the real history of events. By just recording the dry facts you completely miss out on what actually happened.

Let's remember the birth of FaceBook.

When FaceBook started getting big, it was because of pussy. At the time, MySpace and LiveJournal and such early hosting sites had just blossomed into pop-culture mainstream awareness. The primary focus was on "myspace girls". The stereotypical "myspace girl" was actually unattractive and trashy, but had an obscure photo, taken from an odd angle in weird light, like often from directly above looking up that made her look okay. Internet dating and hookups at the time were still very rare and considered shameful and exciting and new.

With the explosion of awareness about myspace, it got flooded, and that made it extremely uncool. Old people and poor people were allowed on, and suddenly the cool kids wanted nothing to do with it. In stepped FaceBook.

FaceBook had absolutely no technical advantages. It was stolen technology, and there tons of other friend-page sites popping up anyway. But it had a genius marketting plan - only allow college kids to join. This meant only wealthy, mostly-white, cool kids could join. The "Facebook hookup" became the much more desirable new wave, and dirty old people wanted to get in on it. Much like Yelp would do years later, FaceBook realized that the key to building community was to first get the attractive young women on.

Is FaceBook the origin of the rise of the brogrammer? It's certainly entirely built on bro culture. It's the realization that the whole substance and backbone of the internet is more driven by the desire for something like The Chive than it is for something like arxiv.

(and now I can't stop thinking about "arxiv" as "ar-chive" ; "ar-chive" featuring Wet T-Shirt Computational Geometry Wednesday and Unsolved Number Theory Problems for the Weekend.)


08-30-16 | KILL THE PORTALS!

I want to watch some comedy stuff which is on SeeSo.

I don't want to use fucking SeeSo. I want to download a video file and watch it however I damn please.

Why doesn't anybody do it the fucking Louis CK way? If you're a fucking content creator, put up your own videos on your web site for download, accept paypal. Done. No fucking portal. No middle man. Take 100% of the profit.

There's a lot of comedians who are jealous of LCK's success, but they just go "geez I have no idea why that worked out for him and not for me". Put your fucking content on your own web site and sell a download.


08-29-16 | God people are fucking useless dicks

So there's a quirk in MSVC 2005 CRT (and possibly others). If you do :

fseek(fp,0,SEEK_END);

it won't work if the file is bigger than 2 GB (running in 64-bit mode). You have to do :

_fseeki64(fp,0,SEEK_END);

to make it work right, even though you are passing an offset that fits in 32-bits (0). That seems like a dumb bug; I should be able to use the 32-bit APIs and still work on 64-bit files by doing smaller operations with normal fseek/fread/etc. but apparently there's something wrong in this particular fseek implementation (it must internally do a 32-bit ftell or something).

As I was trying to figure out what was going on, I stumbled on this thread :

cboard post

which is not directly related, but is such a typical example of everyone being such a stupid fucking asshole. All the "experts" are just nit-picking unhelpful fucking moron assholes.

(ADD : did a little more Googling to see if this is a known bug in MSVC ; yes it is : fseek-cant-seek-to-locations-in-file-2gib )


08-29-16 | Noemi Days

My main plan for the day was to go to a sandy beach on the Columbia. She calls it the "maze beach" because once we went there and found a maze someone had drawn in the sand and she ran around in it.

We went to a bakery in the morning for snacks. We read the local free paper and looked for pictures of animals. It was still a bit cool out so I decided to go to a playground a bit before heading to the beach, which turned out to be a three hour stay. Just in the past month or so, Emmy's because super social at playgrounds, always looking for friends. Sometimes it takes a little prompting from me; kids are kind of weird around each other, they'll just stand next to each other and stare at each other and not say anything; it helps if I suggest "say hi" or "tell her your name". We played together a bunch, running around the play forts.

One of our standard games at the moment goes like this : she says "you're a bad monster then a nice monster". So I say "Raawr I'm a tickle monster I'm going to get you!" and she runs away for a second then stops and holds out her hand saying "here's a muffin" and I go "mmm yummy muffin" and she says "you feel better?" and I say "yes, thank you I'm not mad any more" and then I'm a nice monster and we go to her house.

After all the playground time she was clearly exhausted so I thought maybe I'd try to get a nap in before the beach. We went to Safeway to get sunscreen and watermelon. Grocery stores are a fucking nightmare, fuck you fucking asshole grocery stores. Every single aisle has balls and balloons and Disney crap and all kinds of stuff that's specifically designed to make kids go "I want that!" and then I have to diffuse it or get a melt-down, it's so fucking rotten. We ate watermelon in the parking lot, then I knew she always gets a big burst of energy after eating, so we played a bit in the grocery store picnic table area. We tried to do our jump ropes together, then she wanted to play "zoo keeper" one of our standard games, this time we were both zoo keepers and we had to catch our animals that were trying to escape the zoo, and she goes "lock lock lock" and air-locks the imaginary cages. "Oh no the lion is escaping! lock lock lock".

Hoping to get that nap, I thought I'd take quite a long route to the beach. We went out to Mosier and up the historic highway, past the Rowena Loops. She started doing her pouting "it's too long! I can't wait!" which she does any time we drive more than 60 seconds. She'll say "how far is it" , and no matter what answer I say the response is, "that's a long time!". It drives me pretty insane, she'll say "stop the car! I can't do it!" ; I hate people yelling at when I'm driving, it's pretty tough for me to stay cool. We stopped and looked at the gorgeous cliffs in the raging wind, trying to rip the doors off my car. She cried because we got a chocolate chip cookie instead of a chocolate-chocolate cookie at the bakery.

And some more stuff.


08-22-16 | Sport

The All Blacks these days are a little bit of a Harlem Globetrotters act. They're just sooo far ahead of everyone else, that they are not really playing to win any more. They're playing to put on a good show while they win.

They could just grind out games, play safe, kick a lot, don't go for the risky miracle passes, and they'd win every single game with no risk. They don't want to do that. It would be bad for the fans, and it would be bad for their brand, audience attendance and all that.

Rugby is always a little bit of a gentleman's game, in that it works best when you play with good intentions, not when you play to win. The game (like most sports) is a little broken, and playing the way we really want to play (ball in hand, running rugby, flashy moves, miracle off-loads) is not actually the best way to win.

Basically the All Blacks are playing a foolish flashy style that gives their opponents *way* more chance to win than they should.

(I don't mean that this is an intentional strategy by them; it's more like they get away with it because they have so much wiggle room. If the competition was tougher, they would have to tighten up to win, play safer, etc.)

For example if the quality level was closer, the All Blacks would have to take their kicking deficiency more seriously. They're basically spotting the rest of the world 3-6 points every game because they play 60-70% kickers instead of 90% kickers.


Lewis Hamilton is sort of a strange super-genius signing for Mercedes.

In terms of Mercedes winning races and championships he's just about the *worst* driver they could have, almost in the whole field (Verstappen perhaps the top exception). Their car is so absolutely dominant, that to maximize their chance of winning they just need someone competent who will keep it safe, follow team orders, don't crash into Nico (who is a safe team player), get the car to the end. Lewis is just about the worst choice for this, he's a hot-head, ego-maniacal, puts himself over the team and causes lots of problems that they should never have. They would have way more constructor's points with a sensible mediocre driver like Button.

Yes Lewis can occasionally put in a brilliant drive, but they absolutely do not need that at all. From the team's perspective, one of its drivers will win, just don't crash into each other.

But of course that would make their dominance even more boring. The only interesting thing about the two silver cars streaking off out front is the fact that Lewis might do something silly and bash them into each other. In terms of PR and press coverage and interest, it's an absolute genius signing.

In general, the better your team is the less of a randomizer wild-card you want. eg. Russel Wilson absolutely sucks as a quarterback and is unbelievably over-rated by bone-head announcers, but he's perfect when the team has a great defense and great running game; you just want a QB who won't muck things up. The worse the rest of the team is, the more you want a gun-slinger. The funny thing with the Mercedes situation is that this reverses polarity again at the top end - if the team is SOoo good that you would win every game year after year and nobody would watch, then again you want the wild-card gun-slinger randomizer guy.

(and every mention of F1 has to include : jesus christ F1, get your heads out of your asses, what a stupid broken competition)


08-21-16 | Software is not awesome

I run this process to make Google Chart URL's to make graphs of things. So I run it on the test I just did of 10,000 or so XML files.

I know that the charts I make that show every file are not going to work. They'll make URLs are too long. But I also make charts of just the total, and I want to grab those.

So my process spits out an HTML that has lots of chart URL's in it, some for every file (crazy long), some for just totals.

I open it in Firefox. Waiting. Waiting. It crashes.

I open it in my text editor. Waiting. Waiting. Exception popup window "heap node blah blah".

Everyone fails. And this is what you want controlling your car?

(it's pretty fucking incredible how common it is for text editors to be N^2 or even N^3 on line length; you can save their bacon just by running a formatter tool to break long lines. Come on guys.)


08-19-16 | Grocery Store 2

God I fucking hate the self-checkout machines so much. Every time I use them is like one big exercise in self control.

"return item to the bagging area"
"return item to the bagging area"
It already is in the bagging area you fucking cunt-hole, I WILL SMASH YOU !!

Mostly I try to just not use them. Even when there's a line at the checkers and the self-checkouts are available, I just don't let myself do it, because it's not worth the rage. I have to just avoid lots of things like that (like driving at rush hour, etc.) where they might seem convenient but it's not worth it.

Unfortunately the grocery stores seem to keep cutting back on checker staff more and more, making it harder for me to opt out of the self checkout.

It occurs to me that this is one of those "efficiencies" that is actually a huge inefficiency.

Hey, we (the grocery store) save money on staff and pass the savings on to you! (yeah right, but ignoring that, pretend they actually do pass the savings on). So my grocery bill is a few cents lower. But then I have to wait longer to check out, or do the checking out myself.

So in fact I didn't save anything, I traded a few cents for doing minutes of work, which is a really fucking bad deal.

Economically this kind of thing is a disaster. You're eliminating a $15/hour job that did unskilled labor, and replacing it by having skilled labor people who could make $100 or $200/hour doing that job instead.

A lot of the good preschools these days are co-op, which means they save money by making the parents to do work. Now, I'm totally down for the idea of helping teach in class, or doing art of music with the kids, getting the parents involved in actually being in the class interacting with kids is cool. But it's never that. They don't actually want you in class because then you would see them beating and molesting the kids or teaching them about jesus or whatever it is they don't want you to see (or they want you out because you would do that). So the co-op jobs are things like cleaning the school.

Hey, awesome idea, let's take the wealthy educated parents of these high-power preschool kids and make them do minimum wage labor! We've never heard of economic efficiency!

I'm as anti-capitalism as the next lunatic, but that is exactly the kind of thing that capitalism is good at. You want low-skill low-wage people doing the fucking cleaning jobs so that the educated and powerful can do other things. That's efficiency.

A whole lot of the modern "cost savings" is actually total bullshit. For the past 50 years there's been a whole wave of eliminating tiered labor. Offices used to have the high-paid skilled workers, and low-paid secretaries to do the filing and get coffee and so on. In the modern tech company when an executive is proud that they're so egalitarian they get their own coffee, that's fucking retarded. Fucking employ someone. Any time you can pay someone pennies to offload some of your work, that's a huge win, for you, for them, and for the efficiency of the whole economic system. Places love to eliminate customer service and make you do more work yourself, and give you "savings", of course a lot of the reason is so that they can advertise a lower cost even though the real total cost (including your own time) is higher.

A fundamental principle of modern capitalism is trying to maximize the difference between perceived cost and actual cost.

This happens in lots of ways these days, some subtle, some not. There's the $19.95 purchase, but then there's an added $1 processing fee, and another fee, and another $5 because-we-can-fee and another $5 so-whatcha-gonna-do-bout-it fee. There's the no-money down loan with balloon payment, or the low-APR card that shoots up in fees if you're ever late one day. There's the apparently cheap monthly fee phone, but they can change the terms of your contract on you, and in face you need the really expensive plan or you keep getting overages. There's the cheaper airline tickets, but fees for every extra. There's the insurance that seems like a decent rate, but then they don't actually pay out when you have a legitimate claim. There's the $1 music download, but then you can't play it on other devices. There's creating false perception about what your cost is, there's creating false perception about what the value is that you get out of it, there's creating false perception about how much time and effort you have to put in to get it.

Back on topic.

In a functioning economy, unskilled labor is done by low-wage workers. One of the major diseases of the current American economy, I believe, is that we often can't do that.

A large part of the problem is the friction and cost of hiring someone. Say I have some shit-work and I want to hire someone to do it, it's totally worth it to me to pay $15/hour to have them do it, but that's not the actual cost to me. Aside from the time of finding them, I have to pay health care, 401k, unemployment insurance, do tax forms, etc. etc.

That should all be eliminated. You want employment and payment for work to be as easy and cheap as possible so the economy can fluidly allocate labor to the most suitable (lowest wage who can accomplish it) person.

All the bullshit that companies like UPS and Uber and so on do to avoid employees should just be moot. You just pay someone for labor. Everyone should have health care, and retirement savings, and unemployment, and all that, it should not come from the employer.

You want the system to encourage employment. It should be as cheap as possible to hire local American workers.

I've often thought about the problem of raising the minimum wage. There's a big push now to raise the minimum wage, which sounds good in theory. Certainly I think that making less than $15/hour in America is wrong, you can't live on that. But you also can't just force up the minimum wage with regulation, beyond what the economy will sustain. If you do, then you just lose employment. You encourage more "efficiency" by cutting jobs, or outsourcing jobs. You have to make it appealing for companies to hire American workers, which right now it is not.

Basic services like health care, retirement, welfare, etc. need to just be provided by the federal government to all people at all times whether they are employed or not. So American companies (or companies that do business in America) have to pay for that whether they employee the people or not, which removes the incentive to cut labor.

It doesn't increase the cost to have the government do this. In fact it should lower the cost. Instead of employers doing it per-person, instead the cost is spread to all taxpayers, and the same amount is spent. If anything it's a better allocation of cost, because super-profitable industries with few employees would take a bigger share of the bill (IP holders and finance and so on) while big employers would pay less. That's good, that's what you want.


08-19-16 | Elevator Usability

Elevators should have a light to indicate if the car is on the current floor. There are a lot of situations where I would take the elevator if it was there ready, but if it's not then I'm not gonna fucking wait, I'd rather take the stairs. So what I have to do is hit the button, wait a second to see if the doors open, no they don't, okay fuck it I go to the stairs. So I've summoned the fucking elevator for no reason which is retarded.

Ideally for usability the elevator would just sit open when it's stopped. I suppose there's some safety reason they don't do that (perhaps fire?), but it would be massively better for usability. If the elevator was at your floor, you could just walk right on, it saves a button push and waiting for the doors to open. It also would air out the elevator which would be mighty nice.

Anyone who gets on the elevator to go one floor should be killed. Like if you get on the elevator at floor 3 and press 2, rather than move, the elevator should lock and fill with poison gas.

Every time I'm on the elevator and someone gets on for a one floor ride, I want to tell them what a fucking turd they are. Like I'm riding from 5 to 1, and somebody gets on at 3 and presses 2. You are fucking garbage. But I don't because I'm a pussy and then I hate myself the rest of the day. We shouldn't let people get away with that shit.

Since humans won't behave decently, this could be fixed by the elevator algorithm. If somebody gets on and requests a one-floor ride, that should be queued up *after* all currently planned stops. Fuck you and your one-floor ride, you wait until everyone else is done. So in the case above it would go 5-3-1-2. It's the spiteful elevator algorithm.


08-19-16 | Grocery Store 1

Kirkland recently started charging a bag fee at the grocery store. I've seen this kick in progressively in various places I lived, first back in CA, then in Seattle, now it's spread out here.

Every single time it happens I watch the utter idiocy of people as they cope with the new situation.

You get the grocery checkout people who are trying to save you 5 cents by giving you a single bag when you have a heavy load of glass. Yeah, you fucking ass-hat, I just bought $100 of groceries but I'd much rather drop my groceries than spend another 5 cents.

But of course the grocery checkout people are just responding to the moronic customers, so I can't really blame them. Every time this change kicks in you see fucking retards going "what?! five cents for a bag! that's un-American, thanks socialist Obama!" and then they proceed to carry their loose groceries out in their hands, or take a cart full of un-bagged groceries out to their cars. Wow, good job, you really stuck it to the system you fucking moron.

The thing that annoys me most is now every damn time I go to the grocery store I have to be like "double bags please, yes all of them double, yes I know there's a fucking charge" which forces me to interact with humans which is intolerable.

At the organic grocery stores that I prefer they look at you like you're the devil when you ask for all double bags.

Don't fucking look at me like that. Your whole fucking store is one giant environmental oozing sore. You sell fucking bottled water. You sell K-cups. You sell packs of six almonds individually wrapped. You have fucking refrigrators with no door on them. You have things like alcohol that doesn't need refrigeration in there. The average purchase from your fucking store is 50% plastic by weight. Your entire business is selling consumerist trendy wasteful disposable crap. The fucking paper bag is the most sustainable and recyclable thing in the whole store, it literally grows on trees.


08-19-16 | Torrents

Best places to get torrents at the moment (public trackers only) :

kickass.mx ; this is a KAT-look mirror of TPB. It is not actually the KAT trackers, it's the TPB database, but in the KAT skin, which I prefer. Also seems to be free of the popup malware that's on the real TPB site, so this is the best way to get to TPB at the moment.

RARBG not bad. Decent interface, not as good as the KAT look, but has decent sorts and search.

extratorrent home of the good ettv caps. Unfortunately the interface and search and sort features here suck bad so it's a bit of a slog to find things.


I use Private Internet Access for encrypted VPN to download torrents. I'm pretty happy with it. The only problem is I can't get seeding to work through it, so my ratios suck, but downloading & peers works fine.


The utter crapulence of Olympic torrents has really hurt my faith in humanity. BMX ? Basketball ? Who fucking cares about Olympic basketball, even the fucking athletes don't care about it, why are you watching that shit? Water Polo? You can't fucking see them. It's like watching "Wrestling inside a closed box" wow exciting. Where's the fucking sprinting? Sprinting sprinting sprinting.


08-18-16 | The Country

One of the ways you know you're in the country is by the regular acceptance of drinking and driving. In most of the US ("most" by land mass, not population), if you hop in a car with someone and they pop open a beer, that's totally normal, no big deal. In the liberal city centers, people would be like "WTF, are you crazy? that's dangerous, and reckless, and just foolish, you're worse than Hitler!". In the country, if you're going on a road trip and you don't bring a six pack for the driver, that's bad manners.


08-17-16 | Well fuck

I've been in Portland for 6 days with no computer. (I forgot my laptop charger in Seattle, which means I had no laptop, since it runs the battery down in about two seconds, and because everything is fucking retarded for no damn reason, laptop chargers aren't just an interchangeable commodity that I can go buy at the corner store)

So my first experience back on the computer goes like this :

Open Eudora to check mail. Mostly spam, very large spam message which fucking gmail lets through for no damn fucking reason. Then Eudora stalls out "not responding". Then Eudora crashes. FUCK FUCK FUCK.

So I go to see if I can get some Olympics torrents. I want to watch strong people run! Try TPB. It pops up some fucking malware page. Why does the fucking browser ever allow popup pages? And the page has some kind of on-close event to pop up something. So I have to killproc the browser. Why the fuck do browsers ever allow on-close popups !? Re-open the browser and try again at a different torrent site. More malware popups.

The fucking top-seeded olympics torrent is the opening ceremony. Who the fuck watches the opening ceremony? WTF is wrong with you. It's perhaps the worst part of the whole olympics; I'd rather watch women's air rifle (which is one of the other awesome torrents). In fact pretty much all the olympics torrents are fucking garbage.

While I was in Portland and I read about this movie "Sailing a Sinking Sea" and I thought it would be cool to watch it, and hey now I have my computer, I can, right? So I find it on Vimeo. It's not available for download, you can only stream it to your Apple TV or whatever fucking DRM nightmare. Nope. I could buy a DVD, but then I have to go through the fucking hell of DVD Menus and all that. Let me buy a fucking video file! Nope, guess I'm not watching that movie.

So, yeah, got my computer back and I'd be happy to throw it in the trash. It's so frustrating because it could be such a delight.


08-11-16 | Ugh

How is "giant head" not the Google auto-complete after "Noel Fielding" ?


08-11-16 | Ugh

Fuck computers.

When I'm in a DOS prompt that's currently CD's to a network share like X:\ or whatever, and all I type is c: - you don't need to stall out for 10 minutes trying to connect to the network share that's not available.

When I go to my editor and click on the "X" button, you don't pop up "this file has changed on disk do you want to reload it?". You just fucking close.

Don't ever ever do anything at shutdown time. That goes for apps and especially for OS'es. When the power at the office is flickering and I want to power down my machine, that's the not the right time for Windows to do whatever the fuck it wants to do to my disk at shutdown time! ARG

And, in cases like the Windows shutdown, don't run your fucking progress spinner on a thread. I get "shutting down..." for like 10 minutes, and I'm wondering, is it crashed? is it actually still doing things? The point of the fucking progress spinner should be to indicate you're actually doing things, if you have the "clever" idea of just spinning the loading screen on a thread, yeah that's not helping.

And some other things.


08-11-16 | Ugh

I'd like to build a new PC to take advantage of the tasty hardware improvements over the last 5 years.

Wouldn't it be nice if you could build a new PC and just copy over your existing files and software, and just get going?

Like if I buy a new screw driver, I don't have to buy all new screws because the old ones are incompatible, and I don't have to throw out all my wood, oh and you have to throw out your garage too because that doesn't work the new screw driver. WTF.

I know in reality that it's a pipe dream. Of course when you do the smallest hardware change, you have to reinstall Windows from scratch, get new drivers, maybe you're forced to upgrade to the latest Windows because the old one doesn't support the new hardware, you have to reinstall all your old software, oh fuck the version doesn't work, you have to get latest which is all fucked up, blah blah, your config doesn't transfer, your key mappings don't transfer, all the changes you made are lost, lots of shit is randomly changed for no reasons, like paths are changed so your batch files don't work any more, etc. It's like a 2 year process to get a new PC working.

But it shouldn't fucking be like that.

Programs should be confined to their own dir and should just be able to be copied to a new machine. They shouldn't be all tangled into the OS so they're not moveable.

Your config and changes to the OS should be in plain text (like good old .ini files) that's in a single dir somewhere so you can just port it over (or even point at it when on a guest machine). Things that are tied to the hardware/driver setup should be independent from things that are cosmetic like prefs so that you can easily move one without the other.

The base layer of the OS that runs the hardware and lowest level system services should be totally separable from everything on top of that. You should be able to swap out that base layer without changing anything above that.

Everything sucks.


08-11-16 | Ugh

I've had a pretty horrible work week, just spinning my wheels, not getting anything done.

Shipping Kraken/Mermaid/Selkie was a big exciting push and I've just been flat since then. There's tons more to do but I can't really get going on it.

I hate this writer's block feeling most of all. It's when I really hate life. It's hard for me to even imagine how good it was a month ago, when I felt motivated and eager to wake up every day. Now I wake up and drag myself out of bed and plant myself in front of the monitor and think "what is the fucking point".

Last work week (two weeks ago) I had the same feeling, and I thought fuck it, take a day off, go for a hike, try to shake out the cobwebs. The night before hike day I was trying to talk myself out of it. I don't really want to go on a hike, it's such a pain in the ass, fuck it, I should just go in to work again. No! I forced myself to go anyway. The morning before the hike I tried to weasel out of it again, meh what's the point? it'll make me feel okay for a day and then it'll be back to normal. I made myself go through sheer will power, and it felt good I guess, but then it was over and indeed, what was the point?

This week I'm having the same feeling, like just forcing myself to stand at the computer is not really helping anything. I should just try to refresh and I'll wind up getting more done in N-1 days if I can get my motor going again than just grinding it out for N days. So I thought, take a half day off, go for a bike ride, it'll help. But god I don't fucking want to. What a pain in the ass. I have to pump up the tires and get dressed and force myself to get out there and it will just suck for the first hour until I get into the rhythm. Then I'll feel better for a bit, but it'll go back to normal by tomorrow. Fuck it I don't want to.

I just want to shoot some heroin and go to sleep in a haze of sweet bliss. I just want to shoot heroin until I die in the embrace of nothingness. God dammit.


08-09-16 | My first job

My first job was at a small software company in Sugarland called CTC / Comkey. I started around age 13, I think I was a sophomore in high school. The owner of the company was a neighbor and family friend, that in hindsight really did something awesome to give this young kid (me) a shot, so thanks Bernie that was fucking cool.

I have no idea why I thought I was qualified. I had been programming for only a few years at that point, mostly on the Amiga, writing little utilities for myself. I remember I had written a plug-in-based image processor, and some plug-ins for the 3d renderer Imagine that I used. I lied my ass off in my job interview, which was hella stupid. I just felt like I had to make myself sound better than I was, they would ask me "what software have you written?" and at first I told the truth and then they said "anything else?" and I thought oh shit, they're not impressed, so I started adding more things that I hadn't actually written (my own raytracer, I recall saying).

I was paid $5 an hour. I would ride my bike over to work after school. At first my job was answering phones and filing papers. They had boxes of papers that weren't filed from years of neglect and my first project was to do all that. I guess this was a sort of test of my basic professionalism before letting me loose on code. It was several months of shit work; I did it. I felt like such an adult.

There was an older programmer (Wayne?) who was a bit of a cowboy, he had written their main hot software product and thought of himself as a badass. There was a female programmer (Cathy?) who constantly pounded coffee and cigarettes, so she had that twitchy mouse-like quality. There was a younger programmer (Ken?) who was pretty cool actually in hindsight and the most collegial with me.

Many aspects of CTC were ridiculously antiquated even for the time (approx 1990).

Their primary business was mapping and GIS and demographics. The primary product was a redistricting tool (for gerrymandering) that let you draw voting districts and it would use the census database to tell you statistics about the regions. In theory we also wanted to support uses like figuring out the best places to put your McDonalds franchise, but the big customers in reality were for voting districts.

We had an HP mini computer (mini meaning "ridiculously large", refrigerator size rather than room-scale) that used tapes, and took modem dial-in connections from clients that ran some ancient software that only existed on the HP. I think it serviced fire department 911 address lookups or something insane like that.

We had table digitizers and plotters, the old kind that actually go and pick up the pens and draw, beautiful machines. (I wish I had bought a plotter in the mid-90's when they were being sold off by everyone for peanuts)

One of my projects was to write new print code for our mapping software to output HPGL to the plotter. That was fun, HPGL for the plotter was so simple (PENUP, PENDOWN, MOVETO) and you'd get these beautiful huge crisp maps out.

Before I got there, the codebase was all COBOL. (Realia COBOL which actually had really amazing built-in relational file support). The interface was old black and green text-only monitors, so to do mapping what you would do is type in the area you wanted to the text entry, then print out that area on the plotter, then you lay out the printed map on your table and you click the corners with your digitizer (which is like a mouse but with glass and cross-hair in the middle so that you can precisely hit points) to register it. Then you would click around with the digitizer on the paper map, and the green-text monitor would give you text information back.

You could "draw" and move roads and districts and things like that around, but of course you got no graphical feedback. The data we used was mainly the census Tiger data, which was extremely noisy (I don't know how it was made, but this was in the days before high-precision consumer GPS was allowed, back when you could only get very crap results from non-military GPS, so much of the geo data must have come from old fashioned surveying). The noise meant that a big part of our tool was for cleaning up the data, straightening roads and snapping points and so on.

I think COBOL at the time had no local variables - everything was global, or at least at CTC nobody used local variables. There were subroutines but by god what a nasty spaghetti. You'd call a function and lots of variables would change, some of them would be intentional changes that were the way of "passing values" in and out of the function call, but others were unintentional changes that were just use of scratch values. I had never written COBOL before but it was easy to pick up.

Once I was deemed fit to code, my big project was to write a modern GUI for this software so that you could run it on a PC with a color monitor (we were on 386-era hardware, with VGA being a pretty recent thing; I recall it was around the time of Wing Commander, when all of a sudden PC games started looking amazing and the Amiga lost its advantage, I would still tell my PC friends that the Amiga was better, but I knew inside that byte pixels instead of bitplanes were a game changer in graphics). There was no GUI for COBOL, so I was to write it in C and then call back and forth, with all the data and logic staying in the old COBOL code base.

This was in the pre-internet era, so I had to figure everything out, how to do cross-language function calls by looking at the disasm to figure out the calling conventions. I bought a book on the "Microsoft Mouse" to find out what the interrupts were and what the values meant so I could write my own mouse driver. I didn't write the VGA code myself (I know, loss of haxor points), we bought a graphics library (Z something?) that provided DrawLine, FillRect, etc. and I wrote the GUI from that.


08-08-16 | Threading

Intricate threading = fun, in a little test-bed app where you're just playing with it

Intricate threading = fucking awful and retarded in large real-world apps. Just say no. Particularly when you get a race bug that only occurs after a million hours and then never again.


08-06-16 | Noemi Days

Every moment is make believe these days. Of course we play lots of dolls and stuffed animals and we'll play I'm a bear or whatever, but even just walking down the street she'll say "I'm a mama tiger, you're a baby tiger". Sometimes if I chase her and wrap her up in my arms she says "who you are?" as in what kind of animal are you playing, and I say "I'm a snake" or whatever.

Sometimes she likes to pretend to be a mama so she can be the one leading. Like if we're about to cross the street she knows I'm about to say "hold my hand" so she'll pre-empt it and say "I'm a mama, you're the baby, you haffa hold my hand baby!"

Our first day together again we went to Keller fountain. The fountains in downtown Portland are one of the best things in the city. (the other tops are the Rose Garden & Washington Park in general (Arboretum and Japanese Garden too), Peninsula Park, Mt. Tabor, Sellwood Park, all nice. Peninsula Park is a gem with a fountain, roses, trees, playfield, splash play zone, and blacks). She's been really emotional with handoffs recently, saying "I miss my mom" and crying, but as soon as we got going, she starts spotting stuff from the car "a bus! downtown! a tunnel!". Keller fountain's really fun, lots of white trash kids splashing around, lots of levels and little pools to play in. Emmy loves the water; she says "papa come in!" or "come wif me!". I hold her hand when she walks on the edges of the waterfalls. She splashes me, I chase her, she doesn't want to get in the deep water but I pull her in and bounce her up and down until she likes it.

On the way back we walk through the weird office park downtown. I've always loved office parks when they're empty, or universities when all the kids are away on vacation. The weird public spaces, with concrete furniture to climb around on and strange outdoor art, the weird stillness of a big public space with noone in it. We pretend it's a castle, and we're the guards, and cookie monster can't come in our castle and eat all our cookies. Then the prince and princess get peanut butter and jelly sandwiches.

On this span of Noemi Days we fought more than ever. Every day when I'd try to get her out of the house to do an activity she'd refuse, insist she wanted to stay home all day. She'd refused to get dressed and put her shoes on, saying "I just want to play" ("play" = play stuffed animals). My old method used to be to just refuse to do anything with her except get dressed to go, abstain from any other play, and she would give in eventually, but this time she would refuse harder and I wasn't sure what to do. I wound up sort of threatening her, like "okay fine, I'm going to go to the park, here I go, I'm getting my shoes on" and then she would finally go along with it. I didn't like it.

We fought in the car a few times. She likes to point out everything that she sees, "look a bus! flowers!" and I'm supposed to go "oh yeah, wow, an airplane". If I ever don't respond she gets really mad and yells at me "you didn't see it!". Or if I make the mistake of spotting something first, then I'm in big trouble. A few times I lost my temper and told her to quit yelling at me while I'm driving.

And other things.


08-06-16 | Ugh

So I go to watch a DVD in my fucking hateful DVD player. I hit eject to open it. It does nothing. FUCK! Fucking open! Nope, "eject" doesn't work unless you power it on first. (wrong, it should be hard-wired to always eject even when off).

So I turn it on. Booting. Booting. Still won't eject. Booting.

Okay, fuck this. I guess I'm not watching a DVD.

I'm still working on building my new HTPC. The hardware setup was a mild nightmare, mainly because the cabling of a modern PC is a bit like trying to get entrails back in a body. How am I supposed to fit 100 meters of intestine in this small belly cavity? WTF. And of course they don't provide enough cables, so I have to stop assembly and go buy more SATA power cables, blah blah blah.

But the hardware setup is the easy part. Now comes the nightmare of software setup.

The first nightmare is installing things. Every single piece of software (starting with the motherboard driver CD) is full of fucking malware these days, little sneaky checkboxes like "install google toolbar". NO NO NO! So you not only have to click through like 100 unnecessary prompts, most of which just say -

"We've interrupted this install for no particular reason, press okay to continue"

But once in a while they say that and

"[X] install optiona Malware-R-Us KeyLogger"

So you have to watch the whole process like a fucking hawk. On every single install dialog you have click "show advanced options" and then open all the tree-view controls and see what fucking nasty thing they've hidden in there. ("Intel ME Driver" ; hmm, what's that? oh, remote control of your processor, no thank you!)

And then you get a Windows installed with all kinds of horrible shit like indexing service. Ugh. And lots of the files are set to be adminstrator only so I have to change permissions and "take ownership" and so on, and Windows wants to recursively apply changes to every file. OMG just set something on the dir and have it apply to all under, don't fucking descend to every file, they should all be set to inheret, WTF WTF


Oh, also fuck Intel and their new naming convention. Is a Core i3-4822 newer than a Core i5-3381 ? What generation are they? Which is faster? Which is newer? How many cores? What socket? WTF WTF how about fucking naming your chips by their release generation or their # of cores or their socket type or any fucking sensible thing.

And yes, I'm a total bonehead who bought a Socket 1151 chip when I needed a Socket 1150 chip, and you can't return a CPU so now I have an expensive piece of trash. My fault, but also fuck you Intel.


08-06-16 | Optimization and Algorithms

Kraken, Mermaid & Selkie are obviously pretty well optimized (though there's also certainly room for more), and use SIMD and so on.

A lot of people, even coders, misunderstand that. It's not just a question of taking whatever algorithm and cranking on it to optimize it. (by which they imagine some theoretical process where you substitute assembly for C and things are magically much faster)

You have to make algorithms that are amenable to optimization.

For example, you can't just take something like brotli and "optimize it" and get speed gains like you do with Kraken. Different algorithms are designed in different ways to lend themselves to running well on the machine or not.

I often see people with the mistaken belief that you can compare two "unoptimized" C implementations of an algorithm, and that doing so is somehow "fair". It's completely not fair, because the two algorithms might run about the same speed with naive implementations, but might have totally different opportunity for optimization.

In fact the only way to be fair is to compare the best possible most-optimized implementations. That tells you more about the fundamental algorithm and what it's capable of.

To be a bit more concrete, any algorithm that inherently jumps around in memory a lot, or has a lot of mode switches, or has a lot of branches, is not very amenable to optimization. With an algorithm like that, the naive C implementation might actually be close to the fastest possible speed (assuming that the memory access patterns and branches and so on are not removable by changing the way the algorithm works, that they are necessary and inherent). Even if you improved a chunk of CPU work to take 20 clocks instead of 30 clocks, it's all being hidden by a 60-clock cache miss anyway so you get no gain. If you can design your algorithm to not have those stalls, so that you bottleneck on the actual CPU work, then you have optimization that will actually show up, and then doing the hard work to improve the exact instructions used will pay dividends.

I have some things to say about the actual optimization as well, which will come later.


08-06-16 | Another taste

I've always dreamed of having ex-lovers that could be lifetime friends that occasionally rekindled the connection. I've never actually had that.

Like, call up an ex-lover and say, hey wanna go to Caribbean with me for a week? we'll eat fish and swim and have sex.

It should be the ideal thing. You know that you like each other, you have great sexual chemistry, you're compatible and have background to make conversation easy. It's ideal. But noone wants to do it. Oh blah blah I have new relationships, or "it's too confusing".

Yes! It should be confusing. If you're with someone and you don't think "why didn't it work with them" or "part of me will always love them" and you don't feel a little bit sad - that means you don't actually like them. Why would you rather be with someone that you don't actually like? Life is bitter-sweet. Mostly bitter. Why not enjoy some of the sweetness?

(I've often been befuddled by the "I like you too much" line. Like I'd know girls who would go on a big drug-fueled bender and fuck a bunch of strangers, and I'd be like WTF! do that with me! and they say "oh no I like you too much". Like you can only do the wonderful fun things in life with people that you don't actually like. Urg.)


At some point, all of my lovers get frustrated and disappointed with how I want to live. They start saying things like "is this all there is?" or "I need more in my life!".

I just want to write code, watch TV, exercise, swim, hike, cook, fuck. I don't want to have fucking terrible people over, I don't want to go to town hall meetings or book readings, I don't want to go to brunch or the farmer's market, all that stuff sucks.

There isn't more to life. If you can find someone that you like to be with, then just work and watch TV and fuck, that's it, that's all there is, and that's not bad, that's fucking wonderful. Enjoy it.

(I suppose part of the problem is that they generally have been careerless women, so they're missing some deep satisfaction from accomplishment and success or whatever, and they wind up taking out that frustration on me; I don't mean to put all the blame on them, I certainly have plenty of flaws that caused the problem (for example I have major mood swings and interest swings so that my level of focus on them can rise and fall like a sine wave with a period of a few months, which I understand is very hard on a person who's emotionally connected to you), but I'm also never going to fill that hole, it's not my job in the relationship to make you feel like your life has purpose or you have value in society or any of those problems that you have because of your lack of success by other people's metrics)


I see so many girls online dating that say "I'm not just a sex doll" or "respect me for more than my body" or "I'm worth more than that". Well okay, but are you?

A good sex kitten is worth a hell of a lot. That's a high bar to meet. Chances are you don't.

A good sex puppet is *awesome*. What's that worth, $100k a year? More? Someone sexy and feisty and challenging, who wants to explore and is legitimately engaged and interesting, someone who can switch, someone who brings ideas and is up for your ideas, someone who makes it personal and connected, someone who's not a pain in the ass or a needy drama queen. That is fucking RARE and awesome and super valuable.

You're (probably) worth way *less* than that. What the fuck do you think is so great about you that makes you worth something? Do you have a published book? Are you a performing musician? An inventor? No, nothing. You're all just machines that turn food into shit and not much else. You think your ideas are so fucking valuable and interesting, well let me tell you : they're not.

Now if you don't want to be a fuck doll, fine, that's your choice. What chaps my hide is the condescension, the judgementalism, the implication that a fuck doll is a piece of trash and you're so much better. That your contribution of sarcastic comments about Huff Post headlines is sooo much more valuable than her contribution of glossy hair and a good fuck. It's plain boring old slut shaming.

In my old age I really can't stand the bullshit condescension of the semi-educated semi-intelligent useless class. Comments like "she's just a pretty face" or "he's a mimbo" ; they're fucking hot. Being hot is good. What the fuck do you offer that's better than that? Or, "yeah she's really sweet and honest and pretty and moral and giving, but she's dumb as nails, ha ha, she thinks the tides are caused by water sloshing like a bath, what a dummy!" , wow she sounds amazing, and unless you're actually doing science your tiny bit of knowledge is crap.


08-06-16 | Lift

I've had this bad habit lifting recently where I get to the point where it's hard, and then just stop.

Every time I workout these days it's fucking hard, mentally and energetically, like ugg I just don't want to and I feel so tired. I guess this is getting old? It never just feels easy and eager like it used to. I have to force myself with masses of willpower, and the first 5-10 minutes always feels like shit, I have to push through that and then my heart finally starts pumping and my body says okay.

And I push until it's just starting to get hard, I feel a little soreness, I sweat a little. And then I quit. It's a mental block, like my idea of what constitutes a "good workout" has somehow recalibrated to something really pansy-ass.

When I do cardio recently, I get to the point where I'm breathing hard, then boom a switch flips and I decide I'm done.

No! You have to get to that point where it's hard, and then keep pushing! All the good gains come when you keep pushing past that point, and you get beyond what you thought was too hard. That's the whole idea, and if you skip that part you aren't really getting into the good stuff.

I find the same thing can happen with sex. You do a lot of work, you do the foreplay and all that, you get in the mood, you start moving, and then you get to the point where mmm it's good, oh fuck yeah this is it. And then it's over. Some calibration in your head says "that's enough" and you let yourself cum or you're just mentally done.

No! That point where you really get into "oh fuck yeah" - that's not the end, that's the *beginning* ! That's where the next phase of riding out the peak starts, and your goal should be to hang out in the peak as long as possible.


08-06-16 | Bad Start

Most of the relationships in my life have fallen very quickly into this pattern where the first moments we spend together are really negative. It starts to happen quite quickly, even as soon as like the 4th date or so.

In the very beginning, everyone is putting on a big act, showing their best, and trying to just make the date fun and light, make it a treat to get together.

But incredibly soon after that, the first moments become a time for them to take out all kinds of stress on me. The first thing they want to tell me is about their horrible day, or how someone else is being so bad to them, or how being broke is stressing them out, or how I'm not nice enough on the phone, or blah blah, something awful. Something that just makes me tense and angry and want to get the fuck out of there.

I know that this is a sort of attempt at bonding. What I'm supposed to do is listen and be kind and comforting, to be the big safe papa bear that makes everything alright, and then they will calm down and we can start being kind to each other and have fun after that. It's like they have to take out the shit of their life on me for 30 minutes and I have to endure it before we can bond again. It's a way of testing if I'm going to take care of them, to help them through the bad stuff as well as the good.

But it fucking sucks and I'm not really down for it.

I dunno if this is partly my nerdiness, but I have two very distinct modes : 1) Being pissed off and taking care of problems, 2) Being relaxed and not wanting to hear about problems. All day at work I'm in #1, and when I try to go on a date I want to be in #2, which means I don't want to hear about any fucking problems. No stress. No talking about the fucking home remodel or the murderous cops or any of that shit. If you have things I need to take care of, write them down and I'll do it when I'm back in my murderous rage of taking care of problems mode.

(total tangent but I guess this is part of what sucks about home ownership for me; at home I want to be in mode 2, relaxing, but home ownership is always about taking care of loads of problems, so you're trying to relax and yet all you can see is the rotting wood you have to fix, the lawn you have to mow, the gutters you have to clean, blah blah and now I'm getting raged up. I've seen in movies and TV that there's this myth of people who take care of problems and also have fun while doing it; like they need to paint the house so they turn on a boom box, and they flick paint at each other and laugh. I'm pretty sure that's just unrealistic bad writing.)


08-06-16 | Dreams

I end my long day of work and come home to my family. We hang out in the yard as evening slowly descends. My wife and I have a cocktail under the dappled shade of a big old tree. I cook paella on an open wood fire as the children run around playing in the yard. My wife putters about in the garden, I watch her graceful sensous movements. She wants me to look at the newly blooming flowers, I only want to look at her. Night descends and we turn on the strings of lights in the trees. We eat my cooking, I play with the kids a bit. I keep stealing looks and touches from her, I can't wait for the kids to go to bed so we can be alone together. I read them books and finally we get to devour each other.

Impossibly far away and unattainable dream.


08-05-16 | Dreams

I live in Hawaii and become a "water man". Every day I swim in the sea, way out. I develop my free diving. I've never been a fan of snorkels or scuba. I like to be naked in the waves. I work on holding my breath longer and diving down deep and staying down, like a fish in the deep. I take my dinner from the sea, spear-fishing and hooking lobsters and urchins from under the rocks. I'm deep tan and permanently salty and sandy. I join an outrigger rowing team and paddle hard to the rhythmic chanting. I kayak up and down the coast, camp on beaches only accessible from the water. I eat ripe papaya and mango from my own tropical land. Perhaps I have a little swim shack on the water, just a board shanty, open to the elements, with the sea wind and the sound of the waves.


I had a recurring dream a while ago.

(I fucking hate reading about people's dreams so much. Any time I read a book if there's a description of a dream, or a letter that a character wrote, or another medium embeded in it (like a book about a book, or with lines of a play or a newpaper article), I always skip that shit.)

I moved to Hawaii and was swimming way out in the water every day. One day I was swimming near sunset and I saw a shark in the water near me. I turned to swim in to shore, but it bit me, one big chomp right around my hips. I fought it, punched it in the nose, poked its eyes, fought with all my fury, and it let go and swam off. I could tell my middle was badly injured; I was a bloody mess but didn't want to look. I just started swimming to shore, my legs not working at all, just pulling with my arms. Eventually I reached shore and collapsed unconscious on the beach.

When I woke up I was in a hospital and the doctors were talking to me. They told me they had done major surgery on my middle and had been able to save my legs, but my cock and balls were destroyed. They said they wanted to try an experimental surgery where they reconstructed a penis from pig skin and stem cells, that they might be able to make something that functioned sexually. I said fuck no, what good does that do me, imagine going on a date and telling someone you have a mutant pig cock. I don't want that. Just leave it smooth, like a Ken doll.

I recovered from my injuries, and got a big tattoo of a shark across my back. As soon as I could, I went back to swimming in the ocean. The locals called me "shark man" and I had respect from the usually anti-whitey natives. Sometimes I would swim naked, letting the water flow over my smooth sexless crotch. Sometimes I would see sharks again when swimming way out, but they wouldn't attack me, as if they knew who I was.


08-05-16 | Fuck fuck fuck

I'm trying to buy a house in Hood River today and I'm right on the edge of saying fuck it. My realtor is a fucking useless shit-head, the seller is a fucking lying scumbag. The house is great but I don't want to give either of them any money at this point and I'm really tempted to scuttle the deal just out of spite.

Fuck. Calm down.

(the details aren't really important, but go like this : inspection identified various flaws, as normal, so we asked for a credit to the closing to compensate for the repair costs. They refused to give a credit and said they would fix them. I guess I made a mistake in agreeing to that, I knew it was a bad idea but said fine. So we get to closing, and of course the repairs aren't done. I say fine, you didn't do them, now you give a credit on closing, and again they refuse. Not only do they refuse, but they do it in the most dickish possible way. If they just said "nah we're fuckers, we didn't do it, take it or leave it" I could respect that. Or if they "oh sorry we couldn't get to it" that's fine too. But instead they say "we don't agree these are flaws, it's fine as it is, and this is why, blah blah..". No no no you fucking cock. If you wanted to dispute the repairs the time was during the inspection period *before* you signed the addendum saying you would do it. Such a fucking shitty dick response that I want to just smash their faces)

God dammit, some people are such unreasonable dicks that the only way to interact with them is to stay "ok fine, fuck off, get out of my life!".

The problem is when they have something you want, you get into this situation where they're being a total fucking dick, but it's in your best interest to yield to them and be accomodating and try to make it work anyway.

It's a very common situation and one that makes me always feel very sick.

Sometimes I tell myself NO! Don't deal with the fuckers. There's this idea that going ahead and doing the deal is "mature" whereas just being spiteful and telling them to fuck off is "immature" , but I think that's just the TED-Talking Steve-Jobs-and-Jamie-Dimon-worshipping evil-capitalist culture. What about your principles? Fuck your own best interest. If Apple sells a product that you want, FUCK THEM no don't but it, they're evil. Any time you visit a web site that wants you to sign up for anything, FUCK YOU I just won't use your web site. Any software that shows you a big T&C screen on install, nope, not gonna install it. Fuck my own needs, my soul is more important.

If you get a really great job offer from Microsoft or Apple or Occulus/Facebook or whoever - FUCK THEM. You don't do go work for the devil, even if it is a great opportunity. I'm not sure I would actually do that in practice, but I wish I would.

It's one of the ways that the worst evil people in the world get good people to help them. This idea of doing what's best for yourself, that making a dealing with the devil is necessary when it also helps you.

I suppose one of the most extreme examples was the whole field of Nuclear Physics from 1950-1980 or so. Everyone in physics made this deal with the devil; they knew that to do big research you had to get DoD funding, and had to claim that your particle accelerators were somehow important to helping us keep an edge on the Russians. I think many people in the field felt a bit sick about it, but the desire to be able to do the research and get the funding trumped any moral doubt.


I got my TSA Pre KTN recently, because the Seatac TSA has become so intolerable that even though I only fly maybe 2 times a year, that's 2 times too many to go through Seatac TSA.

In the middle of the TSA Pre process, they pop up a lovely Terms & Condition screen that says something like

"The DHS may sell all your private information to our partners"

WTF !???!!!! WTF WTF WTF

I stopped for a minute and just stared at it. Should I decline and say fuck it, no I'm not doing this?

It's so fucking unbelievable that our government does that. And of course it's not just DHS with the TSA Pre. The post office does it, your driver's license agency does it, and your hospital does it. It's so fucking sick. The US government agencies should not be taking your information and selling it to private companies. It's not the biggest deal in the world, but it's just such a clear example that every aspect of government is working for corporate corruption, not for the citizens.

Everyone in congress should be fired. And then put in the stocks so we can all throw potatos at them.


08-02-16 | Dictionary

"community" - noun - a group of people who will stab you in the back if it benefits them in even the slightest way; a group of people that will gang up to beat you when you're down.


08-01-16 | Fucking Thieves

I suppose I should have just gotten my own real estate license. It would have been worth something insane like $60k to me in the past few years.


07-31-16 | Optimizers

I tend to write my code in a very old-school way, I unroll loops myself, not relying on the optimizer, I vectorize parts that can go wide myself, not relying on the optimizer. Partly just because I'm old and set in my ways, partly because I'm paranoid, and partly for good reason.

You can see the contrast with Yann's (LZ4 & ZStd) style under the different compilers. If you look at Yann's LZ4 code, it's actually incredibly simple. He doesn't special-case long & short matches, doesn't do lots of unrolling or vectorizing, it's just the straightforward implementation. Under GCC -O3 that seems to work fine, the optimizer does an awesome job of turning things like simple match copy loops into what you want. MSVC is much less aggressive about that, it's far more literal (which I love), but that hurts Yann a lot.

We've struggled a lot with modern clang/LLVM/GCC. The problem is that you poke at the code in some seemingly innocuous way and the performance jumps massively because it either enables or disables some optimization opportunity. It makes iterative tweaking almost impossible, because it's hard to tell if some little change was actually a fundamental algorithm improvement, or if it just tripped the optimizer into something else.

To actually be able to use this stuff in high-performance code you would need way more hinting. Things like the ability to mark "this loop must be vectorized" (so if it's not it's a compile error, then you can poke at it randomly until it starts vectorizing again), and also much nicer control of "don't vectorize this loop" etc.

I think we posted about this before, but there was one particular example that was quite hilarious, and actually led to me disabling the vectorizer on the PS4 (Oodle now ships with the vectorizer disabled on clang-PS4, and I do it myself where it's profitable). I had a loop that was like this :


while(len >= 8)
{
  // do 8
  len -= 8;
}

// tail :
while(len--)
{
  // do 1
}

and the vectorizer in all its wisdom left the first loop alone (wrong - it should have vectorized the first loop, since len is expect to be long here, it would have been profitable to do chunks of 32 or whatever), but it DID vectorizer the tail loop (where I know that len < 8). It changed the tail loop into like 1000 instructions that did "if len >= 64 , do chunks of 64, then if len >= 8 do chunks of 8 ".

Fuck. No.


07-31-16 | Garbage

I do my non-code text editting with a shitty editor called "Programmer's File Editor" (PFE). I started using it because it's pretty light weight (unlike all the heavy nasty shit like "slick edit") and it has full key mapping support I can set up the shortcut keys the way I want. (my fingers are still used to Alt- based key combos from the Amiga days, I still need things like Alt-R for find-replace).

Pretty quickly it became apparently that PFE was badly broken. It has a lot of bugs, but by far the worst is that it frequently crashes when you hit "save", discarding your changes. So I'll edit edit, save, CRASH FUCK PFE AGAIN !!

And yet despite that I still haven't switched to another editor, and it's been years. Because the PITA of finding and setting up a new editor is worse than just eating the crashes and lost changes. Stop fucking forcing updates on me, leave my shit alone.


07-26-16 | Texture Compression

I've had specialized DXTC compression in the back of my mind for a long time, but haven't gotten around to doing it.

In the mean time, the whole field of 3d hardware texture formats has become a total nightmare to work on.

We now have all the old BCn/DXTC stuff (1-5), BC6H, BPTC (BC7), PVRTC, PVRTC2, ASTC, ETC, ETC2, etc. etc.

They're all unique enough, and the new ones are quite tricky to encode, that you need custom code for each one and a very thorough understanding of each.

Writing a really good R/D/S (rate/distortion/speed) optimizing codec for any *one* of those formats is a major project. And now you have to do it for like 10 of them !?

Fuck that. Leave it to Rich!


07-25-16 | Honesty

I suppose on some subconscious level, I sometimes have "hard times" on purpose because I want to get that point where I "can't take it any more" and need to freak out. Because the freak out is some bad behavior that feels good. Like err this traffic makes me so mad I need to yell at people and drive like an asshole. Or err work made me so stressed out that now I need to eat a tub of ice cream.

There's a point where the bad time is building up, and I could diffuse it, I could just chill out or take a break or laugh it off or whatever. But instead I ratchet it up, double down, work even harder, get more frustrated, because I want to get to that place where I've really had too much, and then I just have to be alone and drink and watch TV.

I suppose on some level, part of why I can't date is that I'm still in love with her, and every girl I meet I compare to her and find them lacking. Like eh, you're okay, but why can't you have that quiet intensity that says "take me, if you dare" without saying a word? why can't you be into cool art and share books with me? why can't you have dark hair and golden skin and impossibly long strong legs? Why can't you be sophisticated but earthy, natural bohemian queen? She's got her hooks so deep in me, I'm not sure how I can ever find anyone else attractive again.


07-25-16 | Care

If our country actually cared about stopping speeding and supposed speed-related crashes and deaths, there could just be a law that cars can't be made to go over 65 or whatever.

If our country actually cared about alcoholism and all the related deaths and problems, there could just be a way to get a stamp on your license that says you can't be served alcohol.


07-25-16 | Mermaid and Selkie

Today we publicly announce the new compressors I've been working on (with Fabian) for the past few months, Mermaid & Selkie.

I'm quite proud of them, they're kind of magic. It just seemed like everything went right with them. Every time we'd run a benchmark to test progress, we'd be blown away by how well they did. Like wow, unbelievable that we got that far, we didn't think that was possible, and then a few weeks later we'd run another benchmark and they'd be another huge step forward.

For example early on Mermaid reached LZNIB-ish speeds, around 1400 MB/s, but with a lot more compression than LZNIB. So that was awesome, high fives all around, and at that point it was clear that LZNIB would be obsoleted by Mermaid, it was getting equal speeds but much more compression. But then Mermaid got faster, and faster, it hit 1800 MB/s and we went wow, this is fucking insane.

I like to set mini-goals for myself all the time, so one of the goals I set was "two-thread-phased Mermaid decode should be as fast as LZ4" , then I'll high-five and celebrate. When I set that goal, single-thread Mermaid was maybe 1800 MB/s, LZ4 was 2500 MB/s and two-thread Mermaid was around 2300 MB/s. (threaded decoded doesn't help Mermaid as much as it helps Kraken). I thought hey, that's attainable and would be a cool marketing bullet point. A few weeks later I benchmarked again, and single-thread Mermaid was up to 2400 MB/s - almost LZ4 speed without threaded decoding at all.

Kraken is pretty awesome, but in some ways it's just a very good LZ-Huff, it's like if you did an LZ-Huff from scratch with all the modern ideas and got lots of details really right, you get Kraken, and hey that's awesome and there's lots of good work in the details, but it's "just" engineering. Mermaid (& Selkie) are a bit weirder, it's more of a departure from similar LZ's. I don't think it's possible to get the space-speed of Mermaid/Selkie by just doing a really good implementation of something like LZ4, you need a whole new approach to LZ. In that sense Mermaid is a bigger step than Kraken.

Mermaid is named for my daughter Noemi. I wanted to name these new compressors something that was connected to the star of my life. Mermaid & Selkie are closely related compressors so I wanted a family of names that reflected that. My first idea was "Frog" and "Toad", because Emmy was quite into the Frog & Toad stories at the time (then the other compressors could be Salamander, Newt, BullFrog, etc.). But she's really in love with mermaids, and one day it hit me that the Oodle logo is an octopus, so of course I should go with the nautical theme, hence Mermaid, Selkie, Kraken, etc.


07-23-16 | KAT

KAT (kickass torrents) being killed by the US government.

Ugh. The best fucking site on the internet. You could delete the whole fucking rest of the internet and I wouldn't give a rat's ass if I could just have KAT.

Fuck fuck fuck. I want to watch the Super Rugby playoffs and there's no fucking way to do it other than torrents. How do I watch MotoGP ? God dammit. Without torrents I don't want to live!

My HTPC caught on fire last week so I had no TV in Kirkland, which was fucking rough. I bought a cheapo DVD player so I had something, and it reminded me what a fucking nightmare DVD's are. Fuck formats that control the way I watch them. Fuck web sites that don't just let me get the content and download. We need to all boycott this shit.

I've got this Cowboy Bebop DVD that I haven't watched in a long time, so I thought I'd pop that in to pass some time. Watching goes like this :


Fucking long unskippable annoying intro

I start to get mad and walk into the other room to wait it out

Gets to the main menu, and starts playing a 10-second snippet of the theme song over and over,
ba-da-ba-da [restart] ba-da-ba-da

FUCK FUCK FUCK shut up this is like intentionally designed to drive me insane.

Click play on episode 1.  It doesn't just FUCKING PLAY

Instead it plays some fucking animation to go to the episode 1 sub-menu

FUCK FUCK FUCK fucking play it already

Click play

ANOTHER FUCKING ANIMATION to transition into playing.

Okay, finally it starts.  And it jumps into the theme song which I now fucking hate because I've heard
10 seconds of it on repeat over and over hammered into my ears.

So we're happy for a while actually getting to watch it.

The episode ends.  Wouldn't it be nice if it just started episode 2 immediately?

NOPE back to the fucking menu.

You take this beautiful work of art, that someone poured their life into, that they carefully crafted with taste and style, and then you wrap it in a frustrated pile of turd.

Fuck all those who control the content and wrap it in filth. Praise to the content creators and the cappers who set it free.


In related news, jesus christ building my new HTPC is a fucking pain in the ass.


ADD : oh yeah, I forgot one of the best parts.

The new DVD player *boots*. Like, I don't turn it on and it's just on and can play immediately. It goes through a fucking long-ass boot sequence. WTF. No. Why are you booting. You're fucking hardware, when power runs through your circuits they're ready and you just go.

It means that a modern DVD player is massively *worse* than one from 20 years ago. (this is even ignoring the fucking rot like HD up-conversion and "smooth motion" and all the other fucking awful rot that they want to do to ruin the video these days. Just show the damn frames and leave them the fuck alone, you can only make it worse.)

I suppose kids these days are growing up without even knowing the joy of hardware that just runs. Like CD players and amplifiers that you turn on and they are just on, there's no fucking initialization sequences, no connecting to the internet, no downloading updates, no booting, no hand-shaking with paired devices. Oh, you hit "play"? Okay, I play immediately.

In the future you'll go to turn on a light bulb and it will just not respond at all in any apparent way. Actually it will be internally booting, downloading updates, etc. So you'll not know if your button press was okay, so you press it again. Eventually it boots and gets your second press and immediately turns off. FUCK! (and then it'll get hacked and turn off and on over and over to give you a seizure. but when it was working, it would change color based on the number of "likes" you got on twitbook, so it was totally all worth it for that.)


07-19-16 | Stepping toward death

The point of life is just to reach death.

It's not to be happy, or to do good deeds, or accomplish something, or contribute to society, or procreate, or any of the arbitrary invented reasons that people create to try to help them cope.

It's just to get through each day to reach the next and eventually die.

Suicides have figured out the game and just jump to the end. Okay, cool move, that's one way to get there.

The rest of us take the long route and just count of the days one by one.

The funny thing is that "just surviving" is really fucking hard for a human to do. We can't cope with it. We invent all these other goals (I must get money so I can get a nicer house so I can be more comfortable and show off to other humans) that are just purely made up by our own madness trying to distract us from the simplicity of the real task at hand.

To be able to survive and just cope with ticking off the days, many fall into workaholism, alcoholism, weird hobby obsessions, killing time with the TV or the computer. These are really just ways of distracting ourselves.

I guess the Zen Buddhists and such try to face the reality of it more directly; they realize there's nothing to do but just sit and think about nothing for hours. But god that's fucking HARD it's so much easier to pretend that you need to be hustling around accomplishing this and that.

For me surviving is about staying in this narrow window of operations where the days tick by relatively easily, but god it's a fuck of a lot of work. Need to work a lot, need sex, need exercise, need to get outdoors, need to sit silently, need to get off screens, need love and play and family, need healthy food, all this shit just to feel okay enough to tick off the days.

Often naive people would say such and such was hard but "it didn't kill me!" as if that's a good thing; blah blah was some bad times but "I survived!" as if that's winning. You dope, that just means you have to do a lot more work to reach the end!

I think it would be nice if we were all just killed at 70. Aside from the absolutely massive benefits to the world economy, it's just a nicer way to live. You'd know that it's not going to go on forever. Life is an exhausting ordeal. Imagine running a marathon where you don't know the length of it before-hand. You get to mile 15 and you're fucking exhausted and you want to plan for when it will end, but when will it? Maybe mile 26, but maybe 30 or 40? Fuck I just give up now. The only thing that gets you past the hard hump in a marathon is knowing that if you just push a little longer it will be all over soon. That would be nice in life.


07-16-16 | Biz Dev Bank

The US government should obviously have a Business Development Bank, and stop doing it other ways.

The way it works now is just massive corruption, massive free money for corporate profit. There are two primary modes :

For new tech development, companies like Tesla, biotechs, alternative energy, etc. etc. get huge government grants and tax breaks to help them develop new businesses. Then after a few years they might become immensely profitable, and they get to keep it all.

Lots of big businesses go through cycles where they have trouble. We've seen it with GM, the oil companies, and of course the big banks. They come cry to congress waa waa our business is in trouble through no fault of our own, they get huge grants and breaks, and then poof magically a few years later they're making huge profits.

Of course this shouldn't be allowed to stand, and the government & congress should have no part in meddling in the supposedly (eye roll) free market.

But there is a legitimate role for government in helping spark new businesses that require large capital investment, or for helping out major industries that are in a legitimate temporary rough patch.

That should be done by the independent Biz Dev Bank. The BDB should have an infinite line of credit from the Fed to invest however it wants. It gives out money to industries deemed important to the country, and payback can be delayed for a few years, but there *is* payback. Once the business stabilizes the BDB starts recouping its loan with interest. Maybe it takes an ownership stake. Profits by the BDB can be used to make more loans without taking money from the Fed.

It should be illegal for the government to directly deal with any particular business or industry.


07-14-16 | Speed

The Kraken speeds look phenomenally good when compared to other compressors. For example :
lzt99 : 24,700,820 -> 9,970,882 =  3.229 bpb =  2.477 to 1
decode only      : 20.943 millis, 2.89 c/b, rate= 1179.44 mb/s
Over 1 GB/s - amazing, right?

But when I see the times in millis I'm reminded how slow this still is.

A game trying to run at 60 fps gets 16.66 millis per frame. Pulling 24 MB of data in one frame doesn't sound unreasonable, but even with Kraken decoding that data would take 21 millis, over a frame, *if* you had a full idle core to run decompression on (which you probably don't).

Put another way, Kraken at 1200 MB/s is 20 MB/frame at 60 fps.

A full RGB frame at 1920x1200 is 6.9 MB , so Kraken can do that no problem. But it can't quite do 4k video (24.8 MB/frame).

The data rates for lossless video may seem pointless, but they set a theoretical bound for 3d games or any kind of content streaming. If you can do a full frame bitmap update, you should be able to load enough data for a moving viewpoint to update geometry, textures, etc. assuming they are reasonably compactly represented and you aren't loading lots of stuff that's not actually visible. Anyway, it sets a sort of data rate scale.


07-14-16 | FUCKING PEOPLE

So I'm trying to buy this house in Hood River and the realtor sends me an email today

"oh by the way, the deadline is today for you to submit proof of funds"

Huh? WTF? Thanks for telling me. No "oh shit, I'm sorry I should have told you about this sooner". God you're so fucking incompetent, and people seem to have no idea about reasonable requests and when they're massively fucking up.

Last week I sent an important document overnight via UPS. I foolishly assumed it got there and didn't follow up with anyone. Several days later the title company finally says "oh by the way we haven't gotten that letter and now it's late". WTF, you fucking turds why didn't you tell me that the first day that you didn't get it? (I had told them I sent it and when to expect it). So I go in to the UPS store to go "WTF", and they poke around frowning at their screens for a while, and there's no apology, no "geez we fucked up", they're just like "well we're going to have to submit a package search into UPS to track it down". No no no you fucking ass-hat I WILL SMASH YOUR FACE. You could have diffused this situation so easily by just being sorry that you lost my fucking important letter, but no, no accepting the blame, no apology.

My whole interaction with the realtor has been a bit toxic because I don't feel like they're working hard enough for me. Every time I see them I just think about the fact that I'm paying them $15,000 dollars. Fifteen fucking thousand dollars, and you can't even send me the schedule of deadlines for paperwork in advance? So fucking sick. I kind of just want to punch them in the face every time I see them. Instead I'm supposed to act like they're doing me a favor, that they're somehow helping me get the home I want and I should be so happy about it. You fucking crook.


07-14-16 | FUCKING GOOGLE

God dammit why does Google Maps have to suck so bad now!? It's so god damn slow, it's not a joy to use any more. I used to love to just browse around and look for driving roads or hikes, I'd scan over rivers looking for swimming holes, and I never do that any more. Now I open it up occasionally to find somewhere and it goes loading, loading, loading... I start scrolling and then it finishes loading and snaps me back to where I started, WTF WHY DID YOU RUIN IT!

And why does it make so unreasonably angry?


07-14-16 | WHY WHY WHY

I've just done a bunch of futzing around manipulating CSV's with command line apps.

WHY in the fuck can I not just save a log of everything I've run in the past hour? So that I can document it and reference it in the future.

Why in the fuck are computers broken and awful in the most basic ways?

They're just unnecessarily delicate, difficult, annoying, flakey devices and they shouldn't be.


07-14-16 | Thinning the Herd

I had this idea a while ago (inspired by the great show Utopia).

It would be awesome to massively reduce the population. Say we could sterilize 90% of the population, bring the Earth back to a more reasonable number of humans. But we don't need to do any evil super-villain stuff, sneaking a drug into the water supply or a vaccine or whatever.

I bet you could get all the fucking morons to sterilize themselves.

If you could make a drug that gave people muscles without working out, or gave them energy like speed, and just happened to have the small side effect of sterility, people would take it. They'd not even read the fine print, maybe they'd know about the consequences somewhere in the back of their head, but fuck it, I want my fit body and that speedy rush.

All this Pokemon Go nonsense has reminded me of it. Apparently you don't even need to give people real-world rewards to get them to kill themselves, you can just give them virtual hats and they'll run out onto the freeway to collect them.

Also re: Pokemon Go. Let's go long on Pokemon Go! Buy Nintendo stock! I'm sure this craze will last forever. Just like Farmville and Angry Birds, and oh wait...


07-14-16 | Space-speed

One of the issues I find that people don't understand is the space-speed tradeoff nature of compression.

In particular, they can always be traded for each other.

First of all, I often hear people say "I don't care about speed, I want the smallest sizes". Really? Then use PAQ, or even a slower context mixer, like CMIX or EMMA. Oh, you don't think 10 KB/sec is ok. Then obviously you *do* care about speed. Or people will say "I don't care about compression, I just want the fastest decode." Okay, then don't use compression (eg. use memcpy). Oh, you do want some compression. Okay, you could use the Chameleon I posted. Oh, that's not a small enough file. So obviously speed is not your only priority.

It's *always* about a tradeoff and what point on the curve you can tolerate.

So, let's talk about how they can be transformed into each other.

Say you try a compressor like Kraken, and it's much faster than what you were using before, but the compression is about the same or maybe slightly worse. You've gained a lot of speed, but not compression, and what you want is more compression.

There are several ways you can exchange that time gain for size.

One way is to run a slower compressors on some data. Specifically with Oodle, you could pick some files where LZNA offers better compression. Most of your data runs through Kraken, but in a few spots where it make a big difference, you use LZNA, which trades off some of your time savings for space savings.

Another way is to decompress larger chunks. Say you had something like 512k paging units before, using lzma (which is very slow). Then your time to decode a single paging unit might be 17 millis (at 30 MB/s). With Kraken at 1000 MB/s you can decode the same paging unit in 0.5 millis. OR you could use larger paging units, which will increase compression by giving the compressor more data to work with. Maybe you step up to 2 MB paging units. Kraken still only takes 2 millis, and has much higher bandwidth, so here you're trading *latency* (not bandwidth) vs compression ratio.

Another way is to run filters. For example when comparing lzma and LZNA (yes I'm sorry the names are so confusing), they get about the same compression ratio, but LZNA is much faster to decode. If you were okay with lzma speed and want more compression ratio, you can use LZNA and trade off some time. With lzma at 30 MB/s and LZNA at 100 MB/s , you now have 23 millis per MB to run filters on top of LZNA. That is, you can decompress LZNA, do 23 millis of extra work per MB, and stay at lzma speed. With that time you can do things like byte deltas, PCM transforms for WAV, image RGB deltas, EXE BCJ jump address transforms, SOA to AOS transposes, etc. which make the data more compressible and increase ratio.

Time and size savings are both a type of currency that you have in your pocket. Code is a way to exchange them for each other; there's a kind of currency exchange bank that lets you trade one for the other, and the goal of good compression is to find the best exchange rate.


07-13-16 | Work is work

I want to test Oodle on [X] game platform. I've already found the compiler executable for that platform and have successfully built libs. How do I make an EXE I can run, deploy it, and run it on my test content?

Step 1, install the IDE GUI.

No no no, you've failed already. Okay, what's the next step.

Step 2, get an app certificate from the signing server.

Oh jeebus.

Step 3, use the Manifest Wizard to create an XML that lists your assemblies.

WTF I have no fucking assemblies. WTF is an assembly. I have a native lib and I want to run "test_func" on a file. Why is this so hard!?

Step 4, write a universal app in C#/Javascript/Sanskrit/fucking-hell. The app has no main and doesn't run, it follows the always-on model, you get asynchronous "wake" messages in your COM message handler.

Kill me now.

Step 5, to get content to the device, start the GUI package assembler. Drag files into the package, then add the package to your app manifest. Submit the manifest to the certificate server. The device can only load packages from the cloud.

I feel like my head is being crushed in a vice of rage.

Step 6, even though I just want to run some pure C code and output success/fail, I have to write a full GUI app, initialize graphics, sound, start a memory manager. Oh, there's no fucking stdio that I can grab in any automated way; maybe stdout only goes to the debugger. Or if I write a log file, the only writeable dir is one that's signed to the app which disappears automatically when the app is not running. So I have to set up a thing where I write a log file that just says "good/bad", and then make the app sit in an infinite loop and write something for the host to try to grab that log and then kill the app. ARG ARG ARG.

I do all that shit. Try to run it.

"Error deploying app; root assembly missing package token."

What!? Poke around for some frustrating hours (all the internet references to that problem are for version 3.7 but I'm on version 7.3 where everything seems to be completely different), sort that out. It deploys, but when I try to run it, nothing happens. Just doesn't start, no message. Fuck fuck fuck. Poke around a few more hours, try to sort that out. Run it again. It crashes somewhere in startup, before it reaches my code. Get it in the debugger, it's an exception loading app pref overrides, which I don't supply, which I'm not supposed to supply, wtf?

(god I despise problems that happen before my code even starts running, and I hate problems that are in anything but C code).

Arrrggh. I so want to boycott your device. Fuck you, I'm not making Oodle for your platform, you're too fucking anti-developer. Fuck, calm down, I have to do it for customers. Can't we just all as an industry boycott all these fucking platforms?

At this point of all the platforms that we ship on, I would boycott them all except PS4. Windows was okay up until VS 2015 and Windows 10 and the whole universal-app nonsense.


I've often said how I'd love to be able to retire, and dinguses (dingi?) will reply with "oh I would go crazy, I have to work". Well, dumbass, of course I would keep coding. I just wouldn't do all the shit that goes with coding.

For example, I could still ship Oodle. But it would only run on Win2k. If you want it on some other platform, too bad, tell them to get their heads out of their asses and make their platform not suck so fucking bad for developers.


07-09-16 | Philosophy

I was with Noemi at the library and something clicked for me about basic life philosophy.

She was playing with the barn toys that they have in the kid's section, and some other kid comes up and tries to take all the toys. She says no and I'm proud, that's been an issue in the past that she would just let boys push her around. Then another kid comes up and wants one of the horses and she says no, so I jump in and tell her to share.

(fuck all you fucking rotten parents that watch your kids be little monsters and don't jump in to do anything)

It made me realize the way I want her to be, which I guess is the way I want myself to be, which is something I'm only recently figuring out and still failing to put into practice very effectively. It goes like this :

You decide for yourself what the rules are for each situation. You decide how it's going to go, what the parameters are, and then you make it be like that.

You decide what others can request of you, what's reasonable, and if they don't like that then fuck them.

Never listen to their reasons because they're all fucking liars and manipulators who will just take and take if you give an inch. You don't listen to other peoples' ideas of morality or behavior because they're all fucking unreasonable morons.

Point is - the way to live is, you decide what the rules of conduct are, and then you follow them.


07-09-16 | Fuck fuck code

Life sucks. Everyone sucks.

Do more coding.

I just want to fuck and code, why is that so hard to find?


07-09-16 | Fuck

It's hard to rant about the trivial shit in my life when people are dying and the world is going nuts.

But I will. Because to stand up to people who want to destroy our way of life, the best thing we can do is to keep living the American way - drink beer and watch TV and pretend that nothing bad is happening.


07-09-16 | School

We've had some issues with Noemi's preschool, which are incredibly standard and also very difficult for me.

There are a couple of bad boys in her class that seem to be bullying her. One is an actual maniac that's bitten other kids and sees a psychologist and shit like that who just shouldn't be allowed in the general population. (one strike rule - throw him off the cliff like Sparta). Two are just normal rowdy boys that push and grab her toys and so on, which is pretty standard and fine except that the school seems to not do anything about it and the result is that she doesn't feel safe or protected or something. She has obvious stress and tension about school.

So a while ago she told me that she didn't want to go to school, that there were "bad boys" who chase her, and she cried and said she just wanted to stay with me.

Ugh. How can I force her to go to school when she says that to me? On the one hand, you can't take what kids say too literally; it's not that they lie, they just have a very loose grasp of reality, like memories vs. imagination are not well separated, and certainly they're very easy to prompt and lead. (In general I try to consciously make an effort not to lead her, but it just happens so naturally all the time; like at the grocery store I won't say "what do you want?" I'll say "do you want blueberries?" to which she'll say yes, and it just subtly happens like that all the time, you're constantly leading kids to say what you want and behave the way you want).

(watch the movie "The Hunt" if you want to have a bad time)

This general problem is super-standard and the response from 100% of parents is "fuck you, go anyway". At some point your kid will come to you (or maybe they don't come, but if your eyes are open you should see the signs, like if they start wearing black and lock themselves in their bedroom and listen to Tori Amos and/or Nine Inch Nails all day), and say "I hate school, I'm getting beat up, the teacher is a pedantic power-tripper, etc." and the result will be "fuck you, go anyway". I mean, maybe the parents will act sad and go "oh what do we do" or even talk to the teacher, but nothing will change and they'll send you to school the next day anyway. Here, go somewhere where you're locked in and can't escape and there are monsters to horrify you. I'm going to lock you in a box with monsters all day, fuck you. Because poppy needs his private time.

So anyway, I call the teacher to talk about the fact that Noemi is telling me that there are bad boys chasing her and she doesn't want to go to school. And the teacher blames me. "You need to talk about school as if it's an exciting treat, make sure she has a good morning before school, don't mention anything bad about other kids, etc. etc." Fuck you fuck you, you fucking victim-blaming bitch. I know all those things, I'm perfectly capable of manipulating her into going to school. I'm a parent and kids minds are weak, it's the easiest thing in the world to trick them into being okay with being locked in the nightmare-box. The question is not *how* I should get her to school, it's *if* I should send her some place she's telling me is bad.

I made her go and felt pretty sick about it. There are definitely lots of good things about her school and she seemed to enjoy it mostly. It's easy to feel like you're doing something horrible, think about it a bit, put it off, then forget about it.

A month later we're having this problem where when we pick her up from school she's having huge meltdowns. Kids have these total meltdowns when they're over-tired or hungry or just really frustrated or something, they almost short-circuit, something just goes wrong in their wiring and they freak out. So she's having meltdowns every times she's picked up, screaming "I hate you" and stuff like that, way worse than we've ever seen. So we talk to the school to see WTF is going on during the school day that's leading to this, and we get the brush-off, like "she's happy at school, we don't see any problems" and then the blaming begins "maybe it's the way you're picking her up; she needs consistency, having different parents pick her up is really hard" blah blah.

Fuck you you fucking counter-blaming ass hat.

And other stuff but I bore of this rant.


07-07-16 | Beaten into not trying

A lot of people think that sex is better with strangers, or that it's best at first. For them the best sex in their life might be in a one week affair with someone they met on vacation. It's all about that first explosion of energy and diving into each other wildly.

It shouldn't be that way. Between quality people it should get better and better. As you get to know each other and how to play off each other, as you develop trust to be able to fully give yourself up to the other person and know that they will take care of you even when they're doing something strange to you. You should be able to keep growing and trying new things together.

But that almost never happens. For one thing, most people hide their dirty side in their serious relationships. They might do incredible nasty things with strangers, but they would pretend to be horrified by that around their lover, because they're afraid of judgement, afraid of being labeled. This applies pretty equally to both sexes. Being very stereotypical, lots of women are afraid of admitting their dirty desires because they don't want to be labeled a "slut" or considered dirty, they want to be considered a "good girl". Unfortunately their fears are correct because lots of men have the stupid idea that you "bang a trashy girl but you marry a good girl" and fucking awful retarded things like that. But men are equally afraid; they often pretend to not be into dirty things because they don't want their women to label them dirty or a "creep" or "disrespectful" or "sexist" whatever stupid label that doesn't apply to healthy consensual acts. Men are also afraid of admitting to anything that's not macho, they're afraid to admit that they want to be dominated or act like a baby or get pegged or whatever because they're afraid of being labelled "gay" or "sissy" and so on. So people keep their real desires away from their long term partner.

A lot of the problem is just the awful closed-minded way that people are to each other in general, not just sexually.

Most relationships have a feeling-out period in the beginning where you're trying new things sexually to sort of see what works and what the other person's limits are. At some point you hit a limit. Maybe you say "scoop the wax out of my ear and feed it to me" and she freaks out, calls you gross and sick and so on. That's it, the fun times are done. It's the response that kills it. When you're being quite vulnerable, making a weird request, and it's met with disgust and personal attacks, it kills something in your connection. It's like a slap in the face. Get back in line. Be normal, or pretend to be normal. Conform. Don't open and be real with me, let's just interact on a surface level where we pretend to be what society expects of us and we don't have to face any challenging interactions.

Obviously it crushes your sexual development, but it applies to all kinds of interaction.

People wind up falling into these horrible ruts of standardized behavior. Go to restaurants, watch movies, blah blah boring boring. Because when you suggest those nobody calls you a weirdo, and people are likely to go along with it.


07-07-16 | Construction

The RAD office building has been under construction forever. So fucking frustrating. I can't get any fucking peace anywhere. My Portland neighbor is blasting his sub woofer, and in Kirkland I get bang-bang saw-saw.

I'm watching the fuck-tards paint the balcony right now. The balcony is covered in bird shit and dirt and they're not cleaning any of it, they're just slapping paint right over it. That's gonna hold up great. You're making things worse!

My Kirkland apartment building is having the exterior painted. It was in totally fine condition, no peeling or bubbling. They're changing it from beige to a slightly lighter shade of beige (which actually is a lot worse because it shows dirt more, it already looks worse than the previous paint).

It would take a *massive* absolutely *massive* improvement in the function of a structure for it to be worth tolerating construction. I think basically no home remodel is ever worth it. I talk to semi-friends and they tell me they've had to move out of their home because of the huge remodel they're doing and I think WTF is wrong with you, how could you possibly think that the benefit is worth that? What's the net end effect? When it's all done you get to sit on your ass and pick your butt in a slightly different space. Whoop-tee-do.

Anyway, the really infuriating thing about the RAD office remodel is that this building desperately *needs* work.

The elevators are constantly breaking and need some kind of major overhaul. The doors to the balconies don't seal and leak water in. Hence the carpets and walls have been soaked and are probably full of toxic mold and should all be replaced. The interior hall spaces have no ventilation and need fans installed. The balconies are incorrectly made so they slope back towards the building and cause water to pool up against the doors and windows which leaks in. The balcony drains are clogged. etc. etc. real fucking problems.

They're not fixing any of that. They're just putting a new facade on the place. I presume they're trying to sell the building? or maybe just jack up the rent because it's remodeled?

The sick thing is that it works. It's just like the home flippers, I hate them so much, they buy up sweet old houses and slap on the shittiest beige paint and install the tackiest cheapest new kitchens, and jack up the price. But it works, they do in fact sell for much more and they make back their money. I guess I have to blame the stupid fucking buyers that under-value good bones and over-value a shitty new facade.


07-05-16 | Bodies

Some stupid commentary about the way the female tennis players at Wimbledon were photographed has poked me to rant about something I've been simmering on for a while.

Of *course* the camera men highlight their bums and their short skirts. Why do you think they wear the short dresses that bounce up and reveal their panties? The female athletes know how the world works even if you stupid righteous sourpuss commentators don't. Maybe 50% or more of being a female tennis player is sex appeal. The most famous female tennis players are mostly known for their looks, not their game. (personally I never saw any appeal in Kournikova, legs too short and kind of boxy frame, give me Steffi Graf any day).

Err that's sexist, you say, they should be able to play their game without being objectified, blah blah.

No they fucking shouldn't. If they want to just play tennis and not be objectified they can go play by themselves. If they want to be on TV and be *entertainment* then they need to provide something entertaining. They're performers for our pleasure. What gives us pleasure is seeing beautiful bodies moving around doing fantastic athletic things.

Who cares about fucking tennis? It's boring. All sports are fucking stupid and pointless and boring. "Oo they should be able to play beach volleyball and be admired for their skill without having to wear bathing suits". Ok, you can watch heavily-clothed beach volleyball and enjoy yourself with that.

Err, it's sexist, it's a double standard. Now, to some extent this is a fair complaint. I totally agree and we should fix it. But not by de-sexualizing women's sports. By sexualizing men's sports.

Obviously male athletes should always have to play shirtless. The camera should linger on their crotches. Maybe the shorts should be really drapey silky stuff so that you can see their shlong flopping around when they run. That's totally fair, I agree.

I think the Greeks did sport right - naked and covered in oil. I want to see beautiful fit bodies being the ultimate expression of human power and athleticism.

Our civilization took a wrong turn after the Romans, we all got shafted by the fucking Christians and turned into a bunch of prudes. The female equality movement is great and all, but it shouldn't be part of the fucking puritanical anti-sexuality body-shaming nonsense.


07-04-16 | Commentary

Rosberg runs Hamilton wide. Yes, he's way off the racing line, yes he's clearly concentrated on blocking Hamilton, not on making his own corner. So? Isn't that allowed? Where does it say you're not allowed to block someone's line? It's their responsibility not to turn into you.

Some months ago, Rossi goes WAY off line, slows way down, looks completely away from the apex to stare down Marquez, tried to run him off the track, and everyone says "that's racing".

So is it allowed or not? Is it good racecraft or dirty? Oh, I see, it depends on who does it.

You should all stop posting opinions and replace them all with "the guy I like is right, and OMG the guy I don't like is such a bastard!". Instead we get pompous diagrams and rules-lawyering and trying to act all rational and objective. It's so sickening, the rationalizing.


So Obama's drone fleet has killed 2300 "suspected terrorists" and they claim 100 civilians. The controversy in the press is that the 100 civilians number is probably grossly under-reported. Independent studies think it's more like 500 or 1000.

Nobody seems to care about the 2300 *suspected* terrorists. Not in a war zone, not in the act of doing any imminent harm to anyone. Just a name that we have on a list (and lord knows our intelligence on identifying terrorists has been infallible). So we go and murder them. This is just a massive program of government assasination and everyone just goes "meh".

I have no idea why anyone in the Middle East would be outraged at America.

One of the kind of weird things about terrorism is that both terrorism AND the standard response to terrorism are absolutely terrible at accomplishing their goals. Like hey the Palestinians are being held under seige by the Israelis and they should be rightfully angry about that, so they fire some shitty rockets - that just makes things much worse. All it does is get lots more Palestinians killed. And on the other side, hey the terrorists are being terrory, let's randomly drop some bombs all around their country and knock out buildings and destroy their economy, etc. All that does is make more terrorists.


Comparing Boris Johnson to Trump is not at all fair to Boris. He is at least vaguely sane, capable of staying somewhere on point (not just saying "it's gonna be great"), doesn't spout racist and sexist nonsense. Trump is on a whole other level.

I thought that with GWB we had reached a peak of totally unqualified yokels being given the reins to the most powerful country in the world, but Trump just blows that away.


Everybody knows that neglecting the homeless is just plain fucking stupid, aside from being unconscionable as a moral human being. It's just stupid in the sense that failing to give them housing actually costs *more* in the form of police response, health care, etc. It's been shown over and over that you actually save money by providing shelters where they don't make other problems.

But I think there's a big cost that we don't account for which is the loss of our public spaces. There are public plazas all over the US that have been colonized by the homeless. It affects the whole design of our shared spaces. Lots of parks these days are designed intentionally to have nowhere to sit, no benches so the homeless can't sleep on them, etc. We can't have public bathrooms in cities.

Emmy loves to go into the bushes at parks and find places to hide. I remember doing that when I was a kid; it's such a treat to go exploring and find little "houses" where there are gaps under big old Rhododendrons or in bamboo forests. It's scary now. In most parks in urban America, if you go into the bushes you'll find homeless camps. We've had several experiences where she wants to run off and play some make-believe in the bushes but I have stop her because there's some guy sleeping there.


06-30-16 | Unlimited offsets for LZ

I believe in supporting unlimitted offsets for LZ compressors. In particular, formats that have strict maximum offsets (zip = 32k, LZX = 2M, Brotli = 16M) I believe to be a mistake.

There are valid reasons to have limitted offsets for certain use cases, and a general LZ should support that as well. That allows the decoder to run in a known finite memory budget, no matter what the total coded length is. It's ideal for any kind of streaming decompression when the entire coded object might be larger than what you want to hold in memory. This makes sense for archivers, for network transmission, etc.

But there are also cases where limitted offsets make no sense. Any time you are loading a chunk of data into memory to use in your application, you have the entire block of data in memory anyway (since the app needs the whole thing), the LZ should be able to use it all for compression. If you limit the offset in this situation, it's just giving up compression for absolutely no reason at all.

In the common "data loading" use case, the offset should be allowed to be as big as the buffer. Failing to do so can be a huge difference. If you assume nicely varying stochastic text-like data, then limitting the offset seems perfectly reasonable, because each doubling of offset limit increases compression by 1% or so, so just saying 4M or whatever is the max offset seems okay. But not all data is like that. Some data has very large scale duplication at long range.

One of the common cases is when compressing a tar-ball of a directory structure - there can be an entire duplicated file at long distance in the tar. The penalty for missing this can be near 100%.

(the 100% penalty case looks like this : incompressible data, N bytes long, then a duplication of those N bytes. An unbounded LZ will always compress this 2:1 , while with a bounded offset LZ, compression will jump from 2:1 to 1:1 when N exceeds max offset.)

Now, certainly any LZ with limitted offsets can be augmented with a pre-pass that finds only very long length large distance matches.

In general I try to drive decisions on compressor design partly by minimizing the worst differential against the best compressor. That is, for each file, find the best size that any mainstream compressor can get. Run your compressor and look at the cases where the ratio between the best compressor & yours is the greatest - that's the place to fix. (as opposed to just maximizing your average).

The issue is that that one file where you do badly might seem rare in your test set, but maybe someone else has a use case where all the data is like that one file.


06-26-16 | Bad bad bad

I've been having some bad days. I had kind of a bad work week, it just felt so hard. The past couple of months have been a really amazing run of work for me, and I guess it's come to an end.

For the past few months, on my work phases in Kirkland, I would wake up each morning at 5 or 6 AM, just so excited to start coding that I couldn't sleep. I'd pop up full of ideas, eager to try the next thing. I'd be writing notes as I had my coffee ("scan lrl-to-rep forward using SIMD from end of match arrival, rather than looking back for lrl to start rep arrival"), and the work would just flow easily. I had a good rhythm of taking a long lunch break with workout, then cranking some more. It was just really cooking, and felt easy. My nights were empty and lonely, but I focused on just relaxing and getting to bed so I could crank well the next day. This week that stopped working. Work felt hard, like drudgery. It was willpower, I had to push myself, I kept trying to psyche myself up. I had that writer's block feeling where I'd just open a code window and then stare at it, not able to get started. I spent more time poking around the web and procrastinating.

I guess it always happens to me a bit in this phase. I'm wrapping up the next big release, and the finishing is always the hardest part. I've proved out all the ideas and now it's just tying up details, and it's like some part of me just goes "oh, we're done, let's close up shop." No! We're not done! Fucking brain and motivation and energy, come back! I need you a little bit longer! But no, the fuckers are gone and I'm only left with determination and willpower and responsibility to try to cope.

Anyway. I've been feeling tense and wound up and angry and the usual tricks aren't working. I've been exercising hard, which usually helps, but it hasn't done it this week. Lots of masturbating. I even took a day off to go for a hike, which felt good for that day, but had no lasting benefit. I'm getting increasingly dangerous and nothing I do is bleeding it down.

Today at the park with Noemi I got preoccupied with this fucking asshole. He let his shitty little yappy dog off leash, and then he proceeds to talk on the cell phone, some fucking douchey asshole business call ("they changed the layout without even consulting me, that's unacceptable, blah blah, I'm a fucking douchebag, does anyone even listen to these calls? I can't believe how much fucking business douches make nagging busybody asshole calls in public places, and I wonder who the fuck is on the other end of this call that has to listen to this stupid filth going in their ear and pretend to respond to it?"). In the mean time, his dog is running all over the park jumping on strangers. There's a lot of people just lying in the sun or sitting on a blanket and the dog wants to visit every one. I can see people being annoyed and looking around with that exaggerated pantomine of "where's the owner? oh lord, what's going on here?" but doing nothing more. I'm sort of hoping the dog comes over and bugs me, because I'm just begging for an excuse to lose my shit and go stomp this guy. Just fucking try me. I'm fantasizing about slapping the cell-phone out of his hand. Then I catch myself and realize I'm pushing Emmy in the swing and this is not what I should be thinking about. I'm losing my mind a little bit. Yes the guy is fucking human garbage who should be ground into hamburger, but that's not a healthy way to live, I feel best when I find a way to work off the anger and not care so much.

So later my neighbor in my shitty apartment is booming his sub-woofer again. I'm not in the mood. I've already gone and talked to him about it once. Today I bang on the wall. He turns it down. Fifteen minutes later, the subwoofer is booming again, albeit perhaps slightly quieter. Fuck this shit, no more. I literally avoid spending any time in my Portland apartment because I feel unsafe here, I feel invaded by the subwoofer attack and can't relax. A couple of weeks ago, he was booming as usual, and I lost my shit and just started screaming. Just screaming "aaa" at the top of my lungs. Over and over. ("top of my lungs" is a weird backward expression; it should really be "from the bottom of my lungs"). Anyway. So today I go and bang on his door. He comes out acting all sleepy and claims it wasn't him. Huh? I'm in a big raged-up puff, but now I'm confused. I apologize and leave, but when I get back in my place, I notice it's now dead silent. Hmm, so it wasn't you. But it's silent now. Fucking liar, pussy piece of shit couldn't even be honest to take my scolding. Pretty effective tactic though, it totally diffused me.

The whole interaction just means that I have to move now. Any time I have a problem with the neighbor, no matter what I do (confront them or not confront them), the result is that I get so upset and stressed and preoccupied about it that I can never be comfortable in that house again. Well, burned another bridge, time to move.

Anyway, all just evidence that I'm fucking losing it.

For the past few months I've had this solid booking of 4 crunch work days - 3 crunch childcare days, alternating. Both good, the work has been good, and I enjoy the childcare days, but both hard. I've been trying to just power through it, just keep doing it. Don't think about the future or your life or anything, just do each day's duty. But I'm cracking.

People have the worst advice. "Why don't you go for a hike?" Fuck you, you take a hike, you fucking advice-giving piece of shit. You think I've never heard of hiking? I am aware of that option, I don't need you to suggest it. Hiking does nothing. Sure it can feel nice for a few hours, and then it's just back to normal. "Take a day off for yourself". And then what? Go back to the grind the next day, but now I'm one day behind.


06-25-16 | Shit

I feel like in the era of Amazon, there's no reason to live in a city any more. I can get anything I need shipped to my cabin in the mountains or my shack on the beach. I can download movies. I just don't need anything from fucking cities anymore. Of course Amazon doesn't ship pussy yet, which is a problem, but it's only a matter of time.

The UK independence vote and the Trump insanity and the Syrian refugee problem (referring tot the European panic about an influx of people taking all their jobs and social services and such) and so on are all just symptoms of the gradual collapse of modern civilization. In the modern world we have 6 billion people, and we only have decent paying jobs for maybe 100,000 of them. That's the fundamental reality which lead us to mass poverty, incarceration, racism and anti-immigrant sentiments, war, etc. America & Europe are in a panicked reactionary door-closing phase, but it can't stop it. You can't have globalization and free-flowing capital, but have the average income in America 100X higher than China. That's like having high pressure gas next to a vacuum with nothing between them - they will flow to equalize. And the result will be total chaos in the Western World.

Watching Chef's Table. Sometimes pretty amazing. The Grant Achatz episode he says something like "any of the top chefs can make delicious food, that's not a challenge any more, we want to do more than that". Umm, maybe, but y'all should go back to that "delicious" point and try harder cuz all this molecular gastronomy bullshit is not delicious. It's all got this pasty chemically gummy taste, yuck. I'm all for food that's an experience, and more of an art event than a meal, okay, fine, but don't kid yourself that you're succeeding in still making it delicious. The chefs that really kill me are ones like Dan Barber and the whole "I'm not so much a chef as a missionary for better food practices". Ugh, I'm so bored of that, the Chef as activist bullshit. Oh, we should all have human-nursed pigs that cost a million dollars and every meal should take ten people five days to prepare, yeah that makes great sense for humanity in general and not just the uber-rich that go to your restaurants and support your bullshit. I'm so ready for this fad to be over. Cook some damn foood.

I drove the Seattle-Portland trip through yet another accident. I always check the route before hand and don't start the drive until I see it's clear, but pretty regularly there's an accident at some point after a start. Twice now there's been a major accident that happens within 100 yards in front of me. I have to slam on the brakes, come to a stop, and then creep past. But since it happened so close to me, I'm only held up for a few seconds, and then I get sweet sweet empty freeways for a little while. It's totally heartless of me, but my main thought in both occasions was "damn I'm lucky to be so close to this, or I'd be stuck in gridlock for hours". Both accidents were major; the first a guy lost control of his trailer and rolled his truck, the second involved a motorcycle that smashed into a million pieces all over the road. While I don't wish injury on them, in both cases they were driving like ass-hats and kind of deserved it. In fact they should get the bill for all the traffic they caused, which is like a couple million dollars in lost time I think. (I've seen a lot of people recently driving with a trailer at 80 miles an hour, making quick lane changes, weaving around. That shit is dangerous, take it fucking seriously.)


06-25-16 | FUCK FUCK FUCK

I need a house in Portland, but the market's gone fucking nuts. I'm so confused. I guess I'm going to live there? I guess I have to just accept it and commit to it and make the most of it. I just don't feel like it's real. Do I really have to do that?

How could I spend $700k on a fucking shitty bungalow that's right near fucking neighbors who will have fucking dogs and lawnmowers and all that shit. I could have a glorious place in Hawaii for that and go swimming every day. FUCK.

The mid-range homes in Portland are crazy over-priced now; stuff in the $400k range that was plentiful a few years ago is now crazy hard to get. Sometimes I think about just going for the $1M fancy places. I feel like they haven't shot up as much, so they're actually more of a bargain (in terms of value for money). The 1M places in Portland remind me of the gorgeous San Marino homes that I grew up near in Pasadena (that are 10M or something crazy there). I'd rather spend more and get something that I actually feel happy about, something that has some aspect that I can be excited about.

I mean, yeah $1M is a lot that I can barely afford. And it's a crazy bubble to be buying into right now, so a crash is totally possible and I might not be able to sell and get my money back. And home upkeep is incredibly expensive and property taxes in Portland are fucking high as hell too. But in theory basically even though it costs $1M, I can sell and get most of that back later, and interest rates are so low right now that the monthly isn't too bad.

But then I remember the fucking Realtor Rape. If I bought a $1M house, I'd be flushing almost $100k straight down the toilet. Un fucking believable the fucking corruption of the capitalist-regulation complex in this country. In Oregon it's basically illegal to not use a realtor, or to get any kind of discount, so there's not even any way to avoid it. Now I feel sick again.

FUCK FUCK FUCK

When I think about going to see houses with a realtor, I just want to punch them in the face the whole time they're showing me houses. So this is earning you $30k for a few minutes of work? And because of your fucking lobbying for legislation I have no option but to pay you this fucking sick corrupt bullshit payout. You are a fucking criminal. You're like a fucking gangster. Assholes.


I just don't have any clue what to do with myself and the rest of my life. I've never been so confused and directionless before.

Sometimes I think I should just go live in Hawaii. Be naked all the time in the heat and swim every day. But I think it's not really realistic with Noemi. I could have her for a week each month, but then she's flying all the time, and there are no direct flights from Portland, and it would be a hassle with school and all that. I don't think I can do that.

Sometimes I think about loving out in the Columbia Gorge. It's gorgeous out there, magical. It's one of those places on earth that when I get there I just feel something, like this land is right, this is a good place to live. But that's still pretty damn far from Portland, and the big problem is it doesn't have the climate and ocean of Hawaii that would make it okay for me. It would just isolate me and make me even more lonely than I already am. It's gorgeous, but there's nothing special to *do*, there's no warm ocean swim to wash the pain away. I'd just putter around my land and contemplate suicide.

Sometimes I think HEY fucking shape up, the only thing that matters is being with Noemi, so just do what you have to. Buy a house near her in Portland and be there for her. I guess I could do that. But FUCK FUCK FUCK. But fuck, what the fuck am I doing in fucking Portland? Fuck Portland.


06-21-16 | Shorts

I found a great way to fix all my body problems. My shoulder and back pain and all that don't really enter my mind much any more. The solution is to develop much worse life problems. It cures all your spoiled-ass rich whitey whining. Oh waa I have wrinkles I need botox, oh god the yoga studio is so smelly, life is so hard! Just get some real problems, like go broke or be put in prison or have a child with Down Syndrome or any fucking real problem and POOF magically all your stupid whiney problems disappear!

Some news commentary -

"Tencent acquiring Supercell in $8.6bn deal" . WTF. If you asked me to name the top 10 most valuable game companies I probably couldn't get a single one right. Is something like Blizzard even on the list, or is it all just mobile crap-ware? Aside from the insanity of valuing shit with no value so high, it's surely a bad investment. Didn't you just see Rovio go to shit like two minutes ago? Oh, we forgot that lesson already. Game fads never burn out and surely they will keep their customer base forever and/or make similarly popular stuff in the future.

Xiph Daala report of how things actually worked out was awesome. It's SOOOooo common for people to post about their amazing new technology, and then a few months later they decide it's actually shit and stop using it, but never post about that. (this goes for pretty much anyone who has ever claimed anything about "amazing AI" or "fully open world sandbox game" or "neural net anything". Oh yeah, we silently turned that all off and just use basic rule-based stuff because it actually works much better.)

But yeah, lapping. We all knew that wasn't gonna work. Maybe credit for trying some weird different ideas? It's good that not everybody is just doing block-based-DCT, but yeah that was never the right way to go. (even if it had worked out, it would've been better without it (we looked at some alternatives to the standard block-based stuff for Bink 2, and while there's lots of appeal there (for example, full field mocomp and polygonal mocomp), it's such a *huge* advantage to be able to work on a single block at a time and do full R-D of the decisions on that block, you just can't give that up; anything that's non-local is a huge drawback)).

I always assumed that they were doing weird stuff like OBMC and lapping not because it was the best approach, but to try to avoid the patent nightmare in video compression. Dunno if that's true.

There was a post a while ago on one of the Xiph pages about how great JPEG is, that it's "alien technology". I totally agree that JPEG is phenomenal and under appreciated. Someday maybe I'll do my modern JPEG back-end and it will be the best still image coder. But it's perhaps not that surprising that JPEG is so great and all the other image compressors are kind of vaporware (claiming way better results than they really deliver under proper visual metrics).

JPEG is the *only* still image codec that's actually based on science. Not just random ad-hoc hand-waving about "lapping makes smooth blocks" or "wavelets are purty" or "edge prediction" or blah blah crap that's not well based in reality. JPEG is fucking science. Like actually measured properties of human vision and light, measured by real scientists (NASA y'all).

There are two things at the core of JPEG : 1. Lack of spatial resolution of human vision in chroma, and 2. The intensity thresholds for perceptibility of detail at different frequencies in luma. These two things were fundamentally measured outside of any software framework to provide ground truth. Then the JPEG algorithm was developed in the absolute simplest way to capture those properties - 1. subsampling of chroma planes, and 2. DCT with quantization and tresholding by the CSF matrix.

In a way it's not surprising that if you take a truly valid perceptual model and then find the simplest most direct way to covert that into compression - hey, it fucking works. And the problem is that since JPEG, that's never really been done again.

In general, the algorithms that really have legs are the ones that are *simple*. They just have some small core idea that's just the right idea, and they express that idea in the simplest way.


06-20-16 | Chasing Memories

At work we have shitty K-cup coffee. It's an environmental abomination (you get all these yuppie faux-liberal assholes talking about "sustainability" and then they use K-cup coffee), and it's also just really shitty coffee.

(I'm not directing complaints to the RAD admin via my blog, this is just background for my story)

I drink it anyway. Actually I often don't drink it, I'll make a cup of it and then just let it slowly go cold on my desk because it's gross. But I have a memory of enjoying coffee and working and I'm sort of trying to recreate that moment. It's an association, oh I enjoyed this once I should do it again.

I've mostly stopped drinking alcohol these days (*), but I still do it once in a while chasing memories of times I enjoyed it. I almost never do. I used to be able to drink alone and just have a fucking ball. It would make me relaxed and loose and I'd scream at the TV or dance around and it was great fun. I never get that any more, I never actually get to a good feeling, but sometimes I still think "oh I should have a drink that will be fun". Or I have associations with certain moments, like I should have a glass of wine at a restaurant, or sitting on a sunny porch I should have a beer. I don't actually want it, and when I have it I don't enjoy it. Something seems to have changed in my body chemistry in the past few years that it no longer feels good. I just feel foggy and slowed down but without any euphoria or relaxation. It just feels like trying to walk in a pool and it's not nice.

* = the big exception is dates. God I need a lot of alcohol to get through a fucking date. Without it I'll just be tense and judgemental and there's no point in even trying. I need to be semi-knocked out to not think everyone is fucking garbage.

Douchey guys will try to get their date drunk to loosen them up and take advantage of them. I don't do that, I need to get *myself* drunk to try to loosen myself up to be amenable to the date. Maybe I should slip myself a roofie.


06-11-16 | Houses

Master Suites are one of the stupidest fucking things in houses.

I know, let's take like half of the square footage in the entire fucking house and put it in the bedroom. Literally, on a lot of the old Portland bungalow conversions you'll see houses where the entire upper floor is master suite.

So the place where I spend nearly zero waking minutes gets all the space and fancy treatment.

Inevitably you wind up sticking all kinds of other crap in there because you have no other place to put it. You wind up with a TV in the bedroom, your exercise equipment, maybe your home office. So now you're sleeping surrounded by a pile of stress-inducing crap.

Bedrooms should be just barely bigger than the bed. Any more space makes them get used for things other than bed, which makes them worse at their basic job of being a place to sleep.

You get these houses with big converted basements for family rooms (fucking barf, I don't want to live in a basement), and huge master suites (barf), and despite being 3000 sq ft there's hardly any usable rooms at all.


One of the really sad trends in modern homes is "fixing it up" before selling. They paint it some nasty beige, put in shitty new appliances, maybe re-tile the bathroom, all with the cheapest most tasteless crap. They spend $20k or so, and then raise the prise of the house by $50k. So it makes sense financially for them, because buyers fall for it.

But it's just such a sad waste of money. And it means that pretty much any house you buy these days has got that shitty tacky "realtor" treatment and you have to immediately spend more money to undo it, or you'll feel like you're living in a model home or a condo or something nasty like that.


I'd love to buy a house with a pool but they're always these stupid little kidney-shaped pools that you can't swim in. Why doesn't anyone ever put in a usable pool? It could be quite long and skinny, like one lap lane, maybe two.


Real estate has gone nuts in the last year in Portland. I guess I missed out big by not buying last year, though lord knows I tried.

It's fucking retarded. Portland sucks, and there's not a great economy here. The whole point of Portland is that it's cheap. It's the fundamental basis of everything that's good about Portland, and without that it's ruined.

The cheapness is what means that artists can live here, and weird funky people and hot single people who don't make a lot of money. Cheapness is what allows lots of little startup restaurants and shops.

If you don't have the cheapness making it vibrant, then it's just fucking shitty. It's just a worse version of Seattle without the glory of the lakes and the Sound and the fresh air from the ocean and the cleanness from the rain and the hills and the mountains. Seattle has real concrete pros.


The idea of spending $700k to buy some fucking shitty old house in Portland makes me feel so sick. Like physically nauseous.


06-07-16 | Boom Kaka Laka

I've had so many days of huge successes coding recently, it's a pretty crazy run. So many days of "booya", so many days of "holy shit I did it again". There just keep being more big wins in these compressors. It's really exciting.

On the other hand, dealing with customers is incredibly frustrating. I get so many people who have insane unrealistic expectations, like "oh, I expected LZ4-like speed and LZMA-like compression". Umm yeah, you're not gonna get that. And if you'd said that up front I would have told you to fuck off and not waste so much of my time. I did one Oodle Network evaluation a while ago where I went back and forth with this guy for months doing different tests for him, and we wound up with something like a 40% bandwidth savings, and after all that he comes out with "oh, we expected 50% bandwidth savings so we won't license." WTF !? Say that up front and I wouldn't have wasted all my time. 40% is fucking AMAZING you ungrateful piece of shit. With some of these people I suspect no matter how well you do will always have some bar that's just a little bit farther. Like if I'd delivered 50% reduction they would have expected 60%. etc.

Sometimes I get evals where it's pretty obvious that a programmer has been told by their boss to do the eval, but they really don't want to and they don't want to license anything (part of the bad old I'll do everything myself school of programming) or people who are convinced they already know the answer (zlib is great). Some of these guys find really convoluted ways to decide not to license. I got one where the guy says "we're CPU-bound, not IO-bound, so we won't use Kraken, we'll use LZ4 instead". Hmm, but if you really are desperately CPU bound, LZB16 is about 20% faster than LZ4, "oh, but we're not *that* CPU bound.". Hmm, okay, whatever. I got one no-eval where a guy says "we can't use Oodle because we want to be able to load legacy packages that are compressed with zlib, and if we replaced the decompress call with Oodle it would crash when it encountered zlib streams". I'm like, uh, WTF are you fucking serious, of course you don't just replace the decompressor call and blindly hold it old packages, you would put a flag in your header indicating the type of compression and you could support loading both legacy and new packages. So the guy says "oh yes that's what we're thinking". Well if that's what you're thinking then your first message made no fucking sense. Whatever, goodbye.

With Kraken I've had several eval options declined due to people nitpicking the smallest crap. Like, oh, Kraken requires 256k additional memory to decode. We can't afford that memory overhead on the consoles so we won't license. Huh? Your fucking pause-screen UI takes 100 MB and you can't spare 256k for my buffer? Some people expect 3rd party libs to be ridiculously perfect, super lean and tight with everything done just right, when their own code is just full of fat and bugs and nastiness. It's a bit like the fat dentist who won't buy a road bike because it weighs 15 pounds, ("oh, I really need a 14 pound bike") - but you weigh 300 pounds you turd! The 1 pound bike more on the bike is not slowing you down, and in fact is necessary to make it stronger so your fat doesn't break it.

It makes me want to just write the code for me and not worry about how it's judged. I know it's fucking amazing, these results are staggeringly good. If you don't see it, then sod off. Sometimes I tell myself : just make a beautiful thing and put it out in the world, and don't worry about the response. Of course that's bullshit. It's like the girl who dresses up "for me". Of course it's not for you, it's to impress other people in some way, everything that we humans do is about being judged by others and seeking approval and so on.

Anyway. This stuff is fucking *amazing*. Work has been so much fun recently, lots of interesting hard problems and we're finding really great solutions to them. The new stuff that's coming soon is staggeringly good.


06-05-16 | Schrodinger's Performance

The Android ARM chips are (generally) fucking garbage. Particularly the Samsung / Qualcomm custom ones. The actual ARM Cortex line seems to be much more reasonable.

The Qualcomm Snapdragon 820 ("Kryo") in the Samsung Galaxy S7 is a typical "big+little" ARM core. It's a 2+2 with 2 cores at 2.1 GHz with 1 MB of L2 cache, and 2 cores at 1.6 GHz with 512k of L2 cache.

However, if you actually run some intensive performance code that is cache-size dependent, you will always see a 1.6 GHz core with 512k of cache.

The other cores don't actually exist if you run anything on them.

Hey we have this amazing performance, except if you use it. If you use it it goes away.

Why stop at 2.1 GHz ? Why not claim that the big core is ONE MEELEEON Ghz ? Except you can't actually run anything on it, because it instantly thermally saturates and kicks you onto the 1.6 Ghz core.

If you want to know the actually usable specs of any of these phones, you need to know the *min* speeds they run.

The problem isn't just that you step to the slower cores, it's that even then the slower cores clock down. And then clock back up again very briefly, then clock down again, then up, then down, then down more.

For development performance work we desperately need an API to force these devices into a stable min performance mode. Whatever clock rate and cores they can run indefinitely without over-heating - put it in that mode and lock it there.

The really nasty side of all this is that the manufacturers play the dirtiest tricks in the book. When they do their own performance reports on these chips, they either run little bursts of work, or they actively cool them with liquid nitro to get them to stay in max-perf mode. They also cheat VW-style by detecting benchmarking. Apparently on some of these phones you can rename your package to match the name of common benchmarking apps, and that changes the temp-perf profile to keep them in full clock mode longer. So fucking dirty.


06-03-16 | Do the Work

I found some major stuff in the last few days. It was one of those cases of "doing the work".

When you play with a parameter, and it doesn't have the result you expected, you can either go "huh" and blow it off, or you can stop and go - wait, what's going on? why didn't that work the way I expected?

Either my intuition for this problem is wrong, or there's a bug somewhere.

So dig into it. Add instrumentation to gather stats and log what's actually happening. When you poke at this parameter, how does it actually respond?

Are all the pieces working the way they're supposed to? Log the results of each part.

One of the things that's helped me over and over, and I should do more often, is just detailed logging of what compressors are actually doing.

In the case of LZ this something like :

[lrl 13][match len 4 off 324234][match len 7 off 234][lrl 7] ..
just a log of its output. Every time I do that, I find things. Huh? Why is it choosing that? And then you dig into it and find out why.

It's so SO common for compressors to be broken. I'm sure that all of mine are right now. Broken in the sense that they make correct output, but some aspect of the code is not doing what you think it is. Maybe you have a chunk that says " // try all matches " but actually there's a bug and it only tries the longest match. That can go totally undetected for years, because it's making totally valid output, and maybe it's compressing well, it's just not doing what you think it is.

Sometimes I fix one of those bugs, and compression gets worse. Like, maybe I was computing code cost wrong for an optimal parse, and I fix it and compression get worse. Then you have another situation where you can either just go "huh" and blow it off, or you can dig it and try to learn why. Maybe the wrong code cost was biasing the parse towards a non-local minimum? Or maybe it was compensating for another bug? Dig in.

Another major thing that helped me over the past few days :

1. Have an exact mode for all your approximations, and check that they solve the problem correctly in that mode.

2. Have two different ways of solving a problem, and be able to switch between them to see how that effects things. Maybe they're two different approximations, so you can see how the different heuristics behave. Or maybe they're both supposed to be exact, and then you should be able to run them in lock-step and verify the results are the same.

One of the bugs I just fixed was in my Suffix Trie. I had a bug where I didn't update a ->parent link when I made a node to split a compressed path (a multi-character step to child). The normal Suffix Trie doesn't use parent links at all, and it can find the longest match perfectly well without it. Years ago when I first wrote my ST and verified it, I was only checking that it found the longest match correctly. I use the parent links to then walk back from the longest match to find shorter ones that might be at lower offsets, and some of those were missing due to the bug. For years my compressors have used this and have performed perfectly well; I had no idea anything was wrong. It was easy to fix as soon as I knew there was a problem, which I didn't know until I was looking into another issue and I decided to try swapping ST for a different matcher to see how that affected this other issue.


05-31-16 | Happy Birthday

It's my birthday. So I'm being flooded with emails from fucking web sites that have my personal information. Oh, how sweet! Your script remembered my birthday! Just what I wanted, some more robot-generated spam on my special day. Just a reminder on your birthday that we have all your identity info and don't keep it safe! Happy birthday!


05-25-16 | Tweaking Kraken

Over and over when tweaking an LZ you hit these space-speed tradeoff decisions :

x-ray :  8,474,240 -> 5,063,389 =  4.780 bpb =  1.674 to 1
decode only      : 73.877 millis, 13.89 c/b, rate= 114.71 mb/s

x-ray :  8,474,240 -> 5,107,382 =  4.822 bpb =  1.659 to 1
decode only      : 64.796 millis, 12.19 c/b, rate= 130.78 mb/s

PS4 clang-3.5.0

do I take the smaller size, or the faster decode?

In the past most of us working in the field have taken the smaller size. There's this competitive drive to be the smallest, somehow that's winning.

But some time in the last few years, I realized that it's not that important. (unfortunately some of our evaluators haven't caught up to this fact yet)

The size difference between RAR, LZX, Oodle LZHLW, ZStd, Kraken, Brotli, BitKnit, etc. it's not that compelling. It's maybe a few percent. Who cares?

The speed opportunities are much bigger.

In the above case, the choice is :


Reduce decode time from 74 millis to 65 millis
save 9 millis = 12% of time

Increase file size by 40k = 0.8%
increases load time by 0.1 - 0.5 millis

take the speed!

The thing about compression ratio is that getting a little more is very hard. Increasing ratio by 1% is 2X the work. When you get a "huge win" in compression ratio, it's actually tiny in terms of file size.


Another issue that we had in mind in the background when developing Kraken is the future of super fast disks.

Over and over throughout my career I've watched people develop compressors that were "faster than the disk", in the sense that loading compressed data was faster than loading raw data, because the smaller file size reduces disk time. Over and over I've seen those become obsolete almost immediately when disks got faster. By the time your compression technology gets widely adopted, it's probably already obsolete, disks have gotten too fast. (the same could be said of network transmission)

It's about to happen again with persistent RAM storage.


05-17-16 | Noemi days

Saturday we went to library story time. For the first time, Noemi went up with the group of kids who sit by the librarian when he reads books. In the past, she would always grab my hand and pull me up. I'd try to gently encourage her to go on her own, but she'd say "no papa come wif me" and she'd sit on my lap, and I'd awkwardly sit with the other kids. For the first time she just ran up on her own without any encouraging, and then she even talked to in the group. The librarian read a book about dogs and she said "I have two dogs!" which are stuffed animal dogs, which she talks about as if they were real dogs. I was so proud and sad, I cried a little bit, my girl doesn't need me so much any more.


05-17-16 | LZSA

I wish I had more time to play with LZSA.

I think LZSA for DNA is pretty interesting but realistically don't know when I'll get a chance to look at it.

I also think it's the ideal thing for a Brotli-style precondition dictionary. Since the offsets don't really make any sense for numerical modeling in a precondition dictionary, what you want is content-frequency modeling, which is what LZSA gives you.


05-15-16 | Compressor APIs

I'm building a bunch of 3rd party compression libs today to run tests on PS4 and their APIs mostly all annoy me. Some common faults :

1. Buffers need to be void *. That's what memcpy does, therefore that's what you do. (memcpy is the Urr compression API for the fastest & weakest compression). You don't get to decide if I use char or unsigned char or whatever the fuck I want for my buffers, they're my damn buffers.

2. Give me some damn #defines or enums or something for compression level. I can't believe how common it is for APIs to be something like :


compress( char * to, const char * from, size_t from_size, int level );

with nothing in the header to tell me the range of level or suggest a default or max or anything. WTF. Having something in comments is not really okay either, like :
// level is from 0-13 with good default of 7
NO NO NO I can't use that in code and you might change it in the next version. You need :
#define MYCOMPRESSOR_LEVEL_MAX  13
#define MYCOMPRESSOR_LEVEL_DEFAULT  7
Or an enum or whatever floats your boat.

3. Don't make me fill out a params struct, or a stream struct, or any of that nonsense. There should always be an API that takes no structs that's just a single-line call. Maybe take params by pointer and allow NULL to mean default. Also params structs should either have a constructor that fills defaults, or a _GetDefaults call.

4. Don't use threads by default, or very clearly give me a _Threaded and _Unthreaded API. Any API that's not clearly qualified as making threads should not make threads.

5. I really hate how quite a few compressor APIs have read-write arguments, like :


compress( char * to, unsigned int * to_len, const char * from, size_t from_size, int level );

What do you think to_len does here? Well, my guess would be that it's filled out by the call to compress.

NOPE! It's also read by the call to determine the size of the to buffer. I hate that, just as a personal style thing. Pointer arguments like that should always be write-only. I like read-only args and write-only args, and try to avoid read-write args. In particular here I'd rather have to_buf_size as just a separate arg.

6. Never use C++ in APIs. It's fine to use C++ internally to your implementation, but APIs should always be plain C. There's the obvious issue that it lets a .C file include your header, but there are other reasons. C++ APIs with crazy name decoration cause problems trying to link objects across different compilers, or through DLLs or across language barriers, or just any time you need to do something weird.


05-13-16 | Fuzz Safety

This is all so fucking idiotic.

High level languages should always work with arrays that are bounded.

Any access to those arrays should be with read-in-range , write-in-range.

The ISA should have reasonably fast read-in-range & write-in-range instructions that throw some kind of exception if you go out of bounds.

This is not for high performance code like data compressors or memcpy or whatever, that stuff probably still wants raw memory access and to handle its own range limitation checking. This is for all the piles and piles of random shit glue code and apps and everything which is the real security leak.

It would be a very small perf penalty across the board and would just massively clean up all security flaws. It's just fucking obviously the right way.

There could still be un-bounded accesses in the ISA, but compilers shouldn't generate them by default from high level code, maybe you have to write ASM to get them, or some funny intrinsic or something.

The easy/automatic/default way should always be correct and safe, and if you want to do something to hurt yourself it should take extra steps. It's crucial to have the range-checked store/load at the machine level so that this can just be enabled across the board without much penalty.


05-13-16 | Credit Cards

My credit card was used by someone else yesterday. This is a mild inconvenience because I'm in Portland now, but my address on file is Kirkland, so I won't have a VISA for the next 10 days or so.

When I call them up to report the fraud they told me "make sure you cut up your old card".

I almost lost it. Yeah, I'll cut up my old card, cut it right up your ass! You seriously think that lost cards or skimmers or any of that shit has anything to do with credit card fraud? Are you fucking kidding me?

Just maybe it's related to me buying something from VerySketchyRussianWebsite.com

Hey, maybe you should have a system where I don't have to give out my full re-useable account information every time I buy anything, so that every fucking merchant is a security leak that can just charge me at will.

Like just fucking maybe I should have a way to do one-charge authorizations, with like a unique one-time-use credit card number.

Or you know, since it's fucking online maybe give me a multi-times-use credit-card number that won't let any charges through unless I go to visa.com and enter a password or something.

Or maybe I have an app on my phone that lets me enter a dollar amount, and it gives me an encrypted version of that number, which I enter on the merchant's web site, which they can use to charge me only that amount, only once.

There are just a million easy solutions and they're all on fucking YOU.

Fucking victim-blaming bullshit. Oh, we give away your credit card number to every merchant, but did you cut up your card? Oh, the cyclist was run over by a car, but was he wearing a helmet? Oh your boyfriend beat you up, but what did you say to piss him off? Oh, Apple formatted your hard disk, but did you agree to the T&C? etc. fuck you all.


05-12-16 | Can I have the Cliff Notes of the Cliff Notes?

You write a big bunch of docs with lots of details.

Nobody reads it. And it's not really their fault, it's too much of a big mess to dive into.

So you write a "quick start" guide that's brief and clear and put that on the first page of the docs with big bold "READ THIS FIRST!".

Still nobody reads it.

So you put a really quick "getting_started.txt" guide in the top level directory outside of the docs, so that they must see it when they go into the SDK.

Nobody reads it.

So you write an even briefer intro guide and email that out to each downloader directly.


05-09-16 | Fuck fuck fuck

I have two hex editors. In both of them, if you highlight a range of hex and ctrl-C it, you get the binary bytes in your clip. WTF. Who ever wants the fucking binary in their clipboard when they're in a hex editor? I want the fucking hex. Fuck.


05-07-16 | Sound transmission

You can google about sound transmission through walls and windows, and find various answers, and I think they're all completely wrong.

You'll see stupid shit like "sound travels faster through solids". Umm, yeah, okay, but no.

What's actually going on is actually quite a mystery to me.

Consider sound coming through windows. Imagine you have a glass window which is closed, but is of course is imperfect so there are some air gaps.

Some people will tell you to sound-proof it by taping over the joints in the window to block any leaks. Really? A significant amount of the sound is going through the tiny air gaps, like you're taking just a tiny hole portion of the wave and then that hole is acting like an emitter into the room?

What about the sound going straight through the glass? Some amount of the energy is reflected and some is transmitted, what influences how much?

With single pane glass, the sound energy can make the whole glass vibrate like a drum, which pushes the air on the other side, which will transmit low frequencies straight through. With dual pane, presumably you want a vacuum between the layers (rather than some inert gas or just air).

And a key issue that isn't addressed much is the question of the dispersion of the transmitted sound. If the energy is spread over frequencies and time, it becomes less offensive white noise. It's not just the amount of energy transmitted but the coherence.


05-06-16 | Fuck fuck fuck

I've been really loving my Kirkland apartment. It's a shitty fucking apartment. It's a standard modern "shoe box" with windows on only one of the narrow ends, so it gets really shitty light and ventilation. (Did housing starting being shitty around the time of the popularization of artificial light. Suddenly they could make dark warrens and cram more units together. One of those "technology allows you to do this new thing but don't" issues?)

Anyway, despite that, it's been great because it's QUIET, oh god it's amazingly quiet. The walls are solid and the neighbors are placid. Sure on the occasional Friday night I hear drunken revellers outside my window talking unnecessarily loudly as they return to their cars, but all in all I have zero knowledge or contact of my neighbors. I can pretend they don't exist, and therefore I feel comfortable. I actually have moments when I forget they even exist, and I start to feel free to do what I want in my own home without worrying about who's around. (I don't mean anything weird, like sit in a 40 gallon barrel of lube, just little things like to be able to sing out loud and do it without being conscious of the neighbors maybe hearing). The bedroom here feels like a coffin, or a vault, or some place safe.

And now it's ruined. Some fucking bro-business dude has moved in to one of the neighboring apartments. He has "friends" over to barbecue and they talk loud ("yeah, totally bro") and make stinky food.

I have to move. This apartment is ruined!

It's not that they're so loud, they're annoying but not ridiculous. It's that now I no longer feel alone, and any time I'm in that apartment I'll be thinking "what are the neighbors doing? do they hear me, can they tell I'm masturbating just from the shloop-shloop sound? can I hear them?" etc. No more peace.


I've hated my Portland apartment almost from the beginning for similar reasons. It's part of why I always come back to Kirkland whenever I have time off.

The walls are really thin (shitty timber frame drywall building), so I hear my neighbors, and they hear me. It's made me really uncomfortable there. I feel like I'm under attack.

What really sucks is that it affects my time with Noemi. Sometimes she gets excited and jumps up and down, and instead of just enjoying her I'm thinking "this might be bothering the downstairs neighbors". I don't want them in my fucking head. Fuck you neighbors!! But I can't stop it, I'm too fucking considerate. Sometimes we play chase in the apartment, and I hate that I think "this might be annoying them".

I've had a few incidents there. When I bought my Ikea furniture I was putting it together, and I guess it was noisy banging on the floor, so my downstairs neighbor banged on their ceiling. Oo tough guy, banging on your ceiling. But it works on me, now I can't get the knowledge of their existance out of my head.

My sideways neighbor in Portland has a fucking home theater system with a big subwoofer. He watches movies all the time, so I get random BOOM RUMBLE RUMBLE that shakes the walls. One night I was trying to sleep and my wall was booming and I couldn't take it any more so I went over and "spoke" with him. Since then I think he's turned down the volume a bit, but really that doesn't make much difference. It's still a fucking sub-woofer that goes right through drywall, so now I get constant rumble rumble that's a little quieter, but is not much less disturbing, it's still in my brain distracting me.


I think building homes from shipping containers is deeply fucking retarded. They're just awful non-functional spaces for housing. They're supposedly great values, cheap and strong, but that's bullshit. By the time you convert them into anything livable, you had to basically build a whole normal building into them (insulated walls and wood floors and so on), and you had to cut open the sides, which ruins their structural integrity. It's just stupid fucking buzz-word gimmick nonsense.

But they would make great walls. Get like 1 acre of property, and stack up a ring of shipping containers all around the perimeter, 3 containers high. Safety. Keep the monsters outside.


05-05-16 | Rationalizing

I had a dream the other day that Noemi was in a school that was trying to teach her cursive, and I had a fit about it. "WTF is wrong with you, I was taught cursive, and it was already retarded then, 30 fucking years ago it was a retarded, and you're still doing it? Jesus christ, are you going to teach math on an abacus? Do you also teach how to dial a rotary phone, and how to make candles from beef tallow, and how to tell if a woman is a witch? I'm not keeping my kid in a class that's got it's head so far up its ass".

And then I found out her preschool teaches cursive.

Of course they have some moronic rationalization .

This is just incredibly common - doing something that's just obviously fucking wrong-headed and then come up with some smug condescending rationalization that explains why your ideas are all right.


05-04-16 | VC 2015 CRT

Did I mention already that this is fucking retarded and annoying? Jesus christ fucking heads up your fucking asses.

It looks like I'll be stripping CRT use from Oodle Core. It's not that hard. We have our own sprintf, so I'll use that, and for logging I already take func pointers, so people can install stdio logging if they want, I just won't provide it by default.


05-04-16 | Despite

RAD is a bit like Valve in that if you described the corporate structure to me, without knowing whether they were successful companies or not, I would say "that's fucking ridiculous, that will never work". And yet despite that, they're both extremely successful and somehow have made some great products.

Which you could take as evidence that "corporate structure and best practices and so on just don't work". Or you could interpret it to mean that good people will do good work despite structure or lack thereof. Or you could intepret it to mean that extrapolating lessons from a data set of 2 is fucking retarded when there's massive random variation and un-accounted-for factors.


05-03-16 | Statistics

It looks like what I've felt anecdotaly recently is real : road rage really is getting worse . It's a fucking nightmare out there on the road.

Almost every time I drive these days I encounter at least one lunatic, and I have to really breathe deeply and be calm and remind myself to just get away from them, pull over and let them go by if necessary, just don't engage.

Everyone's just so angry all the time. There's a disease in the air.


There's a big hubbub in the news here about Portland's horrible gang violence problem. It's all over the news "gang related killing epidemic" blah blah.

In 2015 Portland had 34 homicides. 3/34 were killed by police. 3/34 are classified as definitely gang related. 9/34 police suspect are gang related but can't prove.

I don't have 2015 stats, but in 2014 the total firearm deaths in Oregon was 497. It seems pretty steady in the 450-500 range over the past few years.

I don't see a gang violence problem anywhere in that.


04-30-16 | Bosses

I've had many strange bosses.

One of my bosses was Alex St John. He did "corporate team building" , which actually I am a huge fan of. It's fallen rather out of style, it's considered cheezy 1990's management these days, but I think it totally works, and it's just fun (for me). We did things like white water rafting, which was awesome.

He took us skiing at Steven's Pass one time. Alex had some big SUV thing (not his infamous Humvee). It was the end of the day and we were ready to head home, we pile in the SUV, and there's kind of a line to get out of the parking lot. Alex says, "screw this!" and pulls out of the line and heads for the un-plowed snow bank between the parking lot and the road. And gets stuck. Alex!!


One of my bosses was in a marriage he hated, so he would stay super late at the office every night and get drunk. He'd want to tell stories about "in my day we coded on punch cards" and all that kind of rot. Some nights he'd "help out" in the codebase. So I'd come in in the morning and find a bunch of changes in the shared code that were just random semi-drunken fucking-arounds. Thanks. It was okay, he was a nice guy.


One of my bosses was on the IEEE Coding Standards Sub-Committee or some such bullshit. And yes it was just as nightmarish as that sounds. We had a long coding style guide, and he would monitor every checkin. So I'd be working on some code and get an email about how I failed to align the indents here and should've used an underscore there. It was ridonculous. And this was my own little bit of the codebase that did compression that nobody else touched, not like I was working on the shared headers or anything like that where it might have been vaguely reasonable, oh no, this was just for my own "education", to teach me the righteous importance of strict coding style. What a fucker.


04-30-16 | Technology

My Portland apartment has this electric stove with a glass surface. It's pretty fucking amazing technology, the material science of the glass. I've accidentally spilled cold water directly on the hot burner area of it and the glass just says "whatevs, yo". It's some kind of super-Pyrex glass process, very impressive.

And totally fucking stupid. Of course the right kind of stove is just a gas flame, like from 1920 or so. Hey, that was the right answer and everything that's been done in stoves since then is just a huge fuckup, all the time wasted on crappy fucking electric stoves and induction and jesus just stop. Uh, you know we have gas, right? And it's just massively better in every way? And hell, even the old exposed-coil electric stoves are preferrable to this glass-top shit. The nice thing about the old-style coils is they're self cleaning, you spill something on it, it's gone. The glass top encrusts itself in spills, and since it's glass you can't just scour it, you have to use some fucking glass cleaner and WTF this is a cooking surface I spill. Terrible. And the glass top has a huge design flaw - if you have any water on the bottom of the pan, because it's a flat on flat surface, the water can't escape and it forms a steam curtain that hisses out and can't clear itself. Oh, because nobody would ever wash a pan and then put it on the stove.

You have amazing technology. Now use some fucking brains and don't use it. The old way was better.

My Portland apartment has electronic doors for every apartment. This obviously improves one specific problem - when they turn the apartment over they don't have to re-key the lock, and the previous resident can't get in. Okay, so one plus. And many minuses. It takes ages to recognize my key, and often fails. So when you're trying to get in the door in a hurry, beep failed to scan, beep failed, FUCK FUCK be patient try again, okay it worked. Occasionally the door crashes. THE DOOR CRASHES. There's a tiny button to reboot the door. Then you have to wait a bit for it to boot up (I imagine the fucking door lock is running some kind of Linux). You of course can't copy your key, so you can't give a backup to a friend or a visiting guest. And once a year they have to come by and patch the software (because it probably has security leaks or something). For fuck's sake.

Modern cars can interpret your inputs to tell if you want drift or grip (eg. the amount of rear slip angle), and adjust the electric rear differential to have variable locking to achieve that goal. Pretty impressive. And yeah, I don't fucking want that. Yuck.

And of course everybody knows about this one - you can control your home lights and your toaster from your phone - umm yeah. Hey, we have amazing fucking capabilities these days. And, yeah, that's horrible, don't do that.

etc. Hey! Amazing technology. Now don't use it, it makes things worse.


04-30-16 | Fuck

Why the fuck is my phone not just mirrored on my computer? Why do I ever have to touch my fucking phone when I have a fucking computer sitting right here? Why is this shit so hard? Why can't I just get my text messages and missed calls and so on that are on my phone with a little virtual phone interface on my computer? Why is everyone fired?


04-26-16 | Gross

I think the lynch mob mentality ganging up on Alex St John is worse than anything he said.

(For the record, I couldn't find the original transcripts of anything that he said that was supposedly bad, and none of the mob jumping on him seem to refer to original source material; maybe he said something worse that I haven't seen; this is what I did find :)


    "You don’t recruit and retain male engineers you recruit and retain Wives and Girlfriends ... The paycheck goes to HER."

    "Coding is NEVER work, it’s a calling. People who think it is... aren’t real software engineer. Real engineers want a team and a mission that requires long hours and sacrifice."

    "Real engineers don’t value money."

    "Long hours and overcoming hardship together binds teams."

    "The Young the Old and the Useless. Nothing beats youth for speed and innovation."

    "Be on the look out for the holy grail... the undiscovered Asperger's engineer. (usually found on open source forums). They have no social skills. They generally marry the first girl they date"

    "Seasoned veteran's, married, 9 kids, severely battle scarred, seen and done it all... need balance in their dotage."

    "Sandwiched between the young and untainted and the grizzled war veterans is a vast sea of The MEDIOCRE. 'Balance' is their priority in life... they see their job as WORK."

    "The NOT male engineers. Better communication skills often make them better architects, technical writers, QA, or technical support people."

    "There may actually be more female engineers but nobody can identify them..."

The first one is a little bit bad, but it's all pretty mild.

(rather than being offensive, I find it all just rather dated; if this was written 20 years ago it wouldn't have raised any eyebrows, it reflects rather mainstream view of that time of nerdy hotshot coders)

The practice of "if you say anything we disapprove of we'll publicly shame you" on the internet these days is fucking disgusting.

And everyone is linking Alex's daughter's article as if it was something great. What she did was publicly air the fact that she's estranged from her father and joined in the gang that was teaming up on him. That's far from heroic. It's really sad for both of them. Alex, you fucked up with your family and that's really sad. (her behavior is extremely rotten, but I assume that Alex must have done something horrible to her to bring that on, so she's sort of forgiven)

I worked for Alex at Wild Tangent, and he was a total asshole and buffoon, and he said ridiculous things all the time, but I kind of liked it. You just had to roll your eyes at it and laugh (*). Alex always said things that he shouldn't, and I love that, people who go off script and just say what they're thinking and don't do the "right thing" all the time. If you want to find fault with Alex, pretty much all his actions from the D3D days were pretty horrible, screaming at people at Microsoft to win arguments and outrageous GDC parties and so on. (* = not always easy, if you were opposing him on something he was a very aggressive bully, which I in no way excuse (but was also extremely common at Microsoft, and isn't at all uncommon in corporate power players in general))

At his best, Alex was just saying things that most others were thinking but not saying, and personally I greatly prefer that to all the fuckers who act all wishy washy righteous but are deeply evil inside. Alex would say things like "I can hire super smart kids for $50k/year and grind them for crazy hours and they'll make me rich". I don't have a problem with that. That's what *all* the CEO types want to do, good for him for saying it out loud. If you're one of those super smart kids it's your responsibility to fight for yourself, your boss is not just going to take care of you. I've had a whole list of bosses that acted like my friend but paid me peanuts and laughed to their friends about how they were robbing me, so much worse than Alex, IMO.

You PC shit-heads all want the athletes in the press conferences who say "I want to thank my team, and I have no issues with what my coach did, I'm sure they made the best decision they could, and I respect the opponents, blah blah". God what a fucking awful boring world. I want F1 drivers who say their car is shit and their mechanics really fucked up, and boxers who say their opponents are turkeys that were just booked for them to get an easy win, and politicians who admit that they can't realistically ever pass the bill they want because of corporate lobbying. The reason why nobody can ever say anything honest is because of the fucking gang-up-lynch-mob whenever someone says something wrong.


04-25-16 | Debugging

I had a bug due to bad compiler codegen a few days ago. The details aren't interesting, but for concreteness this was on XBox360, and the bug was that the compiler was supposed to just store a U32, but it decided to use a U64 (big endian) store, and shift the value up to the top 32 bits, except that in one case it decided to omit the shift.

Once I isolated the spot with the bug it was pretty easy to find. The thing that tipped me off was that if I added any printfs to the area to print the values of things, the bug went away. Hmm, printf changing the behavior of the code, that's an eyebrow raiser, so then it was just a matter of look at the disasm and see what's changing when I toggle the printf on and off.

It took a few hours in total to track down the bug (a lot of the pain just getting my debugging setup on Xenon again), but it wasn't crazy.

It made me think that over the years, I've run into compiler bugs a handfull of times (maybe 10?) and each time I deal with one it's easier. (not counting bugs where the compiler would just crash on certain code, or "optimization bugs" where it moves a reg into mem and then back out again or whatever, but bugs where it made the wrong instructions)

The first few times I was furious, unreasonably so in that asshole programmer way - MY CODE IS FULL OF BUGS BUT EVERY TOOL I USE MUST BE 100% PERFECT!! ARG! Charles smash!!

It just reflects a change in attitude. I used to think of the compiler (and the hardware) as like the firmament, the hand of god that was the foundation on which you built everything. And then when the compiler generated bad code, I just didn't even think to look there, so (in the old days) I would be just scratching my head, WTF this bug makes no sense!? how can this be!?

But once you realize that all the pieces of your program running are made by humans, they can all have bugs (including the hardware), and they're just all things to question in the process of debugging.

One of the worse debugging sessions I ever had was when my RAM went bad. I'd never experienced that before so it just wasn't on my list of things to consider, so it appeared as this random bug that I could only get in Release builds and only on super-long runs, like 24-hour big runs so that it touched lots of memory all over. I'd wind up with a disasm and some variable has an unexpected value, and it just doesn't make sense how that weird value got in there. At the time it was a huge WTF the sky is falling experience, but if it happened again it would be no big deal, it's just part of the things to check.


04-23-16 | Diseases

In dating, having a kid is about the same as having an STD.

With both, you really need to admit it right away up front. Yeah, saying it on the first date will turn most people off, but you can't really hide it and spring it after dating for a month. Oh, by the way, I have a kid/STD. Surprise!

Also with both, your dating pool mostly consists of people who share the same affliction as you.

Also with both, even though you have one and may be accepting of someone who has the exact same, you are disgusted by someone who has a slightly different one, like - I have a sweet little girl, you have a teenage boy? yuck, fuck that. or, I have HSV, you have syphillis? Disgusting, don't touch me.


04-23-16 | Brotli

I've been kind of unfairly negative about Brotli. After reading about it yesterday (see rants), I kinda like it, it's interesting as a codec that really pushes order-1-Huffman and retransmit & merge optimization. It proves that there's a lot of win there, as the q10 and q11 modes get a ton more compression than q9.

Part of my initial pissiness about Brotli is just that I'm an ego-centric prick who is a little pissy about anything that I didn't invent, especially when it's in the domain where I think I'm the best.

But most of my negativity about Brotli is because they were pretty misleading in their initial press release -

we show that Brotli is roughly as fast as zlib’s Deflate implementation. At the same time, it compresses slightly more densely than LZMA and bzip2 on the Canterbury corpus.

This became a headline around the web that "Brotli is as fast as ZLib and compresses more than LZMA!" which is just not at all true. (speed vs Zlib depends on the data and also the DEFLATE implementation, but it definitely compresses much less than LZMA). I got a bunch of emails of people going "wow, check this out!". Yeah, it's just not true.

I really don't like that kind of manipulation of the results in science and data compression. It's so easy to pick one type of data that your method really does great on, and only report results on that file and go "look my stuff is great!". But on other data it doesn't do so well. (in this case, they chose the Canterbury corpus, which apparently Brotli wins on, but on pretty much every other test set in the world, LZMA wins, and sometimes by a lot).

It's pretty fucking weak, and it's also unnecessary because Brotli is legitimately interesting without the false advertising. In any case, the point is that I've been negative about Brotli because of that bad first impression, but on further consideration I kinda like it.

There is also a major problem that there is no good standard compression test set or sets. I guess Silesia is the best thing we have at the moment, but it's not really a great balance of stuff. Silesia is kind of interesting if you look at results *per file*, but if you just look at the average (which is what most people simplify to) it's pretty fucking weird and not representative of any particular use class. (because there's such a weird mix of files, no matter what your use class is, there are some files that don't fit)


Brotli is particularly compelling if you're in a usage domain where you can accept the crazy slow encode of level 11. The problem is I don't think that domain actually exists.

Some years ago, I thought that that domain did exist. For Oodle I wrote various levels of compression, slower and slower optimal parsers that got better and better compression. My idea was that people would build their packages day-to-day with the faster modes, and then when you do a final bake for distribution, you use the slow high compression modes. That should be a domain where super-asymmetric codecs work, right? You bake your distribution once and then tons of people download it.

But nobody used those super slow compressor modes (Optimal3 and above). They didn't even use the level below that (Optimal2) (roughly LZMA mx9 speed). Heck most people didn't even use the fastest optimal mode (Optimal1).

And they're right. There are three big problems with these super slow asymmetric codecs :

1. Smart developers want their shipping build to match their daily build. You don't test every day with the content one size, and then flip a switch and change everything at the last minute. That causes bugs and unpredictable performance, and if I was a tech lead on a game, I wouldn't do it.

2. You don't just ship once. You ship demos, you ship milestones, you make release-candidates, you fix bugs, you ship another release-candidate. You need to be able to turn those around quickly. At the last minute when there's a problem you don't want a content bake that takes forever.

3. Data is big. Computers are getting fast, but data is getting bigger. Compressors need to be running faster than ever just to keep up with the data getting bigger. You can't use the extra CPU power we have now just for ratio, you need to be faster to. It's not unusual for a game now to be 4G or more. If a lot of that content is changing every day, you need to be able to process it fast. Less than 1 MB/s is totally useless. Heck, less than 5 MB/s is questionable (which is why even my Optimal1 modes often don't get used).


ADD :

Just spotted this in that Brotli - Canterbury comparison paper :


"The tests were run with a 22 bit window size for brotli, LZMA and LZHAM, and a 15 bit window 
size for deflate and zopfli. We used a 22 bit window size because past experience showed that 
larger windows can be slower to decode."

Umm, WTF, no. Larger windows don't slow down LZMA, if anything they speed it up. (LZMA has very slow literals, so it relies on matches for speed; it has a very strong correlation of compression ratio to speed; the higher compression settings are almost always also faster to decode. You can see it clearly in the space-speed scatter charts, LZMA is very strong linear slope that gets very slow at poor compression ratios when it has to do a lot of literals)

LZMA should be run with 24 bit window size or more. I usually use 29 in the LZMA settings when I test against LZMA (eg. larger than file size = infinite window).

(granted lots of the files they test on (eg. Canterbury, web pages) are smaller than 2^22 , but still "larger windows are slower to decode", super NO, not on LZMA)

Rrrr.

ADD : I guess this means they had a CPU with a 4 MB L3 cache on their test machine.


I'm pretty intrigued by Brotli. If I had a grad student (or some free time), I would like to turn off its features one by one so I could see the benefit of each one. (that's the kind of thing that would be great in papers that you never see). There is the occasional odd file where Brotli really makes a big jump, and I'd like to understand exactly what's going on there.

On the majority of files, Brotli isn't that appealing. On most files, compression ratio is around ZStd/LZX/RAR/Kraken territory, but it's slower to encode and decode, bigger in memory, etc. However, there are a few files where Brotli compression ratio really jumps up out of that group, and then it's pretty interesting. (horse.vipm is the most obvious but I've seen others)


04-23-16 | Happiness

Charles : "Waa I'm sad because it's gray out, or because everyone is an asshole, or my neighbor is noisy or whatever".

Them : "You need to let all that go, happiness comes from within. You can just choose to be happy inside yourself and not let the outside world bring you down."

Hmm. So, why do you go on vacation? Why do you go out to eat? Why do you buy things? Because they are nice, because they make you happy? Why do you have flowers, or pets? Oh, because outside things do make you happy. Why do you watch TV or read books or look at art?

You do things because obviously happiness comes from the wonderful way the world outside yourself can be sometimes. If happiness comes from within, you could just stay in sweats and eat gruel. You could save a ton of money that way.

It's so fucking obviously wrong on the face of it. Obviously happiness almost *entirely* comes from without.


04-23-16 | I am a fucking god among men

I oscillate wildly between thinking I'm the greatest thing ever, and thinking I'm a total piece of garbage. Neither one is true of course, and neither one is a very healthy way to think.

However, my work lately has been fucking amazing. I've had quite a few days of just blowing myself away. I've been giving myself challenges, and I keep just fucking killing them.

Like, I had this kind of big task to do, I had to write the optimal parse for the new lz, and I could feel myself sort of building it as this big scary task in my head. I'm going to have to plan it out, and it'll take days and all that. So I said fuck that - I'm going in to work this morning and I'm just fucking knocking it out. Just blast it out. And by noon it was done and it fucking worked, and I was amazed with myself. Whoah, you just fucking did that shit.

I'm getting tons done and everything seems to be turning out well. Sometimes you are getting a ton done in terms of trying lots of experiments, but you keep finding out they're dead ends. So in a sense you're being productive, but in another sense you aren't making anything positive.

Life if much easier for me when work is going well. It gives me something to base my sense of self-worth on, since I have none inherently. I can tell myself : at least you can do one thing pretty fucking well. At least you make something, unlike all these other worthless schlubs that just stuff their faces and output feces.

My work is a little bit like Ferrari. There's this kleeshay that Ferrari can only make good road cars when they are losing in Formula 1. It seems I can only do good work when my personal life is in the shitter.

People (such as my lovers) always loved to mock me with "oo you think you're SOOO great", as if that was a horrible thing. Yeah, I do. I am fucking great. How sad for you if you have to go through life without thinking you're great. That must be really hard, to know that you suck and still wake up every day. And also if you don't think that I'm "so great" too, get the fuck out of my house.

There's something funny that happens when you're on the right track with an idea, that everything just comes easy. It all just seems to work out. It's like when you're doing physics and you're trying to do a perturbation expansion of QFT and there are these really scary integral terms, but then you work through it and suddenly another one pops up with the opposite sign and they exactly cancel and you don't have to solve them. It's like the universe telling you that you had the right idea, so everything becomes easy. Whereas if you are going about things in sort of the wrong way, then everything is a slog. Like in LZHLW to make it fast I had to carefully go through each branch and count the maximum number of bits used, and figure out how to duplicate code and unroll things so that I could put the bitbuf refills in exactly the right places so that I was getting the minimum number of refills. And it worked, it was fast, but it was a fucking slog. It was forcing it to be fast through hard work, it didn't just easily and naturally become that way.


04-23-16 | I don't want to live in this world any more

Trying to drive to Trader Joe's today, I was vehicularly threatened in two different road rage incidents because of people just losing their fucking minds. Things like - some asshole is trying to take a short-cut through a parking lot, which is a pretty fucking shitty move to begin with, hey guess what if you decide to make that move and somebody is in the middle of parking, you might have to just stop and wait. The parking lot is not a freeway, and what are you all in such a fucking hurry for?

One of the things that constantly infuriates me is you'll see somebody complaining that like their cell phone provider reposessed their house and they got put in privatized prison where they were anally raped, and lots of people will come on and say "but it's in the T&C that they're allowed to do that. You agreed to the T&C, that's your fault. If you didn't want to be anally raped you shouldn't have clicked the button".

I read the web news (big mistake), and it's about three girls who drowned in a car because the police didn't even try to save them. I read the comments (big mistake) and it's all about "it's their fault they crashed into the lake" or "look at their criminal records, no big loss". They're fucking human beings.

(I've written before how sick it is when someone gets beaten by the cops and the news says "and they were honor students" ; as if people who aren't honor students deserve to be beaten by the cops? Oh, a beating, but they weren't honor students so fuck em, they probably deserved it.)

The other day I walked across the huge signed crosswalk in Kirkland to come to work, and some asshole tried to run me over. This is pretty standard in the world these days. Huge yellow signs and zebra stripes in the road, and I make it super clear that I'm crossing, and the car just blows right through. The special thing about this time is the guy slows down and yells at me "if you used those flags people might be able to see you better!". Huh? You just did a super fucked up thing and now you're yelling at me for it. I want to murder you. I can't even avoid road-raging lunatics when I walk to work.

OMG. I don't want to live in this world any more. I fucking hate you all so much. You're such deeply garbage people.

I want to live on an island all by myself.


04-22-16 | RAD Game Tools 2040

Still selling Bink. Bink VR to the porn industry.

(on a serious note : obviously somebody needs to make a VR video codec that's not just this shitty "Quicktime VR" style 360-degree rotational stuff, but is a semi-lightfield can do translational too (maybe depth + some hidden surfaces? dunno))


04-21-16 | Prophecy

And so the evil that was foretold has come to pass.

I've become addicted to my phone. I fucking hate it, but it's just so hard to resist picking it up and poking at it when you're bored. This is exactly why I never wanted one and resisted for so long. I knew that once it was in my pocket I wouldn't be able to leave it there.

The really bad habit I've developed now is when I watch TV, it's kinda boring (TV is pretty fucking intolerable without booze, which I'm not using much these days), so I pick up my phone and poke around the web while I watch.

Ugh. I hate that so much. Either actually work on a real computer, or detach from the fucking internet time-wasting machine completely. I need to lock it in a safe when I go home or something.


04-20-16 | CRT

So VC 2015 has broken CRT link compatibility. (So). It was one of the ways that VC was better than the gcc/Linux nightmare (thought they've been trying really hard to fuck everything up in VC-land, what with SxS and winRT and so on). Apparently someone at VC said "hey you know how in Linux you can never share a binary build of a lib with other developers, because they used some different libc and it's a total nightmare? we should have that on Windows!" and everyone went "yeah! cool feature!". So now you can no longer share binaries in Linux or Windows.

The best solution, IMO, is to remove as much CRT use as possible. (for example, for VC 2015 you just have to remove all stdio use)

So you're taken the most basic shared library in C and made it unusable. Awesome.

1. C linkage is so fucking broken, stop adding features to fucking C++ and fucking fix linkage so it doesn't break all the damn time

2. Jesus christ the people that make developer tools seem to really hate developers.

ADDENDUM :

Seriously WTF, WTF world, WTF. Everybody related to the C standard needs to stop working on everything else and fucking FIX LINKAGE. I need to be able to make a "package" (lib/dll replacement) which has only a certain set of externs (and all other functions internally linked and hidden so that they don't link with other code and cause random fuckups), which can link its CRT statically and not have any version conflicts (functions that you want to be able to patch can be vtable calls with a vtable that's set up before cinit). A "package" needs to be binary compatible to call C compilers and CRT versions and OS versions on a given instruction set. Heck it shouldn't have any OS dependency; my x64 package should be able to run on Windows, Linux, Mac, etc. as long as I don't make any explicit OS calls (eg. if I have no package imports).

Though realistically there's like a 100% chance that any new linkage model will be insanely fucked up, with crazy complication, dynamic imports and JIT compilation and dependency lists and god knows what else they would do to fuck it up. No no no. Make it simpler.


04-20-16 | So

The next time you're tempted to start a sentence with "so", just don't. Delete it and start with the next word.


04-18-16 | Noemi Days

Most days she wakes up around 7. Most nights now she stays in her own bed the whole time. I kind of miss when she would come to my bed in the middle of the night, then we would wake up together and she would hug me and say "wake up pop, it's morning time! it's a beautiful day!". Now she usually wanders in sleepily, saying "papa it's wake up time".

I get up and she says "hold me". So I carry her around in the first moments of every day. I set her on the counter while I make my coffee. She covers her ears when I grind the beans. Sometime around then she'll say "pee pee!" as if it's surprising and horrible, and I'll set her on the floor and she'll tear off running to the bathroom.

Then I'll try to sit for a moment of peace and have my coffee, but I never get it. "I want you to play wif me!" and the word 'play' for her means dolls and animals, doing make-believe. So we'll sit in the living room in the early morning every day and do our first session of dolls. She'll say "you do monkey, I do bear" though it often changes "no, you do bear, I do mermaid". And sometimes the stuffed animals are just proxies for somethings else, "monkey is a bad octopus" or "owl is a step-mother".

She's super into "bad step mother" from Cinderella / Sleeping Beauty / Snow White / interchangeable fairy tales. Playing dolls she'll say "you do a mad step mother. She's so mad! So so mad!" A little while ago it was a lot Winnie the Pooh play, we would re-enact the stories from the books, piglet's house gets flooded and piglet throws a message in a bottle, acting it out like a play. Sometimes she calls the doll play a "movie", like when I say "that's enough for me" she'll say "no! it's a long movie! the movie's not over yet!". Before WtP it was Frog and Toad. We acted out half the stories in the FaT books, "are we brave?" and "Ooo I lost my button!" and such.

I don't really enjoy all the make-believe play. I'd much rather run around the park together, or go hiking, or throw a ball, or go to a museum, or bake cookies, or do drawings. Recently we've started playing hide and seek together at home, which is pretty fun. The whole idea of a "game" with rules and goals is just starting to click for her. Every time after one round of H&S she says "now who hides and who counts?" and I'll explain "I just found you, so now you count and I hide", and then after the next round "who hides and who counts?". I'll be seeking around pretending I can't find her, going "where's Noemi?" and she says "here I am!" it's so sweet and funny. Anyway, that's just another example of something I'd rather do than stuffed animal make believe. But I do a lot of it anyway. For one thing, she just wants to so badly, how could I deny that? And for another, I think it's pretty valuable for her developmentally. She works out a lot of situations through doll play. Anytime something is new in her life, that's what the dolls will do. Like when she started her new preschool, suddenly all the dolls were going to school, and one of them would be teacher and the other dolls would do their lessons. It's obviously a way of play-acting out life. The dolls get booboos and take care of each other. There's lots of mamas and babies. Sometimes they pack their luggage and go to a rental house, or take an airplane trip to Hawaii or South America to see grandma.

It's so crazy how much we do in a day together. We'll have mornings like : play time, do drawing, do collage cut-outs and gluing, eat breakfast, go to the park, swing, jungle gym, ball, go to the bakery, go see the ducks, go to the library, read books. Fuck. It's only 11 in the morning. I'm exhausted and I've used up all my ideas for the day in the first 4 hours. Oh, well, keep going, do more stuff.

Saturday we went to the beach. She didn't want to listen to the radio, so we sang songs to pass the time driving. I would sing one, and then as soon as it was done she'd say "another one". So we'd sing another. "another one". Sometimes I'd get her to sing on her own; she does this great rambling made-up songs now, "I like flowers, papa is happy, I like my mom, South America, North America". Sometimes they're just nonsense words, they're all sweet. Sometimes she sings the normal songs, but the words are always a little bit wrong, like "twinkle star, up of a sky, up of a sky, twinkle tar".

My favorite was the alphabet song, which she would sing as an infinite loop. It's supposed to end with "now I know my ABC, next time won't you sing with me". But she sings that "ABC" and sees that as a trigger to start over again, so it goes "know my ABC, DEFG.." infinite looping.

On the beach we find paths in the dunes, climb on rocks, play chase, fly a kite, build sand castles, fetch water to pour on the sand. She used to make a lot of sand food, making pies and such, but that phase seems to be over. I wish we lived closer to warmer beaches, we'd go all the time. After a long day at the beach, we got home and took our shoes off and she immediately says "papa I want you to play wif me". Whoah, I need to rest a minute. That night she did a marathon puzzle session, just chain-speed-puzzling all her old puzzles.

At night we get in bed together and read loads of books. I'll tell her to pick some books for bedtime, and she grabs like 10 books. Then she'll dig through them "this one!". Just recently she's started wanting to hear all the words. Before that if there were a lot of words I'd have to do the shortened version, or just make my own story to go with the pictures. Now she's way more patient, but will still flip the page early if it's droning on a bit. We recently read 500 hats, Make way for Ducklings, The House on East 88th and Lyle the Crocodile, all the Arnold Lobel books (Grasshopper's Journey, Mouse Soup, Frog & Toads), the book of Indian fables. Sometimes she likes to sit with a book and "read" it herself. If it's a book she knows she'll tell the story out loud as she flips the pages. If it's a new book, she'll read it with made up words "kweedo and teedo burga". She wants to keep reading and reading all night long; if I let her we'd read 20 books. She just loves life and being awake and doing stuff, so much energy and enthusiasm.

She loves animals, and we look at animal books and I say "what's that?" and she'll tell me "orca! panda!" but sometimes if she doesn't know it she'll just make up a word with the same confidence "it's a brumba!".

When I drop her off at preschool and she says "I don't want to go" it breaks my heart. Ugh. School is such an awful place in general, it just grinds kids up and turns them into sad broken drones.

She says "so" with huge emphasis. "I'm SO fast" , "I'm so big, so SO big!". She's going to "eat a lot of food and grow up big, big like mama, so big!". She does it "fast as I can".


04-18-16 | Collaboration

Fabian's been poking around in my code off & on for the past N months (between his various other projects and maintaining Bink and so on).

It's been great for Oodle. Obviously any time you can have someone as talented as Ryg work on your code, there's the direct contribution that the code he writes is good and makes the product better.

But there's been a secondary benefit for me which has perhaps been even more valuable to Oodle, which is that it's made my own work better. It's energized me, given me someone to talk to that really understands the issues, poked some eyes into dirty bits of the code.

There were some places where I had comments like "hey I should be doing U32 hash tables instead of UINTa", but for whatever reason that was a TODO that I always let slip. That kind of thing seems to happen in every code base - there are frequently really major things that everybody knows is important (like "hey our build time is like 30 minutes, maybe we should sort that out", or "importing content is ridicuously hard" or "tracking down why something failed is near impossible"), and for whatever reason nobody fixes that. It's only when you get a new manager in, or some kind of outside consultant, and they can say "WTF, this is the #1 priority, just fucking do it". Often they don't even have to say it, you just know it's embarassing that you haven't done that already, so having outside eyes on it makes you hide your shame.

Compression code is a kind of uniquely good type of code to collaborate on, because it's directly measurable whether a change is good or not. There's no squabbling about design or creative issues, you just fucking run the benchmark, did it get better or not? There's no issue of "hey why are you randomly poking around in my code changing things" - the changes either helped or didn't.

I've always been jealous of people who can do short-term collaborative projects. That seems to me like the more wonderful way to work. You're independent, you don't have to sign onto a fucking corporate hand-cuff machine, but you come together with other talented people of your own choosing and make something that's bigger than what you could individually do.

This is pretty rare in code. Interesting problems in code are almost all too big. It's very hard to find something to work on for a week or a month that can benefit from getting someone to join you.

From the outside, it seems really great in music - you can get together with someone for just a few weeks and make something beautiful together, and then leave before you get on each other's nerves.


04-14-16 | Spam Filter

Any HTML message.

Any message with embedded images.

This is so fucking easy, how can you get it so wrong? Very annoying.

Every single time I get a large email message, I think "why the fuck is my email taking so long to download?" (local disk email FTW BTW), and the answer is always "oh, because it's spam".


04-14-16 | Mini CRT Stub

Project that I don't want to do that I wish someone else would do :

Write a super-super mini CRT lib stub for every platform. (not a CRT replacement)

What I *don't* want is a full clib CRT replacement that has implementations of rand() and fopen() and printf and whatever. I don't need that.

I only want implementations of the CRT parts that the compiler generates if *never call any clib at all*.

That is, I'm perfectly capable of writing my own clib replacement functions - when I actually called them. (or with things like file IO, the correct thing is to pass them in as func pointers via a vtable).

What I don't want to deal with is making correct versions of all the functions that get generated from C code. eg. object copies that get turned into memcpy() calls, floating point math that gets turned into various things, long multiples, stack pointer checks, etc. etc.

I want to be able to write pure C code with no OS calls or lib calls, and link it with this "super mini CRT" and have it build on all platforms.

The goal of this is to fix the stupid Linux/Unix "you can't ever distribute binaries" problem.


04-12-16 | Fuzz Safety

How to fuzz safe your decompressor :

Reserve 8 GB of memory address space (but don't commit).

Commit whatever amount you actually need in the middle of that range.

(or whatever on your OS, so that you have a read/write chunk of needed size in the middle, with >= 4 GB of no-access address range on either side that will fault if touched)

Use S32 or U32 for offsets so that refs can't go out of your commited memory range.

Wrap the decode in __try / __catch

Done. 100% safe and no big work or speed penalty to fuzz-safe it.

This is way *way* better than all the nice fuzzing tools and making your code robust and blah blah because this can never be wrong and never miss a case.

Anytime robustness relies on programmers getting things right, it's wrong. Robustness should be automatic, impossible to get wrong.


Separate issue :

I'm a little skeptical about the current fad of fuzzing everything. Yes, in some places it makes good sense, particularly in the OS kernel and file system and network stack and things like that.

But in games and general apps, I don't really believe in it. The problem is that a typical app loading pipe does something like this :


1. load data chunk
2. decompress it
3. parse it

So, you go off and spend a bunch of time making #2 fuzz safe, so the decompressor won't overrun or crash on bad or attack data.

The problem is you still have #3. The higher level code takes that data after decompression and has to parse it into commands for the app/game/whatever. And that high level code is typically a giant spaghetti of unsafe mess. Not only is not fuzz safe, it's almost *impossible* to make it fuzz safe, because it has all kinds of complex requirements for valid data that aren't documented or even solvable. (eg. maybe it's a geometry file and there are all kinds of requirements about valid matrices, index buffers in range, floats that aren't NaN, etc. etc.; maybe it's a database with all kinds of relations that need to be valid between items; etc.)

(for those not aware, a fuzz safe decoder takes garbage in -> garbage out, it just gaurantees to not crash or overrun (or overread), but it doesn't gaurantee good data out, or even detection of garbage, so your higher level code must be able to handle garbage input, all the way up the chain through your whole app. Every single variable touch must be range-checked and consistency checked; you must have tight invariants that you enforce.)

It's just totally impossible to validate all those higher level conditions every time you load data. So even if the decompressor is safe, the higher level code blows up in bizarre ways when you feed it fuzzy data.

What you actually want is garbage *detection*, which you do with a checksum/hash/crc/there's no good name for this. But that of course only detects random garbage, not clever attack garbage which has been signed with your hash scheme. There's really no way to be safe against that, other than doing range & sanity checks through your *entire* app. Which just nobody does, and is practically impossible to do in any large-scale app.

So, yes if you're writing LZ4 or ZStd or ZLib or whatever that will get put into routers and file copiers and things that need to just pass along generic data (and don't try to do anything else with it) - yes they should be 100% fuzz safe. But if you're in an app that loads data and then does high level parsing on it and you think you need fuzz safety - bull shit.


04-12-16 | Epic Retardedness in Debugging

Brain is not working well this morning. Some examples :

FUCK FUCK FUCK, Why is my assert not firing, but the code is failing?

Oh, I'm running release.

[add some printf debugging on PS4].  Hmm, WTF why does this have value 0x08 ?

Because you forgot the percent in your printf you hoser. It's just printing "0x08X".

_mm_insert_epi32(offsets,-neg_offset,2);

WTF why isn't that working? Derp, you have to actually assign it to something.

My SIMD version's not working.  Hmm, debug by writing the scalar equivalent and verifying
the values are the same at each step.  WTF those checks all pass but it's still not working!

It helps if the scalar version is actually correct (and not just duplicating the same bug as the SIMD version).


04-12-16 | Poem

The Kraken
by Lord Alfred Lord Tennyson

Below the thunders of the upper deep;
Far, far beneath in the abysmal sea,
His ancient, dreamless, uninvaded sleep
The Kraken sleepeth: faintest sunlights flee
About his shadowy sides: above him swell
Huge sponges of millennial growth and height;
And far away into the sickly light,
From many a wondrous grot and secret cell
Unnumbered and enormous polypi
Winnow with giant arms the slumbering green.
There hath he lain for ages and will lie
Battening open huge sea worms in his sleep,
Until the latter fire shall heat the deep;
Then once by man and angels to be seen,
In roaring he shall rise and on the surface die.


04-11-16 | Notes to Self

Step 1 when debugging is : make sure the code you are building is actually being run. (eg. you're not running from a different directory or platform or whatever)

You can't wipe boogers on corduroy. (it gets too embedded in the rows of fabric and won't brush off). Good enough reason to not wear corduroy.

Baby pee is generally inoffensive; it's quite mild smelling, so when they have accidents, you clean it up and it's no big deal. Except when you had asparagus for dinner. Good enough reason to not feed your kids asparagus.

Riding a bike on the road is not worth it. Carry a gun.


04-11-16 | Dystopia

People begin selling stock in themselves. This is hailed as good market efficiency. It starts sort of like kickstarter, smart techy kids selling stock, giving a fraction of their future income, to raise money to start a business now. Soon promising college kids are selling stock to raise cash.

But the cost of college goes out of control and the new source of funding means that kids going into college have to sell stock to pay for it. And many of the kids wind up not making much money. So then the hostile takeovers start. Shareholders get a lien on any future income. And if they don't make enough over some period of time, people wind up as indentured servants.

Within 20 years, 90% of the population is being born into debt that's inherited from their parents, and to pay off that debt they have to immediately sell all the stock in themselves and become indentured servants to their shareholders.


04-05-16 | Trump

Women are turning en masse against Trump because he said some things about abortion.

Okay, but it didn't bother you when he was just a ridiculous sexist misogynist before?

It didn't bother you that he's a dangerous lunatic, completely retarded, has a huge temper and no sense of reality. It didn't bother you that his foreign policy would put us straight into World War 3 ?

I keep having huge "WTF!" moments when I see the mainstream media dissecting Trump's "policies". "Trump's plan would cost $10B and blah blah". Huh? Why the fuck are you picking on the minutia of the facts when he's talking about the size of his dick, women's periods, Mexicans being rapists, torturing moslems, etc. etc. WTF.


04-05-16 | Lies

This has been widely covered in the liberal media (liberal media is increasingly hard to find) but I think it's worth repeating :

Just about every day Bernie's policies are mis-reported by the mainstream media. They use the classic pro-capitalist white-washing of calling anything pro-human "naive" and "unrealistic". They use ridiculous cherry picking and distortion of figures in a really tacky way, and nobody calls them on it. It's part of a widespread media pro-corporatism.

The typical example goes something like this :

"Bernie's single payer plan would increase government spending by $5 B, we can't afford that, it's bad for the economy blah blah".

Umm, but it would actually reduce total health care spending. You have to look at the total cost per person, which is a combination of {taxes, health care premiums, direct health care costs, time}. Just because it costs more in taxes, doesn't mean it costs more overall. In fact the whole point is that it costs less.

One of the huge "WTF's" that always hit me was when the Republicans were against Obamacare and they'd say shit about "we have the best health care system in the world, we don't want to be forced to change it". Umm, WTF? Have you ever actually used our health care system? It's fucking rubbish, and it's a huge scam. You go in for your supposedly free annual preventative care checkup and wind up with a bill for $1000, and they failed to diagnose the football-size goiter hanging off your neck because the doctor never even looked up from their clip-board.

Our current health care system is one of the most disgusting corrupt things in the American system - a public-private conspiracy in which the need is public and the mandate is public, but the profit is private. The result is costs that go up and up - 10 to 20% per year, massively faster than inflation or income growth. It's a HUGE economic and public policy crisis, and Obamacare is not the solution. Single payer is the only way.

Anyway. Obviously increasing taxes or increasing government spending does not put any strain on the economy if what you get back saves you more than the cost. It's one of the functions of good government that collective spending can have efficiencies which make it cheaper than leaving it up to individuals.

It's one of the big lies of the privatization that's an epidemic in America. Oh, we'll save money by privatizing parole officers. Hey, lower taxes, less government spending, yay. But then the private company charges the poorest people way more than the previous government cost, and the service is way worse, and there's no oversight and protection. So the net cost to society is way way more. It's a bullshit savings.

Anyway - it's so infuriating seeing bullshit right-wing free-marketists rags like the NYT saying "oo look at the cost of single payer health care, we can't afford that". You fucking intentionally lying asses. It makes health care *cheaper*.


03-28-16 | Dystopia

Real estate in the cities becomes so expensive that only the super-rich IP holders can afford it (the landed gentry). 99% of the population lives in their car, but it can't park anywhere - they have self-driving cars that just constantly circulate. There are so many people living in their self-driving cars that the streets are a jam-packed swarm of dense cars, moving slower than walking pace. Food and Amazon packages are delivered to your car by drone, and cars have toilets that empty out the bottom.

Because the streets are so full of cars, you can't get anywhere that way any more. The poor simply don't travel. They work from their car, jacking into the net and doing crap like social advertising. At the end of the work day, they just switch programs on the net and stay in their car. The poor aren't paid in money, they're paid in company store credits that can only be used in their employer's online shop. The rich travel by air, with auto-piloted multi-rotor copters. The streets are full of refuse from the poor dumping their waste out of their cars, so the rich take to living only in the high floors of the city and flying between building tops.


03-23-16 | How code gets rotten

I had this neat little function for CTMF (cache table match finder) to add pointers within a match :

    void step_and_insert(const U8 * ptr,int len)
    {
        // add from ptr[0] already done
        // wind up with next_ptr = ptr+len;
        // don't do prefetch here
        RR_ASSERT( len > 0 );
        // without match-start backup we have m_next_ptr == ptr+1 or ptr+2 (due to lazy match)
        // with backup, ptr may have gone back more
        // m_next_ptr tells us where our inserts should start
        RR_ASSERT( m_next_ptr >= ptr+1 );

        // next must be within the match
        RR_ASSERT( m_next_ptr <= ptr+len ); 
        if ( m_next_ptr == ptr+len )
        {
            return;
        }
        
        ...

"m_next_ptr" is where I had already done a prefetch. Originally it was always at ptr+1 , but then I added "lazy parsing" which meant it could be at ptr+2 , so my invariants started getting weaker. But I still knew that len >= 2 , so prefetch was within the len. (instead of m_next_ptr == ptr+1 it became next_ptr >= ptr+1 && <= ptr+len ).

Then I added variable steps to the outer loop, and suddenly the prefetch be outside the match :


    void step_and_insert(const U8 * ptr,int len)
    {
        // add from ptr[0] already done
        // wind up with next_ptr = ptr+len;
        // don't do prefetch here
        RR_ASSERT( len > 0 );
        // without match-start backup we have m_next_ptr == ptr+1 or ptr+2 (due to lazy match)
        // with backup, ptr may have gone back more
        // m_next_ptr tells us where our inserts should start
        RR_ASSERT( m_next_ptr >= ptr+1 );

        if ( m_next_ptr >= ptr+len )
        {
            // next must be within the match
            // -> this is not true in the multi-step literal prefetch mode :
            //  (it is true otherwise)
            //RR_ASSERT( m_next_ptr <= ptr+len ); 

            if ( m_next_ptr != ptr+len )
            {
                set_next(ptr+len);
            }
            return;
        }
    
        ... 

And suddenly I'm running into what always happens to me in code -

I'm now using a function in pretty two different ways. But most of the code is the same.

At this point, all the options get nasty. Duplicate the function and special case for each usage? Yuck.

Pass through a flag for the two cases? Only to toggle the assert? Yuck.

This is tiny, but this is how code gets nasty. Sharing code is good, but then you start abusing a function more and more for domains that aren't quite the same, and it winds up losing its tight invariants (things it can assume as preconditions to calling it), startings having to handle more cases, etc.

Another common one in my code is stuff like end-of-buffer checking :


int getmatchlen(char * ptr, char *vs, char *end_ptr)
{
    // vs is earlier, so only need to check ptr vs end :
    ASSERT( ptr > vs );
    // make sure I can grab a U32 :
    ASSERT( (ptr+4) <= end_ptr );

    ...

}

but then I start using it in code that wants matches to end somewhere before the actual end of the buffer. So I make a ptr_matchend that's 4 bytes earlier than the end of buffer. So now the check of ptr+4 vs end_ptr is not actually true any more, and you get into the same kind of nasty thing :

int getmatchlen(char * ptr, char *vs, char *end_ptr)
{
    // vs is earlier, so only need to check ptr vs end :
    ASSERT( ptr > vs );
    // make sure I can grab a U32 :
    // should be true, except when end_ptr preceds the actual end of buffer
    // -> just rely on outer code to get this right
    //ASSERT( (ptr+4) <= end_ptr );

    ...

}

Or you have to pass in a separate end_of_buffer just to check that, blah blah.

int getmatchlen(char * ptr, char *vs, char *end_ptr, char * end_of_buffer)
{
    // vs is earlier, so only need to check ptr vs end :
    ASSERT( ptr > vs );
    // make sure I can grab a U32 :
    ASSERT( end_ptr <= end_of_buffer );
    ASSERT( (ptr+4) <= end_of_buffer );
    UNUSED_VARIABLE( end_of_buffer ); // only for asserts

    ...
    ... match actually limited by end_ptr

}

but then you have to pass extra variables through all the functions above just to fix the assert.


03-23-16 | zlib in serious danger of becoming obsolete

The funny thing about Rich's post is that he doesn't highlight the codec that (probably) actually will replace zlib - ZStd.

Zlib has been obsolete for 20 years or so; ever since LZX (1995) and RAR (1993), but being obsolete doesn't mean it will actually be replaced.

(aside : I do like the way Rich is comparing of a large set of files, and isn't reporting totals or averages; totals can be very misleading, it depends on how your test set is built exactly)

To replace zlib you need to be : fast, *simple*, open source, portable, easy to build. You probably need a zlib-like streaming interface too, make it as close to a drop-in as possible.

Brotli is too slow and too complicated. BitKnit is nice and simple, but of course is closed source, and is probably a little bit too far towards the high-compression/lower-speed domain.

ZStd is the one that's right in the zlib wheelhouse. I think ZStd is in danger of becoming too complex, so I hope it stays very simple. I'd like to see the decoder be 1000 lines of code or so, with a single .h/.c implementation.

Sometimes I think about making my own super simple LZ-Huff to put in the public domain, just to modernize zlib, but I'm not that motivated. Hopefully ZStd is that.


03-22-16 | Compile time constants

I wind up having to copy-paste a lot of code because I want to do "just like X, but slightly different" and there's no good way to express that in C. (and have it generate multiple copies of the code, not a branch). Sometimes I use templates, but sometimes that's ugly.

What I often want is to be able to write something like :


for(int loop=0;loop<2;loop++)
{
  .. some code ..

  if ( loop )
    do second thing
  else
    do first thing

  .. other code ..
}

but I want the compiler to unroll the loop and compile out the branches. Which, yes yes, sometimes the optimizer does, but sometimes not, and relying on the optimizer to decide to do that or not is a fucking disaster (hey, random touches suddenly make my code much slower!).

So I wind up having to put that whole thing in fucking macros and that sucks.

What I'd like is just a nicer way to do if's on constants and have that be gauranteed compile-time.

To really make that solid, I need to be able to do if's on types, and have the non-taken branches not even be *compiled*. Things like :


if ( sizeof(*ptr) == 1 )
{
    // don't even try to compile this if the sizeof failed
    U8 * pu8 = (U8 *)ptr;
    // .. stuff ..
}
else
{
    // more generic case
}

And I want to be able to have conditional variables, something like :


do_lazy_match ? U8 * lazy_match_ptr;

... code ...

if ( do_lazy_match )
{
    // only compiled when true
    stuff using lazy_match_ptr
}

to make this variable only exist if that compile-time constant is true. To accomplish this in C++ (structs with optional data members parameterized on templated) you have to do a total nightmare of templates. It should just be like :

struct matcher<int mml, int do_lazy, int do_2nd_hash}
{
    U32 * hash;
    do_2nd_hash ? U32 * hash2;

    char * find_match(..)
    {
        if ( do_2nd_hash )
        {
            .. stuff using hash2 ..
        }
        if ( do_lazy )
        {
            ...
        }
    }
}


03-14-16 | GDC

I'm at the RAD booth Thursday & Friday this year.

There are no hand shakes at GDC!

UPDATE : I didn't get sick! Oh praise the lord, best GDC ever!

Fist bump bro.


03-14-16 | Pareto

One of the things that I keep telling myself to do, and not doing, is to be more rigorous about tracking space-speed tradeoffs.

That is, when I try some option in a compressor, or try some new encoding, and it's a little bit more compression than another option, but also slower - is it worth it?

Sometimes they're obvious, like for example changing LZ4 from 4:4 LRL:ML to 1:3:4 with repmatch flag + 3 LRL + 4 ML. That costs too much speed for the compression gain, it gets you down to LZNIB-ish speed in which case you should just use LZNIB.

But sometimes they're not obvious at all, and I wish I was being more careful.

The rigorous way would be to keep some kind of database of everything you've tried. Each little change is a slope in the space-speed curve. Slopes in different general areas aren't comparable, but slopes near each other are.

Often encoder speed vs. size is the one that has the most options where I really want this. Things like "do lazy parse" or not, or "do match start backup" or not, are all options that hurt speed a little and help size a little, and you want to know which ones provide the best sloped step (and if that best slope is better than the slope to the next neighboring compressor).


03-11-16 | Delight

The most delightful thing that I do for myself

is when I go back to run some test that I did a while ago

and before I start I'm already dreading it

oh fuck, how did I do this? and then I have to gather the output in some way, and probably copy-paste it into a CSV, and then what did I use to process it? maybe I transposed some columns by hand? fuck fuck fuck

so I'm all ready for a big ordeal, steeling myself, but I go look, and

delight! There's a .bat sitting there that I made that runs the test and all the steps for me!

Another nice one that I sometimes do for myself is to make an "output and view" option (like --tv ; make threadprofile output and launches the viewer). For a moment I go "oh god dammit how do I open this file" and then I notice there's a view option!

Thanks past self, that was really thoughtful to future self!


The other occasional delight I get these days is when I pop back to cblib for some testing or a little helper app. Ahh what a pleasure. I forgot how sweet you are.

I love autoprintf, I think that's a real gem.

A surprising one that I really love in cblib is exposing tweak vars to the command line.

I did a TWEAK_VAR() thing inspired by Casey; the idea is you take any variable and put TWEAK() on it, and now it's getting hot-loaded from the code. So your code is now a live pref. You can run your game, and go to the code and change values :


TWEAK(float,g_ship_speed) = 10.0;

just go and edit it that to 9.0 in the code and it gets hot-loaded into the value in your running game.

So, that's pretty sweet for the specific usage of live-tweaking. (It also lets you offline-tweak values, and the game can load the tweaked values without recompiling)

But I use that rarely these days because I don't do much interactive game/graphics style tweaking.

What I did a while ago was making so that everything with TWEAK() on it also gets automatically exposed to command line options. So you can go :


--tg_ship_speed=5

on the command line.

It turns out that just writing that code to parse command line args and set values is enough of a PITA that if I have to do it manually for each value, I won't do it. (eg. in RAD/Oodle code, I do it manually, and it's a PITA).

But being able to just drop TWEAK() on a value and then test on the command line means I use it way more often, which saves me from doing tweaking-by-recompile, which is a dumb waste of time.


03-10-16 | Advice

Advice about advice. To myself, and perhaps other youngsters.

When someone shows you their work and asks for feedback, they are not actually asking for feedback. They are asking for 99% praise, "wow that's amazing!" and maybe 1% actual feedback. Make sure the feedback is near the end of the praise interval.

When someone tells you their thoughts on something, the way they perceive something, something they think they've figured out about the world, or some idea, or just their bad day - before you reply, ask them "do you actually want my opinion on this? like do you want me to point out the flaws in your underlying assumptions or reasoning?" or "do you just want me to understand where you're coming from and appreciate your expression of your thoughts and connect to them?". Actually don't ask because it's just always the latter. Or do ask, and even if they say that they want honest feedback, give them the latter.

When someone asks for your thoughts on a certain problem, and you actually have a lot of knowledge or good ideas on it, don't just give it to them. First ask yourself, why should I share my good knowledge with this person? Is it a person who will respect my contribution? Will they do good things with it? Will they make an invention and then patent it? Don't just give up the vital juices of your mind to anyone.

Being sort of redundant, and kind of putting things together - when someone is doing something sort of wrong, and you know a way they could do it much better - SHUT UP! If you say something, they will just be pissed at you for correcting them, they'll think of you as a busybody, nagger, know-it-all. And then later if they actually take your advice and correct what they're doing, they won't remember you and thank you, they'll think that they figured it out themselves, or that 99% of it was them and your tip was something they would have figured out anyway. It's lose-lose for you.


If you're a youngster coming up, trying to build a name and get recognition and all that, my advice is :

NEVER give away ideas. Don't get on twitter or forums or anything like that and write up your good ideas. Don't even talk to your "friends" about them.

NEVER publish code snippets or test code. Never publish proof of concepts. Even if they are awesome gems, they will mostly get ignored - or taken by your competitors.

DO take your best ideas and turn them into finished working open source libraries. Give them nice simple headers, make them easy to build. That is, make sure that *your* implementation of the idea is the one that people want to use.

If you have an awesome idea for suffix sorting - don't just put the idea out there. The outcomes are only bad for you. Either it will be ignored, *or* someone will take the idea and make a great implementation of it, and then they will get the credit for it. Do go and implement it well yourself. If you don't have time to do a nice clean implementation, then do nothing. It's not worth releasing anything unless it's clean enough to become a popular solution to that problem.


There's a sort of nasty thing about releasing stuff that only appeals to experts. (eg. sketches, or ideas, or code that's got great stuff in it but isn't actually useful).

If only experts in the field can understand or use your releases, that's not so hot. Experts tend to be petty pieces of shit (I'm no exception). They're competitive and bitchy and defend their domain and want to squabble over details and blah blah. They might steal your idea, but they won't buy it, they won't recommend you get hired, etc. (obviously there are exceptions to all this, but too often it goes that way).

The person whose algorithm you beat isn't going to go around touting that some other guy has a much better solution.

The other problem is experts are not the ones who do hiring, or control the money. They just aren't the eyeballs that will have tangible benefit for you. You want a broader audience, you want the attention of people who maybe don't really understand what you do.

Experts are also legitimately nitpicky. They understand there are tradeoffs, and they know what the real state of the art is in the competition. (eg. in the compression world, experts won't compare against zlib because that's fucking ridiculous, not non-experts totally will).


I'm having a cranky petty day, but there is a real point here :

Working code libraries that people actual use is what gets you positive attention.

They should be small, portable, easy to get, in a standard place.

Don't spew out lots of semi-working crap, regardless of how good the ideas are.


Back in the long long ago, I gave away PPMZ and LZP (and many other things). I made basically zero dollars off them. A lot of that is my fault in various ways. They were a mess and I only released proof-of-concepts, not nice fast little working libraries.

They did get me contracting jobs, in which I did brain-breaking work and got paid like a gardener ($10/hr).

LZP1 at the time was a huge win over anything previous for fast-encoding. (things like Stac LZ, LZRW, Predictor, v.42 bis, etc.). The obvious place for it was networking. This was back when we still had slow pipes and compression on routers made sense. I got a contract job doing an LZP for Micom, but of course that was small potatos. The big thing would have been to get into a major router, like Cisco, or into disk compression at MS, something like that.

So I tried contacting the people I knew from compression forums at those companies. And I got stonewalled. The problem is the "compression guy" doesn't really want to be like "yeah this thing I did that I'm famous for internally is much worse and we should buy this other thing". They're just never the right contact.


03-10-16 | Murica Fuck Yeah

Them : America is the greatest! We are exceptional! We are better than the rest of the world! How dare you say anything bad about Murica. Questioning your president (if he's Republican) is un-patriotic; questioning your president (if he's Republican) in time of war is treason! America is the greatest!

Me : Cool, we are pretty great. So let's stop all the insane gun violence. We have 10X more gun deaths per capita than any other country in the world, surely we can fix that.

Them : No way! We can't do that! That's unrealistic! We could never get all the assault weapons off the street, and we could never trust Americans without guns to point at them!

Me : Hmm. Well, surely we can implement single payer health care, get our spiraling health care costs out of control, implement medical device & pharma reform so we aren't being preyed on by predatory pricing, make sure all our poor have health care, etc.

Them : We can't do that! Our political system is too balkanized, we're too beholded to special interests, it's too hard, too complicated, too much change, we'd never work it out, it would become a beaurocratic mess.

So in fact you think America is terrible. You think we're not capable of doing what most of the other wealthy nations in the world can do. But fuck yeah! We're awesome at truck nuts!


Tangentially - any time I pay for something on a web site, and there's a "country" blank, and I go to it and hit "U" - United Arab, WTF !? , "U" again - Uganda !? WTF ? Who the fuck do you think you are? It's United Fucking States!

Come on. 99% of the people buying shit on this site that put a "U" in for country are from the USA. Fuck, the god damn "country" blank should be initialized to have "USA" in it by default so I shouldn't have to touch it, and then USA should be there again as the first thing under "U" (and maybe the second thing too).


03-10-16 | Taxes

Tax audits are no big deal. There's this stupid pop culture kleeshay that it's such a nightmare, and you have to assemble a shoebox full of receipts and so on. No.

(this is all assuming you are a normal citizen, not a business owner or something complex) (also assuming that you're not doing some devious shit to avoid paying taxes, like claiming your home is a farm, or running a fake business that only loses money, or whatever the fuck you do, you asshole)

For most people, an audit just means you made a mistake. They correct the mistake, and you pay the difference. It's no fucking big deal, you just pay what you were supposed to pay originally, plus perhaps some penalty (which is very small).

In fact because of this, doing your taxes right is no big deal. People get so stressed about it. Meh, just make a lazy effort of getting it right, and if you don't, the IRS will catch it and fix it for you. No biggie.

The other big pop culture misconception is that the IRS has all-seeing eyes that somehow will catch your tax evasion. Like, if you hid a bunch of money as cash income, and then you buy an expensive G-Wagon (all tax avoiders drive G-Wagons), ZOMG you can't do that the IRS will realize that you couldn't afford a G-Wagon on your (declared) income!

Umm, no. They don't even watch your bank account.

99.99% of tax audits are triggered when the official tax documents (W2's, 1099's, etc.) that they receive from banks/employers/etc don't match your filed return. They aren't out there walking the street in a trenchcoat picking up clues with their magnifying glasses. They just take all the documents they receive and automatically cross check them for correctness.

So - DO actually sweat making sure you enter the figured of your official tax documents correctly, don't transpose any numbers or whatever. But DON'T worry about whether you declared some odd cash income or gambling winnings or whatever, chances are they'll never notice, and even if they do they'll just make you pay what you would have originally.


03-10-16 | My nightmare


U32 vals[4];

// option 1 :

memmove(vals,vals+1,12);

// option 2 :

U32 t1 = vals[1];
U32 t2 = vals[2];
U32 t3 = vals[3];

vals[0] = t1;
vals[1] = t2;
vals[2] = t3;

// option 3 :

U64 t12 = *((U64 *)(vals+1));
U32 t3 = vals[3];
*((U64 *)vals) = t12;
vals[2] = t3;

1. Which is fastest?

2. Does it matter?

Answers :

1. It depends, not just on your platform, but on your *compiler* on that platform.

2. Sadly yes. (230 MB/s , 235 MB/s, 240 MB/s)

The other one that I run into really frequently is shit like this :


64-bit branchless bit buffer refill

Which is faster?

1.

            U64 next1 = (*((U64 *)decode_in1));
            bits1 |= next1 << bitcount1;
            int bytes_consumed1 = (64 - bitcount1)>>3;
            decode_in1 += bytes_consumed1;
            bitcount1 += bytes_consumed1<<3;

2.

            U64 next1 = (*((U64 *)decode_in1));
            int bytes_consumed1 = (64 - bitcount1)>>3;
            decode_in1 += bytes_consumed1;
            bits1 |= next1 << bitcount1;
            bitcount1 += bytes_consumed1<<3;

This is just a reordering of lines of code that HAVE NO AFFECT ON EACH OTHER.

It's like asking, what's faster? "a++; b++;" or "b++; a++;" ?

IT SHOULD BE THE SAME! This is what compilers should be good at - lines of code that don't modify each others variables should be optimally reordered by the compiler, I shouldn't have to try every fucking possible shuffling of code lines.

But no. In fact there is a big difference (570 MB/s vs 600 MB/s in Huffman decode).

(totally unrelated, but it sure would be nice sometimes to have a shift that just zero'd the value if shift count is larger than word size)

And of course probably the most common is this annoying shit :


In the above bitbuffer refill, the types are :

U8 * decode_in1;
U64 bits;
?? bitcount1;

What's faster?

1. int bitcount1;

2. S32 bitcount1;

3. SINTr bitcount1;  (register sized; eg. S64 on x64)

IT FUCKING DEPENDS! ARG! (and like all these depends - the main difference is *not* anything about the actual architecture, it's just compiler codegen quirks)

In particular, surprisingly register sized is not at all consistently fastest - S32 is sometimes fastest on 64-bit chips. Not because it's actually cheaper on the chip, but just because it triggers slightly different codegen (which can be faster sometimes due to really weird things like loop alignment, Icache addresses, etc.)

And there's no variable type in C that says "hey just give me whatever is fastest and gives best codegen".

I know it's too late for this, but wouldn't it have been nice if C did something like


"int" : >= 32 bits, whatever size makes the code fastest
    overflow/wrap produces undefined value (not undefined behavior)

"int32"
"int64" : int of specified size, does two's complement wrapping

Oh yeah, one of the worst for LZ compressors is the fucking loop detection. Stuff like :


1.

for(int i=0;i<len;i++) a[i] = b[i];

2.

while(len--) *a++ = *b++;

3.

a_end = a+len;
off = b-a;
while(a < a_end) *a++ = a[off];

can be absolutely massive speed differences - not because of any relation between the CPU and the C code, but rather because of the compiler doing funny stuff here.

GCC/clang seems particularly aggressive about this. It can turn these loops into "call memcpy" (generally a huge disaster), an inlined memcpy (pretty big disaster), it can unroll and vectorize them (generally good), or it can fail to do any of the above.

The problem as a coder is that you have no control over those things, and it's pretty random/arbitrary what triggers them.

For example, I have places where clang wants to substitute a memcpy (huge disaster), so I have to intentionally write my loop in an obfuscated way to make it fail the memcpy-detection. Nasty.

In other cases, tiny changes to a loop can make it suddenly fail to vectorize, so you have to be really careful and fiddly with that.

This is basically the definition of Terrible Software or Terrible UI - tiny actions by the user, that they get zero feedback about and can't tell what they should do cause huge behavior changes.


03-09-16 | Trump

Anybody who's suprised by Trump, and the general descent into total fucking insanity of the Republican party, hasn't been paying attention to the internet.

If you went to pretty much any forum or website with comments in the past few years, you'd see all manner of total insanity. Stuff like "Obozo [sic] is a Nazi socialist who wipes his ass all over the constitution" and "Billary [sic] will take yer guns and regulate this country to death"

It's easy to just shrug off these people as nutters on the net, but that's what they think, and there are tons of them.

I suppose that the internet is partly to blame for Trump. There have always been nutters, but if you go back to the 80's and earlier when the media was controlled by the elite, the nutters didn't really have a voice. They would sit in their own house and think that radio waves were controlling their dog and socialists were using flouride to make us all into liberals, but the mainstream media wouldn't give credence to that crazy. People kept their crazy quiet a bit, and tried to pretend to be reasonable. But now, between Fox News and all the crazy internet news, everybody has validation of their insanity, and they aren't afraid to go public with it.


03-07-16 | So

"They're doing well, they've won the last 3 out of 4 away games"

So.. by that you mean they've won the last 3 out of *5* away games.

"We're raising money tonight for autism, a condition that affects 1 in 68 people"

BULL FUCKING SHIT, NO IT FUCKING DOESN'T. The actual rate is in the 0-3 per 1000 range. You've got this bullshit figure from this advocacy society that's trying to promote their sick agenda of medicalizing oddness and you just parrot it as if it's fact, which makes it become accepted.

It's like if I said that hay fever is part of the "pneumonia spectrum". OMG there are so many undiagnosed cases of pneumonia spectrum! Think of the children! 1 in 4 people are on the pneumonia spectrum! It must be caused by catalytic converters.

I think of myself as "enjoying coding" , and yet 99% of days that I spend coding, I wind up feeling pretty damn miserable. Sort of cranky, sort of like a blackness is closing in around me and my vision gets a bit tunnely, very removed from reality, like super delayed reactions to anything happening outside my head.

I regret not trying harder to move up the levels faster and take big shots when I was playing poker. I should have tried to seize the opportunity and played bigger while the getting was good.

I always get a bit of LOL about the crazy nonlinear scale of rich people. Like, dummies get all outraged that some athlete makes $20M a year, oo that's so crazy, that's so much money. Mmm, yeah, sort of. But the team owner got $200M in grants from the city for his new stadium. And those executives in the boxes got $2B for adding a $1 "environmental fee" to every ATM withdrawal. The athlete is downright broke compared to real money.

Anyway, the relevant comment about that here is - Guy La Liberte used to play the high stakes poker tables online, and he spewed off maybe $50 M or so. He's a billionaire, so it's no big deal to him. But to the kids who hunted him, it was a fucking gold rush. They couldn't believe it. And he (almost) single handedly created a whole industry. Poker coaches and celebrities, whole forums of fan-boys who wanted to be the next big thing to go up to the high stakes tables and make money from Guy.

"Super High Roller Cash Game" is the best poker on TV since the old "High Stakes Poker". Pretty good watch.

Dan Luu has some good stuff.

I use ialc's "Downloadyoutube" for all my youtube video watching (because watching in the browser is a frustrating mess) (nicer than "Downloadhelper", which I also use). Anything serious that I want to watch, I download then watch it locally where it won't make me want to smash my computer. It does, however, reveal a fucking fakakta stupid web fucking thing. Downloadyoutube gives you a "Download" button, but it won't actually let you do the download until the entire web page is done loading. Which takes ... a long time. Most of the page is done, but no, there's some fucking tracking or ad-serving link that's still running. Still running. Nope, still running.

I finally got video playing on my lappy to be somewhat okay. The last piece of the puzzle was disabling hardware acceleration (use MPC's "Overlay" renderer). Hey, no more fucking flashing screen when I toggle fullscreen, and no more corrupted blocks on some videos, oh and bonus - no more occasional crashing. Fucking computers. I still have occasional audio sync issues, and there's the annoyance that nobody encodes volume at the same level, so, let's not get carried away, it's not like it actually works decently. Oh, and subtitles and languages are a nightmare still. ... and then H265 comes along and we get to restart the mess of codecs that don't work and videos that don't play right. Yay.

(fucking video standards need to have an "audio baseline level" and "audio dynamic range" level stored in the file, with standard/example code to compute them. Then player need two sliders, one to adjust the baseline level, and one to adjust the max/range. Fuck fuck fucking fuckers.)


03-04-16 | Science

I like the experimental science aspect of compression work, and all optimization work generally.

You have a theory, you have an idea, you understand certain factors are influencing things, or that you can change this operation in a such a way that might be faster.

But then you have to go do the experiments. You go to the laboratory and actually write the code. You do tests.

Sometimes an idea doesn't work, but you're pretty sure it should have. It was a good idea. You have high confidence in your theory. If you do an experiment and find a totally new value for the charge of the electron, you don't just go "oh well, I guess that's what the value is!". You have to use your brain sometimes to know that hey, maybe I should question the results of this experiment. Maybe the flaw is not the theory, maybe I just implemented it wrong so the experiment is flawed somehow.

Sometimes most of the work is creating devices to measure the experiment. You don't just make a device to smash particles together - you can't tell anything from that. You spend all your time trying finding ways to study what happened when they smashed. You write data acquisition and visualization tools to try to see what's going on inside the reaction. You don't just measure the final compression ratio, you try to see; hmm what's happening with the match lengths and distances, why is it coming out like that? The end result is usually less interesting that the steps that make that end result come out.

This is the part of programming that's hella hella fun. It does feel like finding new truths in the universe. Even if it's a very small petty way most of the time. Doing experiments on whether bit buffers are faster with shift-down vs. rotate-and-mask is not exactly like curing cancer or figuring out what dark matter is, but it's something.


03-04-16 | Tinder

I like to log on Tinder occasionally and just X everyone out.

X X X X

I'm pretty sure that's the point of Tinder. I've never actually met anyone using it. It's just for all of us to get on and judge each other harshly and never actually meet anyone.

Your main profile photo has like 3 fucking people in it? X

Your main photo is a landscape or a still life or something with you not in it at all X

Of course the majority are just ugly or fat or something. X. I'm not sure why you've take an upward angle photo at your giant belly, I guess thanks for not trying to hide it, but don't you have the sense to take a photo that doesn't accentuate your crazy cross-eyes ? X

Your profile text is something like "not sure why I'm on here" or "my friends made me make this profile". Double fuck you, you piece of shit fucking pissing on everyone who's making an effort and trying to act too cool for it. X X X

Your profile has no text. Fuck you, you can't even bother to write a single thing (or you're too dumb to figure it out). X X X

Pretty much 99% of jobs are X's. Retail - X. Bartender - double X. Hairstylist - X. Web marketing / branding consultant / social platform community engagement advocate - X X X. Psychiatrist / therapist - X.

Photo with your dog - X. Photo with your child - X. Photo of your child with you not even in it - WTF is wrong with you - X X.

Photo from Burning Man - X. Hey, I love burning man, you don't fucking put a photo of it in your profile.

Photo of you doing a shitty yoga pose in an inappropriate place (on a beach, or a mountain top or something). Fucking no. Fucking trend-following boring sheep. Way to take a nice experience like being on a beach and add something stupid to it. Oh, and you suck at that pose. X X X The only time a photo of a yoga pose is a good idea is 1. you're wearing sexy workout clothes and 2. you're amazing at yoga and 3. you're nailing a really hard pose.

"ha ha don't know what to write here, just ask me!". X

A really common one that boils my fucking blood is - "impress me" or "I'm a sucker for someone witty - make me laugh" or "I'm not down for bar dates or netflix+chill, take me out somewhere unique!". Fuck you. You fucking sexist entitled piece of shit. You impress me. You plan a date that blows me away. You pay for it. You write a clever, unique, personal, well-thought out opener and send it to me. Oh, I forgot, because you're vaguely cute and have a pussy you don't have to do any of that, you can just sit back and judge all the poor saps who try to win her majesty's favor. X X X

The letters "xoxo" occur in your profile. X

"Hit me up on kik/IG" - X. Actually the phrase "hit me up" at all - X

Photos drinking shitty cheap beer in dive bars - ugh, I'm so fed up with phoney richy rich yuppies pretending to be blue collar - X

"Graduated from the school of hard knocks" ; "traveller/explorer/seeking the cosmic chill". Good for you, you've wasted away your life so far, you're broke and have no career and are getting old, heading towards 40's and 50's where just being cute and skating your way through life without taking on any responsibility will stop working. Good luck with that. X X X

Cheesy quote from a philosopher - "I looked for happiness outside myself and blah blah" - "what I needed was inside myself" - "I gave everything away and found I had more than ever" - X , double fucking X

Amazing set of Instagram photos (jesus christ people have fancy photos these days). Ooh look at me internet, I'm so interesting and hip and my life is great, don't you wish you were like me? oh please love me and approve me. X


An odd thing that I've observed is how rough dating must be for short men.

"I'm 5'8", be taller than me!" is extremely common.

In fact, it's just about the *only* restriction that I've ever seen. Unemployed? Tweaker? Bald? Fat? Apparently that's not a big deal. Short? GTFO.


It always amazes me how in the real world, nobody ever goes hiking, and everyone just watches TV or pokes at their internet.

And yet, in the dating world, everyone is an avid hiker, with lots of friends and activities in their life, and they never just sit around and stare at screens.

Amazing how the normal human population and the dating human population seem to have no intersection.

Okay, okay, I know. Obviously people's dating profiles are their aspirational self. It's the self they wish they were, the self they want to present to the world. And that's sort of okay.

What is pathetic and dumb is that everyone sort of hopes for a savior to whisk in and make their life the way they wish it was. If they just pretend to be a big hiker, maybe they'll meet a guy who actually is a big hiker, and then they can do it together and our lives will be so grand! Fucking grow up. You're not 20 anymore. Noone is coming to whisk you into their amazing group of friends and make your life what you always wanted.

The other thing that's pathetic is just how *boring* everyone's fantasy life is. Fucking hiking and brunching and yoga isn't your real life, it's your fantasy life, and what a fucking boring fantasy you have. If you're going to lie about your life and write up your fake aspirational you, don't you want more than that?


I guess this all means I'm still not ready for dating. I'm not desperate enough to set aside the part of my brain that says "god you're fucking awful and disappointing". And I guess part of me doesn't want to; I don't want to turn off my brain to tolerate being with someone.


03-02-16 | The Kraken

It's coming. Oh my god. It's so fucking good I can hardly believe it.

It's like one of those compressors where people post results and your first question is "yeah, but did you write the decoder and verify that it's working?".

Wowza.

I haven't really felt this way about a compressor since PPMZ, or maybe some of my wavelet work. I want to just keep running it to see its results. Like ooh, that was amazing on silesia, let's try it on this other file and see how that does - oo! amazing too! let's try another. I could just stare at the results all day feeling pleased with my creation.


03-02-16 | Fuck It

Ugh. So horny. Can't concentrate. Bit buffer can refill from bytes ahead of where the compressed data ended; hmm, encoder can stuff extra bytes at the end so that never causes an access violation; how many bytes, let's see... boobs, legs and butts, the smell of pussy and armpits, OH GOD DAMN IT, I totally lost my train of thought.

I feel like Elaine on "The Contest" ; my head gets more and more cloudy.

Let's go look at online dating and see if there's anyone hot. Hmm.. maybe hot, nope, third photo shows body and she's clearly a fatty. Hmm.. maybe this one, nope doing yoga poses on the beach is such a huge fucking lame turn-off. Fuck it. What a shit show. I give up. Back to that end of buffer overrun problem...


03-02-16 | Hate

I hate the fucking pacific northwest.

There's just no reason to be here. Sure sure, in summer Seattle is great, and then there is a reason - the lake, the mountains. For a few months, life makes sense because there's actually something besides work that I really want to do. (but fuck Portland, it has neither lake nor mountains, so it really has nothing for me. NOTHING).

Oh there are cute shops and restaurants FUCK THAT SHIT, there are nice people and it's clean and green and whatever I DONT FUCKING CARE. That's all nothing.

I want to live somewhere where I can say *yes* this is why I live here. I live in Paso for the biking. I live in Hawaii for the swimming. There's something where I have a day off, I know what I want to do with it.

I had kind of an epiphany the last time I was in Hawaii. I thought "why not just live here?". (I mean, at the moment the reason why not is because I have a child in Portland).

I thought about those loners who have something they really love. People who love the sea, like sailors. They have a shitty house, they work a job they don't really care about. When they have free time, they get out on the water and sail. Life makes sense. What are you going to do this weekend? Something I love.

What the fuck can I do in the fucking pacific northwest when I have a day off? It's fucking cold and wet and muddy. Fuck.

These days when I get stuck in traffic, it's raining and dark and I can hardly see and people are tailgaiting me, I think "why the fuck am I here?". Why am I enduring this awfulness? There's no reason. (well, my job and my child are here, so).

When people say "let's do something fun!" and you can't think of anything - it's not because you're boring or there's something wrong with you. It's because you live in a shitty place where there's nothing to do (except for June-September). I don't want to do fucking yoga or go to a movie or a fucking boring restaurant or any of that shitty stupid shit that boring civilization does.


03-02-16 | Bullshit

I am finding myself getting dangerously cranky about political correctness, like an old racist/mysoginist; it's not a good place to be; but the recent trend of uber-correctness that's swelled in the last year or two is really making me sick.


I see a lot of calls for more diversity in the game industry, and we should be hiring more women and minorities and blah blah.

It's a lot of shit. There aren't any to hire.

When I was lead at Oddworld I hired up a whole team. We were constantly hiring. We took maybe 100 resumes a week. Our HR lead would trim down the ones that were obviously totally unqualified (no work experience at all), and give me maybe 10 a week. I would read them on my lunch hours and throw out most of them. I did maybe 1-2 phone interviews a week, and that led to around 1 in person interview a month. I did that for approximately 5 years, so I guess I saw over 1000 resumes.

I don't recall seeing a single female candidate that entire time. Not one. I would have loved to have the chance to be sexist and dismiss her as unqualified due to my deep-seated subconscious mysogeny, but I never got that chance.

I don't recall seeing a single "minority" resume (that means black). (though in hindsight, I guess I could have and not known it; I mean unless their name was "Tyrone Washington" I probably assumed they were white (very few people send a head shot with their resume (though "very few" is not zero!))).

It's all well and good to want our industry to be more inclusive, but there need to be people to include.

Now, of course I was hiring in the upper levels of the food chain. I wasn't even looking at people straight out of college (and people with "game school" "degrees" go straight in the trash, dear god, don't go to those schools or any kind of technical computer school), and it may have been that the demographics coming straight out of school were more balanced, and it was the sexism/racism in the lower levels of industry that filtered the candidates down for me. I dunno. By the time they got to me, it was 99.99% males.


The other common bullshit I'm seeing a lot of is the idea that "men going out for a first date just throw on a jacket, women have to pack their pepper spray and tell a friend, because they might be killed!".

Oh ha ha, women have it so rough.

The problem is it's just total bullshit. First dates with strangers are not dangerous. You meet in a public place, you have your guard up, it's just not actually dangerous at all. It's not how rape happens. (though do have a good exit plan; an uber pickup right outside the bar is a good option; don't walk home alone on empty streets)

It's part of the stupid paranoid "craigslist killer" myth, that meeting people from the internet is somehow more dangerous than meeting people in other ways.

I think it's not only annoyingly stupid bullshit, it's socially irresponsible bullshit. It's repeating the myth that rapists are strangers or deviants or weirdos. They're not, they're the guy that you think is your friend. What's dangerous is hanging out with that guy from your painting class that you think is just a friend. What's dangerous is getting in a car with your old college buddy.

(totally unfair generalizing follows) In general I've observed women to have this insane idea that they can somehow detect danger from a few words of conversation. Like, they're all careful and guard-up against strangers, but if you say hi and tell a joke and smile and generally act normal - BOOM - the guard is completely gone and they let you in. Then you can say "hey, wanna go back to my place? I have to blind-fold you and put you in the back of my van" and they'll be like "oh, ok!". It's this idea that a "nice guy" is safe and then the guard is completely gone. You don't actually know if someone is safe for months, and you should be wearing your pepper-spray necklace that whole time.


03-01-16 | Surprise!

For some reason I like to fuck with my computer by plugging & unplugging peripherals while it's asleep.

Somehow this seems like being "nice to it" (as opposed to plugging things in when it's on). My lappy is asleep, and I plug it into keyboards and monitors and networks, and then blammo -

HEY WAKE UP YOUR WHOLE WORLD HAS CHANGED !!


I like to really give the compiler a hard time by doing a P4 sync when it's right in the middle of a build.

Hey, here's a random mix of old and new code! Deal with that, bitch!


02-28-16 | Game Engines

Followup to last post. Half heartedly.

Very rough view of how I think a modern game engine should be designed :

100% imperative. No structure. No classes forced on the user at all.

It's just utility functions. Helpers that you can put to together, but they're all optional.

It's not like "I want to load a mesh, oh shit to do that I have to instantiate an Actor, which pulls in AI and Scripting and blah blah". No. There's just fucking "load_mesh()".

Everything is separable, but they're components that are designed to easily snap together (if the user so desires).

(but something to avoid here is super-layering the components, which makes them unnecessarily obfuscated; like hey there's a sample component called HumanActor, built on Actor, MotionController, Biped, AnimationBlendedObject, Widget, LocatedDoodad, FuckingThing and FuckingOtherThing)

You can tell if the game engine is sane by the sample app and the flow control. It should ship with a simple sample that's like :


int main()
{
  create_window()

  init_3d_driver(window)

  mesh * m = load_mesh();

  while( ! kbhit() )
  {
    draw_mesh(m);

    present_3d();
  }

}

obviously very sketchy, but the point being - less than 100 lines of code. All linear flow & imperative, like I could F10 (step) to start my app and literally step through it in the debugger and follow the flow of execution from run to shutdown and never be at all confused about where my flow control is going.

The basic object should be something non-classy and super simple, like :


struct Object
{
    U64 flags;
    float position[3];
    void * more;
};

and so on.


02-25-16 | OMG OMG OMG

MotoGP and Super Rugby are about to start up again. OMG so excited. Aaaarh I can't wait.

2015 MotoGP and Super Rugby were both so fucking phenomenal, just absolutely amazing spectacles of sport. The Hurricanes and Highlanders in SR played some of the best expansive, flowing, exciting rugby that I've ever seen.

... and so for 2016 both sporting bodies are totally randomizing things. Hey it was awesome and working great, let's fuck it up!

The big MotoGP changes are of course the tires and the electronics. Who knows how it will go, maybe it will be better, maybe it will fuck up the delicate balance that made the competition so good, we'll see. Certainly a risky move. (IMO if you're going to fuck up the electronics, you should have made them even simpler; maybe still allow traction control and custom maps, but make it just one single map, instead of allowing customized maps *per corner* the way it is now. Part of the idea is to make it easier for the lesser teams, but there are still so many tweakable maps (on the order of 100) that only the big budget factory teams have any realistic hope of optimizing the bike).

Super Rugby is even more of a fuckup, and in this case it's much less of a "who knows, wait and see if it works". With SR it's almost certainly a fuckup, and we just hope that it's not too big of a fuckup. They scrambled the conferences, added more shitty teams that will just be back-markers, and have massively increased the already-nightmarish travel burden. (Argentina-Australia-Japan ; it's a fucking around-the-world tour, ridiculous). Too many teams, watering down the talent too much (especially in South Africa, which should have *cut* teams, not added them). I hope they haven't ruined a good thing.


02-25-16 | The Information Economy

Obama and others like to talk about transforming America to be better suited to the modern "information economy". Like we're going to replace all the lost manufacturing and other blue collar jobs with some kind of white collar web/IT/something work. They like to talk about plans to increase computer science education, teach programming in primary school, blah blah.

What an absurd fantasy. What do you think those jobs are going to be? You think that if you train up millions more shitty programmers, they're going to somehow all get good high paying jobs?

No. They're $8 an hour community moderator jobs at crappy social web sites. You're competing with Indian call-center people.

Buy stock in lube. We're headed for a future where prostitution is the only job for 99% of the planet.


02-23-16 | Le Sigh

Seriously fuck games that use LZMA/7z in their loading pipeline.

If you use it for distribution, and unpack to install, then well that's okay. Not ideal, but passable.

But if a 30 MB/sec decompressor is an acceptable part of your load pipeline, if it doesn't show up in your level load profiles as a huge spike (you are profiling your level loads, right?), it means your level loads are taking 10X or 100X longer than they should (sadly 100X is quite common).

Disks now can easily do 200 MB/sec. That means to load a level, you should load one 200 MB blob in one blast (if you need more than 200 MB to get your level started, you fail). Once loaded, you just point at it (it's all flat data, no parsing or fixups, right?), and BOOM done. Huge level load done in 1 second. ONE FUCKING SECOND IS HOW LONG YOU GET TO LOAD A LEVEL.


02-18-16 | The Practical Vote for Hillary

I love Bernie, but there's this voice in the back of my head that says "it's not realistic" or "Hillary is the better candidate to defeat a Republican in the general election" or "Hillary will be more able to play the politics and actually get something done (Bernie will just run into a Republican brick wall".

The DNC orthodoxy wants you to believe this. They want you to think that Hillary is also a reasonable liberal candidate, and is the more practical choice.

I'm not sure. Not about the "practical" issue, but about whether there's a single liberal bone in Hillary's body. This gave me pause :

Want Endless War? Love the U.S. Empire? Well, Hillary Clinton’s Your Choice

Hillary is basically a super-militant right-wing Hawk (just like Obama, perhaps even more so). What we desperately need is to *stop* giving Israel a free pass for war crimes, *stop* randomly bombing the Middle East as if that will fix anything, *stop* drone assasinations, drastically shrink our military and mind our own fucking business. But Hillary won't do any of that.

Domestically, Hillary is basically part of the neo-liberal "free market solves all" orthodoxy that we've all been brain-washed with in the last 20 years. She won't fix anything.

Now I certainly wouldn't go so far as the extreme nutters that claim "Hillary is as bad as the republicans". Of course not, the Republicans are literally insane now. They've just gone off their fucking rockers. Hillary is a sane conservative.


02-17-16 | Good

Man feels good when :

He can look out and see wilderness and no other men.

He exercises to a sweat. There's something magic that happens in a hard sweat.

He wakes with the dawn and goes to bed soon after dark.

He lives where the days are bright.

He eats only natural food; mainly fruit and vegetables.

He has sex almost daily. Vigorous, panting, joyous sex, with closeness and intimacy and bonding.

He lives where minimal clothing is necessary for survival. Homes should also not be insulated or air-tight (certainly never air-conditioned), rather open to the breeze. Man should not live somewhere where the environment is trying to kill him and he has to close himself off against it. Man should not live where he has to kill animals and wear their skin to not freeze to death.


02-12-16 | Misc

Gravitational waves are not interesting because "hey gravitational waves exist! physics is weird!". We knew they existed. Sure we hadn't seen them, but General Relativity is so well confirmed by other experiments that they had to exist. The exciting thing is what they will be able to see. It's like having an entirely new type of eyes. It's literally a way of observing the far universe through a totally different force (not E&M). Pretty exciting times for fundamental physics right now, with CERN finding the Higgs and hoping for more. (and, oh yeah, WTF is dark matter? dark elephant in the room).

Preshing's Concurrent Hash Map stuff looks cool. See also Hopscotch Hashing.


02-11-16 | Game Engines

It's crazy that there are so many game engines, and not a single one of them is what I would consider reasonable. It's not that they're just not exactly how I would do it, but they're just completely architected wrong.

I can sort of forgive the ancient game engines like Unreal because hey, they have some very old design decisions that are hard to change. But there are lots of new ones that were written from the ground up and are still just all wrong.

The crucial wrongness of them is being too OOP, too heavy-weight, imposing too much overhead. It's bad overhead both in terms of performance, but also in terms of the effort to program in them. Doing something like adding a new type of game object requires so much nasty glue work before you actually start writing any functionality. They all have messes of undocumented rules and ways to do things.

The right way is to be super-simple. Very imperative, flat-code. Complex behavior should come from imperative calls and from data-driven composition, not from inheritance.

And for god's sake, no fucking Scene Graph. Everybody who's thought about 3d engines in the modern era knows that scene graphs are a horrible mistake and yet engines keep doing it because it seems like a cute idea to people who have never tried to make them actually work in a large game.


02-11-16 | Kid Stuff

Kid electronics all fucking suck and are terribly designed. Fucking shape up, world.

Kid Music Player

This should be a rugged drop-proof MP3 player with a speaker. There should be a lockable slider for max volume. Instead of play/skip buttons, there should be 10 push buttons to play those tracks, they should be large colored buttons so a toddler can remember what song is on the blue button. Obviously it's crucial that this should be an MP3 player with USB so the parent can put on songs they like, not just the standard crap that's pre-loaded with awful songs. And the speaker needs to be decent quality so it doesn't sound horrible.

This seems to just not exist. (ADD : I found the "Horbert" or "Hoerbert" which is pretty close to ideal, but it's fucking $300 which is not right. You can get a crap mini MP3 player for $20. Wiring on a speaker and some buttons to select tracks should not 15X the price.)

Kid Camera

There are a lot of these and they all horrifically suck.

This should just be a decent 5-year-old-tech camera, with rugged padding around it, and get rid of every button except for "take picture" and "review/back". I think you only need 2 buttons, maybe 3 if you do back/forward for review. Crucially it should actually be a decent quality camera, and for kids it needs to be very high ISO, very fast, because they won't hold it still. You can get totally decent 5-year-old cameras for $50, this should not be prohibitively expensive.

The kid cameras you can buy are just garbage. Very slow, terrible low-light image quality, just terrible cameras, and also loaded with fucking stupid features like games and shit that are just distractions and annoyances that you can accidentally trigger.

Kid Mode on iPads

It's weird that iPads for kids is such a common thing but they have no decent kid mode. (Yes I know about "Guided Access" and it's fucking terrible). You should be able to play a movie and then lock it so that touches do nothing unless you do some special touch sequence. You should be able to activate "kid mode" and then only selected apps are available from the main navigation (and they can't access settings or drag things around).

This just seems so easy to get right and it kind of boggles my mind that they don't.

Kid Games on iPads

The actual games for kids are terrible fucking garbage. Not only are they not very interesting, and generally janky, they also almost uniformly have terrible non-kid-friendly UI design.

Like all terrible fucking app UIs, they often have buttons that aren't clearly buttons, stuff that's draggable or not draggable and is in no way indicated, it's just awful.

They'll frequently have things like scrolling menus for selections. So there's this background of the menu that you can slide to see more selections, and then items on it to click. So if you just miss the click slightly, you're scrolling the menu and totally missed your item. This is terrible UI for an adult app, but it's totally unforgivable or a kid that will be frequently slightly missing.

(and of course lots of them are just downright disgustingly abusive, with lots of pay options that your kid will keep clicking into and then getting stuck unless they pay to continue, which is fucking rotten in an adult game but just deeply evil in a kid game because it puts you in the position where refusing to pay might be a tantrum)

Kid Computer

Emmy would like to start actually typing and using a mouse and stuff, and I realized that modern computers epically suck at this.

What would be ideal is the old cartridge based computers (C64, Atari 800, other?). So there's no installed OS, no writeable media. You can't let a kid just go nuts on a modern computer, they're so fragile. One drag across the desktop could do god knows what and crud things up. It should be great to have a solid robust computing foundation, which seems to not exist anymore.


02-10-16 | Emissions

There's apparently an EPA proposal to make it illegal to destroy a car's emissions systems, even if you claim to only run that car on the track.

First some background for people who aren't car nerds :

1. All modern cars come with catalytic converters, oxygen sensors in the exhaust, clever ECUs, and a huge host of other features that make them extremely clean.

2. In modern cars, these systems do almost nothing to hurt the power of the car. Many people incorrectly think that you can remove the cats to make the exhaust more "free flowing" which will somehow make it faster. In fact, it usually makes it slower (without correct back pressure or ECU tuning). Even if you do manage to make it faster, gaining 10 hp in a 400 hp car is pretty irrelevant.

3. It has always been illegal to tamper with the emissions systems of cars, such as removing catalytic converters.

4. There has long been a loophole in that cars which are not used on the road were considered to be exempt from the regulations. (they also don't need insurance, or registration, or inspections).

5. Many "enthusiasts" buy illegal track-only parts (such as exhaust systems) and then use them on the road. There are lots of tricks to be able to still pass emissions tests even with illegal exhausts.

Okay, that's the background. So the EPA is considering closing this loophole. The easiest way to do it would be to make the parts illegal. Things like O2 sensor spacers and headers without cats would be illegal to sell.

Unsurprisingly, the nut-job right-wing car people are up in arms. "government gone mad" "keep your hands off my car" and all that.

I say HELL YES EPA do it.

As a lover of modifying cars and driving on the track, I say YES YES YES by all means, I have no problem with this regulation.

Why in the world would you be against it? I love driving my car on the track. I currently have a functioning and legal emission system, and it in no way interferes with the enjoyment.

Now, if the issue was actually just about track cars, it would be sort of irrelevant because they're quite rare and don't run very many miles. But that's not the issue. The real issue is that people use this loophole to disable their emission system in their road car, and that is far more common and thus more harmful. It's also more pointless. The vast majority of people buying catless exhausts and other emission-disabling products are just street posers.

The right wing nutjobs think the "government should mind their own business" and "keep their hands off my car".

But this is EXACTLY the kind of thing government should regulate. You can't just do whatever you want when your actions affect other people. (I have to explain this in language a 2-year-old can understand). If you only ran your car with your exhaust hooked up by a tube to your own mouth, then fine, go nuts, make it more toxic. But you don't. You run your car belching exhaust in the air, which is a shared resource that all of us breathe.

Car exhaust emissions kill people. I'm not being hyperbolic. (eg. air pollution kills more than 3 million people every year ). Thousands in the US. The emissions are not just CO2 that cause global warming which only "enviro-mentalist eco-nazis" worry about. They are carbon monoxide, ozone, various nitrogen compounds (N2O and NO and such).

Back before the "bastard EPA" made rules about it, we used to have huge deadly smogs in the US that killed thousands in short periods of times.

Your car belching exhaust is a real harm to other people, whereas what you get from ruining your emissions system is only a questionable increase in your pleasure. "Freedom" does not include the right to hurt other people.


Back when the VW "Dieselgate" broke, those epic morons Clarkson and Harris both tweeted comments that were basically like "government nannies need to sod off and leave VW alone".

Umm, no.

The combination of government regulations and free market solutions to those regulations is, I think, one of the great success stories of the modern era.

Intentionally cheating by detecting that you're on the test cycle is just so deeply shitty, it's hard to imagine a punishment severe enough.


02-10-16 | LZ5

I had a quick look at LZ5. (v1.3.3 Jan 5 2016)

Cliff notes : LZ5 is an LZNIB-class compressor. It seems to be just generally slightly worse than LZNIB in both speed & compression ratio, but it's in the ballpark. It's not really LZ4-class (or Oodle LZBLW-class) which are much faster.

LZ5 on github

LZ5 has len-3 matches and can send low offsets and LRL's. The codewords are : (from github)

     

LZ5 uses 4 types of codewords from 1 to 4 bytes long:

    [1_OO_LL_MMM] [OOOOOOOO] - 10-bit offset, 3-bit match length, 2-bit literal length
    [00_LLL_MMM] [OOOOOOOO] [OOOOOOOO] - 16-bit offset, 3-bit match length, 3-bit literal length
    [010_LL_MMM] [OOOOOOOO] [OOOOOOOO] [OOOOOOOO] - 24-bit offset, 3-bit match length, 2-bit literal length
    [011_LL_MMM] - last offset, 3-bit match length, 2-bit literal length

The result is that LZ5 can send a lot more tokens than something like LZ4 (MML 4).

LZ5 also has a rep-match token (like Oodle LZNIB, and unlike LZ4, Oodle LZBLW, and LZB16)

At high compression levels, LZ5 gets very slow (to decode; I'm mostly talking about decode speed) - more like ZStd speed than LZ4 speed. The problem is the short matchlen token which results in much shorter phrases (LZ4 & ZStd get their speed from long runs of LRL between matches). LZ5 at low compression levels doesn't make many (any?) of the len-3 matches and so is much faster to decode (much like ZStd at low compression is much faster to decode than at high compression, because it makes fewer matches and has higher MML).


win81 orig : 104857600

lz4hc best : 54741827 (*)

lz5 best : 46008853 (*)

zstd best : 41880158 (*)


Oodle LZB16 : 54,459,765

Oodle LZBLW : 50,410,911

Oodle LZNIB : 44,865,658

* = from the lz5 web site, not my test
My run of "lz5 -18 win81" makes output of size 47,307,554
lz4.exe -c2 makes size 54,827,729

Unfortunately I can't actually build LZ5 to speed-test it rigorously. (LZ5's code is very new-C clangy; it doesn't like old MSVC). However, I know LZNIB is around 1/2 the speed of LZ4 to decode, and LZ5 (high compression) seems to be around 1/3 the speed of LZ4, so I'm pretty sure it's quite a bit slower than LZNIB. (LZBLW is almost the same speed to decode as LZ4, since it still has MML 4, just allows larger offsets). I did run some proc times of the executable (using their lz5.exe), and the proctimes seem to confirm that LZNIB is faster, though exe timings that include IO/startup/etc. are not great ways to test compressors.

It is interesting to see a competitor in this space/speed tradeoff zone. For the last few years, LZNIB has really had nothing to compare to (everything of comparable speed like LZO and snappy just get massively worse compression).

The LZ5 parsers at high compression seem to not be favoring decode speed, which is a big error they should fix. Basically levels above 15 are just throwing away decode speed by making more mode switches and not gaining much file size for it.

Some more files for reference :


baby_robot_shell.gr2                    58,788,904
LZ5 -15                                 26,751,235
LZNIB -zl6                              23,703,972
LZNIB2 -zl6                             22,960,993

AOW3_TC_Foreground_Arc.clb              39,335,545
LZ5 -15                                 25,794,297
LZ5 -18                                 25,751,947
LZNIB -zl6                              25,009,454

In hindsight, LZNIB has some mistakes, now that I understand the parsing and tokenization better, and Fabian's had a look at it. I think there are some interesting possible improvements in this space/speed zone in the future. However, I haven't found anyone that's interested in these compressors so I'm not sure it's worth pursuing.

The existing LZNIB also can do better. LZNIB uses a variable divider and can send the divider, but I currently have that disabled because it costs too much encode speed.

I believe that LZNIB/LZ5 is the right class of compressor for speeding up disk load times now. On modern systems where disk speeds are getting closer to the speed of CPU's (we now see ratios like 2 GHz CPU to 200 MB/s disk, so only 10 CPU clocks per byte (and often even faster disks)), slow decoders no longer make sense. ZStd/LZHLW is maybe okay now, but will be too slow in the future, as disks are currently speeding up faster than CPUs.


ADD 06-23-2016 :

LZ5 has improved quite a bit since I last looked at it. Small update :

using lzbench 1.2 x64 to run lz5 1.4.1 vs LZNIB -z6 :


lz5hc 1.4.1 -15          1.96 MB/s   644 MB/s    45767126  43.65 win81

LZNIB win81 : 104,857,600 ->44,925,759 =  3.428 bpb =  2.334 to 1
decode only      : 138.527 millis, 2.28 c/b, rate= 756.95 mb/s

lz5hc 1.4.1 -15          2.61 MB/s   832 MB/s    12588670  50.96 lzt99

LZNIB lzt99 : 24,700,820 ->12,014,368 =  3.891 bpb =  2.056 to 1
decode only      : 26.909 millis, 1.88 c/b, rate= 917.96 mb/s

lz5hc 1.4.1 -15          5.09 MB/s   743 MB/s    25404406  43.21 baby_robot_shell.gr2

LZNIB baby_robot_shell.gr2 : 58,788,904 ->19,697,643 =  2.680 bpb =  2.985 to 1
decode only      : 50.789 millis, 1.49 c/b, rate= 1157.51 mb/s

so, not bad. My comments above basically stand : LZ5 is the closest thing I've seen to LZNIB. I think it's a useful space-speed tradeoff range (around Zlib compression levels but much faster to decode) that most people are neglecting.

Of course in the new Oodle paradigm, this is all blown away by the sea monster in the corner :


Oodle Kraken 2.3.0 -z6 :

lzt99 : 24,700,820 -> 9,970,276 =  3.229 bpb =  2.477 to 1
decode only      : 31.265 millis, 2.19 c/b, rate= 790.04 mb/s

Kraken is almost as fast to decode as LZ5 (790 vs 832) and is just in another world of compression ratio.


02-02-16 | Nice

On PS4/Jaguar it's really crucial to keep your entire decoder in L1. Things like entropy decoding speed fall off a cliff when the state starts falling out of L1. Check the Oodle LZ decoder state sizes ...

LZNA decoder memory usage : 11652
BitKnit decoder memory usage : 16208

Noy-ce! High five bro.


02-02-16 | Change

I would like to make these changes in myself :

1. Less critical. Less correcting. Nobody fucking cares what your opinion in. Nobody wants to learn from you. Oo, you're loading the dishwasher wrong, let me teach you how to do it so the dishes aren't damaged and the streams can reach every point. NO! Nobody wants they. They won't go "oh cbloom, thanks so much for pointing that out", they will say "fucking asshole annoying busybody so uptight, fucking leave me alone, I know how to load a dishwasher just fine, I'm a fucking adult". Don't try to teach anyone anything unless they specifically ask for it. Just let people do things wrong, even if they bother you a little bit, like if someone makes you pancakes and puts syrup on them, don't say "actually I don't like syrup", just fucking eat it and be grateful. Be happy that anyone did anything for you (you sour piece of shit) and don't try to correct them to make it something you actually want.

2. Be more open, don't bite your tongue so much. If you have something to say, spit it out. If someone bothers you, just say it right away, don't let it fester into resentment. Reach out, express yourself. Don't let shit slide, don't let people push you around and just accomodate them, say no more. Stick up for what you need. Don't just sit around making disapproving eye-rolling faces and not saying anything. Don't just let insanity and awfulness slide and bite your tongue; call it out; like Larry David.

The problem is that they are in direct opposition.


02-02-16 | Ice Cream

"Oo, ice cream! Yay!"

Umm, you realize you can just buy ice cream any time you want. It's like five bucks. You can go to the best ice cream place in town every day. It's not special. It's nothing to get excited about. If it was something that actually gave you pleasure, you could just have it any time. Why would you be excited about us having ice cream?

Are you just fucking retarded? Like are you just mimicking the moronic pop culture orthodoxy that "oo bacon, we should all pretend bacon is a real fucking treat even though it's ubiquitous and you could literally have it on everything". Or are you smart on a level that's beyond me, that realizes we all have nothing to be excited about, so let's pretend that things are wonderful even when they aren't?


02-01-16 | Money

I have a bunch of cash from the sale of my Seattle house.

It's currently just sitting in my checking account, slowly melting away in the acid-rain of inflation.

I have absolutely no idea what to do with it. Both stocks and real estate scare the bejesus out of me right now. The markets make no sense to me, I think they've all gone nuts.

Of course the best investment is always to back yourself (if you're any good, that is) - eg. use it to fund my own business ideas. But, I'm lazy. Maybe. (I could use it fund my big idea for a new internet that's text-only, all encrypted, where commercial activity is forbidden, where nobody but I would want to be)

I could just blow it foolishly on something "fun" like a Ferrari. But I don't even think that would be fun. I'd just be stressed out about it all the time. (is it broken down again!? is it getting scratched in the parking lot!? bleh, no fun).

I might consider a track car, *if* there was a service that would just keep it at the race track for me, and do the maintenance and all that. The idea of trailering shit around is extremely unappealing to me. (why is there not near-track storage and race prep shops? wtf world?)

It's almost impossible to turn money into fun. Expensive bicycles aren't more fun, what I want is to live in California wine country so I have somewhere nice to ride. Hookers are gross, I'm not interested in that. There's no expensive dance party that features a bonfire and gorgeous naked girls dancing around and drugs for all.

I could buy a vacation house in Hawaii or something, but I just can't quite figure out the point in that. If I'm there less than a month a year, it's so cheap to just rent it. (and of course gives you the freedom of going different places, no stress maintaining the place, blah blah). I can't really see the win in buying a vacation home unless you think the property value will appreciate well (extremely well; well enought to beat the insane real estate transaction costs).

Anyway. I'm perplexed, hence doing nothing.

ADD : Negative interest rates. Negative fucking interest rates from central banks. The world is going nuts. The neo-liberals are using our lives as a giant economic experiment.


01-31-16 | Could be worse

It could be worse. Today (Jan 18) was dry in the morning.


01-30-16 | Mail Order Bride

Maybe I should have looked into a mail order bride.

There's this big prejudice against it, we look down up both the men & women who do it, but that's not really fair. The women are just trying to improve their lives, to leave some impoverished backward country and come join us in The Great Satan. I'm sure most of them are awful people, but a few are probably nice, and that's about the same odds as the general population.

I like the straightforwardness and honesty of it. I'll give you a very good quality of life, you don't have to work or even do much/any housework. Just be nice to me and hang out with me sometimes. I don't really expect much.

Of course the sexual issue is icky (the fact that I expect sex out of it, so it's essentially sex for money); let's just all pretend that all relationships involving wealthy men and poor women aren't a complicated muddled form of prostitution and go back to our regularly scheduled denial.


01-29-16 | Oodle Network Usage Notes

In rants.


01-29-16 | Rotates

jhead -auto works great to fix the Apple EXIF rotation issue. (The issue being that Apple uses it, but most loaders don't respect it, so iPhone photos appear upside down or sideways or whatever)

But I still have the problem with videos. None of my video players have a rotate option, which is kind of fucking bizarre. So, that would be nice. But ideally I should be able to mark the rotation on the file and have it play that way automatically in the future.


01-29-16 | Regressing

I'm regressing. I'm losing touch with life. I'm getting worse. Deep misanthropy is setting in. I suppose it's mostly just the winter.

Basically everyone I see, I want to murder. The guy with the off-leash dog, the guy who smokes in the elevator, the woman who blows through the stop sign and then smiles and waves sheepishly after almost running me over (fuck your smile), the couple who host the apartment building "meet your neighbors" gathering, murder murder murder.

Of course, hot chicks that I see - I want to fuck. Though that is mixed with hopelessness and self-loathing, so that's in no way pleasant or healthy either.


I dream of having a little shack up in the mountains. As far as the eye can see, there are no other human beings. A humble shack, heated by fire, no internet hate machine. Wake with the dawn and sleep with the dark.

Perhaps I tend sheep and make my own scotch. If someone tries to take my land or my sheep, I kill them. If a visitor comes, I welcome them and we share a drink. If they're not nice, I tell them to leave. If they don't leave, I kill them. Be wary of all strangers. Keep your hand on your knife.

Once a month I go into town to trade. Beware town, all city folk are devils. Keep your wits about you, don't be swayed by their sweet tongues and cleverness. Do your business and get out as quickly as possible.

That's a good life. Natural. None of this fucking pretending that it's okay to be around other humans.


I snapped at my apartment manager for no good reason. The next day I went to apologize, all smiles and good eye contact. "Hey, I was just having a bad day, sorry I took it out on you, blah blah".

I realized afterward that that kind of apology is fucking bullshit. It's not actually about being kind or reaching out, or respecting another human. It's about taking control of the situation. It's about proving you're a better person. It's about social management. It's about getting the upper hand and undermining their bad view of you. It's about sewing a good seed for when you need something from them.

It's like the nasty Trevor Eve "Waking the Dead" style dicky asshole guy, who then sometimes is really nice. He gets to decide when you're fighting or making up. He's dominating the emotional tone. It's really fucking rotten and disrespectful. It's the worst kind of alpha-dogging because it's hidden in fake kindness, so that if you tell them to fuck off, you're being "unreasonable".


01-26-16 | Day Care

Emmy's started preschool. I sometimes feel conflicted about it. I don't want to be pushing her to advance too fast. But she is eager for learning and challenges, and in the end it just seemed like the safest environment for her.

I would be happy if she was just in a decent day care. But they just don't exist.

I think I have pretty reasonable and minimal desires for day care :


No physical violence, kids hitting or biting or pushing each other

No play fighting with sticks, kicking, etc.

No playing with guns

No TV (in theory I would be okay with a limitted amount of educational TV, but that
opens the door too much, so let's just say no TV)

No religion

Adult eyes on the children at all times

No commercial/advertising-based toys (Barbie, Mickey Mouse, etc.)

No candy

.. and you just can't find that.

(of course the large-scale commercial daycares are just a horrorshow. 10+ kids per adult, kids running around beating each other up, what a nightmare. Part of the problem is that they don't expel kids often enough. If a kid is a violent monster, he shouldn't be allowed to circulate in the yard with the general prison (erm, day care) population - he needs to be put in solitary.)

So, we've resorted to preschool because you can find preschools that are a safe environment.


01-26-16 | Ogg Karenina

I'm re-reading Anna Karenina. What a great book, so full of pitch-perfect portraits of various personality types and the inner turmoils of people.

The thing that strikes me is how universal the inner human monologue is. Regardless of era or civilization or intellectual advancements, the way humans really are inside doesn't change. (our overt behavior does change, because our inner urges are filtered through an awareness of current cultural mores).

This what makes it possible to still read Zola, Shakespeare, Homer, and it still touches you as if the characters could be yourself - we don't change.

And I imagine it goes back to caveman times :

Ogg took his place by the fire, in the usual tense silence he had with his brother. He could see Ugg's face was twisted, still thinking about how Uggina had shared sleeping furs with another caveman. He wanted to reach out to his brother, tell him he was sorry for all the years of pointless tension between them. They both held a grudge, for what they could hardly remember. They sat together chewing the mammoth, and Ogg felt there was a moment - now, he could say something. But instead, almost against his will, the usual snarky chatter came out of his mouth - "you got bigger piece of mammoth as usual" - and as soon as he said it he knew the moment was past and he wouldn't break through the emotional wall that separated him from Ugg.

We have all this knowledge now, all this civilization and learning that has accumulated, and our rational minds, our intellect, can use that and build on it in ways that would be staggering to the caveman. But our emotional minds, and the way we relate to eachother, has not changed at all. We're just cavemen walking around with calculators grafted to our brains, but the calculator part is not active for basic human activity. This is what's behind the seeming paradox that extremely intelligent people can live their lives so badly and can be so horrible at human interaction - shouldn't they be able to use their smarts to make better choices and say better things? Well, no.


01-24-16 | LZMA for Text

LZMA is extremely binary-oriented, and is excellent on binary. It's surprisingly not bad on text, but so much of the really special stuff in it (literal-after-match coding, pos bits, rep match "markov" models, etc.) is really for binary. On text, you should do things differently.

A sketch of ideas of easy modifications to LZMA to make LZMA-Text :

1. Replace the literal model. The LZMA literal model with the bit-by-bit encoding and semi-xor exclusion is super nice on binary. It's not right for text.

You should use something like a simple order-1 N-ary literal model. (possibly mixing the o1 (previous) literal and the "lolit" (symbol at rep0 offset))

If you're doing order-1 literal coding you may want to disable the length-2 matches, since there's an overlap there. (not sure, all the details of these ideas require testing and tweaking, of course)

An even more extreme change would be to use order-2 literal coding and disable length-3 matches (so MML=4). This is what I used to do in LZCB back in 199x.

2. Give LZMA a precondition dictionary of text, like Brotli has.

Matches in the precondition dictionary could be sent using the normal offset scheme, though it might be even better to use LZSA.

Precondition could also be done to the statistical models.

This is particularly important on small text, where Brotli really shines.

3. Use a simple text preprocessor and/or word-replacing transform. There's a whole host of literature on this. There are lots of little tricks, like changing capital letters to a "caps flag" + lowercase letter, factoring out punctuation to another stream, replacing the standard end of sentence sequence ". caps" with a single token, etc.

eg. 7zip + WRT46 (Skibinski) : enwik8 -> 23,671,028

Another thing that pops in my head occasionally is :

4. If you did want to continue to use a bit-by-bit literal encoding (say for example you were doing context mixed literals, mixing the predictions from o1 and lolit), then you should shuffle the alphabet so that characters are grouped into binary chunks.

What I mean is the high bits of the character should indicate the group or class of character (eg. vowel vs consonant is an obvious one). The low bits should exchange symbols for the most similar possible symbol.

(ascii is arranged to do this in the top 3 bits, they tell you the gross type of character (whitespace, alphabetic, lower vs caps), but the bottom 5 bits are alphabetic and not useful as groupings)

That is, for any character x, then (x^1) should be the character most likely to substitute for that character. (like, 'e' and 'a' perhaps or 'n' and 't'). And (x^2) should be the second most likely, etc.

5. Another possible way to send lolit-excluded symbols is to use a "substitution symbol rank distance".

That is, for each character x, precompute a table of substitutions, (so a [256][256] table). The table substitutions[x] is sorted by likelihood to be a valid substitution for x in any text.

(something like : for a preceding context C, you observe a Cx in the file, then increment counts[x][y] by the number of occurances of Cy, and then make substitutions[x] by sorting counts[x])

You use this to convert the lo_lit - actual_lit pair to a "distance" and then send that.

eg. on binary (like a BMP or a WAV) where the characters are signal magnitudes, you can just use Euclidean distance |x-y| to get the order of relation between two values. eg. if lolit was x, the most likely values (with are not x) are x+1,x-1,x+2,x-2,etc. On text, the similarity relationship is not so simple (and I think maybe not symmetric ; counts[x][y] != counts[y][x]), so the goal is to convert into a linear distance like that.

ADD: an even more extreme version would be to use an order-1 conditioned substitution distance. So the encoder does :


I need to send current literal "lit"
I know that lit != lolit  (the literal at last offset)
  because if it did I would have sent the lolit flag
o1 = currently order1 character

look up the mapping :

send = table[o1][lolit][lit]

and send that.

Decoder uses the inverse mapping.

table[o1][lolit] has the {255} characters that could occur in that spot, ranked by likelihood.

This is a 24M table, and it's really just a funny symbol-ranker.


01-24-16 | Portland

I've been really hating Portland recently. It's a sea of fucking flatland rotting wood houses too close to each other with a bunch of fat white people drinking beer and feeling smug.

I think mostly it's just the gray winter. God I fucking hate the winter. In this constant gray, I can only think of two activities - either killing myself, or MURDERING EVERYONE. I'm pretty sure those are the only two choices.

But I realized it's also because of driving. In Portland I drive alot, because I have to take Emmy around to school and such, and I have to drive for groceries, and to go to parks or whatever.

I FUCKING HATE driving in cities. It's so awful.

I loved living in San Francisco, and I see now part of the difference was just that I never ever never drove in SF. I stayed in the Mission. Oh, somebody wants to go out somewhere in the Richmond or North Beach? Too bad, I don't go there. It's not worth it. I hardly ever took public transit, I just stayed in my hood, and that was good.

I think if I was to stay in Portland, the place to be is in the actual city, in the NorthWest / Pearl area, where I could just not drive.

But having a child fucks that all up, because you have school and activities and such to go to and IT SUCKS god it fucking sucks driving around.

So like, one of my ideas is to have a place in the country outside of Portland. Have a big shop to do woodwork and work on my track cars, and just hole up on my own. BUT I'd have to drive 40 minutes each way to school, for dropoff and pickup, which is 160 minutes of driving PER DAY which is fucking insane. (it's double the amount of a normal commute, because you don't stay there all day). Not viable. I really have to live close to her schools, there's not really any option there.


01-24-16 | The Golden Age of Media

This is the Golden Age of Media. It's an inflection point. We have all these great content producers (I'm mainly thinking of TV). You can download everything and watch it ad free.

This won't last. We're at a turning point where the technological ability of the content providers to lock down their media is way behind. The fact that this media is still available in downloadable formats that the viewer can control (to do things like skip ads, for example) is not because the content providers are kind and benevolent - it's because of their massive technical incompetence.

In the future they will get better at locking down their content, primarily forcing you to watch ads, but also doing things like making you pay per watch, never get your own copy to keep, etc.

I see a dark future, where you put on a VR headset, and they fill your whole vision with ads, and they have eye tracking so if you do something like close your eyes they make you watch again.


01-24-16 | In case you didn't know

In case you didn't know, I'm sure we would be very happy to put all the Oodle compressors in the public domain, for, I don't know, $50 million (? not sure of the exact figure).

Just in case you were sitting around with some millions in your pocket thinking "gosh I wish I could ask them to open source those compressors" but were afraid to ask.

Tinder for selling IP. (Middle Manager of Ideas)


01-19-16 | Terrorism

Why isn't everyone who tweets in favor of violence against abortion providers being shot with missiles from drones?

Terrorism is one of the most minor issues facing Americans, in a practical sense. The chance of any terrorist activity directly affecting us is microscopic.

Obviously guns are a much *much* huger problem, like it's not even close. You're more likely to be killed by our police. Cars are a huge problem. The high cost of health care is still a huge problem that prevents people from getting preventive care, and then either dying or needing very expensive emergency care. Heck, even Chipotle is a bigger threat to American lives at this point. If you look at things like the Flint poisoning, Seattle sink-holes, Katrina, etc. then even the extremely boring issue of properly maintaining our basic infrastructure is a bigger issue.

And of course terrorism will dominate the election cycle. The other retarded thing about debating terrorism is that basically all the politicians have exactly the same stance on terrorism. They're all against it. Therefore not interesting to discuss. Like yeah, we're going to stop terrorism, okay, let's talk about something serious like fixing the hedge fund dividend tax loophole.


01-19-16 | Affirmative Action

With the Supreme Court poised to thoroughly fuck up affirmative action, I see many people who think that is an appropriate thing to do in a society that's "no longer racist".

I think it's a load of shit and a total misunderstanding of what affirmative action does.

The reality is that America is a very non-mobile society. The rich stay rich, and poor stay poor. The #1 predictor for future wealth is being born to parents with money.

Wealthy white people are born in better neighborhoods, with less crime, with better schools, with friends and connections that get them jobs.

Affirmative action is not just about trying to correct for racist admissions & hiring policies.

Let's pretend for the moment that corporate hiring is colorblind. (of course, it totally isn't. We're all still deeply racist, and immediately presume a white male candidate is more qualified than a black female).

Even if hiring was completely non-racist, we still would not hire hardly any blacks to skilled jobs. The problem is that they in fact *aren't* as good on an objective measure. They didn't get the same quality of schools, they didn't have parents that went to college and had stable jobs, they didn't have peers that were getting good educations and jobs, etc.

You can't take a group of people that have been systematically excluded from higher society, and suddenly say "okay, it's an even playing field now, go!". It's deeply unfair.

Part of the point of affirmative action is to help groups that have been discriminated against in the past to establish that equal background, so that it can be gradually phased out.

That can only happen when the current generation's *parents* have similar opportunities, similar backgrounds. When black parents have similar income levels to whites, when the parents had similar college education levels, when the neighborhoods had similar crime rates, etc. only then can you say it's fair to let everyone compete equally.

We aren't remotely close to that. We need at least another generation. And actually at the moment we aren't even headed in the right direction so we won't reach that goal ever; we seem to no longer care about helping the poor get out of the cyclic trap of inherited poverty.

If race is struck down as part of admissions, it seems to me that there are non-racial alternatives, but they're very complex. You could give a point for poverty, for parents that didn't go to college, for single parents, for poorly funded or otherwise bad lower schools, for growing up in areas of crime or poor neighborhoods, for historical family poverty or lack of education. But that all seems a bit silly when in America it basically just corresponds to race.


01-16-16 | Go Together

Why do these things have to go together?

When someone believes in eating simple, healthy, high quality food, brown rice and avocados and fish and such (which I agree with), they also believe in fucking nonsense like "microwaves make food radioactive" or "such and such molecule in this food boosts your immune system".

When someone believes in the benefits of moving your body, getting a good sweat and stretch, deep breathing to improve your mood and health, they also believe in fucking nonsense like chakras and crystals and so on.

When someone has open emphatic non-ironic enthusiasm for wonderful things like rainbows and puppies and babies and views, when someone can just go "yeah! so awesome!" and not be jaded or cynical, they are also ditzy and generally dumb as nails.

When someone likes the simple pleasures like sports, fast cars, drinking with friends, going hiking and camping, they also like fucking awful things like white rappers and guns and Jesus.

When someone is kind to strangers, good to their family, gives to charity, helps in the community, they're also something awful like religious.

When someone is really smart, with that lazer-quick understanding of everything, they're also inevitably an asshole, snarky, and just generally not nice to be around.

When someone is kind and understanding and non-judgemental and trustworthy and honest, and just all-around reliably good, they're inevitably boring.

When someone is sexy, fiery, passionate, when they understand pleasure and temptation, when they know how to move their body like a dancer, like a cat, they're also inevitably a demon that will devour your soul, pull you close and then push you away, manipulate you and take power over you, twist your head in knots, and blame it all on you.

I understand there are logical correlations in some of these cases, but the actual frequency of coincidence seems to be way higher than what it should be.


01-16-16 | Taxi Baby

Portland area Taxis now refuse to carry a child unless you provide your own car seat.

(in theory they have some in the fleet, so you're supposed to call the dispatcher and request a cab with car seat, but in practice nobody is carrying them, it will take 1-2 hours to get that dispatched, and they might not show up at all)

I understand children should be in car seats for safety, that's a nice goal. But in practice what it means if you get stranded somewhere with a child, you just can't get a ride. So what are you supposed to do? Walk?


01-13-16 | Misc

I started a programming email with "hi guys", then paused a moment to consider, is that safe? are some of the recipients possibly female and I'm offending them? Of course not, silly cbloom, there are no female programmers!


When driving on the freeway in America, you will occasionally see a "No U-Turn" sign.

What this actually means is "while U-turns are almost always impossible on a freeway, they actually are possible right here if you need to do so".


01-12-16 | A Bad Person

A Bad Person won't even let you get in a word of correction or criticism or help. As soon as you start to say "hey, this thing you did.." they immediately start defending themself "oh of course I know that", or "I did it this way because" or "geez lighten up". You can't even finish your sentence, they start cutting you off, justifying themselves.


01-12-16 | A Bad Person

A Bad Person goes off on their own. They resolve to be kind and understanding, to open up to others, to see how they might think another way, to help them be comfortable, to be encouraging and warm and energetic.

And for about two seconds they do it. When they first meet someone else, they smile and say "hi" and think "I'm going to be so nice", but almost immediately the other person doesn't respond the way they want, they're gruff, they're not appreciative, they start complaining. The bad person says "well, fuck that. If you're not going to reach out too, then I'm done making the effort."


12-31-15 | Hand-crafts

You do realize the crap in Walmart is also hand-crafted. It's just hand-crafted by someone who does it full time, who does it very well and very fast. The knitting is tight, the stitching is clean, the painting is precise.

When you say you "like hand-crafted things" you mean "hand-crafted by other rich people" or "hand-crafted by people who aren't very good at it".


12-31-15 | Dystopia

In the dystopia, humans are plugged into their computers all the time. For pleasure, they click at flashing buttons that appeal to them in the most primitive pleasurable ways (gambling, pornography, idle browsing, shopping). They just stay home all day and zone out and click.

For work, they're plugged into their computers all the time. They do things like make the connect-three games that people play for pleasure. They do things like "social marketing", web design to sell things, feeding the constantly-connected zombie machine.


Suburban Portland has various big employers (Intel, Nike, etc.). Downtown Portland is mainly small IT companies (*). But there seem to be very few actual software companies in downtown portland. They seem to all be things like this : Best Employers- PDX Monthly

Branding. Corporate identity. Web marketing. Social branding strategies. Internet advertising consultants.

So basically all these smug Portland bicyle-to-work goody-goodies are actually the worst fucking evil bastards in the world.

(* = counting only white collar jobs that actually pay enough to afford to live in Portland ($100k+), not retail or brewers, and not the old blue collar stuff that's still hanging on)


12-31-15 | R Kelly

I just read a glowing review of R Kelly's latest album. Umm, that's all well and good, but he's a child rapist. There should never be a single article about R Kelly that doesn't constantly mention that, like,

"The new album by famed child rapist R Kelly ..."

"his new album is certainly better than his videos of forcing underage girls to have disturbing sex with him"

etc.

People seem to just not care. They're like "oh yeah THAT, whatever, the music's good!".


12-31-15 | Cuckolds

It's so funny that our religion is based on a cuckolded husband (or unfaithful wife) making up a story to save face.

But it's certainly not unique. I'm reading the crazy old fairy tales to Emmy recently (holy crap old fairy tales are so fucked up; like the "Traveling Companion" that just beats the shit out of a princess with sticks every night and she cries "oh how it hails!"). One of the common themes of old tales is the "oh crap I had a baby that's not the husband's, I need to make up a crazy story".

For example the viking king goes off to pillage, and while he's away the queen gets pregnant and has a baby, so when he returns she says "it's the child of the Bog King that was delivered to us by swans!". (yeah, that's the ticket).


12-27-15 | Zero Information

A while ago I wrote that -

"intentional oversteer = fun, unintentional oversteer = oh shit"

I thought that it was clever and encapsulated a nugget of truth and experience about oversteer.

It doesn't. You could say the same thing about almost anything -

"intentional X = good, unintentional X = bad"

eg. recently I was thinking how I love garlic, but when I accidentally get a bit of garlic on my butter and then put it on my bread or something it's such a nasty surprise. Unintentional garlic = bad. Or, of course I love a good defecation, but an unintentional shit is never good. etc.

It's just a statement without actual content, because you can substitute almost anything for X and it still works.

All the time in sophomoric pseudo-smart blub-blub circles of TED and the NYT and other such morons, I'll see statements of :

"X is Y because of Z"

And for a second you go "ah! interesting". But then you realize; hmm, I could substitute something totally different for X, or Y, or Z, and the statement is just as true.

Because it has no actual information content at all.

It reminds me of the "Guns, Germs & Steel" type of books a bit. Sure it's entertaining to look at history through different isolated factors to get a different perspective. But the problem arises when you try to claim that "really the issue of X is the key factor behind these events". And then each week you substitute something different for X (salt, climate change, metallurgy, slavery) and it seems to work equally well no matter what you put in there. Ah! He has a point about salt! Oh, interesting point about fermented foods! No, actually, not one of them made any points, they're all completely without meaning because you can put anything in for X.

(sometimes it seems like an academic dare between naughty historians; "I bet you can't make the dumb public believe that history revolved around the invention of scissors" ; "you're on!")


12-27-15 | Is it really

"Self-driving cars and Uber and the car-free economy are going to completely change the way we get around. The highway bill needs to be forward-thinking and start planning for the big changes coming."

Really?

Aside from my general skepticism about self-driving cars, I don't see how it changes much. You're still getting around in cars. It's one of the words in "self-driving car". It's still just one person per car (since we hate to be near eachother even more than we hate being in traffic). You still need roads, you'll have roughly the same amount of congestion. (in theory you could have self-driving cars linking up to form trains that are faster and more compact, but that's a pipe dream at the moment).

I just don't see how it changes anything. If anything, it might make traffic *worse*. It will make it more tolerable for people to live far out and commute to work, because they can just plop in their car and play Candy Crud while they commute. (holy shit, I'm so daft, I finally realized the evil genius behind Google working on self-driving cars - it's 2 more hours per day that people can be zonked out on the internet hate machine!)

I see how it could reduce *parking* load in cities. Ubers actually *increase* the number of cars on the road, since you have the same # of cars when you're making a trip, but there are extra cars going between pickups.


"ISIS is a threat to our values. ISIS is a fundamental threat to our way of life. It's an existential threat."

Is it really?

An existential threat as in threatening our existance? I don't think so. Killing a tiny handful of people once in a while is not an existential threat. We have massive numbers of deaths due to guns, sugary foods, and cars, and even those are not "existential threats", they're just a mild thinning of the herd. Global warming is in fact a real existential threat to many countries in the world (though not the US). ISIS is not.

It's a threat to our way of life? or our values? How exactly? If you mean that it might slightly increase the price of oil, and cheap oil is "fundamental to our way of life" then okay, you're right about that.

I can see how the insane over-reaction to ISIS is in fact a threat to our values and way of life.

Things that I believe are fundamental are freedom of speech, religion, tolerance of all races and religions, the right to privacy and to not be imprisoned or monitored without due process, etc. Yes, these have absolutely been assailed - not by ISIS but by our reaction to them.


12-23-15 | Devil

I wish I could give the devil 30 years of my life, in exchange for not being injured. Come on Devil, that's a good deal. You can have my soul when I'm 60. Just make my foot and hip and shoulder work until then. Fucker.

Death is like the most uninteresting and non-scary thing ever. Sometimes when people are trying to seem "deep" (like Louis CK does) they'll roll out these tired "heavy" thoughts about "we're all going to die some day". Oh whatever. I'm changing the channel, how fucking boring. What a stupid thing to worry about. Oh no, we die, so fucking what.

Injury is something to be scared of. Being in an American prison is something to be scared of. Not death.


12-23-15 | Untenable

I'm finally closing on my Seattle house and have got the breakdown of closing costs. I wrote about this before in some detail, so this is just a repeat, but my god. MY FUCKING GOD.

I bought my house for $600k ; it went up to $700k. Closing costs are around $70k (about 10%). Count the mortgage during the time it sat empty, the costs to clean and fix it up and paint it for sale, and I think the net is around zero. I knew that's what was happening, but it still just floored me when I saw it tallied up.

The 6% realtor fee is untenable.

It would be about right if it was 6% on the *profit* not 6% on the gross ($6k, not $42k).

(the next biggest piece of the cost is the 2% excise tax, which hey at least is theoretically going to government services and not a realtor's pocket)

Fucking title insurance comes to something like $3000 counting my purchase and sale. That's just pure scam. If that price was fair it means that 1/200 times the title on the house is completely fraudulent and the insurance has to cover the whole value of the home. No fucking way does that happen. Title insurance *never* has to pay out. It's such a fucked business, the insurance is required by law and they just set a rate and never pay out. WTF.

It's simply not viable to buy property in America. I'm serious. When a business is so corrupt and taking advantage of its customers in this way, your only option is to abstain. Hey fuck you, if that's what you're going to charge I'm just not going to buy it.

In case you're a bit daft, let me clarify something. That expected $100k price difference is not a "windfall". You can't say "hey, you should be happy, your house went up, even with the $70k in fees you still made $30k". This is the bullshit line that realtors and brokers and such tell you. It's totally wrong. First of all, you need around that level of profit just to match inflation and to keep up with rising house prices, to be able to stay in the same kind of home. Second of all, you have to compare this investment against the alternative of just putting all your money in the stock market. Third of all, the only number that matters is just losing $70k for nothing. And of course this was a very beneficial time to sell, it has to be balanced against all the times when the market is not so good.

The real estate system in America is an example of one of our greatest forms of disgusting corruption. Government legislated systems with privatized profit.

Arg. Frustrating.


12-23-15 | Oodle Results Update

In rants.


12-18-15 | Urg Break

NOTE TO SELF : Stop using "break" !

I know this, but I keep going "oh, it's okay, I'll use it just this once". God it keeps fucking me.

I've got some big chunk of code with a "break" somewhere in it, and I copy-paste it somewhere that's not the same kind of loop. Boom, bug. Or, I change a for(;;) to be an if() and Boom bug.

It's just totally the wrong construct. It doesn't do what I'm trying to express.

What I really mean is "jump out of this specific braced area" but what "break" means is "jump out of whatever higher braced area you can find that qualifies".

For example recently I had a bug that was like :


#if NTHINGIES == 1
int i = 0; {
#else
for(int i=0;i<NTHINGIES;i++) {
#endif


.. blah blah ..
if (x ) break;
.. blah lbah ..

}
and I'd toggle this NTHINGIES, and suddenly my code would fail in a bizarro way, and I was baffled for a while, until I saw "break" damn you!

Another I had recently was :


#define MACRO_THINGY() do { \
.. blah blah .. \
if (x ) break; \
.. blah lbah .. \
} while(0)

where I had taken a chunk of code and put it in the normal macro-statement thingy of a do-while. Again took a while of going WTF WTF to realize the break was doing the wrong thing.

It's just always wrong. I should just always prefer :


for(;;) {

  if ( x )
    goto found_item;
}
found_item:

There's sort of an invariance principle of good code that "break" violates :

1. Wrapping a chunk of code in some scope shouldn't change its behavior.

2. Copy-pasting a chunk of code somewhere else should either work or fail to compile - it shouldn't change behavior. (as much as possible).


12-17-15 | Library Writer Learnings

"Hey I have this cool stuff in my lib that isn't part of the main APIs of the lib, I should make a function to expose it in case anyone wants to use it."

NO! Don't do that!

It cruds up your API with stuff that isn't your primary business. It's confusing and pointless. Nobody really wants your cool little function.

But worst of all, it ties you into keeping compatibility with that API in the future. It locks you down to something for no good reason.

Don't do it! Your API and your guarantees should be as narrow as possible.


12-15-15 | Be Yourself

"Ew! Don't be creepy!"

But you're so hot, I just want to lick you all over. No good? Come on, realistically the only thing I know about you is that you have great boobs. Oh, I'm supposed to pretend that I'm interested in your personality. How the fuck could I be interested in your personality? I don't know you at all. I have no idea if you're interesting in any way other than those yummy squeezable boobs. "Ew! Don't be creepy!" So, just lie, right?

"Don't come across as desperate or lonely. That's just sad."

So, lie?

"Act like you don't care what she thinks."

But obviously I care immensely. I made the effort of the bold step to go talk to her. In reality her rejection can hurt me. In reality I do care. But I'm supposed to act like "whatever, no big deal, I'm all nonchalant and cool". So, lie.

"Be happy in your own life, have friends and activities and a life that's appealing to share"

But I don't. And I could wrap myself in those trapping, but it would be just an act, just forcing myself to hang out with friends as a kind of mating dance, fixing up my nest like Birds of Paradise do, and as soon as I trapped my mate I would drop all that rot.

The standard advice is just to lie lie lie.


12-09-15 | Two-Link Lazy Update String Matcher

Idea :

Take a normal {cache table} -> {linked list} string match finder (ala classic zip). The linked list is typically just a sliding array of backward indices for each position in the buffer.

Normally the linked list is for all entries that have the same cache table index. Lookup consists of finding the cache table index, walking the linked list. As you walk you will see indices that have different hash values but the same cache table index, and also all strings that actually have the same first 4 bytes (or whatever you hashed).

This has a bad degeneracy when there are lots of collisions in a slot. It can lead to very bad N^2 performance. The standard fix is to "amortize" the linked list walk, which just means to limit the # of steps and stop walking at some point. (one of the small improvements I have in my LZHLW is "dynamic amortization" based on recent matching history; less matches = shorter walks)

There are two sources of long walks : 1. Lots of the same string prefix occur (eg. if you add all the positions in a long string of "00000" they all go in the same list. 2. accidental collisions due to the cache table index.

So I had an idea :

Instead of 1 link back, use 2 links. One link is for same cache table index, the other link is for same first 4 bytes (or whatever you hashed).

So lookup is now :

hash 4 bytes to make cache table index
get first node from cache table
while node.next4 != next4 , walk back node->cache_index_link
when node.next = next4 , walk back node->next4_link
The idea is that once you find your next4, you only walk more links that have the same next4. You also take big chunks from things like the "0000" nodes and put them off to the side in their own list where they won't affect random collisions.

Now. Maintaining this data structure is quite easy *if* you lookup every time you insert. You have to lookup to find out if your node should get connected to a "next4" list or not. For an optimal-parse style lookup (inserting and looking up at every position in the file), the time to maintain this list is about the same as a normal cache-link match finder.

But in a greedy parse this data structure is much worse (greedy parse pattern means when you find matches you can take big steps where you only insert and don't lookup). The nice thing about cache-link for greedy parse is that to insert you just push nodes on the head of the cache table.

So I had this idea a long time but didn't implement the next step, which I finally just did :

Lazy updates. You can insert a node in the greedy-parse scenario by just pushing it on the front. When you do that you set the "next4" link to -1 or whatever to indicate "not yet set". Then on lookup, you walk the cache table link. If you find a "next4" link while you're walking that's set to -1, you remember it. You then keep walking the cache table link. If you find a "next4" link that's valid, you're done. You stop walking the cache table link, and you change to walking the next4 link. You also then move that link up to the next4 you previously found that wasn't set.

So you're maintaining the list on lookup. This lets you do lots of insertions in a greedy step, and then fix them when encountered later. It's a super-simplified relative of MMC, which is a bit like a lazy-update Suffix Trie.

I tested this with a "semi-optimal" parse. That's what most modern LZ's do. It's optimal (pos++) for match lens less than some threshold (I used 64) and greedy (pos += matchlen) for long match lens.

And it doesn't work :


Hash1 : cache-link
Hash2 : cache-twolinks , lazy update
Hash3 : hash_table - link

file :
Test : average matchlen , clocks per match

enwik8 :
Test_Hash1 : 9.167487 , 2944.130633
Test_Hash2 : 9.176835 , 3778.623361
Test_Hash3 : 9.177326 , 2932.058419

lzt99 :
Test_Hash1 : 4.335346 , 346.280771 
Test_Hash2 : 4.336386 , 391.668628 
Test_Hash3 : 4.317334 , 331.753298 

You can see that "Hash2" (the idea described here) gets very slightly better average matchlens than Hash1 due to their being less collision crud, but not by much. And it's just slower, it doesn't work.

Surprisingly to me, "Hash3" is quite competitive. Hash3 is just using the off-the-shelf cblib "hash_table" to insert your "next4" string prefix, and then it walks back a link of exact next4 matches. (* matchlen from Hash3 shouldn't be shorter than Hash1 , must be something wrong there).

Oh well.


12-09-15 | EVO COTY

Everyone is raving about this EVO Car of the Year video .

Huh? It's RIDICULOUS. Literally as in "deserving ridicule" (which I will now do). It's a comedy, right? It's made by Christopher Guest, mocking pretentious overly serious car-reviewer pomposity, right?

It reminds me a bit of the NFL actually. "This hallowed ground, these saints of the gridiron, blah blah". What? This stadium is two years old, and it's a ground for jocks and wife-beaters and drug-users to beat each other up while drunkards yell at them. The NFL is super-LOL for over-seriousizing itself.

They have a fucking CREST! Who has a fucking crest!? They show it at least twice. Oh, it's such an honor, it's so serious, it's a responsibility to get these reviews right because the lives of millions rest on our opinion. Oh wait, no they don't.

Yes yes, Scotland is pretty, it's well filmed. But try closing your eyes and listen to what they're saying. Try not to laugh. And then try to pick out a single sentence in the entire video that conveys any information at all.

Every single thing they say is completely vague and wishy-washy and useless. It's like the kind of book report your write when you didn't actually read the book. "It delivered in some ways but disappointed in others". Oh really? Such as? "It's really a special experience". Ok, great. "It's not what I expected, but in some ways it was exactly what I expected". Fascinating. Fucking fascinating. Oh wait, not fascinating at all. It's all the worst kind of wishy-washy generic car journalism mumbling about "how it makes you feel" that could have been written without ever actually touching the cars. No insight, no wisdom, no fun, no connecting to the viewer to the experience, just a bunch of insanely over-serious self-congratulation.

Well done EVO, car journalism is a pretty fucking terrible genre in general, and you are its king. (I think car journalists are actually all zombies rolled out by the car companies, and the articles are written by a bot that's queued with words like "emotion" and "pedigree").


12-08-15 | Onion Headlines

Sometimes it's hard to tell if I'm reading The Onion or The New York Times.

"World leaders vow to stop terrorism by carpet-bombing their homeland"

Hmm.

"World leaders will provide peace and security by arming and training guerrillas"

"Americans perplexed at why Islamic terrorists target them. Say 'we never did anything over there'. Vow to bomb those towel-heads back to the stone age as Jesus would have wanted."

"Israeli bulldozer driver wants to live in peace with Palestinians so he can go about his job knocking down their homes without threat of violence."

"Europeans celebrating profit of rape & pillaging wish African refugees would just stay in their own country"

"Americans want immigration restrictions; say 'we're not a country of refugees or religious extremists'"

etc..


12-06-15 | East West

I have this weird mental block.

I can't keep East & West straight. Any time I see a road sign that's like "exit for 405 E" I have a moment of panic because I have no fucking idea if I want to go east or west.

I have to figure it out from first principles each time. I go through this quick reasoning in my head that's something like "shit shit shit, okay I want to go towards the ocean; the ocean is where the sun sets, the sun rises in the east, so I want to go west!". And I have to panickedly do that as the exit ramp approaches.

And then two minutes later if I see another exit I'm at a total loss and have to figure it out again. For some reason I can keep North/South straight no problem, but if I have to draw a compass rose, I can put down the N&S, and then I have to sit and think about which side the E&W go on.

(I like Hawaiian style directions mauka & makai ; "exit for 405 mountainwards")

(tangentially - the worst fucking road signs are the ones that use distant cities as the direction indicator. You'll see shit like "exit for 405 towards Corvallis" ; where the fuck is Corvallis? I want to go on 405 E WTF are you telling me !? Some places you'll see two ramps with signs like "I-90 towards Kingston" , "I-90 towards Greenvale" , WTF WTF I want to go N what a terrible fucking signage system.)

I have a similar (I guess related) mental problem with time zones.

Any time someone in New York or whatever says "we're 4 hours offset" I'm totally confused. Wait, are you later than me, or earlier? I have no idea!

Literally every time I do time zones I have to figure it out from first principles. Okay, the sun is coming up in the east, so that means people in the east (new york) will see the sun when it's still dark where I am. So if the sun rises at 7 AM in the east, it's still 3 AM where I am, so I'm earlier than them.

Every single time I have to do time zones, I go through that, imagining a ball of Earth in space and where the sun is hitting people to figure out the times.


12-06-15 | Technical

Some shit about LZNIB parses.

Some shit about Huffman.

Ooo I'm so great and smart respect me please. Blah blah let me share my great wisdom with the world.

Like, whatever.


11-26-15 | Thanksgiving

I'm thankful for my daughter Emmy, that she's healthy and happy and doing great. She's such a joy and a purpose in my life like I never imagined possible. Nowadays when I contemplate suicide, I immediately think "nah, I have my Emmy to take care of" and the thought goes away in seconds.

I'm thankful for Jeff & RAD for giving me the flexibility to spend so much time with her. From the day she was born I've been very lucky to be with her so much. It's really been amazing getting to connect with her and take care of her and spend time with her. I've needed it for the difficult situation with my family. I really can't imagine how horrible and alienating it would be to have to go back to a normal full time job immediately after having a baby, as so many dads do.

I'm thankful to be a white male in the first world, so I'm not getting bombed currently, killed by cops, starving, displaced by war or drought or global warming, held in refugee or detention camps, dying of gastroenteritis, having all my savings stolen by coyotes, or any of the other horrors that the rest of the world endures. White male privilege, bitches!


11-26-15 | Culture & Boys

Boy children are fucking rotten. It's our fault.

I believe that boys & girls below age 5 or so are not actually biologically different. They don't have a big hormone difference that should cause the incredible behavior differences observed. I believe it's taught. (no idea if this is actually true)

Some of you are already objecting "oh no, I've seen boys - they're wild and rough, girls are empathetic and sweet". Yeah, that's because we teach them to be that way.

In fact, that whole attitude of "boys will be boys" and "that's just the way they are" is exactly the problem. We presume that boys are little fuckers that run around and hit each other - therefore they are. We subtly and implicitly encourage it. When a girl hits someone with a stick, we react more strongly "oh my god, don't do that!" but when a boy does it, we kind of go "meh, that's what boys do".

This is of course ignoring the monster parents that actively encourage boys to be shits (they're proud of it) - though of course they have an effect on all boys, because the monster kids whose parents think that being rough is manly raise kids that then provide examples to other boys. If you take your kids to the playground, they will learn that boys are fucking monsters and girls are sweet.

I think people don't understand how much of kid's behavior is taught. They think that "little girls like to play with dolls". Girls have no idea what a fucking doll is for unless you teach them. They're all learning it from watching each other, from the books you read them and media, from our accumulated culture.

Kids are incredibly perceptive of their parents' opinion. They are really empathetic masters of reading your approval or disapproval, and they learn from that. Your deep cultural prejudices seep through to them in this way. Like if your boy wants to wear a dress, it shows on your face that you don't like it even if you don't say anything.

When Emmy was tiny she started getting really girly. She loved pink stuff and always wanted to wear dresses. We'd try to just put her in pants and shirts and she'd say "I wanna wear a dress!". We never actively girly-i-fied her. If anything I think we were more inclined towards tomboyish functional stuff. But she picked it up somewhere. I don't believe that girls somehow have a gene that makes them like frilly pink stuff. She saw girls on the playground, and she saw that they got more attention or adults smiled at them more if they had beautiful dresses on. And we must have been giving subtle implicit approval of it, thinking it was cute that she was being so girly, affirming it.

Sometimes I hate to even take her to the playground or preschool, because there are so many fucking rotten boys who have learned that they can get away with it because "boys are boys", and their parents or teachers will tolerate it. It's a bad example that then gets passed on.


11-22-15 | Frontiers of LZ

1. Parse

LZ parsing is crazy complex. I find new things every time I look at it. There are massive non-local effects, like how does a current offset choice affect future rep-matches. How does a current parse decision affect the future entropy coding? (the parse-entropy feedback loop). How does the parse affect decode speed?

We really don't have the answers to this. We have some heuristics, but periodically I find ways to make the parse 5% better, which is a sign to me that we really aren't there. Any time the mountain is slipping by that much periodically, it means it is not stable rock.

2. Auto filtering

Filters are an area where you can make *huge* compression wins (compared to the small wins from improving your basically algorithm). Eg. using ZStd instead of zlib might be a 10% win, but doing the right filter on image/audio vs not is a 50% win. Filters are huge.

We still just generally suck at this. We rely on heuristics and hacks to try to detect known data types. This means we miss lots of opportunities for good filtering on data that's just slightly different than something standard. (eg. maybe a vertex mesh has RGB colors - those should be filtered, but you would need to be able to detect that there is a field that wants neighbor filtering that is 3 bytes long and occurs every 32 bytes)

3. Detecting data types and adjusting the parse (and encoding)

I can take one file and manually tweak the LZ to be much better on that file. There are lots of factors here - how many rep matches, bias to prefer reps vs normals, # of offset bottom bits, the contexts used for coding literals (pos bits, o1 bits, lo bits), minimum match len, offset thresholds required for match lens, etc. etc.

These are not always small tweakages - they can kick you out of local minima in the parse and make you jump to a new parse that's much better, like 10-20% better.

The problem is we have no way to find this other than brute force search, which is just too slow. What we need is a better way of analyzing the file character and making automated decisions.

4. More explicit structured LZ

I believe there's still something big we're missing in structured LZ. Basically we're just relying on rep-matches and pos-bits to model this, but that's a crude hammer.

5. Context mixing

There are lots of complicated correlations in LZ. I've written in the past a bit about how complex modeling offsets correctly is. Another ramble I wrote -

How strong is the current last-offset literal correlation to the current literal?
It's influenced by -
how far are we from the end of the last match
what is the length of last match
what is the offset of last match (in particular, is it a likely struct stride?)
what is the value of the predicted literal
what is the previous (order-1) literal
there's a lot here that we aren't modeling right.

Of course the challenge is that you need to keep LZ at least as fast as LZMA or it's just too slow. (LZMA is already too slow really; disks and RAM and the internet are gaining speed faster than CPU's now, so very slow compressors are now making less sense.). So you can't just throw mixing at it, that's too slow. It has to be very tuned and selective.


11-21-15 | Computers

A while ago my P4 plugins for MSVC just quit working even though I don't think I changed anything related to them (didn't upgraded MSVC versions or anything like that).

Today my Photoshop just quite working. Any time I try to save it says "cannot complete your request due to a program error". Gee thanks, very useful message. Some googling reveals ... what a clusterfuck. Apparently lots of causes of this error, most of which are Mac-specific. And the standard fix is "format your disk and install the latest OS and versions of all software". Umm no.

So, I guess I'm going to stop using Photoshop. Computers are so fucking awful. I want them out of my life.

Maybe I could write code with pen & paper, and compile it with a hand-cranked abacus-like contraption?

More and more as software fucks itself (see : Blogger, Google Maps), I'm just done with it. You want to fuck me up? Okay, fine, fuck off, go away. I don't need you.


11-20-15 | Cache Tables

Modern CPUs are full of "cache tables". There's the L1/L2/L3 memory caches. There's the branch predictor, which hashes various things (location of branch, history on that branch, history of all branches, phase of the moon, who knows) and stores them in a cache table. There's the decoded micro-op cache. There are probably others I don't know about.

On average, these all work great and the performance of modern chips is quite staggering.

The nasty thing is that cache tables can be arbitrarily far from optimal.

I saw this of course with LZ string matching. Cache tables are a very simple and fast way to do LZ string matching. On average, they are superb, and in a Pareto (space-speed) sense they beat all other options. *However* on any one file, they might be really bad.

The same thing happens with the CPU cache tables. They work great on average. But any one particular chunk of code, on some particular chip, might trigger a bad collision case where the cache table falls apart, and suddenly your code is way slower for no apparent reason.


11-20-15 | Long Experience Video

Aaron's doing this really awesome project of shooting continuous video for zoning out : Long Experience Video


11-19-15 | Not Long Ago

Not long ago, everyone was enthralled by screen savers. People were convinced that burn-in was a huge problem that was going to ruin their expensive monitors. If you didn't run a screen saver at all, people were horrified at the brazen risk you were taken. If you just ran a black one, they were aghast that you didn't take advantage of the glory of pretty animations. So much so that screen savers were the BEST SELLING software at the time (!!). So much that so that when a new OS came out and it included some fancy new screen savers, that was the feature people were most excited about.

Basically everyone is deeply fucking retarded and just follows group-think and trends without a single second of thought. And it's easy to see in hindsight but we're all doing it right now too.


11-19-15 | Things I Don't Understand

Green rooves are just retarded and I don't understand why anyone does them. ("green roof" = plants on your roof, not a roof that's painted green, which makes much more sense). I know, let's put a few tons (literally) of soil on my roof so that I need to use way more steel and timber to strengthen the structure. Let's put an irrigation system on my roof that will inevitably fail. Let me waterproof my roof with a plastic membrane, which will inevitable fail.

Any roof leak you get is now not just something you patch, it's a *HUGE* problem. You have to dig through the dirt to find it. All the soil and moss up there just holds moisture so it doesn't run off. Your plants usually die. They all wind up disabled or removed within five years. It's just a huge "WTF are you thinking?". Worst idea ever.

And the environmental benefit seems very questionable. It seems to me that solar panels, or better yet solar water heat is a way better use of your roof real estate.

And yet people keep doing green rooves and it's hip in all the magazines and I just don't understand it.


Self driving cars just seems like a non-starter to me.

I don't care how good the software is, they will some day kill people. And who's liable for that?

The whole transport system works based on the myth of the "accident". When people run into you because they were texting / talking / being irresponsible, they should be liable for millions. Instead we pretend it was an "accident". As if it was a random act of god. It almost never actually is.

But now you do have someone to blame - the software. I just don't understand how any company wants to take on that liability. I'm quite perplexed about the fact that companies keep going forward with this.

My main point of confusion is why the providing companies think this is a good idea and they aren't going to be bankrupted by huge lawsuits. But on a consumer level I also don't understand it. No matter how much you may want to just veg out in your car, you really want to let some software be in charge of risking your life? And people can read the stories about the GM ignition scandal, or VW's emissions cheating, and still think "yep self driving cars are a great idea, I totally trust my life to them". WTF? Have you ever used software before? It's all fucking broken and shipped without proper testing! And they lie and cheat to pass regulations. Why do people think this is a good idea? (and why do these same people vote against public transit year after year, which would actually be a lovely way to not drive)


Bitcoin from day one struck me as a pipe dream.

If you actually made a non-regulated currency that was outside of the normal financial system, and it became at all significant (in terms of the amount of money transacted with it), it would just be shut down, right? The government would never allow that. Nice try, we see what you're doing, yeah you can't do that any more.

(or they could regulate it, or tax it, which is equivalent to shutting it down)

It just seems so obvious to me that that would never be allowed. This whole idea of banks and currencies outside of the normal financial system just seems like a non-starter.


Of course I have been very wrong about this type of thing in the past. When Uber started, people were all excited about it. "It's so much better than Taxis blah blah".

But it's illegal, right? You can't do private hire cars, you have to have licenses. So this is just going to be shut down, and all the excitement is pointless?

And then it just wasn't. Uber just kept operating even though it was illegal, and the laws in cities all over the country were changed to make it legal.

Though I have my own interpretation of what the "take away" from Uber should be. It's not that good useful services can find a way to become legal. It's not that our government has our best interest at heart.

It's just about power. It's about who has political power, and the fact that that is not static. The lesson of Uber is that some of the old strong political powers in the US (certainly Taxi license groups were in the past very strong corrupt political powers) are now weaker, and the dot-coms are now more powerful politically.

So there are some possible places where that power shift can open new doors. Some other ones that I see off the top of my head - labor unions are obviously fucked, possibly trash collection, maybe traditional utilities. So we might see something like a .com for people to make their own power grid, using solar panels and Tesla batteries in their home and (illegaly) sharing power over the grid, and then that could become legal Uber-style because the dot com is now more powerful than the old utilities.

But there are also plenty of counter examples. Dot coms are still weaker than insurance, finance, and telecoms. For example attempts to make alternatives to cable using things like WiFi grids have been largely defeated by the old telecoms that are still politically strong.

So I think there are more opportunities like Uber, and they will continue to arise over time as the power balances shift, and some of the old calcified powers can be toppled.


11-19-15 | I admire

I admire "sweeties". The kind of people you would say "oh, he's a sweetie" about. They're usually considered naive, not aggressive enough. They don't do well in a competitive capitalist system. They smile at you, they let you cut in line, they're just way too nice to everyone. They get made fun of a lot behind their backs, but I admire you sweeties.

I admire providers. Just the simple honest life of working and providing for your family. No big ambitions. Not starting companies, not changing the world, just living day to day, taking care of your home and living with integrity and morality. Also not this incredibly self indulgent "I want to be happy" bullshit either. I admire the provider that just gets on with it. They know life is hard. Maybe they work several jobs to put their kids through school. They don't do yoga and brew their own kombucha because it helps them to be "grounded" or whatever fucking narcissicistic (icisssicissicistic) spoiled whitey thing. They know life is hard work, it's not about pleasure and joy, it's about taking care of business and you just do what you're supposed to day after day.

I admire eccentrics. This always hits me when watching Grand Designs. Some people build a generic suburban piece of shit (albeit with Scandinavian prefab panels, but still the result is generic suburban shit). So boring! Some people build these gross tacky immoral modern behemoths, 7000 square feet of glass and concrete and vomit and the broken backs of all the people you fucked in your capitalist evil to get the money for that. Not just sick, but also boring! You have all that money and that's all you do with it? Fucking tasteless. And then there are the eccentrics. They do something that the normals would say is "foolish". They sink all their money into a houseboat, or they build something themselves by hand even though they have no previous experience, or they build a Hobbit hole in the woods. They make a home using only local natural materials because they think synthetics are bad for the soul. They make a home with no corners. They do something personal and weird and a bit crazy. Sure it's terrible financially and it's not practical but WHO CARES. Fucking live a little and do something you want in life. I admire eccentrics.

I admire kindness. People who can be interrupted in their work, and just stop and smile and patiently listen to you. People who take the time to appreciate what others do, and let them contribute even if it's not perfect, and say something nice about it. People who are happy to do something with you if you ask for help.


11-18-15 | Emmy

At night, I read a bunch of books to Emmy, and then we lie together in her bed until she falls asleep. I wait until she is fully asleep, then wait a little more just to make sure, then sneak out. Sometimes I fall asleep in her bed if I'm exhausted, but that's rare. Sometimes I go straight to bed in my own bed (which is what I should always do). Usually I stay up a tiny bit and watch one TV show or something before bed. Just one TV show a day is about the right amount, it makes you miss it and like it, having time for more than that is bad.

(one of the hard things when I was with N was that we really wanted some alone time to play and be together, to flirt and bang drums and have sex and enjoy each other, so we would stay up for hours after Emmy went to sleep, which just made us even more exhausted; now that I have nothing to do after Emmy goes to sleep, I go right to bed, which is a lot better sleep schedule. I really don't have the energy to be awake more hours than the kid, she has so much energy. She's full on from 7 AM to 9 PM, and then I crash)

Anyway. Last night for some reason she kept not falling asleep. She was lying totally still and silent with her eyes closed, but not asleep. I thought she was asleep and tried to sneak out a few times, and she would say "no papa, come back! stay in my bed." or "You sleep in my bed." or "lay next to me!".

Okay babe, my pleasure. I have nothing else to do. I have nowhere to go. Sure, I would like to watch a little TV or take a shower, but I don't need to, I don't care. There's nothing I want other than to lie with you.

Not that it's all good. It's a weird experience the way being with her is simultaneously the most wonderful thing ever, and also I can't wait for it to be over. It's oddly awesome and also really draining and I only have a limited time span for it.

I think I'm a really awesome dad for Emmy, but a lot of that is that I only have to do it 3 days a week. I can just totally be with her, and it's SO HARD, but I know there's an end, so that makes it okay. If I was a true single parent with no other coparent, and it just went on and on for 7 days every week with no break, that would be fucking ridonculous. I know the parenting I do is pretty epic compared to the average dad, but I can also appreciate how far removed it is from what eg. a single mom with a disappeared dad has to do. My god, that's heroic.

When I do my Emmy days, it helps me a lot to just stay off the phone, stay off the computer, not think about work at all. If I allow any of that in at all, then I start to crave it and get annoyed that she prevents it. I just have a rule for myself that on those days, all I do is play with her and nothing else, and that's good for me. It's good for me to have strict rules and structure for myself, I don't do well with "you could engage with your kid, or you could work in your home office" - Oh crap! I feel guilty if I choose either one!


11-18-15 | Welcome to my Man Cave

"Welcome to my house, come check out my man cave!"

Yeah, I converted the basement, I've got a TV and mini fridge, pool table, so I can pretend to be macho down here and noone can prick my bubble.

Check out my man cave, where I can be sad alone and wish I had friends.

Hey, thanks for coming over, come check out my man cave! I fixed up my garage, I've got a lounge chair and all these nice tools that I will never use to work on my cars. I'll pretend that "you can't fix anything now cuz of computers" and maybe I'll try to change my oil and wind up breaking my car.

Check out my man cave! It's a physical manifestation of my crumbling marriage. I like a spot to be alone because I hate my wife and kids. Oh god I fucking hate my life, this is a cry for help!

Hey, check out my man cave! For some reason I really want to show off the spot where I masturbate and cry by myself.

Come check out my man cave. Please validate my life and tell me it's not just sad and lonely and pathetic. Please be jealous of my lathe and drill press.

I can't get along with my family in the warm, sunny, painted, insulated, proper part of the house, so I'm hiding out in this dank basement and for some reason I think that's something to brag about, not hide in shame.

Welcome to my man cave!


11-16-15 | gcc

gcc :

-Wno-wtf-seriously-shut-the-fuck-up

-Wno-wtf-how-is-that-a-fucking-warning-fuck-you

-Wno-seriously-fuck-you-wtf-are-you-thinking

-Wno-have-you-ever-written-code-in-your-fucking-life-wtf-my-god


11-15-15 | Standard

It's a very regular thing on compression forums to see someone come on with their big new idea -
Hey guys!
I had this amazing idea.  I do blah blah and such and add this and then I do such weird thing,
and my results are 50% better than anything out there!  Wow!  It's great!

I've only implemented the encoder so far, no decoder.  I'm sure my ideas are awesome!
now, that's all very LOL, and we're used to compression being full of semi-crackpots.

But these people are actually *everywhere*. They're just easier to spot in compression because there's an obvious test - do you have a working decoder.

But they're all over other fields where the "decoder" is not so obvious. People who come up with some theory that they think is awesome and don't actually test it. People who just invent some cause-effect that isn't actually there. People who find some "proof" for their argument that in no way actually proves it, or might prove something else.

They write "science" books for the popular market. They write white papers on public policy. They work for think-tanks that advise the military. They're often considered geniuses.


11-14-15 | Copying words

I got pointed at this at almost the same time from Yann and Ryg -

The best way to copy words now is just with memcpy.

Say you want to move 4 bytes from one memory location to another. In the past I would have done something like -


*((U32 *)dst) = *((const U32 *)src);

but with nasty platform #ifs to detect cases where unaligned access either causes page faults or just slowdowns and do something else.

Instead now it's best to just do :


memcpy(dst,src,4);

because the optimizer will turn that into the right thing on each platform.

In particular there are funny cases like ARM where copying 8 bytes with a U64 qword might make the compiler generate a dual-dword move, which is slow unaligned, while memcpy 8 will do the right thing. But the point is not knowing these details (which I may have got wrong), it's just that memcpy sorts them out for you. It also plays nicer with sanitizer tools and aliasing and all that. memcpy 16 might use SIMD for you. etc. etc. It's mostly all will.

The "mostly" problem is that it does suck in debug, it still actually calls memcpy, which is annoying, not just for speed but because you can accidentally trace into it.

So I'm now using macros like :


#ifdef _DEBUG
#define copy4(dst,src)   *((U32 *)(dst)) = *((const U32 *)(src))
#else
#define copy4(dst,src)  memcpy(dst,src,4)
#endif


11-13-15 | Cars

My E46 M3 has broken down (again) twice in past few months, because ZOMG German Engineering. (rear lower control/camber arm, and center support bearing (CSB)).

During the last service, the mechanic apparently took the car out for a joy ride and got a photo radar speeding ticket from Portland. Yay. Joy-riding in customer cars is a double win; one you get the fun of thrashing a fast car, and two you put more wear on the car so it needs more work.

Both times I was greeted by staggering in incompetence when I took the car in.

When the CSB failed, the sympton was a massive shudder through the driveline any time I was on power. So I take it to a shop, get it up on a lift, and the mechanic says "first off I can see a lot of wear on the inside of your front tires, your tie rods are probably shot". Okay, that obviously has nothing to do with the issue, and yes they are worn, but maybe it's because I have a ton of camber dialed in to the front tires for the track? Just maybe? Can you see the camber plates and the track suspension right there next to those front tires? He then proceed to tell me that I need a whole new drive shaft and it will take a few days to order blah blah. Umm, no. With like two seconds of Googling I knew there were two likely wear points - the CSB and the flex disc (giubo) are both wear parts in the drive line that are very well known in this car, so why the fuck is that not your first guess?

I took it into another shop, and the tard-ball there says "maybe there's off-brand diff fluid in it". Okay, you're fired.

One of my idle dreams is to have a house with a big garage (or just a little shack with a huge garage), and a lift and a full set of tools, so I can work on my cars myself easily. I'd have to learn a lot, but that would be part of the fun and the challenge of it. I could have older cars, like an E30 3-series, that are really only reasonable things to have if you can do work yourself. (I'd have to have a reliable car that I didn't work on for my actual transportation, so I could just leave my projects disassembled)

Anyway.

Sometimes I think it would be nice to just get a brand new car, under warranty, and not have to deal with fucking mechanics. Then sell it when the warranty expires. Sure, you lose maybe $10k that way, but fuck it's worth it for the peace of mind and lack of hassle.

But I just don't see any new cars that I want.

The new BMW M cars are all too complicated. Turbos, electric steering, fancy systems, no thank you. (all Audis and Mercs are well out of contention for similar reasons + expensive, heavy, numb, mushy or too stiff, just terrible chassises)

The Porsche Cayman GT4 is awesome (*), but way too expensive, and too impractical for putting stuff (kids) in it, and it's too rare to buy one even if I wanted to.

(* = though not entirely awesome; it's fucked up in that typical Porsche way. Lame terrible long gears. GTS engine instead of a real GT3 engine. Front suspension is fixed by the rear suspension geometry is still shitty Cayman suspension. Crap electric steering. Actually the more I think about it, I think it's totally over-rated. Nevermind. The whole point of buying a new car under warranty would be to not have to mod it, and the long gears are just total killers, they totally ruin the joy of the engine on the road, when you rarely even hit 50 mph and are only half way through 2nd gear.)

The Mustang GT350 is the closest thing I can see to a car I actually want. Raw, analog, simple. Awesome. Great engine. But it's just so HUGE. 3700 pounds, and when I stand next to one I feel like it's been run through a photo-copier on "enlarge" by 130% or so. (maybe the 2016 Camaro will be even better; but still too huge, and crap visibility)

The frustrating thing is that manufacturers could make a superb car that ticks all my boxes. They just don't. Just take a Mazda RX8 and put a GM LS engine in it. Sell that as a new car with a warranty and I'd be all over it. Great chassis, great engine, simple, raw, light, cheap. It would be fast as stink and practical too.


I wish there were companies in the US that would sell retro-modded classic cars with a full warranty / service plan. Something like a gorgeous Hakosuka GTR (omm yumm yumm) with modern suspension, upgraded engine, and full service so I don't have to sweat about finding someone who can properly maintain such an old & rare car.


11-13-15 | Holidays

In the olden days, holidays were a treat because they let you have something you couldn't have in your normal life.

I'm not talking about just when you were a kid, so Christmas was a treat because you got presents that you couldn't just buy yourself.

I'm talking about a hundred or two hundred years ago, when these traditions were really forged. Back then everything was incredibly scarce and life was hard. Most people were still living off the land or in factories and deep poverty. Something like a piece of candy made from sugar was an indulgence. So to have a holiday where you got some candies was a nice treat. To eat a big feast on a holiday was joyous because you were semi-starving the rest of the year. Just to get a day off work and eat a pie was something special that you looked forward to.

They no longer make sense. The problem is that we still celebrate our holidays with indulgences (sweets, feasts, shit presents, laziness) that are no longer rare, so they aren't a treat.

(for quite some time, my favorite thing about any holiday has been getting together with my family to sing carols, or to throw the football around, since I never get to do those things in my awful boring normal life, so they are nice once-a-year treats)

Anyway, here are some ideas about things we could do to revamp holidays and make them something to actually look forward to :

Cocaine day! One day of the year the family does the traditional line of coke and sings carols like "What is love? (baby don't hurt me)".

Threesome day! That special holiday when you give your loved one the gift of an extra lover. (honey I'm really looking forward to threesome day this year, I've got a special surprise planned for you)

Field day! Everyone has the day off work, and parks all over the country fill with games of kickball and dodgeball and such.

Music in the streets day! All the streets across the country are shut down, and bands parade through like New Orleans, and outdoor drinking is legal.

You know, something fun to actually look forward to instead of the fucking garbage we actually have for holidays.


11-13-15 | Misc

"I don't want to see you any more"
...
"of course when I say that I mean I still want to hook up; any time you like, I'd be happy to."


The great thing about strangers is you don't yet know that you hate them.

(this is such an obvious aphorism I must have stolen it from someone and just regurgitated it to myself with the attribution lost)


Cinnamon & Allspice make things taste sweeter. It works because they're actually very bitter, but if you have just a little bit of them you don't perceive the bitterness. Instead the mind focuses on the spice flavor. But the bitterness makes anything else you eat taste sweeter. So, like, you put a little allspice on a sweet potato, suddenly the sweet potato tastes much sweeter.

I have no idea if this is true, I just made it up (Gladwell style), but it sounds pretty believable to me.


British dickiness : inserting [sic] in American press releases just because some words are spelled in the Americanized variant.


People who say they "hate judgemental people" never appreciate the irony of that.


11-12-15 | In a better world

In a better world

There would be naked cock on TV and it just wouldn't be a big deal. It's the fucking human body, we all have it, what's the fucking problem. "Ooo what about the children?". Oh no, they might see a human body. God forbid. You're not trying to put it in their mouth, it's just on the TV. If it's not considered scandalous by society then it's not harming them to see normal adult sexuality.

Actually I think it would be good if people could see more normal, loving, human sex on TV on a regular basis. Not just in porn, not just nasty unhealthy sex, but sweet relationship sex. Like between the Cosby parents (well...), or Marge & Homer, or whoever your idea of a normal family is.

People still have this outdated idea that "oh we can't show that to kids". You do realize that kids are seeing Big Dicks Banging Nasty Sluts on the internet starting at like the age of 7, right? You aren't hiding anything from them. It's better to give them a healthy reference point so that isn't their only exposure. A lot of parents still have this idea that "we can't kiss in front of our kid, that's inappropriate!" which I totally disagree with; okay maybe don't actually have sex in front of your kids, but showing physical attraction between loving committed adults is a *good* example for your kids and a necessary counterpoint to all the filth they will see.

(tangential - I'm a little conflicted about how this works when you're divorced; when should you let your kid see you with a lover? after three months of serious dating? ever? I'm leaning towards *never*. As a child of divorce myself I know it's really awful for a kid to see their parents with other people.)

In a better world

all depictions of guns & violence on TV (*) would be illegal, except for portrayals that show how bad they are. (* by TV I of course mean all media, including video games)

(kids finding their parents gun and blowing their faces off would be the only time you could show a gun)

Rah-rah patriotic war movies would be illegal. Hero cops, cowboys, etc. All illegal. It should be illegal to show a "good guy" or a "hero" using a gun or violence of any kind. Showing torture working to get information should be illegal.

Obviously this sounds like insane censorship to our ears, but why? If we can censor showing cock, which is absolutely not harmful in any way, and is just natural humanity, then why can't we censor showing violence which is definitely harmful, deeply evil, and has no business being looked at by anyone?


Tangential -

Typical TV casual sex encounter :

"Hi there"

Cut to them having sex.

Wait, WTF? You skipped some steps. They never actually write the dialogue for the characters to go from strangers to jumping in bed. Partly because it would take too long and it's not interesting. Maybe because they don't actually have any idea how to write it because it's never happened to them. Maybe because if you actually wrote it realistically it would just look ridiculous and sad.

And of course the actual sex is just them passionately tearing each others clothes off and doing it against the wall, or in the kitchen. There's never a "wait, get a condom", "but baby, don't you trust me?" , etc. (except in comedies). It also tends to be over in seconds (all the excitement is the explosion of passion), or it's like a multi-hour tantric festival of delights, it's never just a normal moderate amount. And everyone always finishes at the same time, and they cum inside even though they aren't using condoms.


11-12-15 | Optimization

Algorithmic improvements are so fucking pointless. It's just never the problem.

(I'm talking about on the threshold of what's cutting edge, when you've done everything right and are looking for a little more)

Consider video compression for example. This is a nice big juicy piece of algorithm to attack (which is rare). It has pretty simple APIs and constraints and then you are free to work within it.

So what? H265 is whatever percent better than H264. It's just never the problem.

The problem is that all N fucking subtitles play at the same time. Or all N audio tracks.

The problem is I can't seek in the fucking video because the standard doesn't force seek points and the fucking guy who encoded didn't put them in. Or there are seek points but the player is too dumb to use them or WTF.

The problem is the fucking video and audio get out of sync. WTF WTF how is this always a problem. It's so god damn easy, you just break the video & audio at fixed intervals, like every 30 seconds or so. (make those seek points too). That way even if there is a little bit of drift in your playback, it resets to being perfectly on sync at a frequent interval (instead of the small error building up over time so that it becomes huge at the end of the video).

The problem is that the range is clamped to 16-235 which kills quality even though my player can handle full range. (this should be done at playback time, not in the encoding)

The problem is that some retarded encoding setting was used, so the quality is 100X worse than it should be, which is not really the encoding guy's fault because there are too many damn options and it's too hard to know what to do.

The problem is the player doesn't buffer enough frames ahead & behind, so I can't pause & seek frames even though I have gigs of unused RAM.

The problem is the player uses video hardware acceleration which is like the only thing that ever crashes my computer. (fucking GPUs just don't work, especially multi-mode ones that enable & disable based on use to save energy)

The problem is the player doesn't support 90 degree rotates even though tons of fucking videos are rotated these days.

The problem is everything is at a different volume, so I play one video and it's so quiet I can't hear it even at 100% volume, and then I play another and it's so loud I'm thrown back across the room.

So like ooo, whoah, we could go away and do some big egghead research and improve the fundamental algorithms by like 5% if we were really amazing, and it just WOULDN'T FUCKING FIX ANYTHING.

And obviously I picked video compression but this applies to everything. The problem with spam filters is not that you need to go and do research papers on neural nets that improve your training success rate from 90% to 91%. It's that you need to not fucking spam filter messages that are replies to ones that you know I sent! You can check the quoted text vs what I just sent and know it's real and don't fucking put that in the spam box.


11-11-15 | Signed Int

My sexual arousal is like a signed int.

For a while, some amount of teasing and delayed gratification makes it hotter and hotter. Oo, I want you, I can't have you, oh god! It's ramping up and up, getting more intense, driving me mad. Oh, not yet? Still more teasing? Ok, yes I enjoy the game.

And then it overflows. Suddenly it doesn't just go to zero, it goes negative. Fuck you. Fuck off, go away. Quit it. I'm sick of it. Yeah, I fucking get it, you're hot and you're showing me your body, either give it to me or get the fuck out.

(ADD : pursuant to later gcc ranting - oops the fucking optimizer changed my behavior and suddenly I do something totally different. Fuck you, wrapv god dammit!)


11-11-15 | Blah

When it's gray out, and I'm depressed, I feel like there's no point to anything.

I should do my PT and exercise and that all that shit, but what's the fucking point? My body is constantly wrecked and in loads of pain. I should just fucking give up. If I just don't try to move then it doesn't hurt.

I could do my work and maybe make my compressors 5% more efficient. That would be a great success, better than anyone in the world, but who fucking cares. Nobody's going to pour riches on me if I do that. There aren't lots of hot girl fans of computer science that will line up for my autograph and offer blow-jobs as rewards for my amazing parsers. What's the fucking point.


I make these lists for myself.

Get out of the house
exercise! force yourself!
Do PT , stretch
ice foot
Date, meet people
don't watch TV!
don't drink!
turn the internet off to work
read books, drink tea
practice guitar
etc. I write new lists on a near-daily basis. I don't actually do them. Maybe one thing on the list.

There's almost nothing that I do in life that I actually *want* to do. Like yeah! I want to go swim laps! I want to breathe fucking nasty chlorine and stink all day, and shower with fucking hobos (literally), or get kicked in the face by some fucker swimming with fins, oh what joy. No, I fucking hate it. But I force myself to do it because I know it will make the rest of the day more bearable. Everything is like that. Just force yourself.

I wonder if other people are the same? Are they just better at forcing themselves and appreciating the long term benefit?

Like, nobody actually enjoys jogging in the morning, right? It's so miserable. It's still cold out, it feels horrible on your joints that are all stiff, the air burns your lungs. All the people that do that are just enduring the agony through willpower because they know it will make the rest of their day easier.


11-11-15 | Misc

I'm pretty sure writing the words for a children's book (when someone else is the illustrator) is the easiest thing in the world, and a giant scam. I guess that means I should do it. You can hire an amazing illustrator for pennies and write some fucking retarded words and do better than the crap out there.

I thought Detectorists was really sweet. Sad and humble and sweet. Really nice. But I didn't think there needed to be more than one season.

It's weird watching sports from the 70s. The players just seem so bad, out of shape, unskilled, like normal people. The supposed greats of the past, I feel like *I* could be in those famous old NFL games. Obviously not actually.

I like almost everyone on the IT Crowd but I think the show is vomit-inducingly awful. Like Gauntanamo-torture unbearable.

I need to join a gym, but every time I think about going to do it, I imagine the conversation with the fucking gym membership people who try to sell me rust-proofing and insurance for my membership and insist that they can't waive the signup fee even though I know full fucking well they can, and I have to go through some fucking big bullshit show of walking out, and blah blah. So I don't do it. Fuck you, if you want to be such manipulative stealing turds, I just won't work out.

I might like to buy a condo in Portland (just because they're a lot nicer than what you can get as a rental apartment), but the 6% mandatory realtor fee is a real deal breaker. So fuck you. I won't buy anything.

All the yoga studios that are all supposedly so friendly and caring and blah blah bullshit all work on the model of selling you 10-class passes (or something similar). These packages always have expirations at which time you lose all your classes. Because in fact they are not friendly, they're stealing lying turds who have a business model similar to gyms : they make money from the people who *don't* come. If they were decent open straightforward people they would just charge you per visit at a price that could support their business.


10-30-15 | Dialogue

"You'll say anything when you want to fuck"

I suppose that's true. I mean, up to a certain point I'm still holding back, and if you give me major red flags I'll get the hell out of there. But once I decide that I want you, then the words will come. You're so beautiful, I love you, I'll never cheat on you, I'll take care of you, yes I want a relationship, no there's no one else, whatever I have to say.

"Asshole! Liar! Douchebag!".

Save it. You're a mature adult, you should know that the words in that moment don't mean anything. When I have that hunger in my eyes and I'm practically drooling, it's *your* job to ignore the literal meaning of those words. I'm saying "you're everthing" but every word that comes out just means "I want you, I want you, I want you".

That's what adults do, they see past the petty literal meaning to the bigger picture.

First of all, you force me to lie by your actions. You only go to bed with men who lie. So what am I supposed to do? If I was just my honest self, which is a good man who might say something like "of course I can't promise I will be with you in the future, I don't know what the future will bring, and I don't know if you will be good to me" , then you wouldn't sleep with me.

But mostly, you expect *me* to be an adult that can see past literal meanings. When you get all wound up about some stupid triviality, I'm supposed to just see that you're asking me to be calm and comfort you and help you, not get caught up in the literal issue you're yelling about. When you get really mad at me and tell me I'm an asshole and I have a small dick and you never loved me and all those things, I'm supposed to see that you're just saying that I hurt you.

So fucking grow up.


10-30-15 | Older Women

There's sort of this social stigma that as an older man you're "supposed" to date someone your own age, and if you date someone younger, you're being dirty somehow, or it's "not fair" or some bullshit.

Fuck that. It's not my fault if I'm still attractive to younger women. Ooh wah the old women complain, it's a double standard blah blah. Maybe, a little bit. But it's also your fault. I'm fucking fit and I've always taken care of my body. You haven't. Why should I date you if you're all out of shape and gross? I'm as fit as I was when I was 21. Are you? Then fuck off.

(if you're actually an older woman who's fit and hot and smart and successful and rich, and younger men still aren't interested in you, then yeah fuck society, that's retarded. I would have been totally into you when I was young (and I certainly am now, but you just don't seem to exist))

Young women have obvious pros - beauty, great bodies, optimisim, energy, naivety and charming wonder about the world, they have hope and brightness and they're not jaded or cynical. That's wonderful to be around. If you're not going to have those pros of youth, then you need to have some pros for being older - you should be financially secure, have actually accomplished something significant with your life, you should be emotionally stable and know how to live well and take care of yourself mentally.

Part of the equation is that older men generally bring some advantages to the table - money, knowledge of the world, the ability to take care of you financially and to show you wonderful places. Can you do that? Can I just make art and try to "find myself" and you'll take care of me? No? Then how do you expect to date anyone as an older woman?

You've got to have looks, youth, intelligence, money, accomplishments - any of the above. No, none of the above? Oh, but you have a dog and you like music. Good for you.

Anyway, I'm writing this rant because I just realized part of the puzzle -

When a girl says "I'm going back to get my masters" or "I haven't really figured out what I want to do with my life", it's a huge eye-roller of course. But if she's 25 (or even 30 in this "people are huge fuckups through their 20s" era) I can forgive it. Ok, she's totally aimless and has no particular talents or career or accomplishments or anything, but she's still young, maybe she'll get it together? Probably not, but I can pretend. But if she's 35 or more, I don't have much sympathy for that. You should have your life on some kind of track by now.

Or if you're not into the career track or whatever normal measure of success, I'm okay with that too. But you should be secure in that choice and powerful in your life in some other way. You shouldn't still be saying "I'm going to be awesome someday!" because you just aren't.


10-30-15 | Portland

Portland is the road-ragiest place I've ever been.

I just drove in to town last night and almost immediately was greeted by some road rage. Welcome to Portland, here's some aggressive angry driving to greet you!

I was driving down Division, which has a speed limit of 25 through the congested parts, and rightly so because it's full of pedestrians and bad visibility. So I'm driving 25 down it, and this aggro Prius gets right on my ass and starts honking and flashing his brights, then he tries to pass me through a left turn lane and almost causes an accident. WTF Portland.

This is not at all unusual. Last week I dropped Emmy off at preschool, and on my way home, which is about 2 miles, I counted three road rage incidents. (and only two of them were me! ba-dum-pum. No actually none of them are me).

It doesn't jive with the stereotype of Portland as all sort and friendly, but the reality here is darker. There's a lot of rage just under the surface.

Maybe it's the way everyone acts all bland and kind to each other, they have a lot of suppressed anger that they take out from anonymity of their cars. There's definitely a lot of hate by the old timers for all the new-comers and the fact that the cities changing, and the new-comers and better than them. There's a lot of hate by the rednecky class towards the urbanites and the cyclists and such.


Not really on the Portland jag, but last month I started thinking about getting a motorcycle. It started because I read some stupid bio of some cooler-than-cool girl in Vanity Fair or some such, and she said something like "I love my motorcycle, it's probably irresponsible and risky, but f*ck it you have to do what makes you feel alive when you can" , and I was like YEAH! Fuck it! Do what gives you joy and makes you sing! Get a motorcycle and fuck the danger and responsbility and the fact that I'll probably get maimed and not be able to take care of my baby.

But realistically the more I think about the more I think I wouldn't even enjoy it. I don't like being on the road with other cars any more. Definitely not on my bike, and not even in a car. It just makes me sad and angry, watching people on their cell phones, seeing them get all road-raged up, watching them not stop for pedestrians. I'm just in a big humanity-hating sour mood the whole time I'm on the road these days, and it takes all the pleasure out of it.

I can only imagine if I was on a bike (motorbike) and the fucking cars were doing the asshole shit they usually do, like swerving really aggressively in front of me and then slowing down way too much to make a right turn, it would make me even more infuriated because they're risking my life when I'm on a bike.

So yeah, not really the move I need to make.

What I would like is to live somewhere with open empty roads. Lovely curvy country roads with no fucking asshole cars on them. Like California.

Okay, back to your regularly scheduled Portland rant.


There are famously all these long lines to eat at popular places in Portland.

Before I moved here I thought it was just that certain places are really popular, and Portlanders are foodies so they flock there, and there's nothing else to do so lots of people go out for ice cream or whatever.

That's not it at all.

Typical Portlander, after waiting in line for like an hour, gets to the counter and goes :

1. Ummm.. is there a menu? [you fucking asshole moron there are paper menus for you to grab all over, and the fucking menu is up on the wall too, you look at it before you get to the front].

2. Uhh, I was gonna order this, or maybe this, what do you recommend? (and then the counter guy goes into some long fucking spiel). [there are 100 people behind you FUCKING ORDER]

3. How's your day? Oh hey, cool tattoo. Where did you get it done, oh I make muffins too! what breed is your dog? blah blah. [The fucking guy who works at the counter is not your fucking friend, this is not the time to chat someone up, no you aren't going to form a band with him, FUCKING ORDER]

4. Can I have a sample of this? Errm, pretty good. How about this one? [FUCKING ORDER FUCKING ORDER FUCKING ORDER. When there are 100 people behind you, you don't get to have any fucking samples, you fucking order]

(if these people were super high I would totally understand and forgive them, but they're not)

Basically the lines are not because there are actually a lot of people going to the hot places, they're just because Portland.


10-26-15 | Crazy Carpool

The car pool lanes on the 405 near Kirkland are now pay-to-use. That's amazingly awesome for me. They're regularly empty, even in pretty heavy traffic. Do I want to pay a dollar to avoid sitting in gridlock? Fuck yeah I do.

The crazy thing is how few people use them. It's not a question of money; I see Audis and Mercs and whatever fancy shit cars sitting in the traffic not using the pay lanes. What the fuck is wrong with your brain?

Politically I'm a little conflicted about the idea of any public institution providing multi-tier services. The roads are a public utility that should be equal for all, not better for the rich. (the rich don't have to wait in lines for the TSA, because a terrorist could never possibly get a fast lane pass). But I'm not going to sabotage myself by not taking advantage of it.

It's always boggled my mind a bit how strictly people follow the carpool lane rule. Sometimes you'll see these guys who are weaving around traffic, speeding their balls off, threading between cars doing really dangerous shit to navigate through the normal lanes. But they won't break the carpool law. You could just jump into the carpool lane and go fast without all this dangerous weaving; isn't that just objectively better? For some reason every other law is fine to break (ones that actually cause a lot of risk and harm), but not that one (which has almost no risk or harm).


10-26-15 | Of Course

Of course I should be able to download an EXE from the internet and run it totally safely.

Any EXE that you run should start out with no permission to do anything. No disk access, no full screen, no internet access. Maybe console stdio is all you get by default.

Then if it wants to load some files, I should be able to say "okay you get disk read access", or you get write access but only to my temp drive.

It should be super easy to sandbox and run programs safely.

Of course the way that phones do it is a good example of what not to do. The alarm clock app is requesting permission to access your bank account, do you want to allow it? NO FUCKING NO.

The app should still run without the permissions, and you the user should have fine grain control over what permissions you give. eg. if an app wants my contacts list, I should get to say NO, and then the app still runs but sees empty contacts. You shouldn't be able to deny me access to the app because I don't want to give you all the permissions.

(and of course EULAs need to just be illegal)


10-26-15 | McLaren

The news I read makes me think the new McLarens (570,650,675,etc. (worst names ever)) are pretty great. But I have no idea if that's actually true. The UK motoring press is the most biased jingoistic bunch of shills ever. I get all my car news from Chris Harris, Top Gear, Evo, Autocar, etc. but they cannot be trusted at all when it comes to UK cars, which they never have anything bad to say about.

Is the Jaguar F-type any good? I have no idea. Their reviews have zero bits of information because they are 100% predictable. They'll tell you that a Lotus is a reasonable car to buy, which it just isn't.

McLaren (and Lotus) have been engaged in this pedantic point-proving pissy stance for the last N years where they refuse to put diffs in their cars.

Okay, we fucking get it guys, you've proved your point. Cars can be fast without rear diffs. In fact they might even be faster without diffs. All those fucking moron ignorant journalists who "short shift" love to talk about how the "diff helps it put the power down" which is a load of fucking garbage.

Now that we've told you you're right, you can quit this stupid stand-taking and put a fucking diff in the car.

It just makes the car better to drive. It's easier to control the rear slip angle with the throttle when you have a diff. It's more fun. It's more intuitive. Oh, it's "wrong", fuck off you pedantic nerds. Put a diff in the car now.


10-26-15 | Biking

A "Fred" is someone who only rides for exercise (not because they have to ride to get around), and will spend any amount of money to reduce the amount of exercise as much as possible. Super-lightweight bikes, secret electric assist, clipless pedals, increase efficiency by 5%, tubeless tires pumped up to 11. God forbid I have to pedal a little harder when I'm trying to get exercise!

And of course Freds always roll through the stops. Because when you're just out for exercise, you don't want to have to actually stop and then accelerate your bike back up to speed; that would be exercise.


I woke at 4 AM for no particular reason. It's black out, raining, slick nasty roads. The only people riding now are the ones who really have no choice. (ignoring the nutty iron-man types, though I suppose they also have no choice, they're feeding their own dark addiction demon).

Mostly it's Mexicans (meaning Central Americans). They ride beat up old mountain bikes, not for pleasure or because they like the "lifestyle" or the environment, but because they need to get to fucking work and they can't afford a car.

They ride on sidewalks, often against traffic.

The whiteys are incredibly condescending about this. Don't they know they're supposed to ride in the road? Don't they know they're supposed to ride with traffic? Don't they know they're surprising when they pop across driveways or intersections?

As if it's some latino stupidity that makes them unaware of the rules of the road. As if they've never observed the way whiteys ride and been able to note the difference themselves. As if they haven't experienced the consequences of riding on sidewalks over and over, since they do it every damn day to ride to work rain or shine. As if they can't make an observation or decision for themselves.

Clearly they've weighed the pros & cons and have decided that riding on the sidewalk is more likely to get them home without dying.

I believe that part of the difference is the question of "righteousness".

When a whitey rides a bike, they know they will at some point be hit by a car. Paramount in the uptight whiteys mind is who will be at fault. When the collision comes, they must be righteous. Wear a helmet, ride in the road, on the right side, obey the rules of the road. Signal your turns and kowtow to your automative masters. Let them never have any reason to blame you. That way when you are hit, you can crow about how righteous you were. The Mexcian cyclist would just rather not get hit.


10-26-15 | Rossi and Sport

What an unbelievable turn of events. In one weekend Rossi goes from one of the greatest sportsmen ever in any sport to one of the greatest villains. He would have won the championship this season, and now he won't. It would have been the exclamation point on his career, the big comeback after going into the woods in the Ducati years, and then taking on the new challenge of the young bull Marquez and mastering the new style of riding. It would have been heroic. Now it's a flame-out.

Let's be clear, Rossi is 100% at fault (regardless of what you think of the actual moment of the crash, whether there was a kick or not was irrelevant). During the week Rossi went completely nuts casting these nasty accusations at Marquez for interfering with the championship that were totally unfounded (how can beating Lorenzo at Phillip Island be helping Rossi? WTF? Has everyone gone insane?). Everyone was baffled; was it some kind of intentional mind game by Rossi? Trying to get Marquez to stay out of it so that Rossi had a better chance of finishing 2nd behind Lorenzo and thus keeping the point gap small? But isn't making Marquez mad a bad idea?

In the race at Sepang, they initially fought hard, but legally. It did look like it was getting nastier and nastier and at some point Marquez would make a pass that was too aggressive and take Rossi out. (Rossi is just such a master of making aggressive passes *without* taking out the opponent that I expected Marquez'es more wild style to bite them at some point; you could see Marc was pushing hard and his bike was wiggling all over under braking in that insane and amazing way he rides). And then Rossi just slows down, looks at him, and runs him off the road.

Rossi just completely lost his mind the week before with the insane accusations, he lost focus; and then in the race he lost it again. He couldn't take the heat from Marc and did something way out of order. The older more experienced guy should know to keep his cool, focus on the bigger picture, stay above the shit, and he just epic failed.

It's so sad. Here's this kid Marc who grew up idolizing Rossi; he finally gets into the sport, and Marc clearly has huge talent, and they actually get to race together, they dice on the track, but they have respect for each other over the years. He gets to work with his idol and compete and push each other and learn from each other. Amazing! And then when it really matters, when Rossi actually has something important on the line, he turns out to be a dirty back-stabbing fucker.

So sad, and just so standard in the world.

(in the aftermath, one of the weird things I've observed is this crazy anti-Spanish bias in the comments around the internet. It seems that in Europe, Spaniards are treated a bit like we Americans treat Mexicans - there are nasty racist prejudices just under the surface waiting for an excuse to come out and accuse the "dirty cheating spaniards of working together" ; huh? wtf?; here in the US there's no anti-Spanish racism, if anything we think of them as sophisticated and cultured, we think of matadors and conquistadors and almodovars, partly in that American self-hating way that we consider ourselves yokels and feel a bit insecure around any part of Europe)

(I've also just been staggered at how many commenters think that Lorenzo or Marquez had any fault in all of this. Certainly Lorenzo would have been wiser to not say anything about it at all, but he played no part in it. Marc was the same amazing Marc as always - aggressive, going for the win, fighting even when it's sort of insane to fight. That's always what Marc has done and what we love him for. But oh he dared to mess with Saint Vale so he's a villian. Everyone is such a dick.)


It reminds me a bit of rugby. You're in this contest where it's totally fair to smash the hell out of each other. And you've all agreed to that, you've signed up for it, okay, have at it.

But some fraction of the players need to do a little more. They'll smash you with a tackle long after the ref has stopped play. They'll stomp on you with their cleats when you're lying on the ground.

Come on guys. We've got plenty of chances to fuck each other up in the normal run of the game when it's all fair and we expect it. So sad that there needs to be that little bit extra.


It reminds me of grad school, and programming. How you have these idols, intellectual giants, amazing men (sadly always men (fucking get your shit together, women)), that you've heard about, you've read their papers, you're in awe of them.

And you work hard and learn to do what they do. And you have some ideas, and you finally get a chance to work with them, talk to them, share ideas. And they just don't want to hear it, or they see you as competition (how am I competition? I'm a fucking nobody, a kid, and you're a fucking luminary of the field!?). They try to shit on your idea just to make their own idea look better. Or they tell you your idea is shit, and the next day go around talking about the new idea they had (yours) that's so great.

It's so sad.


There's this attitude in rugby that the ref should stay out of the game. Particularly in big games, or near the end of games, it "shouldn't be decided by the ref".

I think Craig Joubert has been totally unfairly pilloried over the Scotland-Australia game. He called a good game. He kept it under control but flowing, not too many calls, not too few. Both sides played like shit. It's their fault for playing like shit. Just constant basic mistakes, sloppy play, handing over huge turnovers off kicks and lineouts.

The yellow for intentional knockdown was totally reasonable. Maybe harsh, but not outside the bounds of standard calling. The penalty at the end for offside was totally reasonable too - the ref saw a ball knocked on and then grabbed by an offside player; what's he supposed to do? Just ignore the rules of the game because it's close to the end?

If calling a penalty there is bad because it affect the outcome so much CHANGE THE RULES. Don't get mad at a ref for enforcing the rules.

Far too often what we get in finals rugby is what we got in the NZ-SA match ref'ed by Garces.

Garces seemed terrified to have any affect on the game, so he let the Boks get away with murder at the breakdown. He could have called "not rolling away" or "diving over" at almost every ruck, and never did - even though the refs were all calling those breakdown penalties very aggressively earlier in the tournament, intentionally so, to set the pattern of play. When it came down to a match that really mattered, he stopped calling it.

Of course it's a myth that this is the "ref not having an affect". He's still having an affect, just in a different way; he's letting all hell break loose and turning the game into a brawl. That's what happened, and what usually happens in finals rugby, lots of slow ball, lots of illegal play in the rucks and scrums because the refs are more hesitant with the whistle. It becomes impossible to make progress running the ball, which makes the game worse.


Rossi was let off way too easily.

I think it's mostly his name, and also because the stewards didn't want to make a decision that would seal the championship solely based on their decision. They intentionally made it so that the penalty would leave Rossi with a mathematical shot at the title. That way the title is decided by his riding in the last race, and not by their decision.

It's cowardly by the stewards, it's wrong. When a rider intentionally takes out another the penalty needs to be more severe, as it has been for others. It should have been 5 penalty points on his license, and some reduction of the points scored in Sepang (perhaps black-flagged and got zero points from Sepang).


I don't understand morons like Chris Harris who think that Rossi taking Marquez out to the edge of the track was normal racing and "I don't know the rules in bikes but we do that in cars all the time".

Bullshit, no you fucking don't. You're telling me that in a car race, you slow way down, to like 40 mph, you pin the following car behind you and lead him out to the edge of the track. You look back at the car behind you and stop driving your own line. That's normal car racing? Bull fucking shit. Maybe in something like Nascar where they are constantly touching and pushing each other and causing crashes with personal vendettas, but not in normal racing.


It's sad that this was one of the greatest MotoGP seasons EVER and it's now tainted with this weird asterisk. Lorenzo will win, as he probably would have anyway, but it should have been a straight up fight in the last race, and it would have been close and thrilling and one for the archives.


10-21-15 | Sport

Go watch the MotoGP Australia (Phillip Island) race right now. In fact go watch the whole MotoGP season, and the last few too. Holy shit MotoGP is fucking phenomenal right now, and it really provides a contrast to how bad F1 is.

You would think that making a good movie about the recent MotoGP years would be trivial. When you make a sport documentary (see for example, the TT doc about Guy Martin) you're somewhat gambling, you can't control whether the sport will actually turn out interesting, whether your subject will perform well, whether there will be drama. Somehow "Hitting the Apex" manages to be an incredibly shit boring documentary about the recent MotoGP years. That's difficult to do.

F1 is so fucked. Literally the only interesting thing this year is the whole Red Bull engine fiasco. The whole paddock should thank Red Bull for being such drama queens, because without that there is nothing going on.

People held up the Silverstone GP as an example of good F1 this year. So I watched it. Where's the good part exactly? When someone in 7th does a pit undercut to pass someone in 6th. Wow, exciting. How much wheel to wheel racing was there? Passes back and forth, different corner lines? None. F1 has gotten so bad that even a marginal race looks good in comparison.

You can see the contrast from the weather. In MotoGP, you want a dry race because you want to see the riders compete on as even a playing field as possible without outside chaos. In F1 you pray for rain because it's the only thing that could possibly make a race interesting. (In Nascar you pray for crashes because seeing someone die is the only way to make it interesting).

The Rugby World Cup has been pretty good. Japan was amazing, not just a great story but good quality rugby to watch, quick ball, great technique recycling in the rucks, always moving, great games. People held up the quarter-final weekend as the best weekend of rugby ever; I'm not so sure. NZ played beautifully against France, but didn't have any competition to make the game interesting. The other games were all a bit ugly. Scotland and Australia was close, but both teams seemed to be doing their best to throw the game away. It was a contest of who could lose.


10-14-15 | Opposite

The right way to deal with upcoming conflict is to just forget about it until the time comes. Assuming you can't really do much to prep (or you've already done it), there's no more point constantly thinking about it. Just put it out of your mind, relax, do other things. Save your energy for when the moment comes, and then attack the situation with all your might to deal with it correctly.

I do the opposite. I stress endlessly about what's upcoming, and then in the moment I sort of wilt and just want to get it over with as quickly as possible and wind up giving in.

The right way to deal with dick neighbors or coworkers, or rotten contractors, realtors, all these evil people you have to deal with in your life, is to act like they're your buddy. Act all friendly and nice and smile and bring them donuts or whatever. But be prepared to stab them in the back. Be prepared for them to stab you in the back. Never trust them. But say "I trust you, you're great, blah blah". Never actually sacrifice something of yours for them.

I do the opposite. I act sort of cold and terse to everyone, and if I don't like someone then I overtly cold-shoulder them. But I would never do anything to harm them, and always give them a "fair" shot or fair warning or whatever stupid moralistic ideal I have.


10-11-15 | Asynchronous

Some things should be asynchronous, some things should not.

And everyone seems to get it massively wrong.

For example, in Android, when you hit the "show all my windows", they appear first without the X in the corner to close them, and then after a second the X pops in. So if you just click the corner of a window before the close-box shows up, it activates the window instead of closing it. (this is an "input race" in that the same user input has different effects based on a race with the software; that's bad bad bad).

But most of all, WHY IS THE FUCKING X ASYNCHRONOUS !? Popping up tiny little fucking GUI elements should not be async! Anything that affects GUI functionality or flow should not be async. Starting videos or loading images, okay make that async (but know the size of them in advance so you can flow immediately). Don't make fucking GUI windows async! That's not the way to fix it.

There was some meeting where they talked about how the GUI screens were too slow to pop up. The solution was *NOT* to make the fucking GUI elements async. It was to fucking fire everyone on your GUI team and make them pop up instantly. I mean instantly like less than 1/60th of a second for all GUI transitions. (Microsoft had the same meeting of course; their shit is also full of async GUIs).

But then conversely, shit that *should* be async isn't.

Like when your Network connection is on the fritz, most programs with net connections will wind up just freezing. WTF. So your network layer is stalled, that's on a thread, right? And the fucking GUI of your app should be independent of that. I should be able to keep browsing around emails that I already have on my machine, and I should still be able to shut down the app, don't fucking freeze, WTF !?

Opening an "Explorer" window is a classic example of doing *both* things wrong. The fucking GUI trickles in and flows around - NO NO NO that should not be fucking taking any time. But then if you have shit like network mapped drives or new removable disks, it hard stalls waiting on those. WTF WTF that should be the thing that's async !? Just show the network driving with a spinner on it letting me know it may or may not be there, don't fucking stall out the whole GUI when I was just trying to go to c: anyway.


10-01-15 | Seriously

Why does my computer take so long to boot? WTF are you doing? I mean, I know what you're doing, but QUIT IT. Booting should take a millisecond. Seriously, one millisecond. You don't have to do anything, the OS is not an app, it's just the fucking foundation framework for apps. Stop showing me fucking graphics. No loading animation, no welcome screen, no desktop. I want a black background and everything is rectangles and text and it takes one fucking millisecond. You don't need to initialize a bunch of background apps and services and god knows fucking what. All you do is load some device drivers and BOOM you're done, you're booted. One millisecond. Fuck.

(any time you feel the need to put a "loading..." screen on something, or expecially if you feel the need to animate the loading progress, or distract the user from the loading with pretty widgets, something is wrong. Try to eliminate the load time instead.)

Why is linking C such a fucking disaster? How has anyone not seen this an fixed it? Jesus christ. How do I make a .lib in MSVC that just fucking works with other versions. Either fucking statically link in my dependencies and unique-name them, or do all my external linkage through name lookup so its version safe. It's not fucking hard.

C linkage in general is a total clusterfuck. Lib A has some symbol X. Lib B also has some symbol X. I make an app that uses lib A & B. Oh, let's randomly pick just one X and make all callers use it. WTF WTF.

There's a totally real possibility that anybody linking two RAD products into their game could create bugs, because we all use a shared library, and unless you happen to get your two RAD libs with the exact same version of those shared objects, they could be different in some way that causes unexpected bugs. Because C is so fucking fucked.

How do you make a lib for Linux that works on whatever version of libc/gcc/Linux that the client has? The answer is basically you don't, it's hopeless. You have to distribute source and let them build it because everything is so fucked.

... coincidentally I happen to listen to a Q&A session with Linus the day after writing this, and somebody asks, "what would it take for you to just go solve the application binary distribution problem?". And he goes "blah blah, it's a really hard problem, you could solve it by just linking everything statically, blah blah ...".

Wait, back up. There you go. It's solved. Fucking link everything statically. I don't care if my exes take more disk space. I HAVE PLENTY OF DISK SPACE. Just make it fucking work HYA CHA CHA. (*)

(* = and yes I know there are other reasons why they don't want to do this, like people patch or redirect libc to add functionality, or to fix bugs, but I think those reasons are bullshit and there are better ways to get that without this linkage nightmare).

MSVC on Windows has equally bad problems. There are N million C runtime variants now and you can't mix libs made with different variants.


10-01-15 | Avoid Function Statics

It seems elegant and neat to put static const variables in the functions that need them :

myfunc()
{
  static const u32quad c_vec = {{ 0x206F85B3, 0x206F85B3, 0x206F85B3, 0x206F85B3 }};

  ... code that uses c_vec ...
}

The appeal is that the variable is clearly scoped to the place that needs it, you have less pollution of the global namespace, it puts the value right next to the code that uses it, etc.

It looks neat. In practice it's almost always bad these days.

There are two problems :

1. It makes the compiler do a thread-safe initialization now, so it has to do some atomic flag checking, and adds calls out to mutex-like protectors (cxa_guard for example) for initialization. Even though this can be pretty fast, it adds a lot of code and external function calls, which really hurts the optimizer's ability to simplify your function.

2. It makes the compiler initialize that variable once and only once, and to actually use it as a variable. This prevents it from generating the variable implicitly. eg. in the case that c_vec was something more trivial like {{ 0,0,0,0 }} , the optimizer might be able to figure out it doesn't need a variable there at all, or if it's something that could be generated more efficiently from math instructions instead of a load.

It's almost always better now to do one of the following :

Just make it global :


static const u32quad c_vec = {{ 0x206F85B3, 0x206F85B3, 0x206F85B3, 0x206F85B3 }};

myfunc()
{
  ... code that uses c_vec ...
}

this may or may not require cinit() depending on your initialization, but it avoids problem #1 (all the thread-safe checking) and makes use of c_vec just a simple load.

(any cinit stuff that calls functions requires care and good programming style rules to make it robust)

Or, make it a non-static local :


myfunc()
{
  const u32quad c_vec = {{ 0x206F85B3, 0x206F85B3, 0x206F85B3, 0x206F85B3 }};

  ... code that uses c_vec ...
}

This way in theory c_vec is getting made each time you enter the function. In practice, the optimizer is quite good at dealing with this. It might actually turn c_vec into a load from a global constant (turning it into the first alternative for you). It also might make c_vec a generation instead of a load, which can look slower but be faster.

When in doubt I think this last form is usually best. (but always test if it's important)


09-30-15 | Spoiled and Racist

It's crazy how spoiled restaurant servers are. Me : "I leave really good tips, usually 20-25%" Them : "that's not that great, that's pretty normal." You spoiled shit. You make so much money for basically unskilled labor. And you don't even value it, you say it's a shitty job. It's an *amazing* fucking job for unskilled labor. 99% of the people on the planet would kill to make that much money for carrying plates around. You should be fucking grateful that you can make so much money; what are you going to do otherwise?

I do tip well, and I'm okay with it. It's a form of subsidizing the poor. But it bothers me that we only do it for servers. There's this whole social stigma that you have to tip well; when you go on dates it's extremely common for girls to look at the tip you're leaving and judge you by it. Get your eyes off my fucking tip, if you want to pay for dinner you can decide what the tip is. And no, just because I do leave big tips in no way makes me a good person, but I guess it is a valid test that I conform to the rules we're supposed to follow these days, which is the game you play dating.

Why do we subsidize servers, but not cooks, gardeners, janitors, retail clerks, construction workers, etc. etc. all the other minimum wage workers who are barely surviving?

I believe the answer is basically racism.

Servers (at fancy restaurants, which is mainly what I'm talking about here, where meals are expensive so they're making tons of money) are usually people from our own social class and race. Maybe one step below, but pretty close. Maybe the children of rich people. They're white, educated, come from good backgrounds. Those people we want to give money too. The actual poor, fuck them.

We like having our food served to us by white people. It makes us feel classy, even though it's fucking pointless. A latino immigrant could serve us food for minimum wage and no tips and would do a fine job. Maybe better. But we don't want that. We want a cute hipster girl to serve our food, or a French guy in a French restaurant, even though they have nothing to do with the food (which is probably made by latinos). Having your fancy food served by someone from a lower class feels too much like having a slave, it's like you're making someone do this menial work, so we make ourselves feel better about it by hiring whiteys and then throwing guilt money at them.


09-25-15 | Blah

"Mmm, I could see you again in five days or so..". Um, no. What a load of shit. How about you see me again never.

If I meet someone who's really great, I want to see them again tomorrow, and the next day, and the next. What do you have to do that's better than sex? that's better than the possibility of love? that's better than a new human connection? What's so fucking important?

Either you don't like me, or you're playing some bullshit game where we have to keep our distance and not be honest about our real feelings. Either way, fuck off.


For some reason when a girl calls themselves "sapiosexual" (which is quite common these days) it really bothers me. For one thing, it's something you shouldn't really have to say. It's like saying "I prefer sex with an emotional connection". No shit. You're not a psychopath, good for you.

Of course good attraction should be a heady mix of visual, intellectual, pheromonal, as well as some sort of compatibility that makes you even subconsciously imagine "I could have a life with this person" or "I could make babies with this person" (even if it's just a casual thing and those are no way in the cards, they check boxes deep in your subconscious animal attraction).

I guess I hate it because it's trend-following, fucking current pop culture groupthink. Oh you're a sapiosexual and you're "cis" gendered and a feminist and you're into sustainability and mindfulness, fucking vomit puke and vomit. Oh "I'm a sapiosexual, I'm attracted to you for your intelligence". Huh, that's too bad because I'm now incredibly unattracted to you.

I think it's also a turnoff because it's just bullshit. The so-called "sapiosexual" is only attracted to brains when they're attached to a handsome man, in the right fashionable clothes, with the right hair cut, and all the standard superficial shit.


When you first get single and start dating, the list of requirements is impossible to meet, really :

must be extremely attractive
fit
sexual
comfortable in her sexuality, open, not weird about it
must be self-confident, not an insecure wreck always fishing for approval
must be comfortable as her real self, not hiding it or lieing about it
not two-faced to different people
I must respect her intelligence and opinions
must be able to actually talk about things, openly
not get offended easily, not too PC
must be able to disagree about ideas without it getting personal or fighting
must take care of herself emotionally
must have other friends than me to spend time with
doesn't drink much, healthy lifestyle in general
must have a good career or doing *something* with her life
can't believe in god or astrology, chakras, gluten allergies, or any other bullshit
doesn't live on the internet
must like weird adventures, not confined by convention
must be able to just sit in silence together
non-consumerist, not competing with the neighbors
must be okay with giving me lots of alone time
able to talk about our issues with each other in a productive way
able to just let most of our perceived offenses go
be deeply good and honest with eachother
etc. etc.
it all sounds good, but it just doesn't exist.

So over time you lower your standards. The first one to go, because it's the most obviously measurable and constantly violated is the "can't believe in bullshit" since absolutely everybody does these days. So that has to go, and I resume my eye rolling and my brain checks out when they talk. Not a good start. The next one to go is probably "not too PC, not upset about perceived slights", where instead of just being honest and open and good intentioned and really trying to communicate, I instead start watching what I say and make sure that it matches what I'm supposed to say.

And the criteria keep falling. Eventually it drops down to something like :

must be passably attractive
not obese
can't be completely insane (eg. super-hippie dippie, republican, jesus freak)
not deeply in dept or a total flaker / basket case
And even that is too hard to find. So it drops down further to something like :
must be a human female
must have 4 limbs and 2 eyes
not obese
then you regret that it dropped down so far and it bumps back up to the middle level.

The problem is you wind up in a relationship and hate it and wonder what happened to all those wise criteria you had in the beginning. Oh right, zero people fit them.


To go on a date, I need to have the right amount of mind-deluding tolerance-inducing horniness.

Not too much; that leads to making mistakes. But if I don't have any at all, it's hard to stand anyone. Or, that's too harsh, that's not really it. Even if I can stand them fine, or even like them, if I'm not a bit sexually crazed then I don't give them the level of attention and charm and chivalry that they expect. Girls on dates are used to men who are mad out of their minds with lust and are falling over themselves trying to be positive and interested and flirty and all those things you're supposed to be.

So I have to intentionally manage my insanity. The method has changed as I've gotten older.

When I was young, in my twenties, I would masturbate immediately before a date. Otherwise I was just too eager and couldn't play it cool. It just took the edge off, made me calmer and less likely to say okay to a big mistake. In my old age, if I did that it would take too much of the need away. Now the right balance is to masturbate maybe the morning before a night date.


Being with someone that you're extremely sexually attracted to is a wonderful thing. It makes everything you do together so much more exciting.

Lying in the park reading magazines - touching her, watching her dress blow around on her body in the breeze. Eating dinner, watching the way the candle light flickers on her face. Just sitting around at home, doing your own things, watching the graceful way she walks across the room, feeling the call for her body as she works at her desk. Wandering around a museum, totally bored by the art but unable to take my eyes off her.

Life is dull without that.


09-24-15 | Boss

The only way I really feel comfortable interacting with people is as a boss.

It's just such a nice clear relationship. I set the terms that I expect you to fullfill for your employment, in exchange you get this job opportunity and the pay. If either of us is unhappy with the exchange, we separate. It's fantastic.

It's really the way I want all my personal relationships to be. Hey, we need to have a chat for a moment. Let's have a "one on one". This is the third time you've been late to a date. This is your final warning, you need to be on time or I'm going to have to let you go.


The generation below me is such a bunch of lazy fuckups, I feel like the boss relationship is the only way to relate to them. No, you don't get a fucking spa day as a break from all your hard work updating your spotify playlists. You're all fucking fired.


09-20-15 | Fuck Fuck Fuck

The fucking Nexus phone does this thing where it stops ringing. It's not actually in silent mode, and the volume's not turned down; all the settings show that it's on full volume, but it's no longer ringing or making text notification sounds. I don't know what does it; it seems semi-random and increases in probability the longer its been since last reboot. The only way to fix it is to reboot. It's pretty fucking unforgivable for a phone to just not ring for calls sometimes. It took me a long time to figure out that it was just a fucking bug, because I kept thinking I must just be stupid somehow and accidentally putting the phone into silent, or thinking I somehow didn't hear the call even though the phone was right next to me. Nope, I've now definitively confirmed it several times.

Sometimes when I get a call, I'm on the lock screen. I accidentally touch the notifications thingy, and it brings down some fucking list of app updates. I'm getting a fucking call people and I need to fucking answer it, I don't need the fucking notifcations. That wouldn't be that bad except it COVERS THE FUCKING ANSWER BUTTON. So I have to find the fucking "close notifications" in the button and then try to swipe over to answer - too late, missed the call.

(actually I wish that whole fucking notification panel didn't exist; I never want to know any of that shit; some app updated? I don't fucking care, shut the fuck up about it. Oh great, happy father's day from Kik, I really fucking needed to know that, fuck off)

When Android boots to the lock screen, I start to enter my password, AND THEN IT FUCKING REFRESHES and wipes out my typing so far.

The new Google Maps is super fucking terrible about this. Start the page. Okay, it's loaded, I start scrolling over to what I want to look at - BOOM it fucking refreshes and sticks me back where I started; okay it's done now I can scroll and zoom, la di da, BOOM it fucking refreshes again! Oh my god.

And god dammit the fucking failure of SMS, Hangouts, and Google Voice to interact in any kind of reasonable way is so fucking insanely stupidly fucked. Why can't I see all my fucking texts in one place, constantly in sync on my phone & computer? WTF!? WTF!? Why don't I get my Hangouts photos in Google Photos? WTF !? Why is there such a fucking problem syncing messages to my carrier phone # and my GVoice # !?


09-20-15 | Why

"Why is this message in Spam?"

Because you're a bunch of fucking morons? Because you're trying to make me angry? Is it a trick question?

There's no fucking excuse for spam-filtering replies to messages that I sent. It's such a fucking simple thing to fix. You're so fired.

STOP PUTTING MESSAGES FROM MY FUCKING CONTACTS IN SPAM !! WTF !?

I really just don't understand it. There's smoke coming out of my brain, because my circuitry can't process this. Does not compute.


09-20-15 | Not Always

I like you. I might even love you, but let's not say that yet. I think you're fucking rad, you're beautiful, smart, fun, cool, you have a great outlook on life.

But what you're saying right now is a load of shit. It's self-righteous, self-absorbed, rationalizing, a bit mean, childish, pouty, a bit dumb.

I'm not just going to nod and smile along and give you the "oh yeah totally"s that you want. I don't mean to be rude. But if you persist on this line of conversation, I'm going to call you on it. We should just change the subject.

There's no need to get all pissed off at me and have your feelings hurt. I like you. That doesn't mean I have to like every thing you say. I can dislike things about you, or dislike you in certain moments. I still like you overall, and because of that I'm willing to be tolerant and patient and let this moment pass. But I'm not willing to pretend that I agree with you on this.

Isn't our bond and connection strong enough that we can disagree on something without coming apart? It's a shitty relationship that requires us to keep up a charade of always liking every single thing that each other does.


09-20-15 | Gastroenteritis

A week ago or so, Emmy got Gastroenteritis. It's violent vomiting and diarrhea. We suspect she got it from a visit to the animals at the Oregon state fare, and she then passed it on to us, so we got to have a sample of complete bowel and digestive tract evacuation.

It was scary. I was in Seattle for the beginning of it, so I couldn't see her or help, and that scared me. She vomitted and had diarrhea and wouldn't take any fluids; any attempt to give her fluids she'd immediately throw up. The major risk is dehydration so I was quite concerned about that.

Before the illness, she had a big round pot belly like most toddlers. She's a skinny kid in general, but still has that bowling ball belly. By the end of the illness, her belly was all gone. Suddenly she had a flat stomach like an adult. She was gray and weak. My own infection was not as bad and ended much more quickly, but the thing I noticed was that my bowels just completely emptied, I dropped way more shit than I thought was in my body, and then it took several days (4?) afte the illness until I shat again. It made me realize what a pipeline you have in your digestive tract; usually you have several days worth of food working through, which is what gives her that toddler belly.

So I did some light research. Gastroenteritis is a catch-all term for various types of digestive tract infection; norovirus, rotavirus, cholera, salmonella, various others. Globally it kills 1.4 million people per year (!!). That's down from 4-5 millions per year in 1980 (!!).

It was a weird reminder for me. Oh yeah. Fucking shit loads of people die every year because of easily preventable things like contaminated water. The insane amount of money we spent on things like cancer and heart disease and all our made up western diseases is kind of disgusting, when a tiny fraction of that money could have so much more benefit for human lives in the rest of the world. It's a reminder that when we turn away migrants from these countries, we aren't turning away people who are trying to steal our welfare benefits so they can lounge around - we're turning around people who come from countries where the life expectancy is under 50. In much of the world "I have terrible diarrhea" is not like "god dammit I wanted to go swimming today" it's like "god dammit I might die".


09-19-15 | Library Writing Realizations

I decided this belonged in "rants" instead so it's moved.


09-19-15 | Shorts

"You just want my body."

"So? Yes I want your body. Your body's fantastic and it's the greatest pleasure two people can have together. There's nothing wrong with wanting your body. That's the glue that brings people together. But it's not just your body. It's the fact that I can stand you in between bouts of love making. That's rare and hard to find; if we can just get along reasonably well through all the normal shit of life, and then enjoy each other for sex, that's pretty damn good and not anything to knock".

"You just want me because you're high / because you just worked out / because you watched porn / whatever."

"So? Yes, you're right, those factors did amp me up. Yes, I have that energy and it didn't all come from you. But I'm coming to you to use that energy. I want to fullfill that desire with you. Who cares where it came from. Let's enjoy it together. It's an opportunity for us to have a great time together, why not take it? I'm totally happy for you to get excited by something else and then bring it to me, please do. This is what a partner is for. When we go to a concert together, I'm getting excited by the band on stage, but I share that excitement with you and we enjoy it together and being together for it makes it better. That's what a partner does, it gives you someone to take energy from the outside world and enjoy it with. There's nothing wrong with doing that with sex."


People talk about being "superficial" as if it's a bad thing. Liking someone's looks is a great reason to like them. It's the only real reason - it's concrete, it's measurable, it's honest. It's fucking real. All the other reasons are the ones that are bullshit. You like them because "they're nice to you". You like them because they like you, and that boosts your self-esteem. You like them because other people want them, and you feel like you got the prize. You like them because they fit into your disgusting social idea of "winning" and being with them is "success". You like them because you're dreaming of some fictional future together with marriage and children that will somehow fix your life. Their supposed honesty and kindness is all an act, all of those supposed "deeper" reasons to like someone are fucking shit.

Superficial is the only thing that's definitely real.

(I think I use quotes too much)


There's something good about the man who goes out and gets drunk or gets in fights. I rarely do it, but I see it and I see something good in it. There's a frustration. You have this energy. You want something from life, you have power to use, you want adventure and connection. You're supposed to be "mature" and just sit on it. Just have some tea and meditate or some such fucking puritanical fucking urge-squashing Graham cracker bullshit.

Even though the going out and drinking and fighting and chasing women is not really productive, it's not really getting you closer to your goals, at least it's trying something, at least it's keeping your fire alive and not just trying to crush it. At least you're allowing some expression of wildness and action.


I've always wanted to hang out with the musicians and dancers and artists. But I never really fit in as just a hanger-outer. I finally realized the solution (it takes me so long to figure out life; things that most people figure out in their teens I'm just finally getting). I should have been a creater. In a cool artist's party, there are the people who are sort of just there as hanger-outers, beautiful girls and "artsy people" who aren't actually talented. I could never be one of those. But there are also the people who actually make things, and those people can get away with being less socially adept. I could have been that.

I guess it saw often in the EDM scene. A lot of DJ's, hell maybe most DJ's and producers, are actually really nerdy losery guys. They wouldn't be popular as just people hanging out in the scene, but they want to be in it, so they create.

That's a way to live.

I guess I've realized this before many times and tried to get motivated about it, but never really could do it. You have to really go for it. In life you have to see a way to live and then really go for that. You can choose what niche you fit into, you just have to do the work. Change your clothes, adopt a persona, become your vision of who you want to be.


When you think about how short life is, and how precious, every wasted day feels like such a fucking tragedy.

Another glorious summer has past. All these sensual hot summer nights, when I wanted to run around in the streets, and scream and dance and fuck and ride, and instead I did nothing. What a disaster.


09-17-15 | Flaws

If you love someone, you don't pick at their flaws. You don't make fun of them for their weaknesses. You don't nag them about it. You don't point them out frequently in a joking way. You don't "rib" them about something they're sensitive about. You don't justify yourself by pretending you're trying to help them improve.

If you love someone, you either tolerate their flaw and don't mention it. And I mean, not a lot of eye rolling or big exaggerated sighs either. Or you actually try to help them get over it in a constructive way that is patient and supportive and really kind. But mostly you just tolerate it. 99.99% of the time, tolerating it is the answer, not trying to fix them. And in the rare cases where you do try to fix them, it should be at *their* invitation. "Hey I'd like to work on this aspect of myself, can you help me?", not you picking something in them to fix (since people changing can only happen when they want it themselves).

Since they're not going to change; people mostly never do. You can either live a life where you keep picking at each other all the time, being nasty and annoyed, or you can just let it go.


09-16-15 | Inside

Yuppie computer nerds move to the cool hip artist neighborhoods, and ruin them. They drive up the rent and fill the place with just uptight awful boring people.

Like me. In the Mission, in Capitol Hill, now in SE Portland. (though realistically those neighborhoods were all already past the yuppie tipping point by the time I got there)

But I'm not one of those boring yuppies. I can say "just like me" because I don't actually believe it inside. I say it with a smirk, challenging you to believe it's true, because I know I'm more interesting than those boring computer guys. I'm a bohemian inside, right? I believe in having sex for hours as a form of exercise instead of jogging. I make indoor tent rooms. I'm different.

I'm interesting inside. I just don't show it much on the outside. Of course that could be true of the other boring yuppies too. Maybe they think they're interesting inside, they're just too afraid to show it outside.

In fact that is exactly the definition of someone who's bland and boring and ruins neighborhoods. They think they're interesting on the inside, but they don't show it on the outside, and the result is the place is filled with people who are observably boring; their public life that they share with the neighborhood, that could add vitality and interest to the shared public arena - that part is bland and conformist and timid and boring. Like me.


09-16-15 | Caption

I'm basically a huge asshole. Selfish, cold, self-absorbed, unappreciative. When I'm alone, I get lonely and I get motivated to find a woman; so I turn on the charm and do an impersonation of a nice normal person. I can manage to seduce a woman, with my temporary charm and looks and whatever else I have, I get her to fall in love with me. Then I get lazy and stop the act and go back to being my real asshole self. She gets confused; where is the great man she fell in love with? but the love bonds hold her for a while until she eventually gets fed up with me and begins to hate me.

I don't actually believe that to be a true, or to be an accurate description of most of my failed relationships. But you certainly could write that as a caption to the cartoon of my life, and it would be believable.


09-13-15 | Depression

Recently every time I come back from Portland to Kirkland, I instantly get super depressed.

A lot of it is just the come down from being in a kind of manic state in Portland. When I'm taking care of my girl I'm on high-energy the whole time, very stimulated and just pushing hard. So when I get off that I go into a crash. Like when I used to do hard game crunches, when the crunch ended, I would always get sick immediately; like my body had been pushing so hard to keep going in the crunch, as soon as it could rest it just gives up and lets the pathogens win.

Part of it is that I miss her; she's just so sweet and fun, she makes me smile and laugh all the time, then I suddenly don't have that and it's a big downer.

Part of it is that I just miss *anyone*. This is always a risk any time you have a breakup. You feel lonely and you think you miss the person you broke up with, but that's shit, you mostly just miss having *someone*, not them in particular. (of course 99% of the value of anyone is just being someone; almost none of it is about who they are specifically)

Being alone in my little shoebox apartment is pretty grim. Too much alone time is always a danger of depression for me. Too much thinking.

My goal was to use Kirkland as a kind of prison for myself to make me focus on work. Like a monastic cell. Austere, no distractions, so I have no choice but to work. So far I haven't really been able to do it; the depression makes me lazy, and I'm antsy and bored and horny. I keep thinking about women and can't focus.


I know that I'm too mentally unstable right now to be good to anyone in a relationship. I need some time off to re-center and re-calibrate my readings of mad love vs. safe holding back, of compromise vs. being taken advantage of, of normal moodiness vs. unacceptable abuse. My basis of reality is all out of whack. I do sort of believe that pop-psychology cliche that you have to be okay inside yourself before you can be okay with another person.

So the idea is that I take some time alone to heal. The problem is that alone time is not good for me. I feel like I'm getting worse, not better. Being with someone to love and be good to is really healthy for me; someone beside myself to worry about, someone to keep me out of my head, someone to encourage me to be the better side of me.

I oscillate wildly between thinking that I need to be with someone, and thinking that I shouldn't be with anyone. I guess that's a clear sign that I shouldn't.


I feel like I have this really clear idea right now of what relationships are really about, and how awful 99% of them are, how unsupportive people are to each other and how they actually crush each other's self expression. I have a clear idea of what they should be like; we should just be able to talk about sex honestly; we should be able to have alone time without getting hurt feelings about it; we should be deeply good to each other, always, reliably so, but not stress about all the slights and manners that don't actually hurt each other. etc. etc.

As more time goes on, I feel like I'm losing touch with that wisdom, and I'm being assimilated into the cultural ectoplasm of rotten phoney human interaction. Oh I'm so interested in sustainability, oh I would never pull your hair and slap you, that would be disrespectful to women, oh, yes, hon, your story about your grocery store trip is so interesting, blah blah fucking blah.

Sometimes I think that it's actually not possible to have a relationship while I'm cued in to reality.

There's a reason for all the bullshit formalism of human interaction. It's because when people are just themselves and open and honest, nobody can fucking stand each other. We'd all be disgusted. The phoney bullshit is a way of not actually ever opening up. Even as you talk about how you want to really connect and be honest and all those lies, you stay in the surface land of being proper.


09-12-15 | Dicktionary : Education & Outreach

Dicktionary : the real meaning of phrases that dicks use.

This one is standard political language these days.

The public doesn't like GMO products; well, the problem is we haven't done a good enough job of "education & outreach".

The public doesn't think that private homeowners got enough help in the bailouts; what we need is more "education & outreach".

The public doesn't think the stimulus money has gone to small businesses; we need to do a better job of "education & outreach".

Of course what they actually mean is more like "brainwashing" or "marketing" or PR.

It's not actually education. It's god dammit stupid public, go along with what we said! We told you what to believe, if you aren't doing it, we just need better brainwashing.

Let's not fix the reality, let's fix the perception. God forbid we listen to anyone's opinion. We never take it as feedback that maybe our programs didn't work. Rather we just need to convince everyone that they did work.

(I can never write these things worth a damn unless I do it right away; this is one I thought of months ago and scribbled a note about, but didn't write at the time. On revisiting it, it just feels so dead in my brain, I'm forcing it; I don't remember all the little details and the fire of the rant that made it interesting to me originally)


09-12-15 | Dicktionary : Talk about it

Dicktionary : the real meaning of phrases that dicks use.

(recent "convincing" post reminded me that I never actually wrote this down)

Dicks say "let's talk about such and such". Oh, you have a disagreement about how this project should go, well, we need to talk about it. You have a problem with your neighbor, talk to them about it. You're unhappy with the working conditions, let's talk about it.

What they actually mean is "we're going to say some words and then I'm going to win".

Oh, you're unhappy that you have to work the weekend? You want to talk about it? Ok, let's exchange some words and then you'll agree that in fact yes you do have to work the weekend.

When somebody's not "on board", the problem is never that the idea is wrong. It's just that they need to spend more time "talking about it".

It's using words to just beat you up until you give in.

These people are never interested in actually listening or learning from you. It's not a discussion in the sense that everyone is bring ideas and opinions, and any of them might be accepted. You are just an obstacle to their goal, and you will receive "talking" until that obstacle goes away. It's never a discussion that ends with "gee, I was wrong, we should change our policy".


09-12-15 | Clarity

I can't be near her without lust taking over me. A switch flips; an instant conflagration. I can feel myself change; I become more animal, more instinctual. My eyes track her like a hungry predator. I become a wild beast. I must have her.

Everything she does drips with sex. The way she walks across a room. The way she lifts her big eyes at me. The way she flops into a chair. It oozes sexuality. It says look at this body, don't you want it?

I can smell her. I love the smell of her. Sweet and salty and always sweaty and dirty. So deliciously dirty. Like she's been in the field all day. It's a ripe, feral smell. Almost not human. Like a horse, or a cat. So sensual, so nasty. I want to lick her sweaty skin, I want to inhale her armpits, I want it all over me, I want to drown in her smell.

She teases me. She plays coy. Are you going to chase me? I dare you to chase me. Come get me. Oh no, don't chase me! Oh you brute, you animal! Yes, yes yes.

I love the clarity I have when I'm with her. All my normal timidity and second guessing and hesitation are gone. She is what I want. Get her. I know exactly what should happen, and I make it happen. Nothing else in the world matters but us. What a wonderful singularity of purpose.


09-12-15 | Convincing

You never actually convince anyone of anything; not in the sense of giving them a logical argument and letting them see your way of thinking, and changing their mind.

But it does work.

The way it actually works is that most people want to give up control. Making up your own mind is tiring. We all want to just be taken by the hand and led and go along with things.

So "convincing" is really just giving someone the opportunity to let you win.

It kind of doesn't matter what you say. It's more how you say it, and to just keep talking.

Some people want to feel like they put up a fight for their opinion, or that they won on a few points. Again it's not at all about rationality or what is actually right or making a good compromise. It's just stubbornness and not wanting to feel taken advantage of.

You can't just go to them and say "look, I'm right, this is how it is, you need to accept it." It puts them in a position where agreeing is a loss of face. It has nothing to do with the facts of it - you might be totally right, and they do need to accept it. Convincing is not about the facts or what is best for them. It's just about giving them a way to let you win that makes them feel good. Like "I'm doing this for you, I think it's the best option for you, and here's why". Or "I wanted this other way (some made up awful thing) but I tried to find a way that's better for you and here it is (the thing you actually want)".

You have to set it up so that you aren't winning a point over them; by agreeing, they are joining you, and you are taking care of them.

This has certainly been used well on me by some of my early bosses. "Oh, I can't pay you for shit, but you'll be joining and team, and I'll be giving you a chance to grow your career and eventually get profit sharing and blah blah". It works very well and young people in the business world, because they're sort of looking for a mentor or a guide to take care of them, so they can be easily made to go along with things.

It also just works great on most of us because we're lazy. When the salesman or whoever is saying bullshit to us, we know it's fucking scummy bullshit, but at some point we get sick of fighting it all the time. So we're ready to just say "ok, fine". But if they present it in a way that's too obviously bad for us, that doesn't give us a chance to go along with it, it's too overtly negative, and we'll say "hey, wait a minute!". All they have to do is make it palatable to give up, because we really want to give up.

The main thing for me is to not make it *impossible* for someone to agree with me. I tend to be very self-defeating; I'll present my point in a very unpleasant way; like just making it a very negative thing. Like "all the options suck, but I think this is the best" , or that they have to admit they were wrong in order to accept my way. Or just not showing any enthusiasm for my own point. Even if the person wants to go along with you, this makes it hard for them to do it. You have to make it so that agreeing is a victory; hey yeah let's agree and we'll both be happy!

Repeating myself. The basic method of convincing is just to keep talking. Keep presenting your point as the good option for both of you. They will raise objections; you just kind of ignore them, maybe address them, say something, acknowledge their point, but move on past it and get back to repeating your side. They're just putting up a fight because they think they have to stick up for themselves to "be a man" or "not get pushed around". It's for their self respect. So let them object a while, but eventually they will do what they really want to do and just give up and lie down and let you take charge.

You're *not* making a logical argument trying to actually prove your point. That's a big mistake. And you also shouldn't pay too much attention to their objections; that's a big mistake I make sometimes. Don't take their objections as points of fact that you have to deal with. You are a surfer trying to swim out to the deep water. Their objections are big waves that temporarily knock you back towards shore. You just deal with them and let them past and then get back to swimming out to the deep water.

Part of it is a sort of social test. Like most social interactions, it's not about the words, it's the meta-conversation. You are demonstrating to them that you are strong, that you stick to your conviction, that you won't be swayed easily. They want to go along with you, but not if you're weak, not if you're so easily disuaded. So they are putting up objections as a kind of test, to see if you have stability and belief in what you're presenting. They have to believe that if they agree to go along with you, it's not going to change and leave them behind.


09-12-15 | Fog

I love to be in a fog.

My mind a little bit slowed. The edges taken off. No longer seeing everything that's wrong with the world.

The fog of booze. The fog of weed. The fog of light headedness from hard exercise.

No longer so rational, no longer solving problems. Complicated thoughts start and I can't process them and I just say "whatever" and that's so nice.

The best fog of all is love. My mind sort of switches off, and I just want to be around her, and everything seems okay. I do totally foolish things, like move in with her after knowing her for a week. My logical centers are just not functioning, there's just a sweet fog.


09-10-15 | Second Sight

The first time I saw _, she was sitting at Linnaea's, writing in a little notebook. Her long brown curly hair was cascading down her, and I thought maybe she was Italian. I think she looked up from writing and we made eye contact, and I think there was a spark and smirk, but I could be dreaming. I thought she was impossibly gorgeous. We didn't speak then.

Weeks later, I got coffee at Uptown and she was working there, and we got to talking.


The first time I saw _ was at a Junior Boys show.

I was there with my girlfriend _ who was being a pill as usual. She was complaining about things in that "joking" way that's so tedious; like oo let's make fun of everything but it's sarcastic so it's okay? No, it's not okay, it's sour and not that funny. It was around that time that I decided to break up with her, though I didn't have the guts to finish it for another few months. Junior Boys were like her favorite band and she couldn't just enjoy it earnestly, like THIS IS RAD! it had to be all sarcastic and ironic, and she was doing her uptight fake dancing.

A few people in front of us there was this girl. She was with some mediocre blondy, and some short beardy rolly polly guy. She said something like "let's dance like jerks!" to her friends, and they said "woo!" and went nuts dancing around. It looked so FUN, and she was so sexy, all lines and curves.

I thought to myself, my god, how do I get to be with a girl like that!? What is this rolly polly jerk doing right that I'm not? I've got to focus and work harder on my socializing and change and live like that!

Months later we met again.


09-06-15 | The Ugly Duckling Myth

There's this popular Hollywood myth that I'll call the "ugly duckling". Someone is the nerd in school, unpopular, picked on, mousey, and then they transform, someone discovers their inner beauty, or they somehow come into their power, and they're suddenly beautiful and everyone admires them and they're a wonderful person.

Obviously the Hollywood version is ridiculous. The most comical being that string of movies where they take the "ugly girl" and basically just remove her glasses, and suddenly she's gorgeous and the star of the ball.

But even more realistically, it's bullshit. The problem is that the swan transformation just doesn't work; it doesn't fix the wounds inside.

Take the typical case of a girl who was unattractive during elementary & high school. Maybe she was fat, or had glasses, or whatever. Hell maybe she wasn't even unattractive at all, but for some reason was singled out and picked on. She was called "fatty" and excluded by the other girls, maybe her Mom also was constantly saying nasty things about her appearance. Then she goes off to college and transforms and because just gorgeous, stunning. She's a swan, right?

Nope. Inside she still has the scars from years of being put down and told she was ugly. It makes her insecure, defensive, touchy, lacking self confidence. The wounds come out in all kinds of awful ways; maybe she's really jealous that her man is looking at other women; maybe she's constantly hard on herself about her looks, or she takes ages to get dressed because she's so wound up about doing it right; maybe she's constantly looking for others to exclude her or put her down so she takes offense way too easily; maybe she lashes back at perceived slights; etc. etc.

She might now be absolutely stunning, but it doesn't matter, she's carrying years of emotional abuse.

The ugly duckling got fucking *ruined* by the horrible way they were treated. It doesn't just go away. And unfortunately, it's really unfair, but the person who took the abuse is the one who winds up being a bad person later.

It's rough and unfair, but people who were abused as children, or raped, or were really picked on, or were just super-nerds - these usually turn into broken adults who are bad to the people around them in one way or another. Obviously not always, and some people do the hard work to actually get over it and grow from it (though most don't). The idea that you just transform out of an "ugly duckling" and suddenly you're a great prize is a load of shit.


09-03-15 | The Face

Face - the final frontier. These are the voyages of the starship sexerprise ... (okay, that's enough of that).

The face is the final frontier in sex.

You can do almost anything to a person, except on their face. Come on their belly, leg, back - okay. Come on their face - hey, WTF !? Slap their ass, thighs, arms - no problem. Slap their face - whoah now. Not okay. You can spit on their pussy or cock or nipples, it's tolerated if not enjoyed, but spit on their face, all of a sudden you're a crazy weirdo.

It's the forbidden zone. It's the most intimate spot of all.


09-03-15 | Words of Advice to my Daughter

If another kid does something shitty to you, takes your toy or makes fun of you or whatever, wait until there are no adults around, and then punch them in the face.

They might tell on you, you might get in trouble. You might get a stern talking-to, and you can act very sorry. Oh no, I got in trouble, big fucking deal. You got "punished" which is never actually very bad. They got punched in the face. You win.


09-03-15 | Disappointing

Life is so disappointing. You meet someone new and they seem so amazing, you can play and talk and it seems like they really get it. You're excited about all the things you could do together.

You dream of taking trips together to warm beaches, making love right over the water to the sound of the waves. You're so incredible in bed together, you dream of all the sexual fantasies that you can make come true. You could do cool art together or projects, make things, collaborate, have fun. There are so many possibilities and it's so exciting and you're full of hope, and all these things you fantasize about can finally come true with someone great like her.

And then she just doesn't actually want to do any of it; or she says she does, but never makes an effort or makes time for it. And you wind up doing nothing, and settle into a life of totally normal boring human activity.

And you find out that you can't actually talk openly, because if you say the wrong thing it has nasty consequences, which makes communication impossible.

It's all so disappointing. Life is fantasies and dreams that never come true.


I suppose that's not all bad. Romance is about dreaming together. The beauty of meeting someone is all the dreams you have. The most generic cliche one is when people meet they start dreaming that "he's the one" or "we'll get married and have babies" or whatever. And that's kind of okay as long as you don't get too carried along in it. It's nice to meet someone that gives you hope, that makes you feel like the future you want could possibly be real for you.

Tash and I had beautiful dreams. Some land in the country where we could be alone together, building our ideal simple rustic house together, a little office for me off hidden away, an art studio for her, some animals, lots of babies running around, warm air and the breeze blowing her sun dress and cowboy boots, funky and hippyish, a joyful mess.

It was a sweet dream to have together.


I just don't understand how everyone can pass up these opportunities.

Like you meet someone who likes to go racing, as you do, and you're like "hey let's go race together" some time; and that would be totally super fun, but then they just never want to do it, or never make time.

Or you meet some great girl and you fall for each other, and you're like "hey, let's just stay in bed all day, order great takeout and champagne and make love every different way" , and they're like "err I have to go to work, or yoga or whatever".

Come on !? What the fuck !? These opportunities to have a really special fun time are so rare, how can you not fucking take them !?


09-03-15 | Reward

Sometimes I thought she was my reward. For being so strong and centered and confident. Only I could handle her, only I could tame her. She was the prize, the sexiest, sweetest, most fun, playful, natural, earthy beautiful, artistic, wonderful woman in the world.

I just had to ride out the storms. When she blew up, I had to just be strong, tell her I loved her, that she was my queen, the only one for me, that I was sorry, that it was alright. Just not react, not get sucked into yelling back, stay strong deep inside myself. If I could do that, I got the reward.

Like a wild horse in those cowboy myths. Wild and full of energy, a beautiful physical specimen, but impossible to tame; noone else could ride it, it would throw off any riders who made the attempt. But I could. (except in the cowboy myths, once the wild horse is broken it stops throwing its rider all the time, they become partners)

But in the end I couldn't do it. I'm not strong enough. And maybe I shouldn't have to be. Partly because each time it happened, I got a bit weaker. It wore me down over time and I got worse and broken.

But for a while it felt like I had a secret treasure that the rest of the world could only dream of. I felt like a king among men. I'd walk around and know that they had their money and pathetic normal lives, but I had this magical creature and that made everything alright.

Like, the secret of negotiation is to let them think that they won. Get what you want, but pretend that you didn't. Let them have what they think the prize is. Retards going around showing off their posessions and their fake sexless lives. Oh, wow, you totally win (I say). Inside I smiled. I had the real prize.


09-02-15 | Cowardly Art

Louis CK uses all these cowardly tricks to be able to say offensive things without actually bothering people.

Like if you see some rotten behavior in someone else, pretend that it was you that did it and tell the story as if "oh I'm so rotten, ha ha". (because when you do fake self deprecation, the audience can laugh along at "ha ha he's a jerk", not realizing it's actually about them (my god the audience is always so fucking dumb; see eg. response to Scarface or Dire Straits))

Or if you want to say something sexist or racist, start with "this is horrible, and I don't really think this, but..."

Don't ever specifically rag on people you know, your wife or friends or whatever; if you have funny stories about them, instead change them into stories about yourself or some stranger.

A common one is if you want to tell a personal story about someone in your life, change it into fictional characters. Oh, this fictional character is cheating on his wife, not me. The other standard one he uses is just to hide the observation in "poetry" so it's a little vague and open to interpretation, which gives you plausible deniability.

It's all so cynical and self-serving. It's so dishonest and cowardly. I should do it more.


I kind of had this observation while talking to my cool lost friend a while ago.

"Art" can be a way to express something that the audience doesn't want to hear in a way that they enjoy.

Like, if you just said it straightforwardly it might be too painful, or too wandering, or too unclear, or there are too many caveats. It's something you can't just put into words in a way that anybody would really want to accept it.

So instead you do "art" of some kind. I'm putting art in quotes because art can have many meanings and uses and here I'm specifically defining a particular use of art as a language of communication that makes something palatable or enjoyable to the receiver which wouldn't otherwise be.


09-02-15 | Black Postcards

I'm reading Dean Wareham's book "Black Postcards" about Galaxie 500 and Luna. It's a terrible book, don't read it. He's an awful writer; it's all so stiff, (intentionally) comically stiff. He writes nothing about the music or creative process, very little about personal experiences, there are just long lists of "we went to this club and played this, then this club and played this." Really tedious.

(there are some really interesting transitions in the Wareham catalog; from the more jangly raw Galaxie sound to the lush rich sound of Luna, and then the later transition to even more candy duets that are almost back to the crooner or doo-wop days, and he talks nothing about any of that)

It's incredible how childish and un-self-aware he is.

The whole time he's whining about not having a hit single and not making enough money, and yet any band that does have any success he rags on, they're awful commercial sell-outs. God forbid anyone just try to be popular (the way you so desperately long for) and be good at it.

It's like the mopey teenager that doesn't want to try to fit in, but then is so upset when he doesn't fit in. Waa waa I'm just shy and mean, and then I'm not popular, WTF!? Popular people are so awful.

He believes in this ridiculous punk myth that grunge, and pop, and every other type of music, they're all phoneys, they're all just doing what's commercial, they're all just trying to sell records, but we are doing what's really authentic, we're not posing, we're not artificial. And yet at the same being so self-conscious of what's cool and trying to strike just the perfect introspective pose and trying to fit in to that specific Velvet Underground style.

It should be something that you realize around college, that *everyone* is posing and just trying to fit in in their own way. He's chosen a difficult unpopular style for himself, and then whines that more people don't like it. You loser.

It's extremely unappealing to sit around moping or being bitter about something you want but don't have. You need to either change and try hard and get it, or give up and decide you don't want it. Certainly the former is better, decide what you really want in life and then fucking GET IT. But the latter is much more common, just to pretend that you don't want it and that you're happy with the life you can actually have without trying anything too difficult.

Oh waah waah Dean. You're not making any money because you piss on any attempt to be commercial and actually make an effort. Like the world is just supposed to see how great you are and hand you money even though you refuse to play their game. Grow up.

It is depressing to read about how unhappy they were; they were totally broke, had to keep touring just to pay rent on shit-box apartments; they couldn't be happy being indie critical darlings.

The best thing about reading it has been that I've been re-listening to Luna. For me, it's still the very early stuff; Penthouse, Bewitched, Lunapark and the EP. The early stuff is so simple, such straightforward 4-4 rock, verse-chorus-verse, a couple of chords and a guitar solo.

It's sad that he still feels defensive about breaking up Galaxie 500. Good for him getting out of a shitty relationship, and fuck everyone who was pissed at him for it. Being in a band with two married people who are marginal musicians and won't give me full song-writing credit even though I do all the song writing. Yeah totally, stick with that situation. Fucking retards.

Luna live shows were magical. They were a pretty great live band; they would pack small clubs with real fans; it was the ideal situation. Goosebumps.


09-02-15 | Flipped Switch

La la I'm happy and nice to people. Everything is okay.

I'm walking along, and some guy is just behind me. I come to a door that we need to go through, so I open it then hold it for him so it won't slam in his face.

He goes through and is now ahead of me. A few seconds later we come to another door. He opens it and just lets it swing at me.

WTF! I *just* opened a door for you a second ago. You saw me do it, you saw what you're supposed to do. You know I'm right behind you. The only reason you're fucking ahead of me is because I let you pass by opening the door for you.

I WILL MURDER EVERYONE!!


09-02-15 | Calibration

Today I was invited to join a gang bang. (*) I declined.

The thing that struck me as odd is just how normal it seemed. It just felt like being invited over to dinner (which I'm also not interested in). There was no shock or thought of "this is weird".

It's crazy how fast the human animal calibrates. You so quickly establish a new baseline for normal and then only perceive deltas against that normal. (this of course horribly leads to not appreciating something great; you might meet the most wonderful woman in the world, but after a few weeks together, everything great about her just becomes your norm and you don't appreciate it any more). The first time you do something odd, you're all nervous and excited and think it's crazy, you can't believe you're doing it. By the third time it's old hat.

I'm sure that even really far-out things, like doing crack, or killing people, would just seem like no big deal once you get into a habit of doing them regularly.

(* = I find the gang bang to be singularly unappealing. I don't even like to watch them in porn. Nobody seems to be having fun, not the woman or the men. I certainly don't want to be around a bunch of disgusting men standing around waiting their turn. Yuck. It's perhaps the most degrading and objectifying form of sex; it not only treats women as just some holes to be used, it treats men as just wanting some holes to occasionally poke at. There's no intimacy or connection or mutual care. Yuck yuck yuck.)


09-01-15 | Coincidence

What a coincidence that we happen to live on the only planet in the universe where intelligent life can and did evolve. That's too crazy!

Umm, no it isn't. That's the definition of "we". "We" are the people who happen to be on the planet with intelligent life, therefore we can ask that question.


09-01-15 | Why

Why can I not just stick an ethernet cable directly between two computers and have that just work?

That should be the fucking fallback that always works when you're having network problems.


Trying to back up some of my machines.

First off, Windows XP can't access a disk bigger than 2TB. I thought that you would be able to split a larger disk into multiple partitions that were each under the limit, but no. This comes from some fucking retarded limitation in the MBR partition headers. (I guess they use a fixed 512-byte sector size and a 32-bit sector counter; so 2^32 * 512 = 2 TB ). I fully expected a 32-bit offset limitation within each partition, but it blows my mind a bit that the base of each partition is only a 32-bit offset.

So, after fucking around unsuccessfully with ways to run larger disks on XP (there are GPT drivers for XP; and there are RAID solutions, but blah blah) I gave up and formatted it MBR and just use only the first 2 TB of my 4 TB disk. Plbbt.

Then I'm trying to copy some dirs and it's CRAZZY slow. I'm like WTF WTF how is this so slow.

I had a look at the performance monitor and also noticed that CPU usage was at 100%. Hmm. CPU-bound slow file copy.

The answer is PIO. The disk had reported errors and switched to PIO (instead of DMA). You can Google various shit about that (uninstall the IDE driver and reboot to make it reset), but the final answer for me was "ResetErrorCountersOnSuccess".

Okay, so I finally have fast file copies. (well, sort of fast; still appalled at how slow they are even when everything is working right (*); one thing that helps speed is to pipe the output to file because printing to console is so slow).

(* = to fix : the file system should store all the metadata for the files in a dir contiguously in a linear block; all files less than 1k bytes or so should then have their contents immediately following that metadata. So to copy a whole dir (excluding the content of large files) you just splat that whole chunk over. Copying a dir with lots of small files in it is insanely slow with NTFS.)

After doing successful backups, I go to delete some of my originals.

WAIT WTF IS IT DELETING !!?? FUCK FUCK FUCK

Del had recursed inside a junction and was trying to delete stuff in c:\windows. (I had made a copy of c:\windows, and the copy had preserved the junctions, so now deleting the copy it recursed into to the original)

(to be explicit : make a dir X1 with some stuff in. Make a link to X1 called X2. Then "del /S X2". It deletes the stuff in X1.)

Jebus. Use "dir /AL /S" to find all the junctions and go remove them before running a recursive del again.

(Junctions are such a disaster; there are just way too many apps that don't handle them right; eg. when Del sees a dir that's a junction it needs to ask - just remove the link or recurse inside? When copy sees a junction it needs to ask - copy the link, or copy the data? (and copy needs to check for recursion))

{
aside : I now think the right robocopy to backup a dir is :

robocopy c:\ d:\lappybak *.* /E /ZB /XO /R:3 /W:3 /XJ /COPY:DT

The key funny bits being : exclude all junctions (alternative : just excluse dirs; /XJD), and copy data & times but NOT owners or security info. I don't love just losing all the junctions, I'd like to copy a record of them, like "a junk was here from this to this" so that I can restore it if necessary, but excluding seems to be better than copying them.
}

Okay, try deleting again. Hmm, lots of files that it can't delete. I'm using /FORCE so it can't be a read-only thing. Hmm. Run from an admin cmd. Nope, that doesn't do it either.

Turns out some files are owned by "TrustedInstaller" or some shit. Fuck. Go to security tab, change owner. Change permissions. Both are huge fucking recursive descents that take forever. Sigh.

Okay. Now I can finally delete everything. Deleting ...

"File name too long to delete" !? WTF !? Are you kidding me?


08-29-15 | Begs the question

Trying to come up with an actual question-begging.

Feet are gross :

Feet are gross. They're gross because they're trapped in shoes all the time, they get moist and not enough air flow. They need to be kept in shoes because they're gross.

Women must wear burkas :

Women must wear burkas to hide their bodies. Their bodies are too maddening and inflammatory to men, because men are not used to seeing female bodies, since they only see women in burkas.

I'm not sure I have that quite right. Maybe these are just circular arguments. I find forms of language very difficult.


08-29-15 | Online Dating Decoder

"I'm bored, rescue me!" = "I want to fuck"

"Just looking to meet a nice guy" = "I want to fuck"

"I have a tiny bit of extra cushion" = "I'm a huge gross fatty"

"People say I look like Demi Moore" = "I'm a huge gross fatty"

"I can't share photos for my privacy" = "I'm a huge gross fatty"

"I like honesty and modesty in a man" = "I like liars and braggers, just with some subtlety"

"I respect people who tell it like it is" = "Don't ever disagree with anything I say"

"I'm a social drinker" = "Drinking is my primary recreational activity"

"I enjoy hiking and outdoor activity" = "I went hiking once a few years ago"

"I value other people" = "I'm so much better than everyone else"

"I'm a free spirit" = "I'm a flake and my life is a total shambles"

etc..


08-29-15 | Breathe

I've been walking around the past N days all angry and tight, due to one of my "friends" ripping me a new asshole (which I may or may not have deserved).

(aside : I have this problem that I've got so much self-loathing, and I've been told by pretty much everyone in my life that I'm fucking horrible and and asshole, that when someone is really deeply rotten to me, puts me down, hurts me, whatever, I don't immediately think "fuck them", instead I think, "hmm did I do something horrible again? did I deserve that?". My whole barometer for people being awful to me is out of whack.)

I was walking around with this big scowl, my forehead all tight, like a fist trying to crush my eyes, my shoulders all raised up and a big knot at the back of my neck. I was just walking home from the grocery store thinking "urr I hate everyone" when it hit me -

You're doing this to yourself. All this body pain and misery, you're doing to yourself. You can just stop.

Sometimes I think when I feel horrible inside, it's like I have to punish my body, to make my physical self feel as bad as my mental self does. Just stop.


It's so easy to react to one small thing that someone says and blow it way out of proportion.

I've seen this a lot recently trying to date again; both by me and others. You're so on edge looking for warning signs or incompatibilities, somebody can say something really inconsequential, and you just way over-react and get totally turned off. You don't give them any benefit of the doubt or any chance to explain. It's really an impossible way to relate, because communication is so difficult, and every little thing that anyone says can be taken in many ways.

At the beginning of dating, it's best to be a complete blank. Just make chit-chat and be sweet and laugh and don't actually say anything of substance, don't reveal anything about you, because anything could be latched onto and turned into a deal-breaker. It's a bit like being a political candidate - the less record and the less you actually say the better. Talk about "hope" and the "middle class" and vague bullshit like that, not actual positions, since that might turn someone off.

But this continues way past dating. Any time you're talking about someone says something a bit odd, you have to be able to let it go, or ask "hey what did you mean by this?" and be generous in your understanding.


I don't like the beginning phases of knowing someone. The stiffness, the phoniness. Even just the way you spend time together, it's too focused. You pay too much attention to each other, you talk to each other the whole time. You have to do activities and all this stuff you wouldn't normally do.

(I mean obviously there are some good things; the excitement, the novelty, the butterflies)

The really good stuff comes later, when you're comfortable together.

Just goofing around being silly. Let's dress up as egyptians and hula hoop. Let's play bongos naked. Let's try to sing a duet together. Not all this acting normal and cool, it sucks.

Just spending time together not fully engaged. You do your thing, I'll do mine. I like to just look across the room and see you, your beauty, your happiness.


I understand the forms of dating. I've done it before. It's like a medieval dance. There are protocols and processes. You have to play the right roles at the right time.

The whole beginning phase of dating is about just detecting psychopaths. You're not supposed to actually say anything interesting or reveal anything about yourself. You just say pleasantries, make jokes, act interested and sweet. It's just a test for whether you can hold it together and not say anything insane like "I want children" or "Obama's ruined this country".

But I just can't do it right now. I go on a date and I just want to say "look, can we just cut the crap". I feel like everyone is sitting around praising the Emperor's Clothes and I want to be "hey, wake up people, isn't there anyone out here who can just talk to me openly like a real human being?"


My torrents these days are a pretty odd mix. Mr. Rogers episodes, Winnie the Pooh, and Brutally Banged Butt Sluts. Very single dad.

(also Blunt Talk, Narcos, and Norrell & Strange)


08-28-15 | Parenting

Some days, being a single parent is really hard. It's just the hours, and not getting a break. Especially after a night of bad sleep, then having to do a full day with a needy kid that's so full-on all day, it's exhausting.

I wish I could just tap out to my tag-team partner. I don't really want a full time nanny, I like being with my girl, but I would love to get an hour a day. That's all I need, a one hour break to just chill and cool down. I get more and more frazzled and on-edge and I just need a chance to reset and restore my energy. It's hard to find a nanny that wants to be on call to work random one hour shifts when I need a break.

I yelled at Emmy for the first time. It was dinner time after a long day, and she wouldn't eat the spaghetti I made, she wants cheddar bunnies. So I get out the box of cheddar bunnies, and she refuses to let me open it and get some out for her, she's screaming "Emmy do it" (this is a frequent meltdown these days, she wants to do everything herself). So she takes the box and turns it upside down and shakes it, and the cheddar bunnies all come out and pour out everywhere. I yell "god dammit" or something, and she starts sobbing. I was immediately sorry and held her and apologized and we got over it.

In some ways divorced child care is easier than married child care. Certainly in a bad marriage, but I think it's a problem in most marriages. It's nice to just have clearly set hours when each person is responsible, so you do your assigned amount of child care, and nobody yells at you that you aren't doing enough. There's no fighting about who should have baby when, or who should be responsible for what or how you're doing things.

I think actually it would help in some marriages to split the baby time in a really strict way as if you were divorced. Set hours for each parent to me the primary caregiver. The tricky thing is that the parent who's off duty will be constantly roped in to do doing child care; it's just too tempting when they're around to say "hey can you watch the monster for a while", and you have to resist that.

(and breast feeding makes this difficult; in some cases I think breast feeding can be a liability that's not desirable just because it creates a dependence on the mom and makes solo dad care very difficult)

It's also nice to just be able to do things my own way during my time; cook what I want, play how I want, without getting corrected or nagged or anything.


I took Emmy to the beach near Portland, to Seaside, and we spent the night. She loves the beach, mainly just for the sand, not so much the water. (this was our second trip to the coast near Portland; the first was earlier this year with my mom). It was sweet, but I also felt a bit sad that we were alone, with no mom or siblings.

Some of my fondest family memories are of the beach in LA. We used to go pretty regularly in the summer; loading up the big family in the station wagon. Then it would be a huge chore lugging all our stuff out; umbrellas and blankets and coolers and boogie boards, often two trips of lugging. We'd spend the whole day there. Mom would make tuna sandwiches that would become totally soggy and disgusting after hours of soaking into the bread. We made drip castles, where you take really wet sand and let it plop down to form these weird organic Gaudi-like structures.

One of my favorite games was "wave toss chicken". You'd get on the edge of the ocean where the waves were breaking, and crouch down and roll into a ball; tuck your knees to your chest and hold them tight with your hands. The waves would come in and knock you and roll you around, and whoever could stay tucked in a ball longest (not chicken out and release your legs) won. The big waves would totally submerge you and toss you around under water, and the challenge was just to wait it out until the wave retreated and you got deposited on the sand (still rolled in a ball) to breathe again.

I got rescued by the LA lifeguards a few times (full on Baywatch style). I liked to swim way out, past the breakers. I never really thought I needed rescuing, but they did. Maybe I was in a rip that I didn't know about. Anyway, I'm out splashing around in the deep water and all of a sudden this guy swims out with one of those red floaty things and grabs me. I'm like "hey! I'm swimmin here! wassa matta you!" he grabs me roughly and yanks me back in to shore. It's not a nice experience being "rescued". They put you in a kind of head-lock with one arm and hold you floating on your back while they side-stroke in.

On the way home, we'd stop and get some greasy food like In-n-Out or hoagies from this one hoagie place that in my memory was amazing but would probably be disgusting if I had it now. It was a treat because we never got to eat that kind of stuff usually.

Anyway. At night I took Emmy around the Seaside downtown, which is an old touristy beach town. It's pretty cool actually. There's a carousel, an arcade, and a real old-fashioned amusement shop with a vintage tilt-a-whirl and real bumper cars (that have the metal plate floor and ceiling to conduct electricity).

I took her to a toy store and let her buy things. I have this instinct to not buy her toys all the time; oh, I can't do that, that's spoiling, or it's too expensive. But it's really not. I could buy her $50 worth of toys every day and it would only be $600 a month. I guess it's an aspect of the weird kind of inflation we have. Because of the slave-labor factories, manufactured goods are incredibly cheap now, relative to things like housing and health care. So you can still be just middle class, because your necessary expenses are so huge, but have almost infinite ability to buy cheap manufactured crap.

My parents were extremely cheap with us. Our clothes were often from thrift stores or hand-downs from the older child. We had a very limited toy budget, and if we went some place like the Seaside carnival shops, we couldn't just impulse-buy toys, or get ice creams or ride the rides, because it was all "overpriced" there. You can get a whole pint of ice cream in the grocery store for this price! (I don't blame them; they were raised by depression-era parents, and my parents were not rich when they were young, and had a lot of kids to support). I still have that voice in my head, the "oh my god the pop corn is 2 dollars, outrageous! we can't get that!" but I'm learning to let it go a bit. I think I also have a better perspective that hey, it doesn't matter if everything in Seaside is an overpriced tourist trap; it's kind of fun to just go along with it, and it's only a once a year expense, so who cares. It's stupid to do something like go to Disneyland and then be hungry the whole day because you don't want to buy the over-priced food.


I'm really excited for when Emmy is older and in school and has summers off. I want to take her somewhere every summer to stay for a couple of weeks. Rent a house and just let her run free, the way my family did on Isla Mujeres when I was little. Spain, Vietnam, places like that. But I realize it will be boring and lonely for her to go with just me. I need to find friends that we can travel with. The easy thing in life is having ideas and the means to do them; the hard thing is finding people to do them with, and it's the most important part.


08-28-15 | Road Rage

I don't really road rage too much anymore. Once in a while, if I'm tired and just trying to get home, or had too much caffeine, but mostly not.

I drive very rarely, and it pisses me off that the roads are all jammed up with people in the rare times when I do drive. I think there should be special lanes for people who drive less than a certain amount. Or like, if you live within walking distance of your work, you should get a special pass to use some super fast lanes. People who choose to commute and crud up the roads should be the ones who suffer. (summary : I should get what I want and fuck everyone else)

(of course we also need major affordable housing initiatives so that workers can afford to live near where they work. Maybe all businesses should be required to provide live-work spaces for employees within a block of the premises (if the employee chooses). So if you have a restaurant you also have to house all the workers in the apartments above it. Rent must be less than 1/3 of their salary.)

(all the government programs for cars are fucking bullshit. Carpool lanes, CAFE standards, subsidies for Teslas (rich people's toys) (*), it's all fucking bullshit. What you should actually reward is *not driving*. If you don't drive, or better yet don't have a car, you should get a $10k bonus check. If you cycle commute, you should get a bonus. If you take public transit. But no, instead we subsidize cars.)

(* = and yes of course I fucking understand the idea of trying to back new industries and technologies to give us an edge in a new area of business)

(I believe all subsidies are corrupt and just the wrong way for the government to incentivize behavior; the correct solution here is so fucking simple - gas tax, gas tax, gas tax. (**) It directly penalizes what you want to penalize, which is miles driven times fuel inefficiency. It's just a perfect mechanism to direct behavior in the right way. The best thing government can do is to allow free market innovation to solve problems, but to apply penalties so that instead of just maximizing profit, the market is directed more towards improving quality of life in the way we want. Fuck everyone for this world where we can't use that.)

(** = though you can't do this without also doing the affordable housing as described above; you can't just fuck all the poor people who have no choice but to live way out in the sticks and commute into the city to work. Also ideally the gas tax would be proportional to income, which is tricky. You don't want a world where only the rich can drive.)

Anyway. These days I am rather amused by watching other people get all road ragey. It's so ridiculous how pouty and stupid people are. There's a slow car in the fast lane, and a fast car comes up behind him. Fast car gets right on his ass, trying to encourage slow car to change out of the fast lane. Fast car could easily just go around, but he wants to prove a point. Ooh, big man, teach him lesson. Finally fast car just pulls around, and then pulls back in to the fast lane really aggressively right in front of slow car. Oh wow, you showed him. You almost caused an accident you fucking moron, you're so tough and righteous.

These days when someone pisses me off, I get my kicks by trying to rage them up. When someone tail gates me, I used to do something really aggressive like brake-check him. These days I'll just very gradually slow down, and watch the guy in my rear view mirror. It's quite a good show. Sometimes it amazes me how slow I can get before they pull out and go around. I've been down to like 10 mph on city streets or 40 on the freeway, and the guy behind me is having a total melt-down, veining up and gesturing, and I'm just laughing it up and can't believe he's still there.

I have to be careful to remember to not do these things when Emmy is in the car. Once in a while I'll be driving along with her in the car and just totally space out that she's back there, and do a little drift around a corner for kicks, and then go oops, I forgot I was supposed to be chill right now.

(it doesn't help that Emmy is a total instigator; whenever I accidentally do some fast driving with her she yells "fast! very fast!" all excited. Okay, babe, whatever you say! Vroom. No no, that's bad, let's calm down, don't encourage me. I do love being encouraged to be naughty.)

In my teenage years I was a maniac. I had a lot of bad incidents, it's amazing I didn't die.

I used to pass people in left turn lanes. That was particularly sketchy because I never had a car with much acceleration, so I had to spot the left turn lane as early as possible and start a run-up to it to get speed, and I'd never really have a full car length ahead to make the pass, so getting back in the lane required some cooperation from the car I was passing.

I frequently passed people in the shoulder. I drove a lot of the one-lane Texas highways, and you'd get stuck behind some big truck going slowly. Often there was too much oncoming traffic to make a pass around the left side, so I'd pass around the right in the shoulder. One time I was making a shoulder pass of some big truck, and he looks over at me and swerves into the shoulder, right into me, to run me off the road. Luckily it was just dirt off the road, no trees or bushes or anything.

The worst incidents were when I was playing enforcer. I treated tailgaters and slow people in the left lane as criminals that needed to be punished. One time I was driving on the freeway near Austin, and this guy was going slow in the left lane, so I get mad and decide to teach him a lesson. I pull around in front of him, then give him a really big brake-check, slowing way down. He gets all mad, swerves out and pulls around in front of me and slams on his brakes. So I swerve around in front of him and brake all the way down to a full stop. This is in the left lane of a freeway; maybe 10 at night; traffic is light, but not zero; people are swerving out of the way and honking. When I come to a full stop in front of him, he comes to a full stop behind me and two guys hop out and start walking towards my car. Oh shit. I ran for it.


08-27-15 | Supporting Articles

Sometimes when I'm trying to make a point to someone, and they won't listen to me, I'll find a bunch of research that backs up my point.

See? the experts agree with me. Read these links.

It works a bit. A lot of people don't want to listen to me, for various reasons, but if it's some 3rd party "expert" who says it, they'll listen.

But it's in fact total bullshit. In this Internet Age, you can find "experts" to support absolutely anything. You could find just as many links saying the exact opposite. It proves nothing.

The takeaway is - just listen to me, I'm always right, don't make me do "research" to prove it.

(for more advanced bullshit, you can use use the technique our White House uses : plant some articles saying what you want, and then cite them as evidence to "prove" your point)


08-27-15 | Thats illegal

"Ooh those rotten cyclists running stop signs, that's illegal! They need to obey the law!"

Uh, who fucking cares if it's illegal? Whether something is legal or not has nothing to do with whether it's right or not. In some cases, yes they are doing something wrong; in some cases, no they aren't. But that's based on how their behavior affects others, not on whether it's legal or not.

Assholes love to trot out "that's illegal" as if it makes their case morally superior. Ooh, how dare they, that's illegal!

It's bullshit. They just trot it out when they disapprove of the action. But if it's their own behavior that's illegal, then "oh, nobody cares about that law". Oh, I see. Permits for your home remodel? Oh, breaking that law's okay. Leash law? Jay walking? Tax avoision? Sodomy? Oh, those are fine, we can ignore those laws.

You selectively care if it's illegal only when it's something you don't do, and don't like. Then you're all righteous about it.


08-27-15 | Have a Good One

Everyone is doing this fucking bullshit friendly "have a good one" now. Retail people, baggers, strangers on the elevator, when the door opens and they get off on their floor "have a great day!".

Oh, fucking save it. You don't actually care at all. In fact you will immediately go about fucking up my day if it suits you. I know who you are. You're the same fuckers who play movies on sub-woofers in your apartment. You're the same fuckers who run me off the road when I'm biking. You're the same fuckers who let your dog off leash near a playground. You work in fucking "social marketing", your whole life is about evil and fucking people.

Oh but you're all friendly now because it doesn't inconvenience you in any way. As soon as you get the slightest bit of personal benefit from fucking me up, you'll do it. Stuff it. I'll have a bad day if I want to. I'll have a bad day just to fucking spite you and your bullshit wish.

Fuck you and your "have a nice day".


The Portland organic grocery store I go to (New Seasons) doesn't have any pre-packaged meat. You can only get it from the meat counter guys.

The result is that I don't buy meat in Portland.

I hate the fucking meat counter guys. I fucking hate you.

For one, thing, they always sleazily try to over-sell you. "Can I get a half pound of ground beef?" , "This is a little over, it's five hundred pounds, is that alright?"

They also try to slip you the nastiest meat they have. You ask for some steak that looks nice in the window, and they reach under the counter in the hidden area and pull out some terrible piece and toss it on the scale before you can notice. They never show it to you and ask if that's the piece you wanted. Fuck you meat counter asshole.

You have to specifically say "no, I want that one" or "let me see that before you wrap it up". It's a total adversarial relationship with someone who's doing their best to fuck you over.

The fish guys will never let you smell it, poke it, or even look up close. At least the shrink-wrapped fish I can poke through the plastic and tell how firm it is.

God forbid you ask something like "what's fresh?" you'll get some fucking asshole bullshit response like "it's all fresh". Bull fucking shit it isn't. If you'd let me smell it I could point out probably half your stock that is just fucking nasty. So fucking treat me like a god damn human being and just tell me which ones are good so I can buy one of those. Hell, when I'm buying fish I basically never care what particular type it is, just tell me what the very freshest one you have is and I'll buy that.

(like if I'm getting wine by the glass at a restaurant, just tell me which bottle was most recently opened, I'll have a glass of that, you nasty day-old-wine pushers. "Oh all our wines are recently opened". Bullshit, fuck you, asshole, I'm leaving.)

And then the meat counter dicks have the gall to say "have a nice day" afterward. Yeah fuck you, asshole, trying to rip me off. Fuck your nice day.


08-23-15 | Choose Your Own Adventure

A contractor comes to your house and does like 15 minutes of trivial work, and hands you a bill for $300.

Do you :

1. Say "thanks" and just pay it like a little bitch.

2. Make some snide tacky passive-aggressive offhand remark about how you "wish you had an hourly salary like him" ha ha and then still just pay it like a little bitch. (spoiler : you're fucking scum if you choose this one)

3. Say no, whoah that's crazy, I'm not paying that. I'll pay you $100. Wrangle and engage and don't be afraid of being uncomfortable and wind up paying $150 or something more reasonable.

4. Just slug him. Cold cock him. Hide the body in your furnace.

Hmm. Tough one. Maybe #4 ?


I have this incredibly difficult ideal of how a "man" should be. I can never live up to it and it makes me constantly disappointed with myself.


08-23-15 | Key Kerfuffle

Oh my. Interesting day.

So I went into RAD to work this morning. On Sundays the building is all locked up, with swipe-card access to each floor. (and people on other floors can't let me onto our floor)

This has caused me problems in the past. For example, you used to be able to get up the stairs using just a key (no swipe card), so I never used to carry my swipe card at all. If I came to work on the weekend, I would just take the stairs. No problemo. So some months ago, I drove all the way from fucking BFE Columbia City to Kirkland, all excited to do a big day of weekend work. I go up the stairs, and my fucking key won't open the lock. ARG WTF WTF. They'd added a swipe-card reader to the fire stairs, and of course my swipe card was back home, and I was fucked. I WILL KILL EVERYONE!!

One of the confounding aspects is that our floor is totally deserted on the weekend, so I can't just wait for someone else to go to our floor and slink along with them. Frequently nobody goes to our floor all day.

So anyway, I go in today using my swipe-card, and I work a bit in the morning. Lunch time rolls around, so I head on out to get a bite, as I normally would. I'm careful to carry my keys because the door to the office locks behind you. Just as I leave the building I realize that I have my keys and not my swipe card. I left my swipe card and my phone in the building.

FUUUUUUUCK !!!!!!

Now, on most Sundays I would probably just say "fuck it", go back to my apartment, and wait for Monday to roll around, when people will be there and the building will be open and I could just get my stuff then. But today I have to go to Portland in the evening, so I really need to fucking get back into the building.

How? First idea is that the neighboring apartment holds some coworkers. I don't have a phone to call them, and I don't know the number of anyone at RAD by memory, so even if I borrowed a stranger's phone, I can't call anyone. So I have what I think is a brilliant brainstorm - the call box on the apartments! Their name will be in there, I can call them, ask them to let me in the building. Gold! So I walk over there and check the call box.... and .... not in there. Bastards! They didn't register for the call box.

And then an idea hits me. That morning I opened the door of my balcony, as I always do. (if your office doesn't have a balcony, fucking quit. just quit that shit). If I could get on the roof of the building, I could jump down to the balcony of our floor. Or I could get someone on the floor below us (which is full of people in a typical video game perpetual death march crunch) to let me out to their balcony, and I could climb up from there.

This is a good idea. So I go into the fire stairs and climb up. First question - is the roof access hatch locked? No it is not! Score! I'm on the roof mother fuckers, it's beautiful out (hazy from fire). And I have perfect access to our balcony. But my god, it's a pretty long drop. It's a double-height ceiling being the top floor, there's all the extra space for the utility ducts to run above our office. It's like a 12-16 foot drop. Grappling hook? Rappel down? I think I have some rope in my apartment.

Hmm. Let's not do anything hasty. I sit down and have a ponder before going for it. The door to the balcony from my office is open, so I might be able to use that to break up the drop. Unfortunately the walls are just slick glass, not much to hold onto.

Fuck it, let's do it. I lower myself down, foot on the top of the door, balance on the top of the door, then drop down the rest of the way.

I AM THE KING OF THE UNIVERSE! I am a fucking ninja! I enter buildings like no other! Who can combine my code-writing and wall-scaling abilities? No one!

(well actually, probably Casey (and checker, and Sharp, and Ken, and etc.); actually algorithms and climbing are a very common combination, probably a lot of people, so yeah, not special, but hey it felt good in the moment)

It was sweet.

So I get my stuff and pack up, hop in the car and head on down to Portland.

After hours driving, I reach my Portland apartment. Pheww. Long stressful day, I'm glad to be done with that. Let me just grab my keys to my Portland apartment...

ruh roh. I left them in Seattle.


08-23-15 | Books

I had my coffee this morning, as I always do, sitting quietly by the window. I realized that I don't have any nice picture books to browse any more.

I used to always flip through a picture book during my morning coffee. It's too soon to dive into a real book, but I like to see something. I used to have nice books, like Taschen art books or architecture or photo collections, stuff like that. I had them because N would get them for me from the library.

It's one of those things that I really love, but I'm too lazy to do it for myself, but when I have them I really enjoy them. It was a really sweet thing she did for me, getting me those books to browse during my morning coffee.


I would love to get a printed magazine once a week containing the "Best of the Internet". There's lots of good stuff out there, but I want it curated and consolidated so I don't have to click around in this fucking awful demon box. And I'll pay whatever it costs so there can be no ads, thank you.


08-23-15 | Logical Consistency

"I think homosexuality is fine, I just don't like the gays much myself. No I don't have any gay friends and don't want any particularly, I just don't lik the way they act, all flamboyant and not manly. But it's fine what they do privately." And god forbid your boyfriend might like something up his butt. OMG, Jaden, no way, that's so gay!? I will not put anything up your butt, gross! God forbid a man accidentally rubs his bare arm against another man when sitting beside each other on a plane.

Yeah, you're a homophobe. You're anti-gay. You're trying to do the right thing, but actually inside you don't view them as equal human beings.

"I'm not racist. I just prefer to only date white men. It's my personal preference. I'm not attracted to black men."

Yeah, that's racist. It's your "personal preference" and you have a right to your choice to just rule out a whole set of people based solely on their race. I'm glad you don't believe in discriminating against them legally, but you're racist.

The idea that you can have a preference for one race or another, and that it's fine for it to be your personal taste, which you should have a right to - it's a load of shit.

"I'm not sexist. Of course I only like to date and look at incredibly beautiful women. I prefer to watch movies and TV shows starring hot women. And the first thing I notice in a woman is whether she's fuckable. If I want to bone her, I can hardly focus. But that's just my personal preference. I believe women should have equal rights."

Yeah, you're sexist.

"I'm a feminist. I just love being submissive for sex, and taking pictures of it, showing myself on the internet. I love to be choked, tied up, pissed on. It's my choice, it's empowering."

Uhh, no. Just because you choose to objectify and denigrate yourself as a "butt slut" or whatever doesn't change the fact of it.

And that's all kind of okay.

This whole idea that it's okay to have your personal tastes, and that that can in any way fit into a sex/race-blind society is bullshit. The current liberal ideal is logically inconsistent.

So just do whatever the fuck you want. When a theory is logically inconsistent, all of its conclusions are meaningless.


Of course what's actually okay, and what everyone should be saying is :

Yeah, I'm kind of racist/misogynist/homophobic in my heart. Subconsciously and deeply inside, I know that I have those prejudices. But I'm trying to act without letting those cloud my behavior too much, and I certainly think that the laws and power structures of the world should not discriminate.


08-22-15 | Cant

I was on this horrible first date a while ago (*), when this girl tells me that she can't swim the standard strokes (crawl and whatnot) where you breathe out under water because her lungs are not strong enough to push her exhale out. I'm like, "uhh no, that's nonsense, any problem you have with that is psychological", and she's like "there's the force of the water that pushes back, I'm just too small". Uhh, no. Obviously that date didn't go well.

But there are all these people who concoct these insane fantasies about how they are incapable of doing something, just as an excuse to not do it, or to explain why they aren't doing it. Oh, I can't travel because the pressure in the airplane affects my ears.

Swimming is a common area for these made up "can'ts". I guess because people who can't swim are afraid of the water but don't want to admit that. A very common one is "I can't float". Bullshit, you can float. People love to make up explanations "I'm too skinny to float" or "I have too much muscle" or sometimes confused people will say "I have too much fat" or "I'm too big". Nope. First of all, I'm obviously way, *WAY* more dense than you are and I float just fine. And in fact you could be 100% muscle and still float fine. Floating is about holding air in your lungs, and about small movements with your hands and feet, and every single human being can do it. Are you a human? You can fucking float. What you should say is "I don't know how to float". (possible exception : if you had one lung removed and the remaining one is collapsed, and you're on a full time oxygen tank, and you're missing one or more limbs, okay maybe you actually can't float).

In some cases it just comes down to being lazy and not wanting to do the work to get decent at something, and so pretending that you just can't. A really common one is "I can't sing". Bullshit. Almost anybody can learn to sing decently. You just have to put some work into it. Get a mic to monitor yourself, take voice lessons, work on pitch. You fucking can sing. Oh, just because you tried it randomly without any practice or training, and you weren't just instantly amazing like a prodigy, that means you'll never try it again. (same thing with "I can't dance"). Just because it's not easy for you, it's not natural to you, you're going to give up on ever doing that in your whole life.

That's so sad and pathetic and childish. Not everything is easy for everyone. Sometimes you have to actually put some work into things.

(* = it was a strange experience being on a date with someone who clearly didn't like me. I guess it hasn't happened to me that often, or I've been with people who were better at faking it or making an effort. On what I consider a "normal" date, there's smiling, touching of arms, eye contact, focus on each other, leaning in. I guess obvious signs of interest and flirting. This girl was leaning back, looking around the room, just so obviously disinterested that I wanted to say "hey you're under no obligation to stay here". It was a revelation, like oh this is what bad body language feels like. It's not a nice feeling. I think I do that to people a lot.)


08-22-15 | Uhh No

I told X that this last year has been an incredibly horrible ordeal, I said it was "way worse than you could imagine". X says, "oh no, I can imagine, divorce is so horrible, you have the financial entanglement and heartache and blah blah".

No. You fucking can't imagine, you can't *remotely* imagine. You're not even fucking close. When I said "you can't imagine" I was actually trying to convey information. Information from a smart person means "I know what you think you know about this subject, and I am telling you something that does not match your expectation". I know what you fucking imagine it to be like, what normal people who haven't been through it imagine it to be like. You imagine lots of stress and fighting and soul searching and just headaches and hassles. It's SOOOO much worse than that. It's deep despair and depression and insecurity, total loss of reality, loss of yourself that you start doing really strange things, total loss of hope, feelings of pressure to do it or not do it, suicidalism, not knowing what to do or where to turn, fear of everything, becoming frail and weak, just SOOO much worse than you can ever imagine. That's why I fucking said it, don't tell me you can imagine.

Related thought.

There are some people who have been through divorce who talk about how bad it was, but they talk about the divorce itself as being the bad part, or the custody struggle or something. Those people did not actually have bad divorces. In fact they had almost nothing wrong with their relationship before the divorce. Those are the people who just got divorced because they were bored.

If you actually had a bad relationship, a true problem, then the divorce is a fucking relief. It doesn't matter how awful the financial fighting is, that is NOTHING compared to being in a truly bad relationship. That is the fucking light at the end of the tunnel. At least it's almost over! Those people are fucking pansies who had a cakewalk.

(when someone tells you they're getting divorced, don't say "I'm sorry", say "congratulations!" ; at that point, the bad part is over or ending)

Related thought.

I've had a few people try to sympathize badly. Like I say something about going through a horrible divorce, and they give me some shit about "oh, I know how hard that is, I just had a bad breakup and it really stung me". Oh, you just had a bad breakup? How sad for you. So you had a breakup with your fucking boyfriend/girlfriend? Oh, boo hoo. So you had to untangle your joint bank accounts? No? You had to change your name back? No, not that either? You had to go through court for months to dissolve your relationship? No, you just moved out in one day? And you have a child together that you agonized forever about whether it was okay to separate their parents? No? And you were abused physically, or cursed at and put down, or gas-lighted and made to feel insane, or stolen from, or had your confidence shattered day after day? No, none of that? And you have to continue to see your abuser for the rest of your life because you have a child together? Oh, you can just be done with it and move on and never see them again?

Great, yeah I totally sympathize, I had really hard breakups too before this, breakups that I thought tore my world apart. And no, it's not fucking remotely similar. I see now how insignficant and trivial all my past breakups were; as much as they hurt at the time, after a few months of pain they were just over and I could start my life anew. It's like I just told you that I have incurable cancer and you said gosh that's rough, I just got over a bad cold. Um, yeah, that's pretty insulting.

When I was young and super-smart and also super inexperienced in life, I used to think that I could imagine what anything was like just using my intellect. All these really dumb, stupid, just bricks for brains older people would tell me "oh no man, what you need is life experience, until you live it, you can't appreciate it". And I'd think bullshit, you're just trying to make yourself seem more valuable, claim that your life wisdom gives you something that I can't grasp with my brain. And I thought that was shit, you know, I've read Tolstoy and I've seen "Breaking the Waves", I know about life.

Now I am one of those older people, and I see the younger people and think "they're so naive; they think they understand, but until they live it, they have no idea". They think their little relationship is so important; or that they're going to work really hard in their new job and someone will just hand them promotions, ha! Silly young people.

I don't know if the old "wise" people were actually right, or if I've just become wrong like them and self-agrandizingly value what I now have. The one thing that remains constant is that whatever position I am in, I believe is the right one. When I was young, I thought the young smarties had all the answers; and when I'm an old wise one, I think the old wiseys have all the answers.

I guess the real point here is that it's a bad idea to ever try to compare your pain to someone else's. I know that people just do it as a way of trying to relate, but there's not really anything good that can come of it, and it can be quite insulting. When someone tells you about their bad experience, don't try to be like "oh yeah, I went through ..." or "I can imagine ..." or any of that. Just listen and honor their experience and don't try to relate it yourself.


I need to get better at just letting someone say what they want to say, without judging it or them or getting too hung up on the facts.


08-21-15 | Well Shit

Well shit. Literally. Kirkland has a fecal coliform alert for the lake so I can't swim here anymore.

The past few times I've swum near Kirkland I've gotten really itchy skin. ("swimmer's itch" probably).

(sort of irrelevant in the short term because the air outside is poisonous anyway due to massive forest fire smoke)


08-19-15 | Modeling

Wow. For the past few weeks I've been doing a lot more pullups and hanging from bars and such around Emmy, so today she climbs up the monkey bars and grabs one herself and swings on it. (pretty fucking amazing for a 2 year old, my star!).

I'd never made any effort to encourage her to do that or teach her, it must have just been from seeing me do it; she must have been secretly studying me when I wasn't even aware of it.

It was just such a hit-home moment of how strong behavior modeling is for kids. What a parent does, the kid sees and picks up and learns to do the same.

You can have all these ideas about how you want your kid to be, and try to teach them that, but in the end the strongest effect will be what they observe you doing, how you live. If you're miserable and hate life, they will learn to do that. If you crab about everything and condescend, they will learn to do that. If you work too much and are a perfectionist, they will learn to do that. If you throw big fits and yell at people, they will learn to do that. If you have no friends and are afraid of life, they will learn to do that.

(they may also counter-react later and specifically try to *not* be like you, but they will have at least seen that it is a normal way to be; that's a way that humans are)

There's just so much information conveyed during all that time when you aren't specifically communicating with your kid. There's like these few hours a day when you are really focused and think that you are teaching them so much, but then there's way MORE hours when they are just observing you and learning from seeing how you behave. That's fucking terrifying to me.


Related thought.

Emmy is super advanced and amazing for her age. Sometimes Tash & I would see these other parents that we thought were "doing it wrong". The wrong-doers would have a kid and then immediately hand it off to a nanny and day care. They did almost no parenting. They'd just go back to their jobs, their friends, going out at night, sleeping well. We'd see them all happy and fit and well-rested and think "fuckers" in that jealous way.

But we'd see their kids and think ourselves vindicated. Their kids are usually brainless lumps. The wrong-doer parents literally plop the kid into a swing, the kid can't even hold itself upright and just tips over to one side, its eyes don't even focus it's such a lump. They push it around. Meanwhile Emmy is in the next swing over doing the first hundred digits of Pi in reverse, and we think "see they're doing it wrong".

But in the long game, I'm not so sure. Yeah yeah engagement in early years and lots of reading and challenges and so on is important for development of intelligence. But intelligence only makes people unhappy; it's highly over-rated. What's also important is modeling good adult behavior for your child as they get older and become aware of it. From like 5-15, what does your child see? Do you have friends? Are you happy? Do you have an active social & cultural life outside of the home? Do you function well in the world, are you unafraid and fit in well?

That stuff is super important, and the "wrong-doers" are often doing that better. The lump kid will catch up well enough; maybe it won't be solving quantum gravity, but it will be able to do "social marketing" just fine, and it will learn from its parents how to throw a good party, which is more important.


Back to modeling. It's such a huge advantage to see your parents doing things as a child. To learn how to do them, but also just to see that it's possible. To see them having fun for themselves. To see your dad slug someone who's being an asshole. To see them seize the moment and go for their dreams, starting a company or quitting a job or performing in public. To see them have friends and fun.


08-19-15 | The car scrape

I thought that I scraped a parked car as I drove past it. (the fact that I wasn't even sure if I did it or not is a problem; it shows how fucking out of it I am when I drive these days (*)). So I left a note.

After leaving the note I realized that was really stupid. There's zero possible upside for me leaving the note, and lots of possible downside. He might claim every bit of damage on his car from many years was due to me. He might refuse to let me pay out of pocket and insist on going through insurance (thereby fucking me because insurance is a giant scam). Just lots of ways for it to be really bad for me. I'm such a fucking sucker and martyr, oo let me do the right thing. Here, universe, here's my asshole for you to rape; I'm going to leave it up to you to only rape it if it's a real emergency, I trust you won't take advantage ... OOF!

(* = I'm having this problem when I drive now. I'm no longer driving like a maniac most of the time, and as a result I'm fucking bored and I zone out a lot. I'm trying to be calm and just take it easy when I drive, and it's SOOO boring. So on this day, like many recently, I'm driving along zoning out, and I hear a "thump" and my car jumps a bit, and I'm like WTF !? was that a pot hole? or did I just run over a kid? Fuck! So I got out to look and saw this parked car was all scraped, but there was nothing on my car, so I was a little perplexed, and left a note anyway. Back in my youth when I drove like a maniac this shit never happened, because I was on hyper-focus the whole time. Two hands on the wheel, no distractions, no conversation, eyes on the road at all times. No eating in the car, certainly no phone. Like a fighter pilot. Scanning, scanning, detect all possible threats (pedestration to the right; car to the left has a driver on the phone; pot hole at 3 o'clock). But that's only fun when you're racing around shooting gaps.)

So anyway.

It occurred to me that we all respond wrong when someone leaves a note about hitting us. Typical response is "gee thanks for leaving a note, and now I'm going to fuck you" (by charging you, by reporting it to insurance). That's wrong.

The note leaver has done something much better than someone who just hit you and ran off. The outcome from the runner is that they pay nothing, so the outcome for the note leaver should be *better* than that. You should buy them a bottle of scotch and not report the accident. It should be "gee thanks for leaving a note, I'm certainly not going to report you to insurance because that would just be punishing a good deed". Just report it as a hit-and-run.

The same principle goes for a lot of things. Basically in general we're all pedantic fuckers, we're like judgemental school marms who want to punish people who admit flaws.

Like if you ask a potential lover if they have any STD's, the assholes will all say "no" (regardless of the truth) and they will be allowed to fuck you. If somebody says something like "I had gonorhea but it was some years ago and I took the full course of antibiotics", the response should be "wow thanks for telling me, you definitely get to fuck me, in fact you can double fuck me, you can fuck me bareback you're so honest. You can fuck me and my roommate too.". They should be treated better than the non-admitter. But in fact that doesn't happen, it triggers "ew STD" response.


08-19-15 | Parenting yourself

So, lots of experienced parents will tell you that you should use cloth diapers, not disposables. They've seen from experience that cloth diapers prevent infections and sores, and lead to easier potty training.

The reason is that cloth diapers are just *worse*. They don't wick the moisture as well, so they soak the child and it feels terrible for the child, which helps the child to develop pee-awareness and complain, so you change the diapers quickly. There's a lot less just soaking their diaper and not saying anything, and letting the child sit in a wet disposable forever, which is what causes problems.

So in every objective measure of function it works *worse* but the result is better.

It occurred to me that we can be pretty good at seeing this type of thing for our children, but we're terrible at it for ourselves. When its our own life we rationalize, oh this way just works better, objectively look, it's better, so it's okay.

I think there are a lot of these in our lives. Smart phones, GPS and electronic maps, comfortable homes. Things that are objectively better but make life worse. When it's ourselves we just always choose the "better".


Similar thing.

Emmy sleeps pretty well and easily if she gets a ton of exercise. Like two playground visits in a day, with hard running, really work that kid out. She needs to get exhausted, and then it's way easier on me. If I don't work her enough, it will be hours of flopping around and getting out of bed and fighting over bed time. It's not worth it to try to deal with that, just tire her out! (*)

It occurred to me that almost exactly the same thing is true for me. I've always had bad insomnia, and one of the things that really helps is exercise. Not just a gym visit, but some really fucking hard exercise, and maybe even twice in each day. I really need to get wiped out to sleep.

But I rarely do it to myself. It's evening and I haven't exercised yet and I feel tired and shitty. I know I won't sleep well, but I say fuck it, I don't feel like exercising today. When it's someone else, I can see the greater good of just doing it, but when it's myself I have this stupid idea that I can choose what I want to do.

(* = oh god, fuck winter, fuck winter so fucking hard, I'm so scared of not having enough activity for her in the winter)


08-19-15 | Blue light

Just realized something.

Everybody knows that red & blue lighting is cool and sexy and all that. It's great for rock & roll, great for strip clubs. Red light is the stereotypical bordello light in movies (not sure exactly why; maybe historical? it was easy to just put a red scarf over a lamp, but you couldn't do that with blue?). Tash once told me that "people think red light is the sexiest light, but it's actually blue". And she was right, my god she looked incredible in blue light.

Anyway it finally occurred to me why. It's all chroma, which has various affects. We're used to seeing objects and recognizing them primarily from their luma; so seeing something in chroma just gives you a mental shift that this is different. It's not like normal outdoor daylight vision, that instinctively short-circuits into predator recognition, motion detection and all that.

Blue in particular is interesting. It's a massive low pass. Human vision of blue is actually quite sensitive to intensity, but the spatial resolution of blue perception is terrible (much less than red, for example). (this is one of those things that the standard simplistic YCbCr downsample heuristic in compression doesn't capture well at all; with blue you actually need to preserve the level *better* than most image/video formats do, but you could preserve even less spatial detail than they do (normally; this requires global analysis to do properly)).

Key point being - seeing someone in blue light is like seeing them all smoothed out, like a real life air brush. It makes everyone look good.


08-18-15 | Hangouts

Jesus christ Hangouts is so fucking insanely broken. Everyone knows it so this isn't an interesting rant at all, but fuck it's frustrating.

I use Google Voice and you'd think hey, of all the fucking SMS options out there, maybe fucking Google Hangouts might integrate decently with that, but no. It's constantly swapping me between my carrier # and my GVoice # and it can't fucking figure out that those should be the same Hangout, and how about a fucking option to "reply with my gvoice id" and the option to do that either always or prompt.

I have Hangouts on Android and Gmail but they aren't fucking sync'ed; I can't continue conversations one from the other, I can't get hangouts media from my phone to my PC, etc. etc. (yeah yeah I know I can apps for that)

Fucing images and video gets all confused and fucked up, sometimes it goes via Hangouts, sometimes via SMS/MMS, and those get treated differently. I get left wondering, WTF this person says they sent me an image but I see nothing, oh it's in the other fucking type and it's off hidden somewhere else.

FIX YOUR FUCKING BASIC SHIT my god. Stop changing maps and just make some fucking basic shit work.

Android in general is awful at data management; I have photos and videos from different sources and trying to find them and browse them is a nightmare. To get a photo from fucking Hangouts into Google Photos, I have to do something insane like email it to myself, then upload it to photos from my PC, it's fucking retarded. (oh hey, you can get an App for that - FUCK jesus Google fix your shit, I shouldn't need an app for that)


08-17-15 | Like its my fucking job

I check @nothings to get updates on what's interesting in the world outside myself.

Wow! Lots of great links!

What I should do : save them, and slowly read them over the next few days, when I have idle bored moments, in my evening hours when I have nothing much to do. Take my time, think about them, enjoy it.

What I actually do : speed-skim them all immediately like it's my fucking job, and I'm way behind and need to catch up. Like I'm going to be quizzed on the bullet points in 5 minutes. Cram cram cram. Okay, all done. Consumed all that media in 5 minutes and now I have nothing to do again.


08-14-15 | Be Alone

1.

Say you email with a girl. She seems great. Don't get excited until you see a picture. Be ready to just drop it. Say you see a picture, it looks good. Don't get excited until you see a few more, it might just be a good photo. Say you see several good pictures, don't get excited until you meet in person. Say you meet in person and she seems nice, don't get excited until you hear her talk and learn a bit about her; she might be a moron or a nut or whatever. So everything seems fine, don't get excited until you see her around other people, until you see her real personality start to come out. So that all seems fine, don't get excited until you see how she really treats you, if you're down and need help, or if she's having a bad day. Hold off, don't start to fall in love, don't make yourself vulnerable. Say that all seems fine, hold off until you find out if she's got dark secrets, tons of debt, a criminal record, a psychotic past love life. Keep holding off. Say that's all fine, wait until you see how she treats you when you're under stress, say you travel together and lose your luggage. Say that all seems fine, keep holding off, don't let your boundaries down yet! Wait until the initial blush of attraction wears off and you start to see her without crush-goggles, does she still seem good? Be careful! Don't get your hopes up! Don't get committed and vulnerable until you know for sure!

Okay, now you can start to open up ... oh, it's too late you already broke up.

(unnecessary explanation : I understand the idea of having boundaries and moving slowly and all that, but there's almost no point in a relationship where it actually logically makes sense to trust someone. You have to just make a leap of faith, pretty early on, you have to decide to *try* trusting someone way more than you really logically should, key point being "try" but still be ready to cancel it and call it off if it turns out you were wrong)

2.

Whenever you express need for a partner, people love to tell you that you don't need it. Like if you say "I want to go canyoneering, but I wish I had someone to do it with" , people will tell you this "wisdom" that you have to just do it yourself, if you really want it, just go for it, don't wait for anyone else. Or if you want to get in shape, and it feels like it would be really fun to have someone to do it with and mutually support each other, people will tell you that you have to just do that from within. Or if you want to try something new, make music or perform or whatever, you wish you had a partner, or even just someone to encourage you, people will tell you that the greats find that strength and inspiration inside themselves to just go for it.

That sounds good for a minute, it can make me say "mm-hmm", and in fact I've given that kind of advice myself. ("you have to love and support yourself; create a caring environment for yourself inside yourself" and such). There is something to it, in the sense that often people are just being weak pussies hoping someone else will do the hard willpower work for them, and they just need to fucking step up and do it themselves. There's also the issue that if you sit around waiting for the right partner to help you, you might wait until you die.

But it's also kind of bullshit. Sometimes you do need help from someone else to become your best self. You can't do everything alone. Even the greats often (usually) had someone to inspire or encourage them; or perhaps it was a collaboration that really unlocked their best work.

And how depressing to treat life as a challenge that you have to face alone. How much nicer to connect to another human being and help each other.


08-14-15 | Short Rants

Being in cities with urban noise and garbage trucks and street lamps and all that is kind of fucking awful. It's not natural, it's not human. It should be dark at night. I should walk out of my mud and grass cave-house and see only wild land. I should wake up to the sunrise. (and if I ever do see other humans in the distance; I bring in my sheep and sharpen my spears)

Ceilings need to be high enough that you can have a ceiling fan and not fucking smash your fingers in it when you reach up!! (I used to do that intentionally as a party trick; you can stop a fan by just putting your hand in it, and it freaks people out, but much like oversteer it's not so fun when it's unintentional).

Intentional oversteer = woo hoo
Unintentional oversteer = fuck fuck fuck, oh thank god (brown pants)

Ceiling fans are kind of bullshit. I mean they're lovely as just atmosphere. Some place like Saigon in a big cafe veranda, high ceilings and arches, and big slow-spinning ceiling fans. Lovely. But for actually circulating air in an abode, pretty useless. What you need are huge input & output fans. The fucking tiny exhaust fans we have in new construction are total garbage too, they just pull no air and make a ton of noise. The fans need to be 24 inches, and the exhaust tube needs to be 12 inches (not the typical 4 or 5 which flows no air) (and the tube should not be longer than a few feet; preferrably the fans are just directly in exterior walls). You need input & output fans on opposite ends of the domicile to flow air across. This shit is important. The standard American shoebox apartment is disgusting; it's impossible to move the air in the interior side of it.

Blinds are awful. Useless, tacky, annoying, just fucking gross. They don't block light. It comes through the gaps, and all around the edges. (and now people thing it's cool to hand things like roman shades on the inside of the window frame, like blinds are; fucking hell, let's copy something fucking broken because we're all morons). They clatter and smash around in the breeze. They get tangled and the fucking string gets messed up, and oh god dammit I just wanted my window open and now I have to figure out what the fuck happened to this bit of string. They're fragile, they get easily ruined by babies and dogs and clutzes who lean on them. In contrast, curtains are fucking lovely. They block light, they're simple, robust, hard to damage, quiet, and attractive.

99.99% of Americans hang their curtains wrong. You don't fucking hang curtains from the window trim. A) trim is not structural, B) it's ugly, C), it doesn't block all the light, the curtains need to be wider to do that, D) when you open the curtains you're still blocking a lot of the window. The correct place to hang them is quite a ways to the side & above the window (at least 3 inches above the top of the window and 6 inches to each side). (apparently this improper curtain hanging pisses off a lot of people; a quick google image search shows lots of uptight nerds like me drawing instructional diagrams on how to do this right)

It's kind of weird that back in the glory days of curtains, they weren't really necessary. I mean back in the 19th century, people knew how to hang some fucking curtains. Big glorious beautiful draped curtains, that were properly hung well surrounding the window, with hold-backs and valences and so on. But back then it wasn't bright as the sun outside your window at night. It was fucking pitch black outside at night. So why all the serious curtaining? Nowadays we have fucking car headlights and street lamps and shit like that which make it actually necessary. A bit weird.

(I guess they used curtains for insulation in those olden days, not light blocking, which is why they always had good valences, often fully closed valences like awning, which stops the "stack effect". Modern curtain hanging without a closed valence is almost useless for insulation)

When super-rich people give to charity, it's not really charity. It's just like, we ran out of other ideas on how to spend our money selfishly. They didn't give millions to charity *before* they bought their tenth house. It's not like they're sacrificing any quality of life. They didn't say, you know, we could just live like normal middle class Americans; that's all the luxury and comfort that any human being needs, really. We could live with a normal leather Ferrari interior instead of the elephant-testicle leather interior. No. They got the elephant testicle leather. And then one day the wife says "hon, I'm bored of having money bonfires, let's just give it to charity". Well, okay. But I don't want to help Africans or any bullshit like that. Let's give it to a charity that sends rich people to space. What we really need is to find new ways for the super-rich to blow cash, because they've run out of ideas.


08-14-15 | Life Tips

1. Butter your toast before applying peanut butter. (and then salt it, of course)

2. Put salt & pepper on your savory bread & butter, as if it were a steak.

3. Keep jam in the fridge, but microwave a little bit before applying to toast so it doesn't cool down the toast.

4. Keep sliced bread in the fridge, it keeps way longer and doesn't hurt it. (make sure the bag is closed tight and never allow it to sit out and come up to room temperature) (you can even freeze sliced bread and toast frozen slices, but fridge bread lasts long enough that this seems really unnecessary)

5. Keep bakery bread in a paper bag, then wrap that in a (porous) plastic bag. The old grocery plastic bags that you can't get any more are perfect.

(I promise these aren't all bread related)

6. Eat fucking bread you fucking gluten-faking prima-donnas

(okay that's it)

7. The best stubble-length shaver is hair clippers. Beard trimmers are fucking bullshit, way too weak. All the cordless shit is fucking bullshit. You want a cord, and you want some fucking heavy duty fucking 100 Amp sheap-shearing shit. Don't get a cheap Conair or whatever (I use an Oster "Fast Feed"). The great thing about stubble-shaving is you get zero iritation or ingrown hairs.

8. Beards are fucking gross. If you have one, you might not realize how bad it smells because you're used to it (noses are very good at aclimating and not registering something that's in their face all the time). It reeks. You need to wash it with soap after every meal. I'm serious.

9. A speedo + board shorts is a much more comfortable bathing suit than the traditional mesh-lined male swimsuit. Those mesh-lined things were made by someone who hated testicles. They're fucking nut meat grinders. Put a little sand from the beach in there, stir it around, and you get nut hamburger. Of course if you're not a coward or a homophobe you could just swim in the speedo and take off the board shorts (you pussy), but even failing that it's way more comfortable than the traditional male suit.

10. Men only need one type of sock. Just buy 10 pairs of the same sock. Now don't pair them, just toss them all in a drawer together. Saves tons of time finding pairs, and makes the socks last longer cuz you don't ball them. Pairing socks is for suckers.


08-14-15 | Losing The Plot

Wow, I'm in a bad place. For weeks I've hardly slept. Last night my insomnia finally won the battle completely and I didn't sleep at all.

I've been descending into this really tense, raged up, frustrated place.

This morning I found a little perspective.

Life is not pleasure. Life is fucking agony. You just have to keep working. Being single in particular is one fucking long train of awfulness. Don't expect it to ever be okay. Just keep working.

You have to constantly be taking care of yourself. Not because you enjoy it. Just because you have to in order to keep going. Go outdoors and sit quietly for a while. Go to yoga. Hang out with friends. Go to the gym. Go to bed early. It sucks, it all fucking sucks. Do it anyway, keep doing it day after day. It's your work.

When you're feeling awful and bored and lonely and frustrated - it just means you haven't been doing your work. Take a deep breath and do your maintenance.


Days later.

Life is grim. I can :

1. Work. Just fucking smash my head into the brick wall of drugery that is the 95% of software work, doing all the unpleasant finishing to actually make a product.

2. Descend into self destruction. Lie in bed and drink and watch TV. Or chase sex. Never actually feel any better during, and then feel much worse after.

3. Go fucking do some maintenance. Go for a swim or some shit. I don't want to, it will suck, I'll hate it, but then I know I'll feel better afterward. Fuck.

4. Piss about doing nothing, browsing the internet, doing "chores" that don't really need to be done. Neaten up the house or whatever. Just waste time until you die.

I'm pretty sure those are the only options on any given day.


Days later.

Some days I will make a big effort to be the person I want to be. Smile more, be forgiving and empathetic, talk to strangers, reach out to people.

I do it for two days, and I don't get anything out of it. Nobody fell in love with me or offered me a million dollars.

Well fuck that. I guess there's no point. Back to being surly.


08-13-15 | Liberal Self Sabotage and The Wrong Issues

The BLM disruption of Bernie Sanders is so fucking stupid and sad. First of all, going after the weak because it's the only candidate you could do that to and get away with it is fucking lame. But mostly, god dammit, he is the only one that's actually on your side. Liars like Hillary will pander to "race issues" but Bernie is the only one that's actually serious about fixing anything.

The way to actually seriously fix race issues in America is through economics and voter equality. Getting the massive poor population (many black) out of permanent poverty. Changing the electoral system so that it really is one person to a vote, not one dollar to a vote.

Liberals can be so fucking stupid. Some candidate (like Bernie) may have really the right general idea and great intentions, but oh they didn't say the right thing about fucking Salmon preservation, or oh they support fucking mandatory vaccinations, or oh they didn't say enough about race, fuck fuck fuck. These fucking little stupid issues (*) are distractions. They splinter the electorate. They make everything too focused on these special-interest narrow things. They take time and energy out from what we really need to be working on.

(* = I know, I know, they are important issues; they're particularly important to the group that cares about them; if it's Native rights or Trans rights or whatever, yeah yeah it's important to you. But you have to see the bigger picture. Focusing on the issue of your own little group is what is killing the American democracy. It makes you easy to manipulate. And if you first fix the big issues, the surface ones will come along for free.)

Maybe I shouldn't say big/small issues, rather it's an issue of *root* and *leaf* issues. Or structural vs non-structural issues.

We need to fix the structural issues first.

The real deep problem is that someone like poor black have very little political voice, while a handful of the super-rich have massive political power. This is the problem that actually matters that everyone should be up in arms about.

The evil powers of the world will let you pass things like gay marriage, because they really don't fucking care. Yes, the Republicans fight it just as a way of pandering to their nut-job voter base, but the real powers don't care. The real powers control both the Republicans and Democrats, and we hardly even hear about the issues that they oppose, because they have no chance of ever passing. Those are the issues that we need to fight on.

Make all corporate political speech illegal. (personally I think we could make *all* corporate speech illegal, not just political, eg. including advertising of any kind, but I'm a bit of a nut; let's start with just political speech). This includes campaign contributions and lobbying. There's absolutely no reason to allow this, and there's nothing in the constitution giving free speech to corporations. Gone.

Pass serious campaign finance reform. Eliminate all PACs. I know this will also kill some good political groups, but that's the price we pay. Limit contributions to something really low, like $1000 or less, and only from individuals.

You also need to stop political spending by rich individuals. This would require another constitutional ammendment to put a limit on free speech.

Get politicians out of the corporate revolving door. Pass some rules about regulators can't go in and out of the businesses they regulate. Basically all of our politicians currently take huge bribes, in the form of board positions that they get after they retire. We need to stop that.

If you get money and corporate control out of politics, then everything else magically follows easily.

For example, we desperately need a right to privacy and a right to ownership of your own personal data. Corporations should not be allowed to store anything about me, at all, ever! But this can never happen as long as corporate money controls politics. We can't push for that leaf issue. We have to push for structural change, and only then can the leaf issues change.

It's the issues where you think "that's impossible" or "that will never happen" - those are exactly the ones that really matter. The reason it's impossible is because the evil powers actually oppose them and will stop them, which is what tells you they're the crucial ones.


08-12-15 | I Wish

I went swimming in Kirkland two nights ago. As I'm getting ready to get in the water, some dick-weeds with a drone come over and ask if I can get out of shot because they're shooting some video.

What I wish I did : say no, actually, I won't get out of shot, this is a public park, and besides drones in public parks is illegal. If you like, I'll grab your drone and smash it up, how about that?

What I actually did : say yeah, I'll move my stuff and swim away quickly.

I was walking down the sidewalk towards these two large ladies who were talking to each other blocking the whole sidewalk. They looked over at me and made total eye contact, then went back to talking to each other. Didn't move an inch.

What I wish I did : lower my shoulder and just fucking bowl through them. You fucking saw me and had plenty of time to just take one small step to get towards one side of the sidewalk instead of blocking the whole fucking thing.

What I actually did : politely said "excuse me". (or on other days I might just walk around them in the street).

I pulled into a parking lot this morning and some fucker is standing there next to his car with his little yappy dog running around off leash. As I get out the little yappy dog runs right up to my door and yaps around my feet. Owner does absolutely nothing and give me a little "heh, fuck you" grin.

What I wish I did : soccer kick the fucking dog. No, not actually that at all, I don't want to hurt the dog, it's the owner that's bad. How about this - go over right next to the owner's face and start going "yap yap yap" and jumping up and down. Not very nice to have a beast come over and yap in your face is it?

What I actually did : grimace and ignore it and walk away.


08-12-15 | Kid

I went to the playground to do some pull-ups last night. I had to wait for all the kids to leave because the parents were shooting suspicious glances at me. It's so fucking awful being a single man, everyone treats you like a potential molestor or rapist all the time. (damn kids didn't leave until like 9:30 ; WTF kids, it's dark, go home! it's my turn to play!)

(any time I do something I'm angry that anyone else is doing it; like when I try to commute at 3:00 and it's already fucking trafficky ; "WTF! You people should all still be at work! You fucking slackers, get back to your jobs until 5 so I can have an empty freeway!". Or if I go hiking on a weekday and the trail is full of turds, "WTF!? don't you have jobs? get out of here! go to work!".)

At one point this little kid starts running around saying "don't get me!" , without the dad really saying "I'm going to get you".

Hey! That's what my Emmy says and it's adorable and unique. Your kid is not allowed to say that!

(kids cute sayings are copyright under the Seattle-Portland trade agreement which I signed with my fast track authority)


08-12-15 | Secret Protest

I believe that the urban/commuter cycling movement of the past 20 years has in fact been a form of non-violent protest.

I'm not talking about the rare overt protests (the Critical Masses and whatnot). I'm talking about your average bike commuter, and people like Whatever City Bike to Work programs.

They present it as this reasonable thing to do - "hey, bike to work! it's healthy and green!".

That's not actually what it has been though. What it really is is a kind of sit-in in a hostile deadly environment. It's been a kind of non-violent protest. Going and just trying to exercise your right to exist in a place where you are likely to be beaten up for it. Here's a more honest bike commute proponent :


Hey, bike to work!

Our bike infrastructure actually sucks and is really dangerous, but we hope that getting more people 
out there will encourage the government to make it better.

You will most likely be hit by cars and possible injured or killed.

We need you to go out there and try to exercise your right to be on the road so that you can take some 
beatings, and hopefully that gets us some attention and things get better.

We need to pretend that it's actually a sane and okay thing to do so that lots of people do it.

It's not a protest!  That would turn people off because nobody wants to do anything political.

We just need to trick a lot of people into thinking that cycling on the streets is okay, so that we 
get enough out there all the time as a sit-in against the maimings.

The thing is they didn't want to tell anyone that. If they said "hey, this is fucking dangerous and crazy, but we just need a lot of people to do it as a political statement to demand better treatment" - nobody would have done it because people hate doing anything good. "Protest? Not for me." But if you just lie and tell them, "hey sitting in the front of the bus is totally safe and fun, let's all go do it!" then you can get a bunch of people in your sit-in.


08-12-15 | Danger Danger

Sex sex sex sex.

I'm getting to the point where I'm ready to compromise all my beliefs for a woman. Oh, you think porn is disgusting? Me too, I never watch it. Oh, you're Christian? That's cool, I really respect that. You love to browse the web and pinterest products you want to buy for your dream suburban home? Great use of time, sounds fun. You like guns and voting Republican? Okay, just have sex with me. You want to jump right into a serious relationship; you need me to support you; you have zero skills or talents but consider yourself a special and unique princess; you want to move in with me right away. Okay, whatever.

That's a bad dangerous place to be. And obviously those are exaggerated examples. A more realistic settling is - I can't honestly debate about the issues because you get all offended, so I'm constantly just biting my tongue and watching what I say and censoring myself, neutering myself, to try to appease you and keep you happy so that we might tumble into bed.

"You're such a fucking asshole, I'm going to leave you!" - good me : fine, fucking go, right now, get the fuck out. desperate me : oh no, I'm sorry, please don't go. "I'd love to see you, but I'm real busy browsing the internet for the next ten days, maybe I could see you after that?" - good me : oh fuck you, I don't need to be strung along like this, you clearly don't actually want to see me. desperate me : oh, okay, yes please. "There should be an equal number of female professors in the sciences, and anyone who doesn't agree is a sexist and misogynist." - good me : bye bye. - desperate me : oh yeah, totally, pander hem and haw.


Unfair advantage.

If you work in the service industry, or retail or anything like that where you have daily contact with humans of the opposite sex, you have an unfair advantage dating. It's so fucking ridiculously easy for you, you spoiled piece of shit. You have no idea. Girls literally walk into your place of business and talk to you. Every day. Unbelievable. What a fucking gift. Even aside from dating, it just gives you contact with human beings, people to talk to and smile at, which is great for mental health and exposure and practice.

The most unfair is something like a contractor where you are invited into someone's home and get to spend time with them over a day or weeks, get to know them a bit in a natural un-forced way, and then can ask them out. How fucking easy is that?

Pretty much every girl I've met in the real world (excluding online) has come from a "cold open"; a barista or waitress or in a bar or just on the street - approaching someone that you don't know at all and trying to pick them up cold. It's fucking brutal, it's hard as hell. It's unnatural. I can't do it from my normal daily personality at all. I have to psyche myself up, almost play a character. I have to really be feeling my oats that day. It's a big leap outside of normal timid expression.


Of course the most unfair advantage of all is being female.

You spoiled bitches. You literally have men throwing themselves at you. ("literally" in modern American means "not literally"). You can just sit back and let the men come to you.

The worst thing about it is you have the gall to complain about it.

"Oh, waa, I walk down the street and men look at me". Oh yeah, that sounds fucking awful. To actually be desired by the opposite sex and for them to show it. Gosh, terrible. It's so much better to walk down the street and have people of the opposite sex look away and refuse to make eye contact because they're afraid you're a creep or a rapist. That feels wonderful. "Oh, waa, I can't wear my super short-shorts without everyone staring at me; I just want to hang my ass out and be left alone, you know?". Right. It must feel awful to show off your body and to actually have people notice it and affirm how desirable you are. I bet that's terrible for your self esteem. "Oh waa, I can't go into a bike shop without the workers asking me out on dates! It's so hard being a woman!". Go fuck yourself. "Oh waa, I made an online dating profile and got like 1000 messages and they're all losers". Yeah that sounds just terrible, actually getting contacted by people who would like to meet you, I'm so sorry. It's much better to be ignored or dismissed as a loser in a momentary judgement.


I think dream stories are the litmus test for whether someone wants to fuck you.

If you start telling your dream to someone and they immediately go, "whoah, whoah, stop; are you telling me a dream? You know even your mom doesn't want to hear your dreams. Save it." - that means they either don't want to fuck you, or they've given up hope of fucking you.

If they listen and act interested - yep, they want to fuck you, or they're holding out some slim hope that maybe it just might accidentally happen. Maybe if we go camping and it's really cold and we have to cuddle together for warmth, then something might happen. Better listen to this fucking dream story.


08-11-15 | Indoor Play

All summer I take my girl to playgrounds. She runs around with little kids, I play with her, but I also get to play myself. I do pullups and swing on the monkey bars; my new game is climbing up firemen's poles with no feet; etc. It's good for both of us.

In contrast, the indoor play places are all awful for parents. The kids get some nice big jungle gym to play on that parents aren't allowed on. They all advertise "free wifi for the parents, and a coffee bar!". Oh yay, I can sit on my ass like a fucking fat turd and poke at a tiny screen. Yay!

In the winter, I need some indoor play activities where we can *both* play. When she's older we can do things like go roller skating together, but it's too soon for that.

I also wish there were more gymnastics classes we could both take. I'd like to learn somersaults and cart-wheels too! Why do the parents always get stuck in the waiting room picking their asses?


08-11-15 | Starsky Wilson

I heard an interview with Starsky Wilson of the "STL Positive Change / Ferguson Commission" on NPR.

He was amazing. He did the thing that actually intelligent people do; he was being asked really inane terrible questions, and he would take them and turn them into something he could say something useful about.

A few general points he made that I think are awesome - this is not an incident that's isolated, or that we can recover from; this is an ongoing condition that blights our country and continues to this day; we need to keep having this discussion for many years. The fundamental issue is the massive economic and class gap between blacks and whites in this country (and specifically in STL).

And the best of all - he was asked something about forgiveness, if people would come to peace with the events, and he said something like - we need to be careful about finding peace within ourselves, or using our faith, because true forgiveness is something that is granted between peers, and until we can meet as equals we cannot forgive.

Anyway, I recommend listening to him if you get a chance.


I'm afraid that all this "black lives matter" energy will just sort of burn out, with lots of committees being formed, and eventually the media will get tired of it and nothing will change.

(what happened to the uproar about the Minerals & Mining regulators totally being in bed with the oil & gas industry they were supposed to regulate? Oh right, we totally forgot about it and nothing happened.)

This is not about isolated incidents. This is not about changing some policies and enacting better standards. We need massive shakeups all across the country