Friday, June 30, 2017

Tales from HCI PhD -> Data Scientist job searching, part 2: negotiating

Before you read this post, read Patrick MacKenzie's negotiation advice.

Ok, great. You're 95% of the way there. Here are a few more details and a couple twists and turns I came across.

Still don't name the first number.

If I had, I would have lowballed myself pretty much everywhere. Surprise - your market value is way higher than you think, you free-food-noshing grad student you.

Use Glassdoor - but it's not gospel.

Want to know what a (job x) at (company y) makes? Glassdoor can tell you. But a few caveats:
It's more useful at a common job at a bigger company. There are a ton of Google software engineer posts, but fewer Stitch Fix data scientists.
Salaries go up over time. Glassdoor estimates may be low. If you want to use it to ballpark results and name a number (though don't name the first number), go for something that's about 1.3-1.5*Glassdoor price.

Don't name the first number*.

* I actually did name the first number once, when talking with (Company B) and (Company C) after Stitch Fix gave me an offer. I knew Stitch Fix's offer was very high on base salary, so I just told it to Companies B and C. They both revised way upward, but couldn't match it - this is a good sign, I didn't shoot too low. (Probably. Maybe I did!)
Stitch Fix's equity offer was pretty standard, though, so I didn't tell that to companies B or C. (and Company C's equity offer was about double Stitch Fix's, so it's good I didn't name the first number there.)
If you don't know if it's very high, or you're not 100% sure that it's very high, don't name the first number.

Mid-sized companies don't do bonuses, it seems.

At Google, my salary was like X + ~15% of X for a once-a-year bonus. At all 3 companies I got offers from here, they just had higher base salary and no bonus. I like this; bonuses are dumb.

Equity in pre-IPO companies is way harder to value.

I have no idea what any of my equity will be worth. Maybe $0! You need a "liquidity event" to sell your shares/options; this can be an IPO, or an acquisition, or a buyback (and probably some other things too). Who knows if this will ever happen. Also, if you have options, and you leave the company before a liquidity event, you have to exercise the options (buy the shares) if you want to keep them. This can be expensive, and has tax implications that I don't understand yet. For these reason, I like salary. Your risk tolerance may vary.
Side note: at Stitch Fix, they wouldn't tell me what percent of the company I was getting or what the strike price was, instead telling me the potential value if the company is valued at $X billion. This was weird, but you can reverse-engineer the percent and the strike price. Ask me if you want to know how to figure this out.

If there's a minor perk difference, price it out

Stitch Fix, for one, doesn't offer lunch. Eh, ok! Say I'll spend $10 a day on lunch, times 200 work days a year = $2000 after tax ~= $3000 pre-tax. I subtracted $3k from their offer and I'm still happy with it.

Don't name the first number.

Did I mention this yet? They will try all kind of tricks to make you name the first number. Kindly, politely refuse.

This was all moot in the case of Stitch Fix, because they didn't allow negotiation.

This was awesome. They gave me a very high offer, and wouldn't budge on it. Their (correct) reasoning is that negotiation opens the door for inequality (e.g. between men and women) based on who negotiates more. So I didn't have to do this whole stupid dance with them! I was very impressed. I hope this becomes a trend.

If some of your offers are negotiable (and they probably will be), you need to negotiate; in that case, you have to play the game and help everyone save face.

Company C would not give me an offer until I told them the details of Stitch Fix's offer. This led to an awkward confrontation, which maybe I didn't handle great:
C: Can you tell me the details of the equity in the other company?
Me: I'd rather not, if you don't mind.
C: But it would really help.
Me: Nah, I'd prefer to keep that private.
C: I just need something to go on, in order to give you the best offer.
Me: I don't see how this could possibly help me, though.
C: Sure it can; I'm trying to work with you here.
Me: No, you're trying to get me to sign for the lowest salary. I'm trying to get the highest salary. Giving you this information can only hurt me.
C: That is not what I'm doing at all.
Me: Err... aren't you? What are you doing, then? Why not just get the best offer you can and we'll talk again then?
(some more back and forth)
C: I'm really taken aback; I don't think I've ever had a call like this. I think the best thing to do is to end the call.
Me: Oh. I... I'm sorry! I can see that I've offended you, and I really apologize. Yes, if you want to end the call, we can do that, and I'll talk to you again soon.
Later, when talking with some managers, I was mildly reprimanded - like "we wanted to clear this up and make sure it was just a misunderstanding, because this seemed like a bit of a red flag to us" etc.

I was trying to just "take the cover off the game" and talk honestly. I didn't want to muck around with "well, because of reason X, maybe you can throw in some more salary" or whatever - but there is a maximum and minimum price you're willing to hire me at, let's try to get the maximum.
She... did not appreciate that. I think it made us both sound like greedy money-grubbers. Instead, I guess we've got to use the language of "working together to find a mutually beneficial deal", "make the pie bigger", "well because of my excellent qualifications blahblah", "I'm hoping to get a salary that allows me to focus on doing great work and not worrying about money", etc.

Welp!

Here's a way it could have gone better (props to my friend Stu):
C: Can you tell me the details of the equity in the other company?
Me: I'd rather not, if you don't mind.
C: But it would really help.
Me: Nah, I'm sorry, that information is private.
C: I just need something to go on, in order to give you the best offer.
Me: Can I ask why you need to know?
C: (some BS thing)
Me: Ah, ok. Well, like I said, sorry, that's private. When do you think you can get together an offer?
C: After you tell me the other offer details!
Me: Well, unfortunately, that information is private. So, how about if you just put together the strongest offer you can and we'll talk about it then?
C: I really need to know the details of your other offer.
Me: Well, imagine I hadn't gotten that offer yet; what offer would you get me then?
C: But you did get that offer.
Me: But like I said, unfortunately, it's private. Do you mean you can't make an offer without knowing the details of my other offer?
C: Well, no...*
Me: Ok, great! Then I look forward to hearing the details. When do you think you can get it to me?

* I'm like 90% sure she legally has to say no here (in CA at least). But if she says yes, then I guess, decide how much hardball you want to play and how much you want this offer :-/

This would still be somewhat confrontational, but that's on her. This conversation is more polite and we can still maintain this facade of "we're working on the same team." If it helps, imagine that the other company who'd given you the offer hadn't told it to you yet, or that you were legally not allowed to say it for whatever reasons. ("sorry, I'd so love to get you that information! it's just, gosh darn it, it happens to be private. oh well.")

Use your people!

It was very helpful to me to go on Facebook after this difficult interaction and ask "uhh... did I do something really wrong?" and hear "eh, probably nah." The Companies will try all kinds of tricks to make you feel bad for asking for more money, etc. They are capital, you are labor, and 99% of the time you're working together but in this 1% you are somewhat at odds. They do this every day; you are a newbie. Don't get taken.

Reach out to me if you ever want some help. Not that I'm an expert, but I'm happy to help friends and family :) I've worked with 2 people now, plus myself, who were scared to negotiate at all, and we got a little extra money each time, anyway - maybe not optimal, but pretty good for standing on one foot and reciting poetry for 15 minutes!

