Links for 2020-03-122020-03-12 #links
Netflix and the Hexagonal Architecture, logging, EOF, JS Frameworks, Emacs Charts, Rust init Pattern, Software Engineers vs Technicians, Cancelling Conferences How-To, A VIM Jump-to-Anything plugin.
A Netflix Tech post about the hexagonal architecture for microservices.
The interesting bit here is the fact that Netflix devs focused on "swappable data sources", which is something I've been pushing where I work a lot1
Even if I hate this posture a lot2, now I can say "Netflix does this, we can do it too!"
I really don't agree with this. I do understand that, sometimes, logging is stupid and just adds noise, but we have see this problem in the same way we see comments: They need to explain the why. Why the request failed?
Sometimes it can even be the what: What user input caused this process to fail?
As the author argues, one could use Sentry for capturing failures, but what if this isn't an option (due to cost)? I once worked with the free version of Sentry and while it was okay, it didn't provide enough information to understand the why things failed -- you can add the message in the exception, but only if that's your code; what can you do if it is a library causing the exception? Cascade everything?
Log. But think on why you're logging.
My C life is build on top of lies!
Honestly, I thought EOF was really the same value as
^D (Ctrl-D, which ends
the input) and you could put an EOF in the middle of the file and still have
content. But it seems it was not that.
Not too sure about the benchmarks used -- specially when someone says "Svelte
was skipped due to cloc not being able to process .svelte files." when you can
But still, interesting, in some aspects.
Implementations, runtimes, execution times, code samples... A bit of everything about running Wasm.
No, I didn't drop VIM and start using Emacs, but it is really impressive that it has a built in charts library -- which, on the other hand, just adds to the "Emacs is a good operating system, but lacks a good editor" joke.
Converting LLVM bytecode from Rust to .NET assembly.
An initialization pattern for Rust structures. Honestly, I don't see that much
difference than using
Default directly, but it may be interesting if you
should do some change in the input at construction.
(Also, I have the slight impression that the pattern, in the end, forces you
to build a complete object and then call
init() to build a copy of said
already complete object.)
A discussion on the (natural) evolution of the software development market.
This is mostly interesting to me 'cause I'm part of the organization of two conferences and we have this discussion about cancelling, postponing or going forward for both.
A VIM plugin to jump to everywhere (except files, that is). But hell if it isn't cute.
Sadly, I'm not getting heard here.
That's cargo cult, kids.