HNHacker News
TopNewBestAskShowJobs

bjterry

1,476 karma · joined February 23, 2013

bjterry at google's email service
submissionscomments
bjterry··on Multistate Disagreement over the Length of the Foot to End
I tried to explain this, but it turns out to be kind of hard, so instead I found a reference for you: https://www.bunniestudios.com/blog/?p=257

Basically, it makes it easier to compare fuel economy differences at different points in the scale because they become subtraction problems instead of division problems. This is because usually the amount you are going to drive is fixed, and MPG puts the miles in the numerator, while "gpm" puts the fixed miles in the denominator, I think.

bjterry··on Mind map / flowcharts with automatic layouts that work
yEd is freeware. You can see the license by clicking one of the download links. I guess they monetize it by licensing the underlying diagramming libraries to businesses from the looks of it.
bjterry··on Ask HN: Best Way to Mock APIs in 2020?
> it occurred to me that it would actually be kind of great to write tests where the entire implementation including the language itself could be swapped out without really changing the tests.

I think this basically already exists with "Cucumber" and behavior-driven development. The test definition is specified in a natural-language-looking DSL which supports a number of underlying languages. When you swapped out the system you would have to implement the step definitions in the new language, but the tests would remain valid.

bjterry··on Coronavirus: 'Baffling' observations from the front line
[retracted]
bjterry··on History of Logo
I found this talk pretty interesting. Thankfully, the speaker doesn't limit the talk to "starting the debate," one of the world's annoying rhetorical tricks. She actually comes out in favor of an identifiable, different pedagogical method, and is doing research to establish whether or not it is superior.
bjterry··on Manager's Playbook: Heuristics for effective management
Yes, I was referring to the context "For the typical Silicon Valley style development role" I mentioned.

Part of this may be that we are using different definitions of SLA. Normally when people around me say SLA, they mean something that is an upper bound pretty much always expected to be met (or else there are consequences of some sort). If you are referring to a softer agreement than that, it could make sense. If you were holding 1 hour as an SLA by my definition, that would mean you pretty much need to always have someone on deck to immediately review all PRs, to be safe.

I mostly posted because I don't want people who are less experienced to get the impression that 1 hour average review turnaround is normal or necessary in a typical development environment. In specialist roles, sure. For example, if you told me your work was responding to support tickets created by customers, and it sometimes resulted in PRs to modify your infrastructure-as-code, I could see the team working out a system to always get reviews within an hour.

bjterry··on Manager's Playbook: Heuristics for effective management
If you have a PR review that takes over 1 hour, it's very unlikely that the reviewer will be applying the kind of focus that it takes to really review. For the typical Silicon Valley style development role.

1 hour SLA would be astonishingly, irresponsibly fast. In the real world, in small teams that put in a concerted effort, the outlier best average review times are like 6 hours based on real data. Ideally you would want to be within a work day, but if you are under 24 hours you are doing better than 90% of teams working at random BigCos the world over, I bet.

bjterry··on Ask HN: Recommend me a course on Coursera
I would expect people who take advanced courses to rate systematically differently from people who take beginner courses. For comparisons between similar courses it's probably fine, but would be hard to use the scores to compare the value of beginner courses to advanced courses.

Of course, even the definition of better here is so ill-defined it probably is of no practical significance.

bjterry··on Khan Academy requests for donations as their servers are at 250% normal load
You can find their 2018 IRS filing here: https://projects.propublica.org/nonprofits/organizations/261...

I've never read one before, but it looks like their IT spend was $5m of $49m total expenses on page 10.

I think it's very plausible that a sudden unanticipated increase in IT costs could cause a cash crunch.

bjterry··on Is there any code in Firefox (as of 2020) that comes from Netscape Navigator?
I interned at a company called Palamida that did this around 2006. They were eventually acquired by Flexera. One of their competitors was Black Duck Software which was acquired by Synopsys.
bjterry··on Dictionary union (PEP 584) is merged

    The Tao that can be told
    is not the eternal Tao
