blakehaswell | 8 months ago | on: Checklists are hard, but still a good thing
blakehaswell's comments
blakehaswell | 3 years ago | on: Musk ‘killed’ Twitter’s official checkmarks after only a few hours
What can you possibly learn about a new feature in a few hours apart from the gut reaction of a mob? If that's enough to change your mind, what evidence was there in the first place that the feature was a good idea? Probably none.
blakehaswell | 3 years ago | on: I don’t believe in sprints
blakehaswell | 3 years ago | on: Will serving real HTML content make a website faster?
As for data across the wire, GZIP is a thing so again I would want to see real world performance numbers to back your claims.
blakehaswell | 4 years ago | on: Microservices: Why Are We Doing This?
blakehaswell | 4 years ago | on: The Only Unbreakable Law
I would have liked to see an exploration of the "through time" lens on some of the more micro code-organisation structures he talked about at the end like class hierarchies. It's definitely a common problem in legacy code—there's some idea you want to express but the existing structures make that very difficult and so you end up twisting your idea to fit, further ossifying the existing structures.
I've also seen cases where the organisation structure was changed to affect some change, but the existing code structure makes that so difficult that the software doesn't actually change to reflect the new structure at all, and instead the new organisation is just slowed down by coordination costs at the organisational level as well as different coordination costs at a technical level.
blakehaswell | 4 years ago | on: SPAs Were a Mistake
Is that so impossible? There are many other considerations that go into technology choices at these companies. There are trade-offs involved, and for companies with huge teams of developers the considerations need to be very different than for small–medium sized groups of developers.
I would argue that a smaller group of developers can focus much more on user experience and engineering efficiency, whereas a large company has a organisational scaling issues and a significant bureaucracy to support. At a large company, engineering considerations come second to very many things. It would actually be surprising if the trade-offs and choices those companies made were correct for other very different companies.
blakehaswell | 4 years ago | on: Starting with microservices
blakehaswell | 4 years ago | on: Modern JavaScript has made the web worse (2020)
For me this is a leap. I can't think of many examples of software which I use where new features have actually made me happy. Normally it's just change which forces me to learn something new while I'm in the middle of trying to accomplish something actually productive.
I think our industry over-estimates the value of "new features". But in my experience 90% of new features provide neutral or negative value. If—instead of a new feature—the software I used released a performance improvement, then that would actually help make me more productive.
blakehaswell | 4 years ago | on: My Foreword to “The Art of Agile Development”
[1]: https://engineering.atspotify.com/2014/03/27/spotify-enginee... [2]: https://engineering.atspotify.com/2014/09/20/spotify-enginee...
blakehaswell | 4 years ago | on: Ask HN: Founders of failed startups, what are you doing now?
blakehaswell | 4 years ago | on: Why I Hate Frameworks (2005)
I'd love to hear more about your journey. What did going out on your own look like? What type of work do you do? How long did it find you to figure out the kind of work that satisfied you and paid the bills?
blakehaswell | 4 years ago | on: The compiler will optimize that away
I can build a cubby house in the backyard (low performance system) without understanding the the physical characteristics on the materials I'm using, but if I want to build a sky-scraper (high performance system) I need to understand the actual physical materials and how to use them effectively.
blakehaswell | 4 years ago | on: The compiler will optimize that away
blakehaswell | 5 years ago | on: HN was down
blakehaswell | 5 years ago | on: An incomplete list of complaints about real code
blakehaswell | 5 years ago | on: An incomplete list of complaints about real code
That said, I don't think any language is without trade-offs. As the author says:
> Hint: if you can't find something stunningly wrong with your "chosen one" language, you probably haven't been using it long enough...
blakehaswell | 5 years ago | on: Continuous delivery makes JVM JIT an anti-pattern
But isn't that the thrust of this article? Of course the JIT can optimise a monomorphic call-site. The question is, in reality, what percentage of the time will it be optimised for your users?
blakehaswell | 5 years ago | on: Code Budgets
But there is something interesting in this idea. Our software is growing immeasurably complex. We’re piling on more and more layers of abstraction. Ostensibly the goal is to make our lives easier. But in reality we’ve got companies throwing hundreds or thousands of developers at the problem of building a wiki or a social network, and they end up building these Rube Goldberg machines where 99% of the effort is spent on things other than the actual problem users want the software to solve.
Moore’s law has been totally offset by Wirth’s law[0], and as an industry I don’t see us doing anything about it. Even if lines of code is the wrong constraint, we could do with learning how to do more with less.
blakehaswell | 5 years ago | on: We need a new media system
I think people I know have been convinced in this manner. I don't think people necessarily reflect on why they were convinced. They just know that they agree with the "rain skeptics".
I'm not convinced that giving "rain skeptics" a platform would be the right thing to do if they only make up a small percentage of the population. If they make up half the population, I have no idea.
EDIT: My experience above is probably not helped by weak moderation in debates. Moderators with a backbone would probably help in cases where "rain skeptics" are given a platform. Sadly that seems to be rare.
I used to think checklists were used by reading the item, then doing the thing. I literally thought of them as a recipe that you would follow. Complete a step, check the box, repeat... This is typically referred to as a "read, do" checklist. In aviation this style of checklist is typically reserved for non-normal operations—procedures that you wouldn't use often enough to commit to memory.
The other style of checklist is "do, confirm". In this style you complete a procedure by memory, and read through a checklist to ensure you didn't miss anything (no box ticking, you just read the items and confirm to yourself that they're complete). In aviation this is the style used for normal operations, and for the initial action-items in an emergency (which although not commonly used, must be committed to memory because they are time-critical).
Because you're expecting that the procedure is completed by memory, a "do, confirm" checklist can be extremely brief. You do not need to write in detail what each step involves, you just need a word or two to name the step. Additionally, they're an extremely low operational burden; it takes a couple of seconds to read through a "do, confirm" checklist but the upside of catching common errors is significant.