From 7ae6c6ed88b5da5eaa6e24b2d22badf76752e9db Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Thu, 5 Mar 2020 10:46:46 -0300 Subject: [PATCH 1/2] Links for 2020-03-05 (also, added some tags in the previous day post) --- content/links/20200304.md | 2 +- content/links/20200305.md | 73 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 content/links/20200305.md diff --git a/content/links/20200304.md b/content/links/20200304.md index 64e5b7a..3896201 100644 --- a/content/links/20200304.md +++ b/content/links/20200304.md @@ -3,7 +3,7 @@ title = "Links for 2020-03-04" date = 2020-03-04 [taxonomies] -tags = ["links"] +tags = ["links", "privacy", "capacitors", "biowaste", "ibm", "clang", "microservices", "material design", "ultra-rich", "meritocracy", "rust", "github actions", "disability", "the witcher"] +++ Interesting links for 2020-03-04. diff --git a/content/links/20200305.md b/content/links/20200305.md new file mode 100644 index 0000000..f178c8d --- /dev/null +++ b/content/links/20200305.md @@ -0,0 +1,73 @@ ++++ +title = "Links for 2020-03-05" +date = 2020-03-05 + +[taxonomies] +tags = ["links", "kubernetes", "k8s", "rust", "git", "git flow", "mastodon"] ++++ + +Interesting links for 2020-03-05. + + + +# [“Let’s use Kubernetes!” Now you have 8 problems](https://pythonspeed.com/articles/dont-need-kubernetes/) + +Not only explaining the problems of running K8s[^1], but also K8s codebase +itself (summary: it looks like a mess) and if you really should use K8s +(summary: only if you scale a lot, and you can scape from the scaling problem +altogether). + +# [Please stop recommending Git Flow!](https://georgestocker.com/2020/03/04/please-stop-recommending-git-flow/) + +I'm putting this here just because I wholeheartedly disagree with it. While +some points are real (the short-lived branch rule, for example), some are +(sorry, not sorry to say it) plain stupid. + +Also, I do not believe in monorepos, 'cause monorepos bring the worst of +software development -- instead of focusing on separating things into +libraries and making proper releases, you just put everything globed together +and hope for the best. So yeah, it's not that Gitflow makes it impossible to +use monorepos, is that you shouldn't be using a monorepo in the first place! + +# [Bye-Bye Mastodon, our account on Fosstodon.org was deleted yesterday](https://olimex.wordpress.com/2020/03/05/bye-bye-mastodon-our-account-on-fosstodon-org-was-deleted-yesterday/) + +How a group of people working on open source projects but posted product +updates in one of the Mastodon servers and got kicked for advertising. + +This is one thing that can happen on every project that you can't manage -- +and that includes every other social network mentioned in the post, not only +Mastodon. What would you do if Twitter saw your advertising and decided you +should buy "Enterprise Twitter Pro" to be able to post such content? + +Mastodon -- and the Fediverse, for that matter -- is formed by lots of +servers. Fosstodon is only one of them (I do have an account on [Functional +Cafe](https://functional.cafe/@juliobiason), for example. If the server policy +changed to something I was not in accord, I could just take my data (and yes, +you can take _all_ your data) and upload to another server, with different +policies. And if I don't agree with any server policy, I can run _my own +server_ and still connect with everyone. + +So... Yeah, it's not that Mastodon is hard to use, or have a small community, +but you can _still_ be part of the Fediverse, if you want. Bonus: You can make +your _own_ policies for what is right or not. + +# [genact - a nonsense activity generator](https://github.com/svenstaro/genact) + +A very stupid CLI application with different modules to emulate some other +long-running CLI application, so you can let it run and seem you're waiting +for something. + +# [caniuse.rs](https://caniuse.rs/) + +I never thought we would get to this point: A "Can I Use" for Rust versions. +Can you use `iter::once_with`? Only on Rust 1.43 and up. + +Sure, a language that is not standing still but keeps progressing, specially +since they are new, is a good thing, but it seems more and more features are +being pumped in every version. Also, as it is simple to update Rust (just run +`rustup update`) but it seems things are getting a bit out of hand. + +--- + +[^1]: "K8s" is the short-form of "Kubernetes", and hence the title of "8 + problems". From 03416b1f02644c34a77fe3aa0c43e786ade30dd6 Mon Sep 17 00:00:00 2001 From: Julio Biason Date: Thu, 5 Mar 2020 10:56:03 -0300 Subject: [PATCH 2/2] Updated some wording in the FRP post --- .../books/functional-reactive-programming.md | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/content/reviews/books/functional-reactive-programming.md b/content/reviews/books/functional-reactive-programming.md index 3067faa..fb5729e 100644 --- a/content/reviews/books/functional-reactive-programming.md +++ b/content/reviews/books/functional-reactive-programming.md @@ -21,42 +21,52 @@ features and less time fixing problems. {{ stars(stars=0) }} -* (-) Some phrase constructions are a bit hard to read. Maybe it's because I'm - not a native English speaker, but some phrases are akin to "my beautiful - nature photos", which you can read in different ways ("my beautiful - photos of nature", "my photos of beautiful nature") and I had to backtrack - and read the whole thing again. -* (-) Code is a mess. Long listings with no separation of concerns. I mean, - ok, you can use lambdas for simpler functions, but when you keep piling - lambdas over lambdas, things get a bit out of hand. Trying to explain - some functionality in a 200 line function is not actually helpful. +* (-) Some phrases are a bit hard to read. Maybe it's because I'm + not a native English speaker[^1], but some are akin to "my beautiful + nature photos", which you can read in different ways ("my beautiful photos + of nature", "my photos of beautiful nature") and I had to backtrack and + read the whole thing again. +* (-) Code listings are a mess: long and with no separation of concerns. It is + ok if you use lambdas for simpler functions, but when you keep piling + lambdas over lambdas, things get a bit out of hand. Trying to explain some + functionality in a 200 line function is not actually helpful. * (-) The ePub version seriously need another check. Some code listings are - pure text, so it follows the user font size; but other are - screenshots/images of code, which get way out of hand, as some listings - had fonts that where 1/5 of the font I use to read (yes, I use a large - font, I'm reading at night without my glasses, but the point remains). + pure text, following the font size the user set in their reader; other are + screenshots/images of code, which get way out of hand, as some of those + had a font 1/5 of the size I set up (yes, I use a large font, I'm reading + at night without my glasses, but the point remains). * (--) There is very little explanation on what FRP really is, but a lot about - how to do things with Sodium, the authors library. Instead of focusing on - how to build your own FRP system, using Sodium as reference, the books - focuses _a lot_ in using Sodium and why that implementation is FRP instead + how to do things with Sodium, the authors' library. Instead of focusing on + how to build your own FRP system, using Sodium as reference, the book + focuses _a lot_ in using Sodium and its relationship with FRP instead of explaining the concept behind the FRP functionality itself. -* (--) The authors shows some weird prejudices against TDD. For example, they +* (--) The authors show some weird prejudices against TDD. For example, they say that FRP doesn't require TDD and that using TDD is actually _harmful_ - for FRP, "unless you test logic". I mean, seriously? What do you think TDD - is about? Lines of code? TDD says that "tests should validate behaviors, - not implementation" and I'm wondering why the authors are so reticent - against TDD when their concept of TDD seems completely out of place. + for FRP (!!![^2]), "unless you test logic" (???[^3]). I have to ask: Seriously? + What do you think TDD is about? Lines of code? TDD says that "tests should + validate behaviors, not implementation" and I'm wondering why the authors + are so reticent against TDD when their concept of TDD seems completely out + of place. * (---) There is a strong gatekeeping in the book. While talking about other - frameworks, the authors, they decide to focus more on "why this framework + frameworks, the authors decided to focus more on "why this framework is not pure FRP, while Sodium is" instead of, again, focusing on the concepts of FRP itself. "FRP says so and so, you can build this with framework X using that and that" is a good way to do it; "FRP says so and so, framework X do this which is not what the FRP says, so framework X is not FRP, but Sodium is!" is a dickish way to downplay other frameworks. - Also, it's weird that every time Sodium breaks some FRP rule (rules that + Not only that, but every time Sodium break some FRP rule (rules that the authors themselves keep listing), they put a long explanation on why - it's ok to break the rule there, saying that it's ok that Sodium breaks - it. + it's ok for you to break the rule there when using Sodium, but Sodium, + although requiring you to break some FRP rule, is actually a pure-FRP + framework, and not those pesky other frameworks that are not pure-FRP + frameworks. Honestly, I read the book and I still don't understand FRP; all I got was some concepts for a Sodium framework. + +--- + +[^1]: ... which may appear as no surprise, with the amount of grammar mistakes + in this post. :p +[^2]: That's surprise. +[^3]: That's confusion.