135 karma · joined October 27, 2012
Also I would describe your server situation as "brave" and "a mood" (I mean that in the very best possible sense)
And finally, a question: what other interesting stories does the creator have to tell?
Someone recommended "Moral Mazes" and I heartily second it. Though mostly because it was so profoundly cynical that it pushed me to defend the systems I was so annoyed by.
If you want to learn the language of design by committee, "Nonviolent Communication" by Marshall Rosenberg is the book that the rest of the committee is playing from. It has genuinely useful pieces. But I also find it fundamentally dishonest in that it frames all other forms of communication as "violent" in a rank misuse of the word. Additionally, the techniques it recommends require that you put in all the effort of framing a situation as no-blame or shared-blame when it very much is not. You do not need to agree with your opponents' tactics manual to find value in its study.
"Radical Candor" by Kim Scott is an attempt to bring directness in to otherwise passive aggressive situations. It's a valiant attempt but it's unclear to me how viable its recommendations are.
However it's not clear to me that any amount of high or low level reading is going to help with your feelings of dissatisfaction here. It sounds like you're looking for a "win" instead of an "out". And despite the deeply cynical feelings it can generate, you cannot succeed at office politics through cynicism. Or irony. Or cynical, ironic, distance. The successful are either completely earnest, or sociopathic enough to fake complete earnestness. And from the outside those are indistinguishable.
I've heard it said about running: it doesn't get easier, you just get better. I'm beginning to think that that is true of life in general. My greatest source of dis-ease (rather than literal disease) is the feeling that I'm not living up to my potential. Been with me since at least third standard/grade.
While I've never been to Stockholm (heard Noma's a good local joint), I'm at the place where I'm more afraid of getting too comfortable than I am of never being at ease. I'm trying (and usually failing) to think of things one bandaid at a time rather that the whole million at once. Setting my goals real low: to suck less rather than to be good/great. Help's a lot that there's one or two things that I legitimately feel I'm damn good at.
I'm curious, especially on the topic of stringing-together-unix-tools-on-a-whim, have you found any little tricks that apply to that area specifically rather than to the general concept of productivity?
Google has to allow dynamic loading at app start because of this. Or fix whatever subtle interaction between Android and an OEM's "improvements" is causing this. Not a huge step from here to getting your library from the internet instead of bundled with the app.
Not trying to justify any one app's behavior, just bringing up a fundamental reality baked into what you're saying: Apple doesn't have to deal with the gaps in its security model becoming load bearing features.
Org charts that ship a platform are default stable because everybody it a team or group is doing approximately the same things. Growth is less uncomfortable, advancement feels more objective, and individual developers are relatively interchangeable.
But what if a company needs to change? Now the stable org chart resists that change. By rejecting requests from client teams that are responsible for a new set of objectives. This recurses. One layer of platform can simultaneously be moving too slowly for the layer above and too quickly for the one below. Shear forces tear it apart and the organization finds itself with n (3 < n < 6) fewer platform engineers.
I like what you say about needing to "learn how your co-workers communicate[d]". Maybe that's the abstraction layer that makes async everything possible. Still a leaky abstraction and I'd prefer not to have it. But it might actually have worked for me over the last couple of months.
> it has a clear preference for pricy paper
Well so do I :)
It's just like Haskell for the crucial difference between two functions to be denoted by prime. For half of the essay I thought that this was a deep philosophical treatise about the degenerate case equality of lazy and strict languages. But, in reality, fold and fold-prime (can you inline code in HN?) are totally different functions.
And like with all pairs of things in Haskell once you learn the fundamental difference between them, the fact of that difference becomes obvious. So obvious that you don't know how anyone could possibly confuse the two. And so you call the method everyone should use foldl-prime even though a casual programmer doesn't even know that "single-quotes" are an acceptable value name. When you could have just called it foldl and moved the old one to the deprecated module.