Make the Senate matter less

On Politics Twitter there has been a lot of chatter about how undemocratic the Senate is as an institution — e.g. that a person in Wyoming has 68x more influence on the Senate via their vote as someone in California.

The Senate is not going to change any time soon. Even if other things may even out the partisan imbalance like DC or Puerto Rican statehood:

And there is at least one straightforward way to make the presidential election by popular vote.

But there is another way to address this issue: make the Senate matter less.

I continue to see the intractability of agreement at the federal level something that could be more providentially solved by moving more domestic policy to the state level.

This is not an argument for less government, or more government, just a shift in the locus of government from the federal level to the state level. Theoretically, this should not be a partisan issue: let liberals in California and New York have the government they want and conservatives in Utah and Kansas have their style of government.


Trump & Federalism

I don’t think I’m the only person who grew up distrustful of the generically Republican position that we should weaken the federal government and “send more power back to the States” who is now re-evaluating the power of the federal government, now that it is in the hands of the spray tan menace.

I think for a lot of us, this position seemed a bit too close to a modern articulation of “states rights”. It was definitely true in the past — and is probably true today — that it is impossible to evaluate Republican policy positions separately from the party’s antagonism toward civil rights.

But, assuming it is possible to do that, I’m finding the idea of moving more and more policy decisions out of the federal government and into respective state governments more and more attractive.

For example, the country does not agree on health care policy. The citizens of New York, Massachusetts, and California probably agree. And those of Utah and Idaho probably agree. (In all cases, I mean agree to the degree required to reach a consensus in government). But New York and Utah definitely don’t. But should they have to?

Most states are as large as national governments elsewhere in the world. Even Utah, which is 31st in US State GDP, has an economy almost as large as New Zealand’s and a population over 3 million people. By comparison, Denmark and Norway, two Scandinavian countries often cited as the gold standard for quality of government, have populations of 5.7 million and 5.2 million, respectively.

So each state definitely has the resources to run their own health care system. Why not let Utah run their system and let New York run their system? I don’t know why this is not possible, but I also don’t think it makes much sense to continue trying to get the whole country to adopt a single system when some coalitions in some states want one thing and other coalitions in other states want something else. And why wouldn’t this be the best possible way to resolve the disagreement? If one approach succeeds and the other fails, won’t there be a lot of pressure on the unsuccessful states to adopt the more successful approach?

This logic definitely doesn’t apply everywhere — some things really do have to be handled at a national level. Climate policy, for example; or the military.

But many domestic policies that are intractable at the national level are much more tractable at the state level (or lower). I’m beginning to believe we should stop trying to agree on policies and accept our disagreement.

Whatever else ____ is, ____ is also a thought.

Over the past few years I’ve experienced with meditation. I’ve always been an “in my own head” guy and — like many millennials — I’ve turned to meditation in an attempt to wrangle more control over the thoughts and feelings spinning in my brain.

I’ve got much more to say about my experience with meditation, but for now I’ll share one transformative (and perhaps banal) personal insight I had the other day.

I used to be a Headspace guy, but recently I’ve been trying 10% Happier and am really loving the variety of approaches and teachers. One meditation I’ve done a few times is called “The Reset” and is designed for times when you’re feeling overwhelmed and totally crazy busy.

The line the teacher used is: “whatever else ‘busy-ness’ is, it’s also a thought”. And it is! Busy-ness is real in the sense that you may have way more things to do then can reasonably be done; you may be running late; etc. But it’s also the experience of feeling “I’m so busy” “I have so much to do” “I’m so overwhelmed” etc. And those are thoughts. They are prompted by the real-life experience you’re having, but they are also independent of them.

Meditation teaches you to identify, label, and ultimately dismiss thoughts on command. So why not do so with busy-ness? It can be done.

But there’s nothing special about the experience of “busy-ness”. Whatever else ____ is, ____ is a thought. You can learn to say, “oh, that’s me being angry”, or “oh, that’s me being nervous” or “oh, that’s me feeling slighted”, and so on.

