The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
4.2 KiB

+++
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.
<!-- more -->
# [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.