HNHacker News
TopNewBestAskShowJobs

grayclhn

1,110 karma · joined April 13, 2014

http://gray.clhn.org

Econometrician at Amazon; formerly taught at Iowa State. Obviously everything written here reflects my own opinions and not my employer’s.

submissionscomments
grayclhn··on Want quick answers? Ask questions well
+1000. "Do you have 5 minutes to join this conversation?" is totally fine. The alternative of

> Them: "Hi"

> ...

> Me: "What's up"

> ...

> Them: "Do you have 5 minutes to join this conversation?"

> ...

is awful.

grayclhn··on Want quick answers? Ask questions well
Obligatory: https://www.nohello.com/

And as a blanket rule of thumb, don't send people chat messages that you wouldn't want to see displayed to an arbitrary meeting full of people. :)

grayclhn··on The culture of rejection in computer science publications
Splitting up a groundbreaking idea into so many papers that the idea is lost is 1) going beyond a “minimal publishable unit” and 2) not in the authors’ interest, since getting credit for a groundbreaking idea in a correspondingly prestigious outlet is much better than getting credit for 2 or 3 bad ideas. I’m sure there’s a level of novelty where 2 irrelevant papers is better for the author than 1 single paper, but I don’t think we should design academic publishing around slightly-better-than-mediocre contributions.
grayclhn··on The culture of rejection in computer science publications
Honestly, I think this is often said cynically but is a good practice overall. Would you rather have to read and understand one giant commit reflecting 2 years of work, or 10 well-documented and logically complete individual commits?
grayclhn··on The culture of rejection in computer science publications
IDK, I think tenure contributes a lot to 1. I understand and agree with a lot of the rationale (academic freedom, etc.) but when you select for people that prioritize, “if I work really hard for 6 years and get lucky, I can never be fired,” you get a lot of dysfunctional individuals and encourage some of their worst impulses.
grayclhn··on John Carmack's new AGI company, Keen Technologies, has raised a $20M round
Cool, make it happen. Don’t know how? Neither does anyone else. That’s why it’s not happening right now.
grayclhn··on A list of developer questions to ask prospective employers
I would for sure want to know why a company was using svn or fossil for source control (just to take two examples)… there might be good reasons, but either one suggests that the company may not be making the right trade-offs.

(Nothing against fossil, it sounds lovely. But there needs to be a good reason to choose a niche product here.)

grayclhn··on What I learned working with a senior engineer as a new grad
Inside FAANG, it is literally a job title.
grayclhn··on A pizzeria owner made money buying his own $24 pizzas from DoorDash for $16 (2020)
If you're just selling them to yourself, no need to even reheat the pizzas.
grayclhn··on Finishing what you start makes teams more productive and predictable
That can be good. The number of times I’ve actually wound up doing something I was “definitely going to do” is way less than 100%.
grayclhn··on How to drive away your best engineers
Use data on how long it takes to complete “projects.” Or break the project down into your best projection of the component tasks and multiply “number of equivalently sized tasks” by “average time to complete that sort of task over the past X months.”

Regardless, “collect and use data from the past,” does not require a “completely steady state,” and is pretty easy to modify. I’d feel a lot better having a conversation around, “this is totally new, do we think it will take about 2x or 5x longer than our normal projects?” Vs “this is totally new, so everyone guess how many months it will take without looking at any relevant data on either past project duration OR the accuracy of your past guesses.”

When people talk about “estimating task size” they almost invariably mean some planning-poker version of the second. Especially in TFA where they bring up forecasting as a better alternative.

grayclhn··on How to drive away your best engineers
You vote by changing jobs. I think “real governments” make it clear that this isn’t sufficient to thwart harassment though.
grayclhn··on How to drive away your best engineers
>> Stop estimating.

> How does this person think an organization schedule, budget and allocate resources?

Collect data and use a trivial prediction model (i.e. median calendar time it took to complete the last 5 stories). Monitor and improve the prediction model over time if necessary. If you’re not collecting data reliably enough to generate a prediction automatically, you’re not taking any of these issues seriously anyway.

grayclhn··on How to drive away your best engineers
This is usually why people make the distinction between “leadership” and “management” — if you use “management” the way your comment does, you no longer have a word for someone with multiple direct reports.

But yes — totally agree that “technical leadership” is 100% part of being a senior+ engineer and that almost always requires understanding the business and customers.

grayclhn··on Writing my PhD using groff
I’ve tried. Coauthors and journal requirements were my limiting factors, not anything inherent to the typesetting engines…

These days (in industry) I manage to use pandoc markdown to word for everything (for similar reasons), which is even more limiting than plain TeX. You learn to write around the limitations pretty quickly. :)

