Links for 2020-03-12

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.

Ready for changes with Hexagonal Architecture

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!"

Do not log

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.

EOF is not a character

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.

A RealWorld Comparison of Front-End Frameworks 2020

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 surely use wc.

But still, interesting, in some aspects.

ActuallyUsingWasm

Implementations, runtimes, execution times, code samples... A bit of everything about running Wasm.

Exploring emacs chart library

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.

My exploration of Rust and .NET

Converting LLVM bytecode from Rust to .NET assembly.

Init Struct Pattern

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.)

The Fall of The Software Engineer, The Rise of The Programmer Technician

A discussion on the (natural) evolution of the software development market.

My conference has a sneeze - Practical help in winding down a troubled conference

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.

any-jump.vim — IDE madness without overhead for 40+ languages

A VIM plugin to jump to everywhere (except files, that is). But hell if it isn't cute.


1

Sadly, I'm not getting heard here.

2

That's cargo cult, kids.