Issues around the sunset of Aperture or iPhoto, bad Photos, Final Cut Pro X, etc are most certainly not software quality problems, but product management problems.
On such large apps that need large teams of engineers, without good product management and also project management, even great engineers can do a terrible job despite all their efforts or heroics "on the ground".
> In most organizations, if someone wants to make a change to the website, they’ll want data to support that change.
So true and sad. In all the so called data-driven groups I have worked for, the tyranny of data makes metrics and numbers the justification for or counter to anything, however they have been put together.
> The sad truth is that most people aren’t being rigorous about their A/B testing and, in fact, one could argue that they’re not A/B testing at all, they’re just confirming their own hypotheses.
The sad truth is that most people aren’t being rigorous about anything.
Catnaroek said it already: without parametric polymorphism you are forced to either: 1) commit to a single type upfront which limit the utility (string in your example I think), 2) use interface{} and suffer the boxing in every circonstances while not having any static type checking.
I actually like your pattern. I think it makes sense to have a process as a pair of input and output streams.
Is there any solution based on openvswitch ? If using vxlan to encapsulate containers L2 frames, the openvswitch kernel module should be able to route packets very well with much lower overhead than any userspace solution that do not access the nic memory directly.
what could possibly go wrong ...