So am I trying to say that I’ve reached this level of enlightenment and that I can choose not to feel busy, get angry, or feel anxious? No — not at all. Or at least not in all situations all the time. But, sometimes, I can. Maybe about 10% of the time. And that’s a pretty good improvement.


I have read many times that successful people often have very stringent routines. The book Daily Routines is literally just a list of different habits of famous artists and creatives. You can go to the accompanying blog to get an idea.

The most important constant is that there is a routine at all; even if there aren’t many similarities across routines (some work in the morning, some in the evening, and so on).

I’ve always struggled to create a routine for myself. For instance, I exercise about 70% of days. But the time I exercise is hardly the same from day to day. Breakfast? Who knows? Lunch? Could be anywhere from 11am to 4pm. And so on.

This writing — every day when I have my coffee, I write a short blog post — is an(other) attempt at creating a rhythm for myself.

For for the most part where I’ve landed is the idea of a daily checklist; I have a few things that I want to do every day, and I hit the x on each one as I do them. And as I go about my day, I’m thinking about getting those things done. I use Strides to do that (which is, for instance, how I know I work out about 70% of days).

The checklist helps keep me on track, but I still want to get that rhythm down.


On the same day this article came out about Linus Torvalds, the founder and BDFL of Linux

Screenshot 2018-09-28 11.47.11

I had the occasion to apologize to someone I work with. The parallels between Linus’s story on my own struck me (although everything about his story is much larger compared to mine): we both lead technical, remote teams that principally communicate in writing. And we both can have the tendency to forget how much of an impact our words can have when we fire them into the ether.

In short, I had been an asshole, and it was time for me to apologize.

I’ll never understand why people don’t apologize, and apologize directly. I think it’s one of the most underutilized skills and behaviors in the world. Everyone is human; everyone makes mistakes; everyone hurts other people, intentionally or unintentionally. If you don’t take responsibility for it, those transgressions accumulate and eventually people (even the people you’re closest with) will no longer want to have anything to do with you. If you do, then not only do you reset the relationship, but you can actually build a stronger one by signaling that you’re willing to accept some humble pie for the sake of the relationship — that it matters that much to you. There’s a very big in results between the two behaviors and it just doesn’t compute to me why people don’t see that and can’t bring themselves to say they’re sorry.

Relatedly, Sorry Watch is a pretty funny blog that analyzes public apologies (e.g. by celebrities and corporations) and savages wishy-washy non-apologies.



I’ve struggled with on-and-off insomnia my whole life. Sometimes I can’t fall asleep. Sometimes I can’t stay asleep. For months at a time, I will sleep normally, and hope that the issue is behind me. Then, out of nowhere, or sometimes out of somewhere, insomnia will come roaring back. For a week, or sometimes weeks at a time, I will barely sleep. The thought of “it’s bedtime, time to get into bed” fills me with anxiety because I know that tonight ain’t it. Only when I finally build up a ton of sleep pressure do I know that things will sort themselves out. I just got out of a major insomnia streak, but last night things reverted. Here’s hoping they revert back quickly.


Textbooks are great.

Although I have some training in statistics and machine learning, for the most part I’m completely self-taught. A big part of that teaching has been to buy a great textbook on a given subject and to follow along until I really understood the subject. Coursera, YouTube, Stack Overflow, tutorials on the internet, etc are great, but textbooks are excellent too, and I think they are underutilized. Especially since there is a mental categorization of “that’s for when you’re in school” that people fall into.

It was at business school that I started doing some serious data science that my addiction to buying textbooks started. Right now I’m working through Design and Analysis of Experiments with R since Gradient is doing more (and more complex) survey-based experiments (I think at this very moment we are running four discrete choice experiments for clients)

Screenshot 2018-09-26 08.57.41

I’ll be honest, this one is a bit of a slog. But getting experimental design right is crucial for successful projects so I’m working through it; I’ve had a few a ha moments already — like why they’re called “orthogonal” designs.

Most of the textbooks I use are written to work with R, although not all. Some of the textbooks that go into my hall of fame are:

How we think about hiring