Wednesday, June 28, 2017

Tales from HCI PhD -> SF Data Scientist Job Searching, part 1: Interviews

Ok, so you want to be a Data Scientist. The best prep would be to have interned as a Data Scientist. I hadn't done that. Here are some things I have learned about interviewing for this job.

Interview structure

As I mentioned last post, you will probably have some of the following:

  • Programming
    • this is the good old quick-programming-puzzle interview, as in software engineer interviews. Usually whiteboard, but sometimes they let you use a computer, which is nice. You might get this for a phone screen.
  • SQL
    • "Here's a database structure (on a whiteboard), how would you write these queries?" A couple places let me do this on a computer, that was nice. You might get this for a phone screen too.
  • Experimental design/metrics
    • "We want to change our UI from this old UI to this new UI, how would we do it?" and then talk about metrics to measure, how to evaluate success, how to sample users, how many users and how long to run the study (use a power calculation!), what your conclusions would be if you got this certain kinds of answers.
  • Big-picture thinking/metrics
    • "We want to expand to selling cars too, how would we do it?" - and then we talk about high-level what kind of metrics we'd measure, how we'd evaluate success, how we'd trade off risk, etc. This was rarer, but happened a couple times. I think I wasn't necessarily supposed to know how to do this, so I could wing it a bit. This interview was different from the experimental design one because it was a little higher-level - your 6-12-month vision instead of the single Next Experiment you're running.
  • Machine learning/modeling
    • "Here's a big CSV of our hypothetical users' behavior; what leads to them buying our product?" This might be a homework problem or an in-person interview.
  • Data modeling
    • I know I just said "modeling." A couple "modeling" interviews, though, were something different - more like "here's how this part of our business works - how would you design the database for it?" Which tables would you have, which fields on each, etc.
  • Collaborating with other people/teams, stories of projects you've done
    • This is vaguer, talky. I could usually come up with these on the spot, but it doesn't hurt to have a few in your pocket.
  • Lunch
    • These are usually "off the record" - use them to refuel, and try to absorb stuff about the company or your future coworkers here.

Things that are good to know


  • How to do quick programming puzzles fluently. HackerRank's Python, Algorithms, and Data Structures tracks are probably pretty good. You don't have to get to the "Hard" level - if you can do the "Medium"s, you're probably good.
  • SQL. If you haven't used SQL, or haven't used any actually difficult SQL, in a while, take an online tutorial all the way through. PostgreSQL Exercises is the best I think; Mode Analytics's one is good too. Particularly learn:
    • how to do a GROUP BY and an aggregate (like "tell me the total sales in each state")
    • when to use WHERE vs HAVING (HAVING is after the groupby/aggregate)
    • how to do JOINs, including the difference between types of joins
    • how to do subqueries, and when you would
    • Some of this is just a feel thing, which is why I say work through a whole SQL course. I'm getting more fluent in SQL, even if sometimes I can't quite articulate, for example, when you would use a subquery.
    • how to work with dates is a nice bonus
    • window functions would be good. Here's one example. This is kinda in the "bonus points" - when a question came up where it'd be appropriate, I always would say "uhh I guess I'd use window functions but I don't know how to," and I still got jobs.
    • oh, one more tip: when I'm trying to do complicated things with joins or subqueries, I'd often draw out what the end table is that I'm SELECTing from. So like, if I'm joining A to B, just write down what the "A JOIN B" table looks like, even though of course it's not actually done like that.
  • The formula to calculate a binomial confidence interval. p +/- z*sqrt(p(1-p)/n). I don't know many stats formulas, but I had remembered this one, and it came in handy so many times. (Useful in A/B tests - if you test it on 1000 people, and 7% of them click, what's your 95% CI for the real click-through rate? 0.07 +/- 1.96 * sqrt(0.07*0.93/1000) = 0.07 +/- 0.015
  • How you pick which model to use - tradeoffs of logistic regression, decision trees/random forests, SVMs, neural networks, etc. Which ones are good/bad if your classes are unbalanced, or your data's very sparse, or whatever. And how to pick stuff around this - like how do you pick training/test set, how do you normalize your data, etc.
  • How Ridge and Lasso regression work, and more generally what regularization is. I missed this a lot :-P
  • How to quickly load in a data set and make a simple classification/regression model and/or charts, in Python/Pandas or R. Then use whichever of those you feel more comfortable with in the interview.
  • A story of a project where you used machine learning.
  • A story of how you communicated some finding to some other people who weren't as data-nerdy as you.
  • A story of a project where you had to change your plans, maybe. Other kinds of soft-skills stories are nice.

Boot Camps

It might be that you don't think you have the practical skills yet. If that is the case, you might do a boot camp - a couple-month program. Insight Data Science is probably the best boot camp, because it's aimed at exactly you. A lot of my soon-to-be-coworkers did this, coming from a diverse set of PhD backgrounds.