bjterry··on Neat URL cleans URLs, removing parameters such as 'fbclid' and 'utm'
Most users of this would never actually click on ad (they are probably already using an ad-block, or are completely ad blind), so that omission doesn't seem that bad.
bjterry··on P-hacked hypotheses are deceivingly robust (2016)
> Direct replications, testing the same prediction in new studies, are often not feasible with observational data. In experimental psychology it is common to instead run conceptual replications, examining new hypotheses based on the same underlying theory. We should do more of this in non-experimental work. One big advantage is that with rich data sets we can often run conceptual replications on the same data.

I think actually relying on "conceptual replications" in practice is impossible. If the theory is only coincidentally supported by the data, that makes the replication more likely to exceed p < .05 coincidentally in a very difficult to analyze way.

The author mentions that problem, but doesn't mention a bigger issue: If you think people are unlikely to publish replications using novel data sets, just imagine how impossibly unlikely it is for people to publish failed replications with the original data set! If you read a "replicated" finding of the same theory using the same data set, you can safely ignore it, because 19 other people probably tried other related "replications" and didn't get them to work.

bjterry··on The Shadow Inc. app that failed in Iowa last night
> You don't think there's anything political about removing yourself from society for 30 years and living in the woods?

I think there's something political about it, but I also believe that it could be done for non-political reasons (spiritual reasons, practical reasons, mental health reasons). As a pure narrative, it would most likely be politically motivated, but in hypothetical-land it wouldn't necessarily be. Even if there is something "political" about it, it doesn't really map to what people mean when the use the term "political." It may map to opinions about how the state should be governed, the broadest definition of political, but it's much more frequently used to refer to a particular subset of debates which are at least minimally polarizing in some way.

> What this is saying is that they are happy with the status quo, and they see no room for improvement, or they're not bothered if things are improved one way or another.

All I'm trying to point out is that it's a legitimate spectrum. When I say "someone disengaged enough that they don't care who will become the next president" it's very easy for the reader to imagine someone in shoes very like theirs and making that choice somewhat actively to not be engaged.

But in the wide world, you can be simply unable (or unwilling) to devote any energy to understanding how the current political environment relates to your life, and thereby form no opinions one way or the other. Perhaps you work 16 hours a day to support your family, or you live in a country only temporarily and don't even understand the language. This would imply the fact that you lack the resources to form a political opinion is "supporting the status quo."

bjterry··on The Shadow Inc. app that failed in Iowa last night
Even if many people think that they "aren't very political" and are incorrect, there are some people that aren't very political and this is justified. For example, if you are a 5 year old and you believe you are not very political, you are probably correct. If you have been living in the woods for the last 30 years, don't know anything about modern politics, and believe that you are not very political, it would be weird for us to say "the thought you are not political is itself quite political" rather than "that sounds like a justified true belief."

So assuming it's possible in principle to be "not very political," the real question is how disengaged, uninformed, or lacking in understanding do you have to be for your statement to be true in itself, rather than a "quite political" statement. For myself, I think if someone is disengaged enough that they don't care who will become the next president, and there are no local political issues they will argue with someone about, they are "not very political."

bjterry··on How to Mitigate a Negative SEO Campaign?
That response is insane. How on earth could he substantiate it further than the significant evidence he presented? Would it require an admission of guilt from the responsible party?
bjterry··on Banksy launches homewares shop in dispute over trademark
I find the Banksy identity situation pretty interesting. His identity has been basically known since 2008, but despite that revelation, few articles on Banksy actually acknowledge this fact and state it in clear terms.

In 2008 DailyMail did a report that provided highly convincing evidence that Banksy is Robin Gunningham [1]. Since then several other pieces of evidence have come out pointing to Robin Gunningham [2][3]. But for some reason in the press they like to latch onto much weaker evidence for other candidates, like Robert Del Naja, to try to "teach the controversy" as it were. Journalists apparently have difficulty comparing multiple layers of evidence coming from different angles with unsubstantiated statements, which I think is kind of sad. I'm pretty sure that it's really that journalists like to just keep the dream alive, even though they know it's kind of silly. I guess it turns out if people are sympathetic to you keeping your identity secret, all you have to do is deny it no matter what and they will just always report your identity as being in dispute.

