HNHacker News
TopNewBestAskShowJobs

bjterry

1,476 karma · joined February 23, 2013

bjterry at google's email service
submissionscomments
bjterry··on 1M bartenders have to be certified in California by July 1
The study from that link[0] that the CA government used to justify this law is BS. Huge garden of forking paths issue. I mean this doesn't exactly inspire confidence:

> After following the iterative identification, estimation, and diagnosis model-building strategy of Box and Jenkins (1976), the following model was obtained: [Followed by a very complex equation with no justification for its structural form].

If I can iteratively generate a model that uses arbitrary combinations of arbitrary variables until I get to statistical significance, I can prove anything. That, plus the 23% decrease of nighttime vehicle deaths they attribute to this law is simply implausibly large. Per NHTSA, alcohol was involved in 40% of fatal accidents in 1990. Meaning it somehow stopped on the order of half of alcohol-related auto deaths in Oregon. That's magical thinking for an intervention like this.

0: https://www.abc.ca.gov/law-and-policy/regulations-rulemaking...

bjterry··on How to be uncertain with dates (2020)
The company I work for is in international logistics (Flexport) so as you can imagine, dates and times are quite important. We have standardized internal time definitions that can represent uncertainty, which were the result of much discussion. I was surprised to learn there are ISO standards for time uncertainty, since I don't recall this ever coming up.

This level of uncertainty would, I think, have too much flexibility for lots of normal business code. There is always an inherent tradeoff when writing code for use cases capturing real-world events between perfect fidelity of your model and coding ergonomics. Things about the real world are not known with perfect certainty, but if you can't capture them with discrete types (for example, CAR_STARTED vs. [Probability of CAR_STARTED = 99.9%, Probability of START_SENSOR_MALFUNCTION = 0.1%]), your downstream logic will be a huge mess. It can be cheaper to handle rare issues caused by lack of fidelity with business processes. Our time notion does not have as many degrees of freedom as this standard.

bjterry··on Investigating musical genius by listening to the Beach Boys a lot
I think if critics said things like “Pet Sounds was a huge technical and cultural innovation in the production of music but was only an incremental improvement in the aesthetics and complexity of music” we wouldn’t have this article. The point of the investigation is to understand why critics are literally calling it God-like. At least, that’s my reading.
bjterry··on Java Development on an Apple M1 – A One Year Review
From Brian Hook[0], who worked with John Carmack at id Software:

> I remember Carmack talking about productivity measurement. While working he would play a CD, and if he was not being productive, he'd pause the CD player. This meant any time someone came into his office to ask him a question or he checked email he'd pause the CD player. He'd then measure his output for the day by how many times he played the CD (or something like that -- maybe it was how far he got down into his CD stack). I distinctly remember him saying "So if I get up to go to the bathroom, I pause the player".

> You know what's pretty hardcore? Thinking that going to the bathroom is essentially the same as fucking off.

0: http://bookofhook.blogspot.com/2013/03/smart-guy-productivit...

bjterry··on Applebee’s exec urges using high gas prices to push lower wages, sparks walkout
The headline is deceptive as written. It's an executive at an Applebee's franchisee with 47 restaurants, not the chain itself.
bjterry··on Why is it hard to buy things that work well?
> Amazon eventually solved this problem by having their own delivery people (and Apple has done this as well for same-day delivery). At scale, there's no commercial service you can pay for that will reliably attempt to deliver packages.

It's funny, I have actually observed the phenomenon he described in the same company. Safeway in San Francisco either uses their own delivery drivers, or they subcontract to DoorDash depending on the time of day of delivery. If I order with Safeway delivery drivers, they will happily deliver all the way to my apartment door inside the building. If I get a DoorDash driver, the intercom will magically be broken 100% of the time. It's a perfect comparison.

bjterry··on HeyWhatsThat – Calculate viewshed and panorama for any point on Earth
My non-scientific method was to put the two windows side-by-side, and click the "zoom out" button three times to eyeball the difference.
bjterry··on HeyWhatsThat – Calculate viewshed and panorama for any point on Earth
Thanks for the correction. It felt a lot closer, but I haven't been there in a long time.
bjterry··on HeyWhatsThat – Calculate viewshed and panorama for any point on Earth
There is a widely spread myth that Mt. Diablo in Oakland has the second largest viewshed in the world after Mt. Kilimanjaro[1]. With this tool you can actually compare them directly, which is pretty cool:

