Julio Biason
5 years ago
1 changed files with 80 additions and 0 deletions
@ -0,0 +1,80 @@
|
||||
+++ |
||||
title = "Links for 2020-04-21" |
||||
date = 2020-04-21 |
||||
|
||||
[taxonomies] |
||||
tags = ["links", "docker", "docker-compose", "mongodb", "postgresql", |
||||
"assignment", "haskell", "youtube", "google", "ide"] |
||||
+++ |
||||
|
||||
Visualizing You Docker Compose, MongoDB vs PostgreSQL, Assignment Statement, |
||||
How to Understand Systems, Learning Haskell, Losing Your YouTube Account, IDEs |
||||
For Students |
||||
|
||||
<!-- more --> |
||||
|
||||
# [Nautilus: A Docker Compose Charting Tool](https://nautilusdev.com/) |
||||
|
||||
Not sure if you're designing your Docker Compose properly? This tool can draw |
||||
every container, their names, volumes and so on. |
||||
|
||||
# [Comparison of JOINS: MongoDB vs. PostgreSQL](https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql) |
||||
|
||||
Ok, short summary: Yes, MongoDB doesn't have joins and you have to do them |
||||
yourself. You can write your own (very long) aggregations to make it work like |
||||
joins in relational databases, but the speed is atrociously slow. |
||||
|
||||
Now, why am I sharing this? 'Cause one of the points of using MongoDB (or any |
||||
other NoSQL database) requires denormalizing your data first. It takes more |
||||
space due duplication, it can lead to some inconsistencies, but you need to |
||||
keep thins in mind when using those database -- and sometimes, it is exactly |
||||
what you need. |
||||
|
||||
# [How to avoid the assignment statement](http://loup-vaillant.fr/tutorials/avoid-assignment) |
||||
|
||||
Surely using other languages than C can give you a lot of control over this |
||||
kind of stuff, but the suggestions here are valid for any languages. |
||||
|
||||
And before you think it's because "assignment statement considered harmful", |
||||
no, that's not it. It's just some tricks into doing things that will give you |
||||
less headaches in the future. |
||||
|
||||
# [Systems that defy detailed understanding](https://blog.nelhage.com/post/systems-that-defy-understanding/) |
||||
|
||||
Instead of "How to avoid problems" or "How to fix common issues", the author |
||||
explains how to _understand_ what you're dealing with. And I can get behind |
||||
this: Before you fix something, you need to understand how the system works. |
||||
|
||||
(Maybe that's why I like Contracts so much: It describes what a system |
||||
consumes and what it produces and what every thing in the final product means. |
||||
This reduces the chance of being misunderstood.) |
||||
|
||||
# [What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask/) |
||||
|
||||
While most of "Thinks I Wish I Knew" posts actually mean "Stupid things I did |
||||
in So and So that I shouldn't", this is actually a very complete introduction |
||||
to Haskell. |
||||
|
||||
# [YouTube Accidentally Permanently Terminated My Account](https://medium.com/@alexhowlett/youtube-accidentally-permanently-terminated-my-account-4b5852c80679) |
||||
|
||||
While this was solved and the account reinstated, this kind of report just |
||||
shows the perils of not controlling your platform: In a whim, everything you |
||||
have could vanish. |
||||
|
||||
I don't mean "You need to buy your own hack, put your own blades, and lease |
||||
your own internet connection to have a site on the web", but when the policies |
||||
over your content are not managed by yourself, you're about to get a lot of |
||||
pain. |
||||
|
||||
# [Stop Making Students Use Eclipse](https://nora.codes/post/stop-making-students-use-eclipse/) |
||||
|
||||
I kinda make this same point some time ago: While it is nice and dandy that |
||||
you can press a button and make a code run -- or make a full deployment -- |
||||
when you're actually learning a language, those things are actually a problem |
||||
than a solution. |
||||
|
||||
Sure, creating a build is hard and making a deployment even harder, but when |
||||
people who are learning to code are not taught how those things work, 'cause |
||||
they can "just press a button", they will never learn. Without exposing them |
||||
to the hardship of what is to make code -- and building and deployment are two |
||||
facets of this -- they can never learn how to make a CI/CD, for example. |
Loading…
Reference in new issue