More Strategy


  • If you can, interview first with companies you're less excited about. I learned a lot about this process through doing it - my first few interviews ended at the phone screen or homework stage, and as I did more of them, I ended up getting farther through the process.
  • If you can be local, that probably helps. If you know you want to move to SF, say, then plan a couple week trip out here and tell them you'll be in town on these certain days. That way they don't have to worry about flying you out. Most good companies probably don't care, but I dunno, maybe they do.
  • I had one company ask me for one or two references. Like, your advisor would be fine, or someone you interned with. This was after they gave me a verbal offer, so it probably wouldn't make or break it, unless you're secretly a serial killer (or, realistically, completely unsuited for the job).
  • No suits. This is nice.
  • I'm sure there are more things I'm forgetting. Ask me some questions.

Tuesday, June 27, 2017

Tales from an HCI PhD Industry Job Search, part 0: Which job?

Ok, so this is for a very focused crowd, I guess, but I know a lot of people who will be in my shoes, and I feel like I learned something, so I want to write about it.

I guess first we have to do the "industry or academia???" question. This one is simple. If your answer is "Academia, hell yes, 100% for sure", do academia; otherwise, do industry.

Ok, so you're doing industry. Here's the first question you might want to ask yourself: what kind of industry job? Here are some options:

Research Scientist

This is an increasingly rare job, showing up only at some of the megacorps like Microsoft Research, FXPAL, and somehow Yahoo. Do this if you actually wish you were in academia. At MSR, it'll be close to academia; at other companies, it'll be farther, but you can still make up new things. I interviewed for one of these; it involved me giving a talk about my research and then talking with 4 research scientists/engineers on the team one by one. At the end, I realized I didn't know enough machine learning to work with this team (the Machine Learning and Vision team).

User Experience Researcher

These people do research with people all the time. Interviews and surveys are very common, but you might also do focus groups, workshops, intercepts, usability studies, and some stats. You also have to have some skills in communicating, and you probably have to not mind convincing people that your work is real. I interviewed for a few of these, and they usually involved me giving a talk about some research I've done, then I talked with 5-7 people one by one. At one of them, they gave me a short problem, something like "You work at (hypothetical company X), and they have this new broad question. How would you narrow it down into a research plan?" and I had an hour to think about it and then give a 20-min presentation. I don't really know how these interviews are evaluated.

Software Engineer

You like writing code in a team. You were frustrated at all the terrible code you wrote throughout grad school. You like organizing things. If you think you want to be a SWE, you probably shouldn't go to grad school, but if you graduate and find that that's what you want to do, then by all means do it! You will always have a well-paying job and be treated like a minor royalty. Especially if you're good.

UI or UX Designer

If you know you like to do this kind of thing, go for this job! I don't know anything about it, really.

Project Manager

Do you like to have 500 tabs open and communicate with everyone all the time? And, like, deal with stuff blowing up and figuring out how to coordinate a bunch of screaming cats to get their stuff together to actually get a product out the door? Do you think grad school was too slow and quiet? PMing is for you! God bless you. I could never handle this job.

Data Scientist

This... can mean a lot of things. But most of them are in demand! It can mean:
  • Product analytics person - answer questions about your product
  • Quantitative UX person - answer questions about your users
  • Machine learning engineer - building "data products" (where "data products" means roughly anything where you are doing any ML)
  • The first person at your startup who works with data for more than one-off things
  • Some combination of the above
  • Probably something else too
These were most of my interviews. They usually started with 1-3 phone screens, then sometimes a "homework assignment", then a daylong interview with 5-6 people, which were some combination of:
  • Programming
  • SQL
  • Experimental design
  • Big-picture thinking (~ "we want to do X with our website, how would we do it?")
  • Machine learning or modeling
  • Collaborating with other people/teams
  • Lunch

Friday, June 23, 2017

A job search, visualized


Each row is my series of interactions with a given company. This chart is not at all in chronological order.