Mt. Diablo: https://www.heywhatsthat.com/?view=K1JW43D4

Mt. Kilimanjaro: https://www.heywhatsthat.com/?view=ME9CTRPG

1: Debunked here: https://www.kqed.org/news/11808501/does-mount-diablo-have-th...

bjterry··on Building for the 99% Developers
99% feels like an exaggeration. I've talked to many developers from non-FAANG companies, and it isn't at all uncommon for them to be using GraphQL or serverless. I guess there is some selection bias since they are usually applying to a unicorn, so they are probably more likely to come from environments that fit the "1%".

Whether this distinction is relevant to you depends on where you sit. If you are a startup selling developer tools, by all means think about the 99% developers, but also know that a lot of them are in environments that don't spend a lot on tools and are averse to exploring new technologies. If you are a developer in one of these environments, well, the standard advice on Hacker News is already "You're not Google."

I feel like some of this is a bit fatalistic. The 99% can follow a DevOps playbook if they realize its value, and it's cheaper to have DevOps than to not have DevOps, in the anything-more-than-short timeframe. The 99% can certainly have test coverage standards for new code. Somehow, we moved from a world where the 99% didn't use source control, and now they do! Some technologies and practices are so impactful, you should aspire to them no matter what you're environment is (e.g. code review, CI/CD).

The 99% concept also hides a lot of important details, as it's defined by exclusion. The choices you need to make for an early stage startup, a mature WordPress shop for small businesses, and a legacy mainframe team in a F50 are as different from each other as they are from FAANG.

bjterry··on Dataset and Model for “I built a system to take photos of planes over my house”
I don't think that's right for all of them. I suspect it's the company that owns the lease or loan on a plane that's being financed. For example, the current first listing is an A319-112 with the number A997E5. According to PlaneFinder that's operated by American Airlines[0]. A lot of them are very large planes, which wouldn't really make sense for a private jet. Some are smaller, though, and are probably being financed by the ultra-wealthy.

0: https://planefinder.net/data/aircraft/N717UW

bjterry··on Unredacted Antitrust Complaint Shows Google’s Ad Biz Even Scummier Than Imagined
I think you are misunderstanding how second-price auctions work. In a second-price auction, the FIRST price bidder pays the bid of the SECOND price bidder. This sentence is saying that the FIRST bidder is still paying the SECOND price rate, but the publisher is only receiving the THIRD bidder's rate. For example:

* Bidder A - Bids $100

* Bidder B - Bids $90

* Bidder C - Bids $80

Under a true second-price auction, the publisher receives $90, and Bidder A pays $90. The article is alleging that Google changed it so that in this scenario, Bidder A pays $90, but the publisher receives $80.

bjterry··on Emergent Behavior in Skyrim's Fox AI
Here's the original tweet, for those interested. The content is essentially identical either way: https://twitter.com/JoelBurgess/status/1428008041887281157
bjterry··on Evergrande has defaulted on its debt, Fitch Ratings says
These walls are typically called "lath and plaster." A lath is a narrow slat of wood.

https://en.wikipedia.org/wiki/Lath_and_plaster

bjterry··on Designing Low Upkeep Software
> Looking at the open issues, it doesn't appear to be actively maintained

I'm not sure if this is intentionally ironic or not, but it does seem like if your small libraries aren't getting updated regularly because they are done, you at least want the meta library (in this case the single file libs repository) to be updated regularly with new small libraries.

bjterry··on Sorry, we replaced that old technology, “see-through glass”
There is an art installation in Las Vegas[0] which is basically a grocery store from an alternate, mildly dystopian, dimension. This would fit in perfectly there.

0: https://www.travelandleisure.com/culture-design/visual-arts/...

bjterry··on May 2021 Coordinated Inauthentic Behavior Report
In the article, they use the term "domestic" to refer to a Pakistani agency posting in Pakistan. The definitions are slightly more clearly explained in another post[0]:

