Julio Biason
5 years ago
1 changed files with 117 additions and 0 deletions
@ -0,0 +1,117 @@ |
|||||||
|
+++ |
||||||
|
title = "Links for 2020-04-19" |
||||||
|
date = 2020-04-19 |
||||||
|
|
||||||
|
[taxonomies] |
||||||
|
tags = ["links", "hierarchical data", "mysql", "licenses", "commons clause", |
||||||
|
"clojure"] |
||||||
|
+++ |
||||||
|
|
||||||
|
Managing Nested Data in MySQL, The Commons Clause License, Clojure, A Look |
||||||
|
into Compilers, No `<>` to Generics, Configuration Files, Zoom Fiasco, Rust |
||||||
|
CLI tools, SEO. |
||||||
|
|
||||||
|
<!-- more --> |
||||||
|
|
||||||
|
# (Managing Hierarchical Data in MySQL)[http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/] |
||||||
|
|
||||||
|
A bunch of tips on how to manage nested/hierarchical information in MySQL. |
||||||
|
While the storage format could be used in any database, it seems the insertion |
||||||
|
part in the post is MySQL specific. |
||||||
|
|
||||||
|
Curious, nonetheless. |
||||||
|
|
||||||
|
# [The Commons Clause will destroy open source](https://drewdevault.com/2018/08/22/Commons-clause-will-destroy-open-source.html) |
||||||
|
|
||||||
|
While I don't agree with Drew in some points (mostly the things he rants |
||||||
|
about), and while I don't think, on the surface, that the Commons Clause may |
||||||
|
destroy open source, his words are a cautionary tale about picking the right |
||||||
|
license[^1]. |
||||||
|
|
||||||
|
# [Guide to starting with Clojure](https://grison.me/2020/04/04/starting-with-clojure/) |
||||||
|
|
||||||
|
It's been too long since I saw a very detailed introduction of a language like |
||||||
|
this. Explaining installs, IDE/Editor configuration, a short description of |
||||||
|
the language, a toy problem and a way to build and deploy the result. |
||||||
|
|
||||||
|
Really complete -- and, on the plus side, it's Clojure! |
||||||
|
|
||||||
|
# [The Svelte Compiler Handbook](https://lihautan.com/the-svelte-compiler-handbook/) |
||||||
|
|
||||||
|
While related to Svelte -- the JavaScript templating language -- what it |
||||||
|
describes is pretty close to what every compiler do, in a high level, even if |
||||||
|
some do more stuff, like Rust having two more steps before the code |
||||||
|
generation, for optimization. |
||||||
|
|
||||||
|
# [Language Design: Stop Using \<\> for Generics](https://soc.me/languages/stop-using-for-generics) |
||||||
|
|
||||||
|
Let's get into some controversy, shall we? |
||||||
|
|
||||||
|
One the major points of Clojure is exactly how it pick one single pair for |
||||||
|
each different aspect, contrary to Lisp, which used parenthesis for |
||||||
|
everything. |
||||||
|
|
||||||
|
So, what is being described here is to use `[]` instead of `<>` for generics. |
||||||
|
But wouldn't that clash with array access? Sure, that's why array access |
||||||
|
should be `()`. But wouldn't that clash with function calling? Sure, that's |
||||||
|
why function calling should be... should be what again? Nothing? So we let it |
||||||
|
clash? |
||||||
|
|
||||||
|
"`<>` is hard for compilers to parse". Oh, poor compiwer, it is weaving a bad |
||||||
|
time? Newsflash, the job of a compiler _is_ to take the hard work and leave |
||||||
|
the simpler thing to users; the harder it does its work, the easier it is for |
||||||
|
their users. If the users can clearly see generics with `<>` -- because it is |
||||||
|
different from everything else -- then it is good.[^2] |
||||||
|
|
||||||
|
# [Your configs suck? Try a real programming language.](https://beepb00p.xyz/configs-suck.html) |
||||||
|
|
||||||
|
Another controversy, just for fun. |
||||||
|
|
||||||
|
Ok, so config formats are bad 'cause you can't replicate some stuff -- I can |
||||||
|
agree with that, imagine having to copy and paste the same value over and |
||||||
|
over? |
||||||
|
|
||||||
|
But the problem is: Using a "real programming language" for configuration may |
||||||
|
also have a problem: you need to cut a lot of stuff. Django uses Python itself |
||||||
|
as a configuration -- and, again, I can agree with that, 'cause it allows one |
||||||
|
to have a default configuration and just import it and override things for |
||||||
|
your local execution -- but it doesn't block running anything. Worse, because |
||||||
|
you can import things into the configuration file, one project that gets |
||||||
|
compromised will _always_ run the code. |
||||||
|
|
||||||
|
Again, I agree with a lot of points, including the fact that the current |
||||||
|
formats for configuration files are bad, but using a programming language for |
||||||
|
it is not the solution. Besides, it is possible to overcome those problems |
||||||
|
with better configuration settings themselves than the format; as hard as it |
||||||
|
is. |
||||||
|
|
||||||
|
# [Security and Privacy Implications of Zoom](https://www.schneier.com/blog/archives/2020/04/security_and_pr_1.html) |
||||||
|
|
||||||
|
While articles about the raise of Zoom and its problems popping everywhere, |
||||||
|
but Bruce Schneier, the father of internet security, made a post with all its |
||||||
|
problems, from privacy to security. |
||||||
|
|
||||||
|
# [My tools are going Rusty](https://elliehuxtable.com/my-tools-are-pretty-rusty/) |
||||||
|
|
||||||
|
A short summary of common Unix/Posix/GNU tools written in Rust. |
||||||
|
|
||||||
|
# [How SEO Ruined the Internet](https://www.superhighway98.com/seo) |
||||||
|
|
||||||
|
Yes, everybody knows how the current trend of creating content focused on |
||||||
|
producing better search results -- instead of, say, better quality content |
||||||
|
that _should_ be indexed due its quality -- basically made the internet a |
||||||
|
terrible place. |
||||||
|
|
||||||
|
This post describes some of the effects of this focus on the general internet |
||||||
|
content. |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
[^1]: This was weirdly timed with a presentation I finished talking about |
||||||
|
licenses -- it's in Portuguese, and I haven't present it yet, but at some |
||||||
|
point there will be a companion post for it, even in English. |
||||||
|
|
||||||
|
[^2]: Personally, using Scala as an example of "doing right" feels really |
||||||
|
wrong. Scala does _a lot_ wrong, I don't freaking care how much you like |
||||||
|
Scala. Also, saying Python uses `[]` for generics is wrong 'cause Python |
||||||
|
does _not_ have generics. |
Loading…
Reference in new issue