Required tools for playing around with memory:
hexdumpobjdumpreadelfxxdgcore
Many different applications claim to support regular expressions. But what does that even mean?
Well there are lots of different regular expression engines, and they all have different feature sets and different time-space efficiencies.
The information here is just copied from: http://regular-expressions.mobi/refflavors.html
It's like creating the front end and back end of a compiler inside Haskell without the need of Template Haskell!
Write your DSL AST as a Free Monad, and then interpret the monad any way you like.
The advantage is that you get to swap out your interpreter, and your main code
| +------------------------------+ | |
| | Hardware / OS | | |
| | (TPM/FIDO2, kernel keyring) | | |
| +---------------+--------------+ | |
| | | |
| v | |
| (system services / daemons) | |
| +----------------------+ | +------------------------+ | |
| | systemd-credentials| | | Polykey agent | | |
| | (LoadCredential=, | | | - JWK root keys | |
For stateful applications, there are 5 different ways of managing the history of state:
The standard way of understanding the HTTP protocol is via the request reply pattern. Each HTTP transaction consists of a finitely bounded HTTP request and a finitely bounded HTTP response.
However it's also possible for both parts of an HTTP 1.1 transaction to stream their possibly infinitely bounded data. The advantages is that the sender can send data that is beyond the sender's memory limit, and the receiver can act on