> Foreign-led efforts to manipulate public debate in another country

So it seems to be the nation whose public debate is being targeted, meaning that it could theoretically be either 2 or 3 depending on the intentions of the actor and Facebook's ability to discern it, but definitely not 1.

0: https://about.fb.com/news/2019/10/inauthentic-behavior-polic...

bjterry··on A Lifetime of Systems Thinking
Thanks, this is a great recommendation based on the Amazon reviews!
bjterry··on A Lifetime of Systems Thinking
I have been thinking a lot about Systems Thinking recently. Will Larson writes in An Elegant Puzzle: Systems of Engineering Management that it's one of the most useful general tools he's discovered for approaching management problems. That inspired me to read Donella Meadows Thing in Systems, but even after reading that, I'm not sure how to apply it to engineering organizations. It's only tangential to this topic, but if anyone has a good course or book that works through examples which can be transferred to managing engineering teams or organizations, I'd be grateful. When I read most systems thinking materials I get the sense that they are mostly focused on civilization-level problems like global warming, rather than on ways that I can individually use it to understand and make changes within my more prosaic scope.

I also have a little bit of the feeling that the emperor has no clothes, since in spite of all their ideas, I can't find any major company that has successfully transformed an industry based on systems thinking, nor can I find any major social ill that has been solved through the application of systems thinking. If anyone has any concrete cases of those, I'd also be interested.

I have a blog post working on applying Donella Meadows' Leverage Points to an engineering problem (incident retrospectives), but it's unsatisfying enough that I haven't figured out how to make it publishable.

bjterry··on MUM: A new AI milestone for understanding information
In the current world, information wants to be free. In the AI-powered future, knowledge wants to be free.
bjterry··on Dante: Our Medieval Contemporary
By chance I listened to a translation of The Divine Comedy on Audible last month. The production was quite good, with a poetic translation by Clive James. Speaking as someone who has done almost literally no research on the topic, I will share my observations. I'm sure there are lots of scholarly discussions and justifications which take these on from a more "serious perspective," but there are a few things which I found funny.

The Divine Comedy is of a genre that we have only just developed a term for, the "self-insert fanfic." Through his adventures he compares himself favorably with other great poets. Strangely, it doesn't appear on the TV Tropes page for the phenomenon,[0] but the trope does appear on the TV Tropes page for The Divine Comedy itself. I'm glad someone else noticed!

Dante likes to crap on people who are alive or recently dead because of their supposed sins in his eyes. I can only imagine the glee that he must have felt, getting to talk smack about people for their failings in such an illustrious and glorious format. From the standpoint of modern mainstream Christian teachings, this seems really ironic. Judge not lest ye be judged and all that. But pretty much every Canto is just chock full of "this dude's a bastard, that dude's a bastard, screw that guy" for one reason or another. Donning the mantle of speaking with the literal voice of God to basically insult people you don't like is really quite prosaic and humorous to me.

Finally, one thing I thought was really funny is that we go from Dante being led around hell and purgatory by literally Virgil, historically renowned poet whose influence is still with us today, to being led around heaven by, basically, a random Florentine girl (from the article, she was 9 when they first met) he had a crush on when he was a kid.

All of these observations point to a sort of expectations misalignment. You expect to be reading this timeless classic, which provides glorious revelation of some of the most important high-minded concepts in the Christian tradition, and find instead a poem that is extremely situated within its time, place and authorship.

0: https://tvtropes.org/pmwiki/pmwiki.php/Main/SelfInsertFic

bjterry··on Stop Swiss Cheesing your calendar
I use Clockwise for managing my calendar. It's quite convenient if you are a manager because it can handle all your flexible meetings (aka 1:1s) even without everyone on board at your company using it. Definitely recommend it.
bjterry··on Software quality/delay problems are coming from one source: constant changes
The discipline of software engineering is mostly about managing change, and the most impactful ideas in the field support this from the micro level to the macro level. For example, at the micro level immutable functional programming with modern type systems allow you to refactor code more confidently. At the macro level using agile processes instead of waterfall allow you to make larger changes with the same investment by breaking the change into many smaller deliverable pieces iteratively applied with the benefit of feedback. Other examples: modern source control, modern DevOps (CI / CD), microservices, OO-style design patterns, API or protocol design (backwards & forwards compatibility guarantees), data modeling. These don't all apply to game development, but I think the comparison is instructive.

