Browse Source

Merge branch 'preview' of git.juliobiason.me:blog into preview

master 20200329
Julio Biason 4 years ago
parent
commit
f25ef7e9c2
  1. 62
      content/links/20200311.md
  2. 104
      content/links/20200312.md
  3. 49
      content/links/20200313.md
  4. 47
      content/links/20200316.md
  5. 6
      publish.sh

62
content/links/20200311.md

@ -0,0 +1,62 @@
+++
title = "Links for 2020-03-11"
date = 2020-03-11
[taxonomies]
tags = ["links", "google", "agpl"]
+++
Google Policy towards AGPL software, Swift vs Rust, Open Source Economics,
JUnit 5, cfg(doctest), Firefox on Flathub.
<!-- more -->
# [AGPL Policy](https://opensource.google/docs/using/agpl-policy/)
Google policy towards using AGPL software. Basically, because AGPL says
"source is _always_ available", Google says "maintain an aggressively-broad
ban on all AGPL software"
Take away: Release **everything** under the AGPL.
# [Impressions of Rust as a Swift Developer: Memory Management](https://blog.spencerkohan.com/impressions-of-rust-as-a-swift-developer-2/)
A take on the way Rust and Swift manages memory. While I agree with the
drawbacks of Rust, the author forgets to mention the price Swift pays for its
simplicity: A runtime.
Having a runtime is bad? Well, it depends: If you're not using anything the
runtime offers (your application does a full allocation upfront and never
deallocates, it completes its job before it has time to actually use the
garbage collector), you're basically wasting resources. Sure, you pay this in
development time, but this has to be measured.
Also, a runtime means another problem: Runtime errors. Unless your compiler
picks those and stop you from creating code that can generate those errors,
you'll get those.
(Also, fun fact: Graydon Hoare, the creator of Rust, worked on Swift.)
# [cfg(doctest) is stable and you should use it](https://blog.guillaume-gomez.fr/articles/2020-03-07+cfg%28doctest%29+is+stable+and+you+should+use+it)
Speaking of Rust, here's a feature I was not aware of: You can create testing
modules that test Markdown documentation. Why would anyone do that? Well,
markdown is usually the way people document their applications and you want
your examples to actually work, right?
# [Can We Make Open Source More Sustainable?](https://www.telerik.com/blogs/can-we-make-open-source-more-sustainable)
A big problem with open source is that actually nobody cares about how it is
developed: Sure, there is a _person_ (or _persons_) behind it, but how are
those people paying for their living, eating and health? The post points some
things open source developers can do to get something out.
# [Improve your tests with JUnit 5](https://98elements.com/blog/improve-your-tests-with-junit-5/)
A few tips on using JUnit 5 -- some that I was not aware of.
# [Mozilla makes Firefox Beta available on Flathub](https://eischmann.wordpress.com/2020/03/10/mozilla-makes-firefox-beta-available-on-flathub/)
Mozilla is making Firefox available on Flathub, which means now it is even
easier to test Firefox without breaking your system -- 'cause Flatpak keeps
the whole package in its own container and it does not touch your system.

104
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.
<!-- 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.

49
content/links/20200313.md

@ -0,0 +1,49 @@
+++
title = "Links for 2020-03-13"
date = 2020-03-13
[taxonomies]
tags = ["links", "cloud", "aws", "azure", "gcp", "benchmarks", "government", "germany", "twitter", "fakes", "automated", "rust", "documentation", "work from home", "home office"]
+++
AWS+Azure+GCP on Optimizing Benchmarks, Public Service in Germany Can't Be
Free, Fake Twitter Accounts, Automated Emails, Documenting Your Rust Code,
Tips on Working From Home.
<!-- more -->
# [AWS, Azure, & GCP Respond to the 2020 Cloud Report](https://www.cockroachlabs.com/blog/aws-azure-gcp-respond-to-the-2020-cloud-report/)
Here is the thing: CockroachLabs checks the performance of their database on
all major cloud providers using the default settings; cloud providers respond
the report by suggesting improvements; CockroachLabs publish the suggestions.
# [Court outlaws German Weather Service's free weather app](https://www.dw.com/en/court-outlaws-german-weather-services-free-weather-app/a-52735502)
So you think a service provided by the government should be free (since, you
know, it's paid by the taxpayers). But then comes a private service and the
government (the law part) says the private service is correct in saying the
service paid by the taxpayers shouldn't be free.
And all that in Germany, in all the places... although I reckon Germany is not
a place known for urgent warnings like hurricanes and such.
# [Signs You’re Following A Fake Twitter Account…](https://nixintel.info/osint/signs-youre-following-a-fake-twitter-account/)
A good report on how to spot fake accounts, although I have to wonder how many
people would actually take the time to do all the checking presented in the
article.
# [A Vacancy Has Been Detected](https://kellysutton.com/2019/06/19/a-vacancy-has-been-detected.html)
A tale of loss and how automated messages can be problematic 'cause they
assume too much about the target audience.
# [Guide on how to write documentation for a Rust crate](https://blog.guillaume-gomez.fr/articles/2020-03-11+Guide+on+how+to+write+documentation+for+a+Rust+crate)
Not only explaining how the Rust documentation system works, but also giving
pointers on how to write a proper documentation.
# [Things I've learned from 12 years of WFH](https://typing.lmorchard.com/2020/03/12/things-ive-learned-from-12-years-of-wfh/)
Tips and tricks and some pointers on how to do a proper Work From Home.

47
content/links/20200316.md

@ -0,0 +1,47 @@
+++
title = "Links for 2020-03-16"
date = 2020-03-16
[taxonomies]
tags = ["links", "devops", "books", "covid-19", "licensing", "python", "cheatsheet", "erland", "language server", "text processing"]
+++
Free DevOps Books, COVID-19 Vaccine Fight, License Writing Tool, Python
Cheatsheet, Erland LS, Unix Text Processing.
<!-- more -->
# [You can get my DevOps books free the rest of this month](https://www.jeffgeerling.com/blog/2020/you-can-get-my-devops-books-free-rest-month)
Jeff Geerling, author of "Ansible for DevOps" and "Kubernetes for DevOps" made
those two books free on LeanPub, but only for this month.
# [Germany tries to halt U.S. interest in firm working on coronavirus vaccine](https://www.reuters.com/article/us-health-coronavirus-germany-usa/germany-tries-to-stop-us-from-luring-away-firm-seeking-coronavirus-vaccine-idUSKBN2120IV)
Welt am Sonntag, a German newspaper, got hold on the fact that the US
government is trying to buy the company working on a cure of COVID-19, "but
only for the US".
Hey, nice showing on how to be a super-power, US Government.
# [Licensor: write licenses to stdout](https://github.com/raftario/licensor)
Tired of searching how to write the license for your project? Worry no more!
Licensor have a list of licenses and you can use it to generate your LICENSE
file!
# [Comprehensive Python Cheatsheet](https://github.com/gto76/python-cheatsheet)
Chearsheets are abound, but this one for Python is pretty damn nice -- and
_really_ complete.
# [Welcome to Erlang LS](https://erlang-ls.github.io/)
Erlang got its own Language Server, allow you to use any editor (that supports
LSP -- Language Server Protocol -- that is) to write Erland code and get
auto-completion and jump to definitions.
# [Text processing in the shell](https://blog.balthazar-rouberol.com/text-processing-in-the-shell)
A short explanation of lots of tools for text processing on Unix (actually,
POSIX) systems.

6
publish.sh

@ -0,0 +1,6 @@
#!/bin/sh
zola build
cd public
rsync -rv * blog@blog.juliobiason.me:
cd ..
Loading…
Cancel
Save