On the other hand, Wikipedia's treatment of the subject is good, which is something [4].

1: https://www.dailymail.co.uk/femail/article-1034538/Graffiti-...

2: https://news.artnet.com/art-world/early-banksy-auction-13291...

3: https://www.independent.co.uk/news/people/banksy-geographic-...

4: https://en.wikipedia.org/wiki/Banksy#Personal_life_and_dispu...

bjterry··on AWS EC2/RDS Outage in us-east-1
This outage is only affecting a single availability zone, so taking on the complexity of multiple cloud providers would not be necessary to be resilient against it. AWS best practices would already have covered you.
bjterry··on Ask HN: How relevant is The Mythical Man-Month outside the software industry?
> That doesn't sound anything like a surgical team to me. It just sounds like you're mixing experience levels to train new people.

I think I'm more saying that we have moved toward a specialization of labor that supports the software engineer in a different way, even though it hasn't ended up looking like a surgical team. We have product managers who understand the user's needs and organize feedback sessions, we have product designers who are experts of UX design, we have junior engineers that implement components with the oversight of the more senior engineer, etc. It has ended up being more collaborative, and it's not clear to me that it would be better if instead we tried to organize it around a single person who was the overall "surgeon" who did the key aspects of all this work with the others in a supporting position.

In some companies there is a "directly responsible individual" who is in charge, but in others there isn't. Are they acting as a surgeon in that case, or are they doing project management? It depends on the organization. How much ownership that person has and what is the impact on that person of success and failure? It's hard to analyze a different organizational framework as it relates to Brooks.

> Why? Has human nature changed in 40 years? This isn't like reading Plato, where he simply made up things he didn't understand. On the contrary, I would be much more surprised if the nature of team productivity had changed in only 40 years.

Brooks' writing wasn't grounded in fundamental human truths, it was grounded in his observations of software projects that existed in 1975 and related observations of how work was performed in other industries.

My intuition is that if there are Way A through Way Z ways of doing things that are optimized for A through Z different types of organizational problems, Brooks was saying "Way D is the best for software projects." But because we now work on different types of problems (much shorter feedback loops, higher levels of abstraction, users with higher levels of sophistication, greater importance of software ecosystem) maybe Way E (Silicon Valley style agile, lean product management, etc.) is more appropriate. Since Way E has been successful in the market, it at least seems adaptive. Otherwise companies would have a strong incentive to change to Brooks' Way D.

bjterry··on Ask HN: How relevant is The Mythical Man-Month outside the software industry?
Many of your points are accurately stated.

Story points are different from man-months because they are part of a continuous calibration feedback loop. They really differ pretty fundamentally from man-month style estimates in waterfall software delivery. If you are calibrating your story points, they should naturally include team communication costs if those costs are somewhat stable.

Brooks' core insight has been well-heard though. Everyone I work with in software engineering knows that adding more engineers to a project will not get it delivered faster when it's already in crunch time.

In general, "agile" development differs in a lot of ways from what software development looked like when Fred Brooks was writing. If you are delivering software in small increments, making small adjustments and receiving continuous feedback from users, a lot of his advice maybe is not relevant. Hiring implementers when you are still architecting a MVP version of a feature which you will test with customers then rearchitect as necessary is not as big a problem as hiring them when you are working on the final architecture of a system which will be years in development and deployed in a very expensive once-per-year fashion.

Companies (well-run companies, that is) have surgical teams in spirit, in the sense that the more complex projects are taken on by engineers that have successfully executed the most complex projects in the past, and work with more junior engineers on coding those projects. And there are often development teams with people fulfilling different roles as part of projects. Many companies have teams responsible for development tooling, including pretty much every FAANG and most large startups.