Legend:
Computer monitor: an online application
Thumbs up: a friend (or friend of friend) saying I'm cool
Phone: phone screen (green if it's a "non-screen" call where I'm not "on." Eh, details; I'm always "on.")
Mail: an email (blue if "cold"/unsolicited/I just thought they were cool so I tried to contact em.)
Pencil: take-home work assignment
Two people shaking hands: an in-person conversation (also blue if unsolicited - like my friend works somewhere cool so I try to see if they're hiring)
Three people around a table: in-person interview
N: when they gave me the official big "nope"
Trophy: an offer

What did I learn? (and all these are limited to SF tech job searching)

  • don't bother contacting them if they don't have a job listing
  • if you get to an on-site, you're really in the home stretch. Someone told me 1/5 on-sites become offers; in my case it was 1/2; either way, do a handful of on-sites, and you should get something.
  • the usual cycle seems to be: 1. online app, 2. your friend gives you a thumbs up, 3. phone screen or two, 4. onsite interview
  • I dislike it when companies never respond. At least a form letter response would be nice.
  • A friend's thumbs-up or a conversation with someone you know gets you in the door.  In interactions without a thumbs-up or friend-convo, 1 went farther to phone screen at least (and it led to an offer) and 8 didn't; in interactions with a thumbs-up or friend-convo, 13 went farther and 13 didn't. But that includes the "cold" ones - in "warm" interactions with a thumbs-up or friend-convo, 13 went farther (4 to offer) and 8 didn't.
  • by the way, LinkedIn is a good way to get that thumbs-up or friend-convo. Pick a company, you can see your friends-of-friends who work there. Your friends will often make an introduction.
  • that one offer without a thumbs-up came from A-List, which is from AngelList, but they send you an invite if you're in the "top 1%" of applicants. I don't know what that means, but apparently CMU PhD + Google gets you into that "top 1%." Seems like a good way to access smaller-company jobs. Regular AngelList is good too.
  • so, like, if I'm in the "top 1%", and relatively well connected, usually the process is much harder than this! woof!

Which one was Stitch Fix, which I accepted? Fourth from the bottom.

Oh by the way: I'm starting at Stitch Fix at the end of July. Wooo!

But but but I want to know more! Don't worry, this is job search post 1 of many.

Monday, June 19, 2017

Credit card churning, level 2

Ok, here the main game is:
- get a card with a sweet bonus
- meet the Minimum Spend
- get some bonus points
- downgrade it at the end of your first year
Who can do this? Anyone who can get approved for sweet credit cards. (if you can't get approved, then get some less-prestigious credit cards with no fees, use them for a while, always pay them off, and eventually your credit rating will be better and you'll get approved.
You might not want to do this if you're buying a house soon - it'll ding your credit just a bit. But that wears off.

1. Get a card with a sweet bonus.
You're looking for, ideally, 30-50k points/miles, and annual fee waived for the first year. Some of these that I've done include:
Barclay AAdvantage Aviator Red
Barclaycard Arrival Plus
Capital One Visa Signature
Chase Sapphire Preferred
Chase IHG Rewards Club
Chase MileagePlus Explorer
Citi ThankYou Premier
Citi American Airlines AAdvantage Platinum Select

Maybe check r/churning to see what's popular now. Sometimes there are particularly good deals (like the MileagePlus Explorer is usually 30k miles but sometimes 50k), so try to jump on those. The Chase Sapphire Reserved was even 100,000 miles when it first came out! 100k deals usually don't last long, though. If I see a 100k I'll jump on it; and usually a 50k is worth it too.
Note that, to me, hotel miles are worth about half of airline miles. So if you're looking at a hotel card, try cutting those values in half.

Ideally this will be in an airline/hotel you want to use, or use often, or a convertible rewards program. For example, Tati and I had our wedding planned at an IHG hotel in Pittsburgh, so I used the IHG points I got from this thing to book us some free rooms. And I fly United a lot, so those miles will get used.
Convertible rewards programs are stuff like Chase Ultimate Rewards or Citi ThankYou. These are points that you can convert into specific airline/hotel miles, or sometimes use them for other things too.

2. Meet the Minimum Spend
All these deals will have some kind of minimum spend to get the big bonus, like "50,000 bonus miles after you spend $3000 in the first 3 months." Just start using the card for everything. If you wouldn't end up spending that much in 3 months, there are ways to spend a small fee to "buy" points - just look up "manufactured spend" on r/churning. For this reason, I usually don't churn more than one card at a time - it can be hard to meet the MS on all of them.

3. Get the points
They'll usually automatically post with little fanfare, and it's not usually as soon as you meet the minimum spend, so you might have to check on it a little bit.

4. Downgrade at 1 year
The CC companies are trying to get you to start paying the annual fee (after they waive it for the first year). You just have to remember to "downgrade" your card - roughly, trade it in for a "lesser" card with no annual fee. Like, I traded an AAdvantage Platinum Select ($90ish fee) for an AAdvantage Bronze (no fee). Course, the AAdvantage Bronze has no big perks... but that's ok, because at this point, you stick it in a drawer and don't really use it for anything.

To do this, just call them, at the number on the card or wherever. Ask them to downgrade this account to a no-fee card. They are usually more than happy to help. They'll often have a bunch of different ones - it doesn't matter which one you pick, because you're not going to use it anyway. You can usually do this a little after the 1 year mark; then they'll refund your annual fee. Sometimes they'll let you do it before 1 year.

An added benefit of this is you now have more credit available to you, which improves your credit score. If they won't downgrade your card, you could always just close the account. But I think I've only had that happen once.

Total benefit: ~50k points, up to 3-4 times a year. 1 point is worth roughly $0.01, so we're talking ~$500 each time.
Total cost: $0.
Total effort: well, nonzero. But it's not terribly a lot of work.

Monday, June 12, 2017

Credit card churning, level 0 and 1

Sometimes I play the credit cards game, to get a little bit of bonuses without paying money. I'm a pretty-inactive member of reddit.com/r/churning. Many friends have asked me "if I don't want to think about it and just get a decent bit of credit card rewards what should I get?" Basically, what's the 80/20?

I tried to check /r/churning, but it's an insane mess, I think mostly because this question is complicated, because obviously that's the CC companies' game. Nobody will just make a card that is Strictly The Best, because they're all grabbing the tiny percent of edge from people who aren't quite using their cards to the max potential. So, everyone in /r/churning is trying to figure out how they particularly can get a tiny percent of edge because they always fly Delta or buy a lot of groceries or something. And it's the kind of nerds who love to get a tiny bit of edge.

So for me, there are a lot of answers, and I feel like I should have a good canned one. It depends on a lot. Let me tell you a few of your options, depending on how much you want to spend:
- Level 0: 40/1/$0. 40% of the benefits for 1% of the work and 0 dollars.
- Level 1: 60/1/$100. 60% of the benefits for 1% of the work and $100/year ish.
- Level 2: 80/20/$100. 80% of the benefits for 20% of the work and $100/year ish.
- Level 3 and beyond: beats me. I think I'm at about level 2.

Level 0:

At this level, you basically never want to think about which credit card you have. I think that for you the Chase Freedom Unlimited is the way to go. Click a link here:
https://www.reddit.com/r/churning/comments/5ta38h/official_chase_freedom_unlimited_referral_thread/ (or if it's later than about July 2017, search for the new Freedom Unlimited Referral Thread)
Simple 1.5% cash back on everything, and $150 signup bonus. And Chase's web site is not as terrible as some others.
(I think this because I feel like I've heard about it on forums sometimes. so, confidence about 70%. also, I gave you the /r/churning link, b/c if you click someone's link there, they get $100 referral bonus, which doesn't hurt. I would give you my own referral link but I don't have a Freedom Unlimited so I can't, unfortunately.)

Level 1:

Here, you basically never want to think about which credit card you have but you are willing to spend about $100/year on it. Two options, and they both give you Chase Ultimate Rewards points, which you can redeem for a bunch of different mileage programs, or Amazon or whatever. They are pretty good points. Plus, on either of these, you'll get 50k bonus points after you spend $4k within the first 3 months - so get the card then use it as much as possible within that time frame.

Chase Sapphire Reserved

$450/year, but $300 of travel expenses (planes, hotels, airbnbs, etc) gets automatically refunded. So if you're using it, and you travel, it's effectively $150/year. Gives you a bunch of points and some other travelly benefits (some lounge access, reimbursement for TSA Global Entry).
(More info on this card, and the difference between it and Preferred.) No referral link for this one, but you can get there on that "more info" link.

Chase Sapphire Preferred

$95/year after the first year, gives you almost as many points. Good in-between if you don't want to spend quite $150, or if you don't think you'll spend $300 on travel in a year. Apply here (my personal referral link).

Just get one of these cards and then use it for everything. Then one day you will have a ton of points and you can book a flight or something.
(boy, this sounds like I'm paid by Chase, doesn't it? I mean, I'm not. They just do tend to have the best points for most people. Note that if you have an airline you fly a lot, especially Southwest, you might want to get the card for that airline instead, as long as it has a 30k or more point signup bonus.)

Level 2

I'm gonna leave this part of the guide for another day.

Tuesday, May 30, 2017

fighting with the neural networks for very good jokes

I feel like neural network humor has gotten really good. This Tumblr seems to be the epicenter. Pokemon recipes paint D&D superheroes
wait, superheroes

Recently, in a silly mood, Tati and I came up with my own list of nonsense superheroes. They feel like they're in the same direction; this sort of uncanny valley of mostly following rules of normal logic, but not entirely.

Good King Wenceslas and Rice Dog
Wilson Trucker
Old Tom and his letters
The Knife Police
Red Skuldugger
Fastfood Wasteland
Church Guy Dot Com
Captain Franklefort
Roy Soulfish
Grape Dude
Wanda Pyramid
Kenny Growup
The Amazing Bat
Hurta Fly
Rock Dog
False Poster Boy
Westin Smasher
Murdu Man
Coconut Head
The Insatiable Dod
Donor 2 Drugs
Fashion Electric World Capt.
The Welsh Strider
Bancoman
Wallachia
Pop Brix
Vinnie Bitsandbeans
Dutch Melly
Iron Ludwig
Castlevania
Maniac Korliss
Wyandople
Sudan Stan
Guy You Got In Your Neighborhood
The Pharaoh Clooney

While we were at it, we came up with some names for a baby. (No, we're not having one. We just thought these should be available as a public service; feel free to take them for your own kid.)
Loquat
Mool
Senfert
Jellinator
Westerley
Mozilovich
Slavara
Fing
Habordick
Jingstraw
Bolo
Wambert
Wallapop
Slennygoat
Rockoford
Moria
Jamespierre
Perriero
Habute
Naboldov
Zircorn
Glenish
Habterpie
Binward
Marshmallowpop
Forbis
Kalnoon
Uncanny
Wimas
Zenietta
Ashter
Horseshouder
Garra
Garalich
Doofie
Renny
Faldo
Carmalot
Smeernoing
Huse
Jamborie
Boggin

But... not as good? I kinda want to Mechanical Turk test these, and see if I can humor better than a neural net. I'm not sure if I want to win or lose.

I'll leave you with a fairly dada short story:
Wandering underhill the goat farmer and his steel drum band. Lions escape faculty oversight while withdrawing from formal scrutiny. Yellow lollipop stick upended in a raised ball of fruit. Within the normal force field lies a smarmy alliaceous ball. Next to a frigid sound man, King Walrus rests upon his laurels. Beside him, the trained eye can spot kestrels yawning at the prospect of unparalleled masculinity. Feverishly sorted and left out to dry. What if by some strange stroke of luck, it so happened that a barreling freight train of good humor wound up dead? I don't know that we could stomach the loss. Later, now, the raven winds its way towards its everlasting home. You can't blame it. But under the watchful eye of the beholder, grains wilt and lie prostrate on the floor. An eager grammarian. Let yourself explore the expanse available to you; buy me an ogre. Willis had a necktie, and shouldn't we all? Fair to say, you won't find the Italian Mafia around this bean corn stand.

Monday, May 22, 2017

Changing your mind, takers, conformity, pirates and gold, concentration

"I Changed My Mind" award
I feel like, in online arguments, the thing I most admire is when people change their mind in the face of better evidence. And yet, sometimes that's seen as evidence that you were wrong, and therefore you "lost." F that. You should get an award for changing your mind.
See also: when you're meditating, and you realize your mind was wandering, you don't say "stupid mind! you're so bad! I am bad!" you say "hey, I found my mind again! awesome, welcome back!"

F'ing Takers
A bit of Magic slang, maybe, or that's where I got it at least: "taker." Someone who rules-lawyers or otherwise does whatever they can to get ahead, at the expense of being nice or the game being fun. Like, what they're doing is legal, but it sucks.

Why I bring it up (tl;dr: small-time landlord woes, you can skip this section, basically the landlord's a Taker): when we rented our apartment, we were offered it for $3150/month including garage, or $3000 without. We said, ok, we'll take the garage, it's good for storage and bikes. I think the renting agent (call him E) said "sure, that's fine." (it might have been our agent. I think it was E.) The landlord, A, has been a shadowy figure to whom our money goes. A month after we moved in, they hired a property manager, K, so A doesn't have to deal with us anymore. K basically parrots whatever A says. They had to do some seismic retrofitting in the garages, A noticed that some people were storing things and not cars in the garages, A gets worried, A tells K to tell us that no "storage" is allowed in the garages. We say, wtf, we rented it with a garage for storage! K says "well, let's check your lease", and sure enough, it says "no storage." And like, I know, get everything in writing, I goofed, I tried to check every other dang thing, but I guess I missed this one. So we say "Ok, K, we'll give the garage back. It's now worth $275/month on the open market in our neighborhood, so how about you give us $200/month off our rent? That gives you a nice little profit margin to re-rent it." A counters with "you can have $50/month off" and won't budge. Even to $150, the original price of the garage.

Letter of the law, A is right! She got us good! We're really not entitled to anything here, because by the rules of the game we mistakenly agreed to something dumb. But come on, can we be reasonably nice here? I'm sure some of you are rolling your eyes here: you want your landlord to "play nice"? That's like asking a rules-lawyer to ask you to take back that mistake you just made a half second ago. Of course you're not entitled to it.

Or, to put it another way: we work in different modes. When you're programming a computer, everything is letter-of-the-law. But when you're paying for your food at a restaurant, there's people involved, so you switch to a slightly different register in order to recognize the humanity of everyone there. (I mean, you tip, at least.) Life is better when you're not going to court over every last minor gripe. And that only requires everyone to be just a little bit not-a-Taker.

Scarcity Breeds Conformity
One response to our landlord being a Taker is to say, bye, we're renting from someone else. Sadly, we're in a scarce market. (I could go on about how SF housing policy is terrible, but that's another conversation.) So we're encouraged to just suck it up. Now, one thing I liked using the garage for was building bikes. I was learning a skill, having fun, doing something productive and creative. Now I can't use the garage for that. I guess I better just go to work and come home and drink beer and watch Netflix. (but not too loud.) Those are all within the rules. This is one argument for owning, and therefore for moving back to Pittsburgh. Hell, I think we're not even supposed to be hanging pictures on the walls. Ugh.

Chasing the "Pirates and Gold" High
When I was still deciding where to go to college, my friend Bill who was doing computer science at CMU sent me one of his homework assignments, from 15-251, "Great Theoretical Ideas in Computer Science." In it was the following problem:
"There's a pirate ship with 100 pirates, all ranked in fierceness from 1 to 100. Whenever they find gold, they distribute it like so: Pirate #1 proposes a distribution. (like, "10 gold pieces to everyone" or "I get all of it, you all get nothing", or whatever.) All the pirates vote yes or no. If at least half of the pirates vote yes, then they distribute the gold like that. But if more than half the pirates vote no, then they kill Pirate #1 and Pirate #2 gets to propose a distribution, and so on. The pirate just found a treasure chest with 1000 gold pieces, and you are Pirate #1. What distribution do you propose?"
You might think the answer is something like "10 gold to everyone", or "20 gold to the first 50 pirates, 0 gold to the last 50 pirates", or something, but there's actually a very clever solution that lets you, Pirate #1, keep about 95% of the gold. No spoilers (but if you're interested, I'll explain it).

This was awesome. And I thought, wait, you can do this for a job? That plus the little programming glee when something works made me think, yep, this is what I want to do.

Unfortunately, it's hard to get back to that high :-/ Software engineering is more quotidian. Usually you don't get too many "pirates and gold" problems. Think of it like building houses: Frank Lloyd Wright gets to build crazy houses over waterfalls and stuff, but most architects probably spend most of their days drawing up the same blueprints for the next McMansion. (Not to knock architects; I bet most of you would love to do Fallingwater but keep getting paid for dumb stuff. Apologies if that's not true.) Plus, most architects don't often, or ever, get the little hit of joy from screwing boards together.

Now, you can certainly go another direction, and go for Real World Impact instead of the fun programming puzzles. I think that'll serve you much better in the long run, and it's what I'm trying to do now, and what I've been trying to do for the last 5 years. I just wish someone had told me that ahead of time.

Imperceptibly Small Benefits
An idea I'm puzzling over involves social media, little hits of dopamine, and concentration. On one hand, concentratiophiles will tell you that each bit of social media you read will entrench this pattern of quick hits and no deep concentration. On the other hand, you learn stuff from all these little distractions? I could walk to the store, or I could walk to the store while listening to a podcast and pick up a lot of information about some topic I don't know about. (Or just listen to a funny thing and have fun.)

Both sides are adding up small benefits. I guess some anti-social-media person can probably concentrate way better than I can, and they might argue it's because of tiny practice times a million. Some super-social-media person, too, probably has a ton of friends, deep connections, and lots of knowledge about what's up in the world, because of tiny knowledge times a million.

Wish we could measure either of these claims so we'd have some kind of idea about the veracity and the size of both of them :-/

Monday, May 01, 2017

find a city, find myself a city to live in

two mostly-unrelated thoughts about cities:

1. when I was moving back to Pittsburgh, I thought about "the Aikido test": say I want to take up some new hobby, like Aikido; will I find a local community that I can do that with? can this city help me become who I consciously want to be?
I'm not sure that's the right way to think about it. a new test, call it the "Denver skier test": what will this city help me to unconsciously become? (I don't know if you can live in Denver/Colorado front range and not become a skier, at least a little bit.) Similarly, Seattle got me addicted to coffee, but also got me to ride bikes for 200 miles the first time, so that was nice. (I mean, the coffee's nice too.)

and what is San Francisco helping me unconsciously become?

2. why the hell is it always gentrification? why can there not be techy businesses without gentrification? is it just that "tech" is shorthand for "nouveau riche"? (the fact that Juicero is considered a tech company is evidence for this.) but even if that is so, why can't we do a couple things: why can't we have jobs that are not disappearing, grinding, or tech? why can't we tax the few that are feasting to cover the many who are famining? and why can't cities build up to accommodate the faminers as well as the feasters?

Thursday, April 13, 2017

There's an emotions-Wookiee riding shotgun in your head

We teach kids (intentionally or not) that they are a "self."

Let's leave aside the question of how to teach them that there is no "self" - what about teaching kids that they have two selves?

Specifically, there's the driver (which is the "you" who you think you are, the cold logical one) and the emotions passenger. They are constantly talking to you and affecting what you do - sometimes indirectly ("pull off at this exit, I'm hungry", "turn the AC onnnnn!!!", "I'm playing music now"), sometimes directly by grabbing the wheel. They are a large, powerful person, can overwhelm you if it comes to a fight, and are sometimes very wise; ultimately you're in charge, but the two of you are a team. I'm calling the passenger a Wookiee because Chewbacca seems to fit all of these pretty perfectly.

When you are born, they speak a different language than you. Your happiness, success, and sometimes survival depends on your ability to learn to communicate with them. This is what "emotional intelligence" and "soft skills" mean.

So many things, especially interpersonal conflicts, would be so much easier to explain if you had this framework. Instead of saying "I ____", replace that with "My emotions/Wookiee _____". Learn when to take the Wookiee's advice into account, and when they don't know what they're talking about. Learn when to tell the Wookiee to quiet down because you've got to drive for a while... and when to let the Wookiee win.

Saturday, April 01, 2017

A few short cranky thoughts

1. Every attempt to manage academia makes it worse. I'm enough of a hippie to think you should actually just pay them without measuring them. Or maybe measure them once per decade or something. I've never met an academic who was anything other than suuuuper driven. These aren't the people you need to be micromanaging.

2. Every time you say "just" (as in "just one thing" or "can you just do this for me"), an alarm bell should go off in your head. (kind of like the bell that should go off when you say "well, actually...") What it often sounds like you're saying is "I want you to do this thing, but I don't want to be indebted to you for it, so I will minimize it. I want it to be easy. I'm going to act like it's easy, even if it's not."

3. As your job gets more intelligible to outsiders, it gets easier to connect it to some values in your life. That is nice. Doing user research is often more intelligible than software engineering, and as a result, it's usually easier to say "yep, this will actually help people." However, it also means other people think they know how to do your job too. See also: bikeshedding.

4. In SF (/the Bay Area, and other large metro areas), you can have anything. Restaurants, bars, shops, coffee, parks, weather, theater, arts, interactive theater, escape rooms, talks, Burning Man hackery, etc. On the other hand, no one human can possibly take all that in, so it sometimes feels a little immature to live here. Like, you haven't figured out what you want and what you don't care about, so you just want it all. There's some maturity in knowing what things you want less than other people.
On the other other hand, you can't say "well, I only care about theater, so I'm going to move to Theater City." Fair point.

Thursday, March 30, 2017

Thinkin' bout automated bosses

like Uber. Your "boss" is an algorithm that says "you get 4.7* or above, you can keep working; if not, you're fired."

Like, in a sense, great (as long as this algorithm is known); you get people to do the job right! If you don't do the job, you're out. Easy as that. In contrast, full-time jobs are super-sticky (esp in Europe, but even here in the US): it is very hard to fire someone.

Obviously the Uber route has these terrible effects on the drivers - they never know if they'll be working tomorrow, they're already in debt because they bought this car to drive for Uber and now they're fired for some arcane reason (maybe even unknown reason), they've got to work 14 hours a day to meet the mandatory minimum number of rides or something.

But I'm wondering if the stickiness of full time jobs also helps companies. Like, if you join a new company full-time and then have a bad first couple months (because you're trying to learn a new thing, or just getting to know the people, or you have a family emergency or something), you're not fired; the company ideally finds a way to help you succeed, and then they've got a productive longer-term employee instead of having to start all over. This stickiness is a smoothing factor that helps the company think long term about you instead of short term.

(that, or stickiness does hurt companies, but we've just got too much pro-worker regulation here. I'm open to the argument, but it seems unlikely in 2017 America. hmm.)

Edit: now, there's nothing about Uber that means they have to be so short-term thinking. You could imagine them taking your average rating after, say, your first year, and if it's still not 4.7 by then, ok, now you're out. But then you'll have people who will milk it for a year, be crummy, and get paid for a year before they quit. And I guess office-job people are less likely to do this because they have more human connection and are not inclined to milk the system for all it's worth.

(but then, current workers are not stunning examples of being super excited about their jobs anyway.)

Monday, March 27, 2017

"Purely Logical Debate"

I am just signal boosting an SSC post again, but in particular I like his rules for a debate. He calls it a "purely logical debate" out of necessity. I don't love the term because it sounds like something only nerds would love, but I don't have a better idea, so let's go with it for now. In general, to be a "purely logical debate", it must be a:

1. Debate where two people with opposing views are talking to each other (or writing, or IMing, or some form of bilateral communication).
2. Debate where both people want to be there, and have chosen to enter into the debate in the hopes of getting something productive out of it.
3. Debate conducted in the spirit of mutual respect and collaborative truth-seeking.
4. Debate conducted outside of a high-pressure point-scoring environment.
5. Debate where both people agree on what’s being debated and try to stick to the subject at hand.

(much more background in the post)

I'm tempted to say "I would like to Purely Logical Debate, and only Purely Logical Debate." And then either of us can pause the debate if we feel that the other is breaking a rule, and we can go back and correct it.

(fwiw, I also agree with his statement that people rarely change their minds all at once, and that the "backfire effect" is probably not as ironclad as we think.)

Tuesday, March 21, 2017

New Meme Suggestion: Repeater Jim

Here is an uncomfortable fact of working life:

Alice: I think X.
Bob: are you sure?
Charles: what about Y?
Dave: I don't know, I don't believe X, I have to see for myself.
Jim: I think X.
Bob, Charles, and Dave: Oh yes, X is definitely true. Good idea, Jim.

Here's my SNL-skit proposal: in the future, each woman gets a male robot named Repeater Jim who just follows her around and repeats what she says, so men will listen to her ideas. (it would be named "Jim" just because that's the first name that popped into my head.)

Here's my actually-not-satirical real-world proposal: men, volunteer to be Repeater Jim. Like, team up with a woman or women in your workplace, and try to repeat what they say as often as possible. As soon as the other men go "oh yes definitely X", say "yes, I agree, thanks to Alice for suggesting this idea."

(obviously this should be addressed more widely too; Repeater Jim is a band-aid, not a fix for women being ignored. but, a band-aid is better than no band-aids. and maybe people have an "ohhh" moment about their unconscious biases every now and then when they realize they got Repeater Jimmed.)

(n.b. not just about women; this also applies to people of color and probably pretty much every minority.)

For the record: if any of y'all ever need me to be Repeater Jim, let me know, I'm happy to help.

Sunday, March 19, 2017

The New Consumerism

I remember reading something about how sincerity, not irony, is the ethos of our generation. (oh, here it is.)

(set aside for a minute how terribly quixotic it is to try to define "the ethos of our generation." of course there are a million subsets of our generations, all with different ethoses.)

Anyway, I like this, obviously.

A similar thing occurred to me when I was shaving. I mean, I used to use shaving cream, like the Gillette stuff from a can that comes out all foamy. I've since been trying an array of different other creams from more hippie brands because, I guess, "down with the man" etc? But really, shaving cream is pretty good, for me at least: it's easy, quick, I cut myself less, washes out easier. I don't know that there are big externalities, and if there's something that's 10% better out there, it's really not worth fussing myself about.

I'm provisionally calling this "new consumerism" - not just taking the crummy mass-market thing because it's there and I want the shiny new thing that's marketed the best, but because I really tried a lot of the other things out there and realized that this thing is actually pretty good.

Saturday, March 18, 2017

I feel like I should be recording wisdom through my ages

It would be pretty fun to look back and think "here's what I thought at 20, 25, 30, 35, etc", for two reasons:
1. it would probably be pretty funny
2. seriously, though, I probably actually forget some wisdom over the years. There are probably things that my 20 year old self thinks, that I should still think, but that I let atrophy for whatever reason.

Here's one for now: start with trust. When you go into a new relationship, assume that everyone's at least honest and not trying to screw you. (related: never assume malice when it might just be stupidity) Of course, as soon as they break that, bets are off. But in the meantime, start with trust.

An example: landlords. I tend to go into any renting experience assuming the landlord is pretty decent. Sometimes I am proven wrong, but most of the time they are pretty decent. I think some other people have worse experiences with the same landlords. Whether you think your landlord is nice or mean might be kind of self-fulfilling.
(I understand some people have other experiences. there are also huge confounds because I rent market-rate places and I'm a white dude. fair. just my experience here.)

Wednesday, March 01, 2017

The title page for the Life Hacks book I'll write someday

Life Hacks
by Dan Tasse

1. Call your book "Life Hacks" so people will buy it
2. Be kind of glib so people will continue reading
3. Make them think they're in on the joke

Saturday, February 18, 2017

New bike! Name TBD.


I am not sure what it will be called. Perhaps Tati should name it. It is hers now, after all.

And it's totally great. This is my favorite bike that I've ever built. It's a perfect SF sunny-day bike, for fun rides around the city and nearby, which I think Tati will quite enjoy.

Nerd stats:
Frame: Co-Motion Ristretto, I believe. Aluminum and super light. Bought it from my friend Jeff.
Drive train: SRAM NX 1x11 speed group set. SRAM GXP cranks (170mm I think) and BB, 32t narrow-wide chainring, 11-42t cassette. Cheapo platform pedals from The Bike Kitchen; btw have I mentioned how great that place is?
Anyway, the 1x11 seems totally great. Fewer moving parts to break or misalign, decent high gears, and ridiculous low gears. This thing would be a Dirty Dozen smasher.
Wheels: Mavic rims, Shimano 105 hub (back) and Claris hub (front) (they didn't have a matching set at Valencia Cyclery (which is also great, though not as great as Bike Kitchen), but whatever, it's cool)
Tires: 700x28c (back) and 700x25c (front) Specialized Armadillos
Bars: flat handlebars - look like carbon? and some kind of stem. I don't know about them but they seem real nice. Thanks Jeff for throwing them in! Cheapo locking grips.
Brakes: Shimano 105s (thanks again Jeff!) and cheapo levers.
Seat: uh, it's a seat. Got it from my friend Iris. Hopefully some rando on Market St. doesn't try to claim this one too. The post is probably pretty good too (had it on my Soma Smoothie ES that I got from a guy on Craigslist) but I don't know about it either.
Accessories: Fortified lights (which are awesome; I had one stolen and they sent me a replacement), Pinhead locking skewers and seatpost, Kryptonite evolution series 4 lock.

Tuesday, February 14, 2017

Another day, another SSC post I like

Considerations on cost disease

Very many of our arguments should indeed be prefaced with
"Look, really our main problem is that all the most important things cost ten times as much as they used to for no reason, plus they seem to be going down in quality, and nobody knows why, and we're mostly just desperately flailing around looking for solutions here."

(of course I have my ideas about solutions; most of them are probably grouped under "simplify harder", "more taxes", and "freer markets"; but that's neither here nor there.)

Sunday, February 12, 2017

Life Hacks

(and no, this blog hasn't been taken over by a spam bot. I guess consider it somewhere between Oblique Strategies, 43 Simple Ways to Simplify Your Life, and wint)

1. Don't get devastated.
2. More lifehacks
3. Wolf pet, on a train
4. 2 cell phones
5. Leave yourself a voice mail
6. Avoid cafeterias
7. Always choose 3
8. Snort whenever you laugh
9. Read college brochures
10. Horses have emotions too, bro.
11. Always say "bro" as a question: "bro?"
12. Have a name
13. Continue life hacking, or car jacking.
14. Why not?
15. Actually "coat swacker" is a good insult
16. Don't forget life hacks!
17. The word "beaver" comes to mind
18. Hi there, fellow kids
19. Don't ever make mistakes
20. If at first you don't succeed, succeed!
21. Know when to stop lifehacking
22. Right turn on red, after stop
23. Think about that!
24. Pineapples decorate well. You can dress something with pineapples. You can deck the hall with pineapples.
25. Sponge-a-bob
26. Deluxe chapstick. You can buy better chapstick, because you only need to buy half as much.
27. Do a good impression of the person you want to be.
28. Park your car, walk your dog
29. What if you drastically limited the number of distinct syllables you would say?
30. Speak from the heart
31. If you're out of hair clips, you can use a binder clip
32. Maybe don't pluralize "berry"
33. You can polarize, but only sometimes
34. Memo to your future self. You can leave these anytime.
35. Remember that time you were in those mountains?
36. It would be a real sucker punch to say something like "Fukushima."
37. Yes-usually-and
38. That little thing going wrong, it won't even affect you.
39. If you ever need a costume, you could go as Captain Labradoodle
40. Mend a picket fence
41. Better learn me fast!
42. Have a day, each day
43. Want sauerkraut? You're going to have to wait for it.
44. Could be a real thing.
45. Get more specific, usually
46. Don't overclose a faucet
47. If you listen, you can hear your arguments coming up and knocking each other down.
48. It might be time.
49. If you start surveilling yourself too much, you might want to stop.
50. Claw hammer not always better than regular hammer.