Are you sure COVID-19 didn't partially prick a systemic issue that was hard to see on the rise (as many also missed the housing crisis before the fall)? For example, the amount the stock rise was attributed to stock buybacks in an unsustainable manner caused by late stage government policies (tax cuts, low rates). There has been some pretty extreme levels of corporate debt that correlates with this.
It probably did prick a bubble. But all the economic recovery measures for the pandemic may, ironically, push further out the point at which the systemic issues break the market and force resolution. Especially in the U.S., economic aid invariably ends up contributing far more to corporate balance sheets than it does citizens' wallets. I mean, what was the first response of the GOP to prospective economic issues? Cut taxes, including payroll taxes, which could have dealt a death blow to Social Security and Medicare considering how many Republicans are itching to get rid of those programs entirely.
Once COVID-19 passes I would expect more of the same. For reasons that aren't entirely understood, inflationary effects of monetary stimulus are highly attenuated, at least for the average consumer, although they clearly contribute to the ever increasing wealth of top earners, not to mention financial assets. Who knows how long we can keep going down this road.
In crashes all the vulnerabilities tend to collapse at once like a house of cards, and in a sense we have learned things one crash at a time. When gold was the primary form of money, there were many crashes because of lack of control over money supply. Likewise with fiat, all the crashes from indebted governments trying to print their way out and inducing hyperinflation.
In the 1929 crash there was a run on the banks because there was no confidence in their survival. The world going to a wartime economy and increasing public spending reinvigorated things but it eventually caused high inflation in the US by the 1960's - one of those factors in the country's "1970 turning" in many policies. Fear of the balance sheet getting out of control again created the strategy of huge bailouts in the latter part of the 20th century, but a downside of doing it just through lending is the "crowding out" of those actors who aren't given bailouts - which in prior recent crashes were generally individual workers, homeowners and retail investors who just took it on the chin and were told to lower their expectations.
This time is different. The attention is on individuals and their problems, and I'm seeing an uptick in discussion of UBI and benefits beyond the existing trend. There isn't faith in this crisis being solved through the existing toolset.
Although the OP didn't describe as such, but health checks that do a simple query are also testing the connectivity to the db. Someone might have hardcoded a db address in an environment variable, or there are connection pooling issues.
Promises made some very valuable improvements to code patterns relative to callback-based implementations, but as a broader "nodejs vs synchronous style code" its still much harder. You sound pretty versed, but other folks might struggle. Here is an example explanation:
We don't use postgres pub/sub for exactly "realtime", but do make use of it in single-page apps that use websockets. A couple notes:
-- LISTEN/NOTIFY has a payload size hardcoded maximum. For big documents, we have to send a record ID then fetch the document upon receiving a message. In practice, it adds 5ms of overhead.
-- One of the best features is that you can combine this with pg_try_advisory_lock to create job queues that use the core locking features of postgres, which are pretty darn reliable and well defined. We use nodejs, and if the server processing a job dies, the lock is released automatically and another nodejs process can pick it up.
Hey I thought I'd reply here on the topic of the blog's usability to not hijack the whole thread....but I still wanted to help the author out with a quick fix:
Maybe its just the code I've read, but its generally much longer than other languages to accomplish the same thing. A bunch of little things add up, such as "extends" instead of ":" for inheritance. Naming things is often longer - maybe its not the language core itself, but a counter example is python coding standards keeps them much shorter. With Go, there's duck typing to not have to declare obvious types (such as for strings).
The goals of the programs in enterprise java apps probably differ by an emphasis on readability and not writing speed. I.e. lambdas are written quicker to write, but maybe a reader would understand a strategy pattern's goal quicker.
Java programs got that way not because of language, but because teams of thousands of developers managing same codebase for decades. Explicitness and non-magicness are extremely valued in that environment.
Imagine you're refactoring a code written by employee #12340 that was written 10 years ago. With Go, you'd go file after file decomposing the program to finally figure out that if he just used a word to implement an interface, you only had to read that file and a javadoc. Long class names are still easier to look than signatures of functions.
Java emphasises abstraction. Go emphasises composition. Both have its uses, but what I was refuting was people claiming that Go is better than Java which I think is extremely uninformed conclusion.
If you had said this comment 5 years ago, I would agree. I think you should take a look into today's Java development environment. It's world class, and light-years ahead of anything else out there.
Not really, Go uses duck typing for interfaces. You declare an interface to require functions X, Y, and Z. Any type that has functions X, Y, and Z suddenly implements that interface whether you want it to or not.
Maybe panel prices have dropped enough in the last 4 years that partially-lit areas are now worth covering in solar (cost < savings * acceptable ROI months).