grayclhn··on Me and Monotropism: A unified theory of autism (2018)
Sometimes people are just bad at things, even things that seem easy.
grayclhn··on Comcast: Simulating shitty network connections so you can build better systems
Read-only offline is not a hard problem. Regardless, lots of things are hard problems _the first time it’s solved_ but become easy problems with the right tools and design.
grayclhn··on Microsoft researched what made employees happy
If you need to actually make meaningful commitments, you need to track how long stories/projects/whatever actually take, and use the data to make a prediction. Subjective “estimates” can be an input, but they’re basically guesses.
grayclhn··on Ask HN: Why do I struggle to follow corporate meetings?
You're definitely not the only one who struggles with this. I've tried a lot of different approaches for what to do during the meeting, but tbh what I've settled on is:

1. Avoid meetings that I'm not going to get value from OR am unlikely to add (sufficient) value to.

2. In some meetings I'm going to add more value by facilitating, etc., than by just saying whatever's on my mind.

For 1: I decline a lot more meetings than I used to. Sometimes it's a straight decline, sometimes I'll email the organizor or other people who will be attending and say, "I don't think I have a ton to contribute, but ping me if you need me to jump in," sometimes I'll decline and suggest meeting to provide feedback offline or in a smaller meeting if I actually have suggestions on the topic, etc.

For 2: sometimes you can't get out of going to these meetings. :) If I don't have anything to contribute on the topic of the meetings, taking notes (usually just to share with people on my team who couldn't attend... hopefully the organizer has planned on taking notes as well but :shrug:) or helping ensure that quieter people get a chance to speak is still a way to add value to the meeting without being on top of the subject matter.

Edit: one nice thing about these strategies is that you can apply them regardless of the reason/blame for not following these meetings. It works the same whether it's complete BS or something you really "should" be up to speed on already.

grayclhn··on Give up GitHub: The time has come
I mean, it's nice that they have a setting for the bare minimum a lazy undergrad would do to avoid getting caught for plagarism — replace some of the words in the copied paragraph with replacements from a thesaurus. It's not something I'd personally expect to hold up under real scrutiny though.
grayclhn··on Why programmers are not paid in proportion to their productivity (2009)
One piece of advice: make damn sure you get credit for supporting the rewrite.
grayclhn··on Viruses that were on hiatus during Covid are back, behaving in unexpected ways
Not really a discussion I particularly want to get into, but many people think “an increase in suicides” should be counted as a negative consequence of firearms.
grayclhn··on Schools should be using open source software
For _school_ use the extra functionality is basically irrelevant. (Excel for some college level courses is an unfortunate exception.)
grayclhn··on Leslie Lamport revolutionized computer science with math [video]
> As long as there is a decision to take the issue persists, it's only if you always go left (or always go right) that the issue doesn't exist.

That's not true. There are two problems.

1. The math is set up to rule out a lot of obvious solutions. Write out A_t(x) for the decision rule "always walk right at a constant rate." For any rate, A_t(x) becomes a spike at 1 for t > some threshold that depends on the rate.

2. The math rules out randomness. A_t(x) can't be defined for the decision rule, "flip a coin and walk right half the time, left the other half," because you wind up at 0 with probability 1/2 and 1 with probability 1/2 for t > some threshold and the problem is defined so A_t(x) must resolve to a single point.

Once you do that, the only solutions left are kind of mind fucks. But you can't draw any general conclusions from it.

grayclhn··on The benefits of “low tech” user interfaces
TBH, a “child protection mode” does seem like legitimately new functionality, even if it was unwelcome for your in-laws.
grayclhn··on Leslie Lamport revolutionized computer science with math [video]
Write it out :)
grayclhn··on Leslie Lamport revolutionized computer science with math [video]
From skimming the paper, "continuity" seems to be a deceptively strong assumption here, and the claim "this is a physical system so it's continuous" is doing a lot of heavy lifting. Unless I'm misunderstanding the example in the first paragraph, "move towards point 1 at a constant pace" can't be represented as a continuous A_t(x) for t above some finite threshold.
grayclhn··on Engineering students create edible adhesive tape to keep burrito wrapped tightly
A “wrap” is the generic term for food wrapped in something vaguely large-tortilla-like. Just because people somewhere call something a burrito doesn’t make it true.
grayclhn··on Engineering students create edible adhesive tape to keep burrito wrapped tightly
> The biggest criticism I'm raising is the American (outside of border states like CA, AZ, NM, and TX where they don't put up with that shit) tendency to accept cheaper, filler ingredients as primary to the contents of a burrito.

Having lived in San Diego and SF… they do indeed put up with that shit in many parts of those border states.

Fantastic comment, though. :)

grayclhn··on Correctness and composability bugs in the Julia ecosystem
Yes and no... Julia's been focused on high performance numerical computing from the beginning (and other related scientific applications). Using macros to get good performance from relatively generic code was (from my outside perspective) a really effective way to support real applications early on and also give time for the compiler to get "sufficiently smart" to make the macros less necessary.
← PreviousPage 2 of 19Next →