diff --git a/content/links/20200312.md b/content/links/20200312.md new file mode 100644 index 0000000..e3ae52d --- /dev/null +++ b/content/links/20200312.md @@ -0,0 +1,104 @@ ++++ +title = "Links for 2020-03-12" +date = 2020-03-12 + +[taxonomies] +tags = ["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. + + + +# [Ready for changes with Hexagonal Architecture](https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749) + +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 lot[^1] + +Even if I hate this posture a lot[^2], now I can say "Netflix does this, we +can do it too!" + +# [Do not log](https://sobolevn.me/2020/03/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](https://ruslanspivak.com/eofnotchar/) + +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](https://medium.com/dailyjs/a-realworld-comparison-of-front-end-frameworks-2020-4e50655fe4c1) + +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](https://wiki.alopex.li/ActuallyUsingWasm) + +Implementations, runtimes, execution times, code samples... A bit of +everything about running Wasm. + +# [Exploring emacs chart library](https://francismurillo.github.io/2017-04-15-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](https://ericsink.com/entries/dotnet_rust.html) + +Converting LLVM bytecode from Rust to .NET assembly. + +# [Init Struct Pattern](https://xaeroxe.github.io/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](https://medium.com/@alexkatrompas/the-fall-of-the-software-engineer-the-rise-of-the-programmer-technician-451a572d28b0) + +A discussion on the (natural) evolution of the software development market. + +# [My conference has a sneeze - Practical help in winding down a troubled conference](https://paper.dropbox.com/doc/My-conference-has-a-sneeze-Practical-help-in-winding-down-a-troubled-conference-mZJJdhWXFjYLledMKxgyl) + +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](https://github.com/pechorin/any-jump.vim) + +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](https://en.wikipedia.org/wiki/Cargo_cult_programming), kids.