In general, it would be surprising if Brooks had happened to be exactly right in all of his observations writing 40 years ago. In well-run companies, we see a lot of things which Brooks was pointing to were exactly accurate, but we also see that in many ways we've moved past his predictions of the best way to do things. In badly run companies, many are still making the mistakes Brooks talked about, because they are attractive or "obvious" ways of thinking about software development.

bjterry··on The Long Tail of Dog Names
The breed names don't render in Firefox for some reason.
bjterry··on Announcing Rust 1.36.0
I think that allows library authors to implement against the trait, but then the user of that library can choose which concrete implementation they want to use in their app, so they don't have to have multiple and convert between them.
bjterry··on Amazon ‘flooded by fake five-star reviews’ – report
> Is there a citation I can refer to about this statement?

I recently read The Elephant in the Brain: Hidden Motives in Everyday Life, which discusses this topic in great detail.

bjterry··on Removing Array Duplicates
Almost every language has a function that returns whether a key exists in the map. In go it would be something like:

    _, ok := m[thing_to_be_found]
So it doesn't matter what you put in there, including struct{}.
bjterry··on DoorDash and Amazon Won’t Change Tipping Policy After Instacart Controversy
There are a bunch of different knobs that you can tweak to make this "feel" like the dashers are either receiving the tips or not.

1. Suppose DoorDash provides a minimum payout of $0.01 instead of whatever algorithm they use. Then, clearly, 100% of your tip goes to the dasher.

2. Suppose you tip the dasher $1000 under the current system. The dasher receives $1001 and 100% of your tip feels like it's going to the driver.

3. Suppose dashers are paid a minimum of $100 per order, and your tip never reaches that level. In this case it feels like 0% of your tip is going to the dasher.

We actually don't have enough numbers to know which of these is more like reality as far as I know. If the typical tip is much larger than the minimum, then the minimum feels like it’s just protecting the dasher and their compensation is just tips. If it’s calculated to be right at the level of a typical tip or larger than it is clearly manipulative.

bjterry··on BuzzFeed’s 19-year-old quizmaker will no longer work for free
It could also be that the marginal traffic or revenue generated by her over the next best quiz author is much less than $200k. If so, having her specifically may only be worth, say, $5k and not worth the hassle in the context of the overall program continuing to work.
bjterry··on American Cheese Surplus Reaches Record High
I bought a personal pizza at the grocery store with a substitute crust made of chicken meat. It was awful. I think it was something like this: https://www.realgoodfoods.com/product/mixedcases/

I assumed that the crust would be more bread-like, but somehow made with some chicken meat. It was more like a flavorless thick circular slice of chicken breast with pizza toppings.

bjterry··on How to make sure your talk doesn't suck (2011) [pdf]
The biggest signal of someone being an amateur when speaking (or writing) is discussion of the process of creating the presentation. Polished professional speakers don't talk about "when I started writing working on this presentation, I wasn't sure how to talk about X." They just put together a presentation describing the result or topic and present it without talking about all the work that it took to create. The process of creating it seems very salient and novel to the creator at the time of creation, but the audience doesn't care.

People who are nervous or give public talks only rarely will regularly fall into this trap. I think it's related to self-handicapping in presentations, but is distinct, and I have not seen it mentioned in looking at a few "presentation pitfalls" articles.

bjterry··on Alphazero crushes Stockfish in 1,000 game match
When Stockfish evaluates a position, it explores moves to a greater depth (a greater number of plays ahead), with its guesses and the value of the final board arrangements it can get to estimated using a relatively simple heuristic. AlphaZero evaluates the different potential moves using the neural network, which guides the search with a very complex heuristic that implicitly incorporates a tremendous amount of depth from prior games that have been incorporated into the model. Similar to the way an image recognition model takes in a whole image and says "this is an image of a goat," AlphaZero takes in a whole board and says "this is a winning board."
bjterry··on Should you use www or not in your domain? (2017)
You should always use your turn signal even when it's already implied, because that implication is not obvious from every vantage point near an intersection to people who are potentially crossing your path (and who may already be moving towards your path at speed).
← PreviousPage 3 of 14Next →