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