Obviously change isn't the ONLY thing, even with a static set of requirements you have to build something that makes tradeoffs between various constraints (performance, cost, etc.). But it's much more common to be working in an environment that has frequent changes than one with static, known requirements, which is why this factor has been so influential in how we develop software.

With that in mind, saying that software quality and delays come from constant changes from game designers shouldn't be surprising. If this weren't such a hard issue, we wouldn't have spent so much of our collective effort creating ways of addressing it. Just like in bridge building we put a lot more effort into understanding the physics of different ways of holding up the cars instead of, say, what bridge paint colors most reduce the risk of accident.

bjterry··on The Future of RTS
The single-player campaigns were a major focus for many early RTS. Even Warcraft II many players mostly played the single-player, but that was probably the tipping point due to the success of Battle.net.
bjterry··on 1937 film explains how a car differential works
Also, a very dangerous drinking game is to watch BBC's Planet Earth and have a drink every time they use a superlative ("most," "biggest," "fastest," etc). So that is also definitely not an exclusively American phenomenon.
bjterry··on Amazon disallows pointing out paid reviews
If you have two actors within a system that are at odds, using the term "purpose" to refer to the system is either mostly incoherent, or (in most cases) trying to import the connotation of "purpose" into a conversation.

A charitable view would be that Amazon is trying to create a system that rewards fair sellers and provides unbiased reviews to consumers, while unscrupulous actors attempt to defeat that by engaging in new forms of grift. If the unscrupulous actors are 10% less effective because of Amazon's efforts, does that mean the "purpose" of the system has shifted 10% away from honest dealing? If Amazon all but eliminates dishonesty, does that mean the "purpose" of the system is to have an ever present, tiny baseline of fraud? At that point, better to use a different word.

It's because of strategic equivocation between the "actor" being implied in the "purpose." The implication is that Amazon creates the system and this is their purpose, but the cybernetician's definition of purpose is more like "the role this system plays in the overall society in light of all the infinite restrictions on everyone's behavior."

bjterry··on In Pictures: How much plastic are you eating?
I'm pretty sure that's a toy or costume helmet. Calling it a "firefighter's helmet" is hilariously, intentionally deceptive.
bjterry··on Semantic Clojure Formatting
The semantic formatting seems better to me, but I feel like I'll get used to almost any reasonable formatting. If you spend enough time with a consistently formatted codebase, your eye will be drawn to the important parts when you review code. In a tiny way, you develop "expertise" with the formatting, and when you look at other code there is an ever-so-subtle friction to understanding it. Manually reindenting code after editing or refactoring it is also pretty annoying, though of course that's the instinct that "code is meant to be read" is intended to argue against.

It's interesting that the creator of Rubocop isn't that bullish on Prettier, because my company literally uses Rubocop to replicate a Prettier-like experience [1]. Rubocop makes a totally decent Prettier replacement, with the right rules. Another advantage of using a separate opinionated formatting tool is that you avoid issues with a diversity of editors which never quite have the same auto-indentation to mess up code diffs.

1: https://flexport.engineering/approximating-prettier-for-ruby...

bjterry··on Today’s Webcams Are Boring, So I Brought Back a Classic
When I imagine a classic webcam, it's definitely the Logitech QuickCam Express (1999), with its memorable industrial design of an orb perched atop a stumpy pyramid. It only predated the iSight (2003) by 4 years, although there were earlier models with a similar design under the Connectix brand name dating back to 1994.
bjterry··on In defense of the IPO, and how to improve it
This article is good as long as you realize that it is a very company-centric description, as you would expect from a VC.

Criticisms of IPOs on HN fall into two buckets, first whether the companies are giving up too much equity and second whether access to IPOs is fair and serves the public interest. This article mostly addresses the former, and really only briefly touches on the latter.

← PreviousPage 2 of 14Next →