@jmoironhow to fail code review https://t.co/8yngAUQnAc
@jmoironThis quote is about water:
“It has a vaguely mild sweetness, a nice smooth mouth feel, nothing that overwhelms the flavor profile,” San Francisco grocery store manager Kevin Freeman told the Times.
https://t.co/LyTspuL5R5
@jmoiron@bryanl I yak shaved this stuff long ago and came up with https://t.co/WeoEmIdmkE + https://t.co/5AQVqygqLd which work the same on osx and linux (bound to cmd-$ in both) and produce https://t.co/LWz2zfH3qc
@jmoiron@jtruk Agreed 100%. I also believe that keeping around those vestigal mechanisms of cleverness continues to have its impact on simple+accessible code because they often cannot be ignored.
@jmoiron@ircmaxell If you build a graph of other code you have to consult to understand the line you're looking at, it's the traversal of that graph. Eg. overridable attribute access adds cognitive load to all attr access. To cope we ignore the load or avoid the features but they still...
@jmoironThe less context you need to be able to read source code, the easier it is to understand. The more understandable it is, the more reliable it will be. Powerful language features like metaclasses, properties, constructors/destructors often add brevity at the cost of distance.
@jmoironRT @allspaw: A good first step in actually learning from incidents is to drop the existential need for “remediation items.”
Confront that…
@jmoiron@tjholowaychuk @davecheney The flipside is that zero values always behave the same no matter whose code you are using. I think this is easier even if it's cumbersome, as Go generally avoids allowing users to modify foundational behaviour at a distance.
@jmoiron@jtruk At some level of skill these start to be tradeoffs, but what about before that level? It's clear to me that one program can simply be better written than another and while that isn't always important in a business sense it's a part of professional development to improve.
@jmoiron@jtruk Right, so what makes code "well-written", how can you teach people to identify this, how can you then teach them to improve it? At the last stage, the "poorly-written" code no longer gets produced in future; the quality of the first version improves.
@jmoiron@jtruk Good point. I think it's easier to take any program and just imagine a worse version; this can be done without tradeoffs. How do we quantify going in the opposite direction, and how to you teach people to see these patterns as they are writing?
@jmoironGiven an engineer is already capable of solving a problem, how best to teach them to solve it _better_? I often see a laundry list of pithy quotes for which real world application is unclear; what single technique/advice/area of focus has yielded your best results?
@jmoiron@copyconstruct Mock means imitation via substitution, eg "mock bacon", though I think this usage is more common outside the US
@jmoiron@NateTheFinch It's controversial because it's not true :)
@jmoiron@Sajma @davecheney I love io.Reader and Writer (I even wrote them a love letter), but has anyone made a significant evolutionary leap in software design by composition since Douglas McIlroy?
@jmoiron@davecheney https://t.co/j6VisD21OK
@jmoironGreat advice: "Don't be afraid to try; just think a bit first and be willing to experiment." Also, the target should be to document your internal libraries as well as this https://t.co/Da9WTFdqGe https://t.co/9ydZmJ0fjj
@jmoiron@copyconstruct There are always good ways to add robustness to a system that are simply not worth the effort but will still inevitably show up on a post mortem next year. It can be really hard anticipate when the threshold will be crossed.
@jmoironRT @simonw: Maybe the solution to the Fermi paradox is that significantly advanced civilizations discover crypto currencies and then furiou…
@jmoiron@elithrar @golang Initially, `[]interface{}`, the way loop var implementation leaks into several situations, like using their address or closing over them with `go func() { ... }`. Later the right way to structure channel pipelines so they can be shutdown safely.
@jmoironI've never seen code that can adequately express "Every comment you write is a failure to express yourself well in code." so clearly it is bullshit and we can all move on.
@jmoiron@chimeracoder Avatar's borrow-word meaning has even been borrowed into _other_ languages to mean "online character" https://t.co/QFWZBlz53c
@jmoironAlan Donovan's casual aside at @gothamgo about turing incompleteness being a feature for Skylark really resonates. Choosing the right limitations for a certain problem domain is often much more powerful than allowing anything.
@jmoironRemember, in distributed computing, the only thing easy to distribute is failure.
@jmoiron@copyconstruct "[..] starting with a solution first only to later find a convincing argument to somehow retrofit our problem space into the solution space [..]" How else could all these reactjs apps get built? We think we're immune on the backend, but we're not. We're often wo...