From dc866b87fb17ae0ff5f0cfcb403400222fc8f1ae Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Wed, 11 Mar 2020 09:42:18 -0300 Subject: [PATCH 1/5] Links for 2020-03-11 --- content/links/20200311.md | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 content/links/20200311.md diff --git a/content/links/20200311.md b/content/links/20200311.md new file mode 100644 index 0000000..426e2cf --- /dev/null +++ b/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. + + + +# [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. From 5989b4eb72d985d74ccfd555f7f2ecd23bf635aa Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Wed, 11 Mar 2020 09:43:14 -0300 Subject: [PATCH 2/5] Added publishing script --- publish.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 publish.sh diff --git a/publish.sh b/publish.sh new file mode 100755 index 0000000..5cf023f --- /dev/null +++ b/publish.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +zola build +cd public +rsync -rv * blog@blog.juliobiason.me: +cd .. From 4c0eaa75368b9659ef61da98444d2a55902e51a9 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Thu, 12 Mar 2020 10:11:57 -0300 Subject: [PATCH 3/5] links for 2020-03-12 --- content/links/20200312.md | 104 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 content/links/20200312.md 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. From 10b3efcfe90a80b74b2c534b57086d0c59c4ffcd Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Fri, 13 Mar 2020 10:39:26 -0300 Subject: [PATCH 4/5] Links for 2020-03-13 --- content/links/20200313.md | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 content/links/20200313.md diff --git a/content/links/20200313.md b/content/links/20200313.md new file mode 100644 index 0000000..da15983 --- /dev/null +++ b/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. + + + +# [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. From 3d0b5b1505926c934a670da77e66c3ddfbca42ed Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Mon, 16 Mar 2020 09:21:14 -0300 Subject: [PATCH 5/5] Links for 20200316 --- content/links/20200316.md | 47 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 content/links/20200316.md diff --git a/content/links/20200316.md b/content/links/20200316.md new file mode 100644 index 0000000..b5ff9c8 --- /dev/null +++ b/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. + + + +# [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.