On the contrary, in my experience such stateful APIs are a great use case for state machines. You just approach them differently. Instead of doing a blocking call, you introduce a "waiting for <something>" state. You leave the "blocking" state when the correct event comes, or after a timeout. And while you are waiting for the event, you don't just burn CPU cycles, but yield control quickly, so that other threads can execute in the meantime.
Additionally, you can use state machines server side to track stateful processes by simply serializing the “current” state of the machine and storing it somewhere.
With the next request, reload the “current” state of the machine and transition to the next based on the incoming request.
The "Pale Blue Dot" photograph strikes the same chord for me. Carl Sagan's reflection on it can be especially moving [1].
[...] The Earth is a very small stage in a vast cosmic arena. Think of the rivers of blood spilled by all those generals and emperors so that in glory and in triumph they could become the momentary masters of a fraction of a dot. [...]
As someone who has never been religious and has all the traits to be scientific-minded, I will play the devil's advocate and say that Sagan's pale blue dot never struck a chord with me at all. Significance can be compared with size, now? This whole idea contradicts the very nature of being human which is to make up meaning according to the culture and trends of the time. Not to mention that even the tiniest piece of the universe, say, a quark, or a tiny physics formula can have eternal significance within the grand scheme of things. Overall the message of peace among people is well-received, but the tactic is cheesy and not well thought-out.
> This whole idea contradicts the very nature of being human which is to make up meaning according to the culture and trends of the time.
We all do it: we have assumptions in form of learned concepts or experiences, place importance on some of them and then use it to prove a point.
You state that it didn't "struck a chord with you at all" and then proceed with your assumptions / value system ("... physics formula can have eternal significance within the grand scheme of things"). For all positions, assumptions and opinions there exists a position where all of it doesn't matter.
Trying to be scientific is also a belief system. Recognizing that all human beings share the trait of having assumptions (some of them called facts) and deriving behavior and opinions from it is the key.
This understanding can support empathy which was generally a good strategy to have in the past (e.g. even monkeys implement fairness concepts based on individuals trying to manage resources in groups which IMHO is one important aspect of the origin of empathy).
I can understand your position of relativism, but it's very close to nihilism. This is not inherently bad (nothing is good or bad, anyways - I'm also a big fan of relativism), but it can be detrimental to mental health and overall well-being.
The tactic may be too simple to "get you", but your point of view is equally flawed in another way (as well as mine).
The question is: What are you standing for if you don't find his arguments convincing? Nitpicking and being anti is not a good long-term strategy, maybe we can help him with better arguments for empathy that resonate with scientific-minded thinkers like you.
Bane of humanity is that they are glorified copy machines, creating flawed simulations in their minds and trying to validate themselves using others. So I strive for one thing I know I cannot achieve: to produce thought original enough that will let me die with pride.
I'm pretty sure that you're going to work this out :)
> glorified copy machines
> So I strive for one thing I know I cannot achieve
There's some serious cynism going on here. Maybe cabaret artist is something for you to consider. The late George Carlin was incredibly funny because of it.
Some people love jokes based on materialistic and dry analysis of human behavior. I do.
Significance is not related to size: meeting a few virus particles [1] could be the most significant - and possibly last - event of notice in your life. On the other hand few people will be aware of meeting the largest - and possibly oldest - organism on the planet when they look at a honey mushroom in Oregon National Forest [2].
It can be moving and put things into perspective, but if being the momentary master of a fraction of a dot is insignifant, then so are the "rivers of blood" that were spilled.
In the context of the cosmic arena, the Holocaust is no different from me stubbing my toe in terms of impact and significance.
There's a whole (short) chapter on changes in "Peopleware" [1].
I've just skimmed through it, here are the key points I've found:
1) Change is not a single step. It involves several stages, one of them being chaos.
2) Chaos implies that things look worse than they used to be. People feel less comfortable and want to go back to old ways. Their reactions are emotional, not rational.
3) "You never improve if you can't change at all"
I recommend entire book. If you work in software business, I think you should know it.
I think it's only partially true. Technology products may get pretty depending on who is the consumer. Computers, phones and cars get nice exterior design, because the "general public" uses them, and they are, as you said, sold on looks.
But consider industrial machines and buildings: mining machinery, electronics assembly lines, car factories and oil mining platforms. No matter how mature an industry branch is, machines are not being built to look nice. And warehouse buildings are just huge, gray, ugly-as-hell boxes. This is because there are many other constraints, machinery gets expensive, and there's simply no use for aesthetics.
So I think that spaceships may get nice exterior design if a lot of people (think millions) is going to be buying them. If the consumer group will be small, we will get aesthetics closer to cargo trains. Which, in my opinion, is awesome anyway.
And yes, I too think that ISS looks great as it is.
Most industrial machines have reached a point of utility that there has to be a way to signal "this is the new one" because we are wired to think that "new" means "better".
Some of the frontloader's sleekness is aesthetic, but it's also more functional, with a better view for the driver and no distracting bars in his front FOV.
These radiators exist specifically to deal with power which has already been used. As stated in the article, the station needs a few kW of electrical power. Eventually all this power ends up as a waste heat energy. There is nothing that can be done with it, so it has to be dumped into space.
There's also solar heating of the station itself to worry about. Although to some extent you can make the station reflective (white) to deal with that.
I second the OP. The "emotional" motivation has brought me quite far in my life. I always enjoyed learning. I got into programming because it was easily triggering the "reward circuits" in my brain. But as life follows, there are more and more things that need to be done, but require quite some mental effort to start.
So I decided it is time for a paradigm shift. I would rather do things I consider worth doing, instead of doing those that my brain finds attractive and immediately rewarding. I am following this paradigm for a few months now, and can confirm that satisfaction coming when the job is finished is truly rewarding.
Related reading: "The obstacle is the way", by Ryan Holiday. A very concise introduction to stoicism philosophy. The life approach presented by the author has many common points with those of OP.
They are currently in prototyping phase and they expect to go to Kickstarter this summer. I'm not from their team, I only want a good keyboard and this one looks promising.
I also own a Das Keyboard and I absolutely love the feel. But this "traditional" layout is just not good enough for today's typing-intensive professions. I have already experienced first RSI symptoms on both of my pinkies, so I'd like to try a true ergonomic keyboard.