I take it you took the approach of using WASM for audio decoders?
509 karma · joined September 20, 2013
I take it you took the approach of using WASM for audio decoders?
Expecting technological advancement to bail us out every time is wishful thinking.
Normalisation isn't primarily about about saving storage, it's about avoiding update anomalies i.e. correctness.
Read the IPCC report if you actually want to know (Spoiler: yes and yes).
e.g. if you store your logs with a UTC date you'll see interleaving logs for the extra hour, or if you read sensor data or something like that you'll get double readings?
They're saying injection attacks come from dynamically building strings, so if you prevent that you stop the vulnerabilities.
The advantage shown here is that Haskell has special syntax for monads, and this single abstraction can be used for multiple features that many other languages have specialised syntax for.
I assume you're not claiming that experienced developers never have runtime exceptions, or that they're always easy to solve.
I have also noticed the 'dangerous/frightening because it's new' bias. I don't understand why it flips one way or the other. People are weird! :)
And then if you want to convince other people to do it your way it is better to say "do this because X, Y, Z" than "do this because I think it's better."
I wasn't aware of the term 'event sourcing' at the time though.
There are niches though. Graph databases, search indexes, databases for logging, time series databases, mapreduce, etc.
Transitioning database is painful, but dealing with the extra complexity of non-ACID stores can inhibit your growth. If you reach the scale where you need to change, you'll probably be able to afford more developers to help you.
ACID gives you a lot of nice guarantees and it's silly to give it up if you have the choice.
As for MongoDB in particular, I would never use it for anything. It doesn't seem to do anything particularly well. There are better specialist 'NoSQL' databases that have actual benefits to fit your problem.
If you can relax the requirements, you can relax the constraints.
I wanted to communicate through a fairly succinct and understandable example that there are potentially high stakes, and I wanted to show a 'NoSQL' example rather than a micro-services one. It was the first one that came to mind.
That said, if the problem has been thought about, I'm happy. My frustration is with people not understanding the trade-offs.
Edit: I wasn't familiar with the terminology, but it sounds like what I have written about here: http://kevinmahoney.co.uk/articles/immutable-data/
It's a useful example because it shows how there can be serious consequences for getting it wrong.