Gradient is growing, and we need to hire. We are kicking off our process this week. It’s funny, along with sales, how to hire well is one of those crucial, practical things they don’t teach you in business school. We have been sort of flying by the seat of our pants each time when we run this process.

In our typical fashion, we decided we would try thinking things through and doing them a bit differently. For our last process, we decided very early on that we would not think about defining a “role” and finding someone that could be slot into that. I basically don’t believe in defined roles for knowledge-work. The whole idea is that it’s something that requires creative thought, so how can you predict in advance what will be needed?

Anyway, even if defined roles make sense elsewhere, work at Gradient is far too fluid for it to work with us. We all need to pitch in on all areas of the business: building statistical models, hooking up our CRM system to our email system, evaluating different AWS servers, and so on.

So the way we did it last time was to define a whole bunch of

  • Experiences (projects or models they had built in the past that were synonymous with what we do)
  • Skills (things they know how to do, from statistical modeling to server management and so on)
  • Traits (most importantly: do they want to work remotely?)

And give each of them a weight. People that had a bunch of highly-weighted attributes were more attractive to us than people that did not, simple as that. We even automated a large part of this process, having interested candidates take a survey that gave us a score. Take it here, if you’re interested — although consider this one obsolete.

I think that for the next hire, we’ll follow a similar process. It maps well to my mental model of how our company works and worked very well for us last time.


Thinking in Prolog

I’ve been having a lot of fun working on a side project written in Prolog, which is a logical programming language. It has been incredibly difficult to wrap my mind around how it works but I’m getting there, and I can see that “there” is a pretty powerful place. It makes me wonder why this paradigm isn’t used for more applications.

It turns out (you may already know this if you write code) that programming languages work very differently depending on which paradigm they use.

From Wikipedia:

Common programming paradigms include:

  • imperative in which the programmer instructs the machine how to change its state,
    • procedural which groups instructions into procedures,
    • object-oriented which groups instructions together with the part of the state they operate on,
  • declarative in which the programmer merely declares properties of the desired result, but not how to compute it
    • functional in which the desired result is declared as the value of a series of function applications,
    • logic in which the desired result is declared as the answer to a question about a system of facts and rules,
    • mathematical in which the desired result is declared as the solution of an optimization problem

I’ve found functional programming to be so intuitive and object-oriented (probably the most common paradigm today) to be so counterintuitive that I almost always write my programs in a functional style.

In a logic program, you write down a set of facts and rules. That’s it. That’s your program. And then you run the program by asking it if it can find a solution to a new query.

Prolog in particular is built around a type of logical statement called a Horn clause that basically reads “X is true if Y and Z are true”. In Prolog that would look like:

X :- Y, Z.

A more complete program (but still tiny) program would look like:

food(sandwich). % declaring a fact that sandwich is a food
drink(water). % declaring that water is a drink

meal(X, Y) :- food(X), drink(Y).
% X and Y (variables) make a meal if X is a food & Y is a drink

When you run this program, you’ll get:

?- meal(X, Y).
X = sandwich,
Y = water.

That’s a toy example, but you can see how quickly the complexity could build up with ever-more relationships and so on. I’m working on writing a program to solve the common wedding-seating problem where you have a set number of tables, people you want to sit next to each other, and people that you want to sit at different tables. It’s fun.

The space of things you can write

This morning I was reminded of a few tweets by Francois Chollet, a machine-learning researcher and practitioner who is the lead on Keras, the most popular deep learning library.

These thoughts have stuck with me.

This morning, I read Fred Wilson’s post celebrating fifteen years’ of writing on his blog, AVC.Reading it, I wondered the degree to which Fred has benefited from the discipline of expressing his thoughts in a precise, unlimited, and permanent form.

I’ve been missing that. Twitter has replaced writing for me — I agree with Brian Norgard’s take that Twitter’s change to 280 characters was the final death blow to blogging (if Google killing Reader was the pummel of body blows that knocked it down)

But if writing is self-directed, Twitter is a to-do list of things to think about or react to created by other people (if, done well, created by a very select group of other people that you’ve chosen and refined over time).

Putting it all together, I miss writing and spend too much time on Twitter. So it’s time to restart this thing. Should be fun.