Julio Biason
4 years ago
5 changed files with 268 additions and 0 deletions
@ -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. |
@ -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. |
@ -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. |
@ -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. |
Loading…
Reference in new issue