crashoverdrive
I don't know if "High" is the right word. I've accidentally taken too much, and it makes me super impatient, which makes me kind of an asshole. I've also taken WAY too much on accident, and it just made me paranoid and think my heart was beating out of my chest.
I will say, being on a normal amount is kind of the best kind of high. Living with ADHD is like drowning, like you have these short moments of coming up for air and being productive, but quickly become distracted for everything else.
Being on the right amount, is like someone finally shut all the extra TVs off in the back of my brain. Like there's no challenge in determining the priority of what needs to be done. I feel human, not anxious, not depressed by my inability to remember where I put my keys 30 seconds ago. and thus, more productive.
Now I don't claim that my experience with ADHD is like another's, but this is my experience.
> The serialization/deserialization layer adds potential for bugs.
Adding an agreed upon layer that aligns with clean architecture[0) will actually produce less bugs both upstream and downstream. (This is why contract apis are important) and are actually more valuable than monolithic systems where there is a sincere lack of data and state guarantees. (clean understanding vs black box mentality)
> The massively increased number of services all need constant monitoring.
It's the same amount of monitoring. It's just horizontally scaled and is actually easier to pinpoint issues. This also allows you the ability to change or create circuit breakers to fail over when issues targeting specific are found. (see slides 134-150 of Sam Newman's principles of microservices [1])
> The massively multiplied error conditions (what happens when service 37 talks to 39 and 39 times out?) need to be accounted for and those edge cases must be ironed out.
They should have been "ironed out" well before this point to begin with. If the application fails due to infrastructure issues, it is actually an application design failure that should have been identified and resolved previously via TDD and failure state testing. Graceful failure is always desirable, and having a legacy monolithic application does not prevent infrastructure/connectivity failures. (for reference, check out Martin Fowler's "The 12 Factor App" [2])
> You get fuck all except migraines caused by the brittleness of your app.
What it sounds like you're saying is:
"Building a monolithic app allows you to crutch bad behavior and poor design without having to understand the realities of software. You can ignore scalability, clean architecture, concurrency, data modeling and graceful failures."
I can understand how moving to a microservice could seem very painful and have a brittle result without the depth of understanding these realities. This is specifically why I noted it is a required paradigm shift for many developers.
For more inspired reading, you may want to checkout Gilt's discussions on moving to microservices.[3]
[0] http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-arch...
[1] http://www.slideshare.net/spnewman/principles-of-microservic...
[3] http://tech.gilt.com/post/102628539834/making-architecture-w...
I had the pleasure of watching Sam Newman's tutorial on microservices. He's uploaded the slides here: http://t.co/2nhDBJK1oB
Building microservices requires a few changes in culture. If you are moving from a monolith to microservices, your entire culture must change how you look at problems must change and if you fail to do those things, of course your transition will change. It is not a silver bullet. It is a paradigm shift.
That's a good idea though..If only I had the time
Where does the actual work get done? Why are those pictures never included?
"Where does the actual work get done?" Why are those photos never included.
Not only is it a mouthful, it means there is a much wider space for things to go wrong.
Peter Thiel writes about how fatal machine learning for fraud detection in his book, "Zero to One".
At Paypal, Max Levchin assembled an elite team of mathematicians to study the fraudulent transfers in detail. Then we took what we learned and wrote software to automatically identify and cancel bogus transactions in real time. But it quickly became clear that this approach wouldn't would either. After an hour or two, the thieves would catch on and change their tactics. We were dealing with an adaptive enemy and our software couldn't adapt in response.
The fraudsters adaptive evasions fooled our automatic detection algorithms, but we found that they didn't fool our human analysts as easily. So max and his engineers rewrote the software to take a hybrid approach: the computer would flag the most suspicious transactions on a well designed user interface, and human operators would make the final judgment as to their legitimacy.
Are we to suggest that community support is as vestigial as the tailbone?
I had the largest presentation of my life that night for a public audience of 200 people and letting my company and CTO down. I couldn't imagine losing all of my things and not being able to do so. Yes it was a very selfish driver at the time, but my brain couldn't move beyond that thought.
I, being in an orthopedic boot, was unable to move at anything more than a quick hobble.
The World's Most Baffling Internet Mystery
If You're Programming a Cell Phone like a Server You're Doing it Wrong
Because in reality, What is personal gain of plugging an open source free product that helps people?
Is the Internet a Matriarchy?
Linux kernel swear counts
As a hardcore coder, a workaholic, and someone who came from rags to riches, I find this kind of behavior deplorable
Isn't there a way to do this super slimmed down and light weight?