The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

229 lines
11 KiB

+++
title = "Links for 2020-05-24"
date = 2020-05-24
[taxonomies]
tags = ["links", "rust", "zuckerberg", "facebook", "work from home",
"open source", "europe", "universities", "documentation", "culture war",
"pull requests", "dokuwiki", "licenses", "apis", "dark patterns", "zshell",
"zsh", "git", "git ignore", "monologues", "devops", "mocking", "testing"]
+++
Rust Unix Commands, Learning Rust (yes, again), Zuckerberg, Facebook and
Working Remotely, Open Source in European University, Open Source Your Shitty
Library, Writing Documentation, Open Source Culture War, Building Applications
With No Invalid State, Show How You Solve Problems, Pull Requests, Dokuwiki,
Things Wrong With Rust, Unofficial APIs, Selling Yourself, Dark Patterns,
Picking Licenses, ZShell Tricks, Global Git Ignore, Internal Monologues,
DevOps Lessons, Mocking in Rust.
<!-- more -->
## [Common *nix commands written in Rust](https://gcollazo.com/common-nix-commands-written-in-rust/)
I know I posted something like this recently, but I feel this list is a bit
more complete.
## [Getting Started with Rust by Building a Tiny Markdown Compiler](https://jesselawson.org/rust/getting-started-with-rust-by-building-a-tiny-markdown-compiler/)
A good introduction to Rust. I really like how things that are interesting but
could get in the way of learning the language are collapsed and just if you
really want to know what they are talking about, you can expand it.
## [Mark Zuckerberg and Priscilla Chan's $800,000 donation to their 8 favorite restaurants is like the median US family giving 13 cents to each](https://www.businessinsider.com/mark-zuckerberg-priscilla-chan-800000-donation-restaurants-us-family-equivalent-2020-5)
Let's rant a bit, shall we?
There are a lot of news about billionaires helping small business or people,
sharing some expressive amount of money.
But then, when you check how much they are "helping", it is just some really
small drop of everything they had.
On the other hand, it's not like Zuckerberg had $76.3 billion on his bank
account (or pocket). It's based on the value of Facebook (the company) and the
Zuckerberg stock.
So, saying "Rich person shared a huge load of money" is wrong, as is "it's
just peanuts" is also wrong -- although I must reckon the first is more wrong
than the second.
## [Facebook employees may face pay cut if they move to cheaper areas to work from home](https://www.marketwatch.com/story/facebook-employees-may-face-pay-cut-if-they-move-to-cheaper-areas-to-work-from-home-2020-05-21)
And just to put some more perspective into what Zuckerberg does, here is
another facet: Due COVID, Facebook allowed workers to work from home, but now
comes the warning: Just because you're working from home, you can't just take
your salary to a cheaper place. You must suffer, SUFFER!
Ok, I may have gotten over my head on that.
But there are a bunch of things you can take from this: You're not allowed to
improve your life while not taking more from the company; cheaper places
should mean cheaper payment; and on, and on.
Dunno what Zuckerberg idea is behind this (except maybe make more money).
## [Why European universities are choosing open source software](https://opensource.com/article/20/5/open-source-higher-education)
This is actually good news. When I was on Uni, one of the problems I faced was
the incongruent idea that you need some specific software to do your
homework, but those were paid, closed source options and, thus, the only
option was to either stay at uni (something really hard when you have to work
to pay for it) or pirate it.
Now, honestly, that's the "free as in beer" part of the "free software" (which
is not actually true, but it happens), but in the long run, I guess people
learning to code can also gather more accustomed to having the source around,
and maybe even used to see how things works.
## [It’s OK for your open source library to be a bit shitty](https://www.drmaciver.com/2015/04/its-ok-for-your-open-source-library-to-be-a-bit-shitty/)
That's one of the things most developers still are afraid of: You're working
on an open source license, but you fear into making it available everywhere
'cause "it's not perfect".
There are reasons to keep an open source content not available yet: You're
working through licenses and copyrights. Apart from that, you can really
released a version that is not up to scratch, 'cause showing what it is -- and
update as necessary -- is way more impressive than releasing a perfect version
in the first shot.
## [RFCs and asynchronous-first culture](https://notes.eatonphil.com/rfcs-and-asynchronous-first-culture.html)
One of the things that really caught my eye here is the idea that, when doing
some graphical design, people go to sketches and mockups instead of jumping
directly into the final design. And doing documentation (and emails, for that
matter) we need some sort of "sketches" for it.
## [The Culture War in Open Source is On](https://modelviewculture.com/pieces/the-culture-war-in-open-source-is-on)
Oh boy, here we go again...
Yes yes, there is something going inside the open source culture: Stallman was
forced out of the FSF and Eric Raymond was kicked out of OSI maillist.
But here is the thing: Even if Stallman started the GNU project and kick
started the whole free software movement, he also saw no problem in underage
girls with older men, only changing position days before being kicked out of
the FSF board; Eric Raymond may have written "The Cathedral and the Bazaar",
but also became a gun nut, claimed gay men are, basically, paedophiles and
that a cop shooting a suspicious black man is not racism, but self defense --
and nobody found it weird when he mentioned "black man" and not simply "man"?
Open source and free software won. There is a lot more people coming in the
movement than before, and showing that people are welcomed here is the point.
When people are actually damaging the image of the movement, they are not
helping.
On another note, I remember that in early 2000s, we were already discussing
how Raymond's attitudes and opinions were actually harmful to the ecosystem.
That was more than 20 years ago, and it seems he didn't change a bit. Good
riddance.
Honestly, the "war" we have is simply "You may be a cool, technical person,
but your shitty attitude won't be allowed here anymore."
## [Constructive vs Predicative Data](https://www.hillelwayne.com/post/constructive/)
I really like this kind of posts, which explores how information could be
accidentally wrong, while a different approach can prevent a wrong state.
## [To get a better programming job, explain your problem-solving skills](https://codewithoutrules.com/2020/05/18/job-search-skills/)
You know, there is something deeper here than it seems.
The interviews I did on bigger companies, I didn't feel they were trying to
find the way I solved problems; they were looking if I knew the answer right
away.
So, one can see the title in two ways: Either you can get a better programming
job by showing your problem solving skills OR better jobs want to see your
problem solving skills (poor jobs do not).
## [On Writing a Great Pull Request](https://blog.codeminer42.com/on-writing-a-great-pull-request-37c60ce6f31d/)
More people should read posts like this. I had to deal a lot with pull
requests with no information whatsoever about what was being done. Worse,
sometimes, the title of the pull requests was actually the branch name.
## [Argon Dokuwiki Template](https://github.com/IceWreck/Argon-Dokuwiki-Template#argon-dokuwiki-template)
I used Dokuwiki a long time ago, and even then the interface felt a bit
outdated. Now there is some pretty theme for it -- although I'm not sure I'm
in need to Dokuwiki at this point.
## [Things I hate about Rust](https://blog.yossarian.net/2020/05/20/Things-I-hate-about-rust)
Sure, no language is perfect and ranting about the wrong things is a way to
improve it, but some points are actually without merit.
For example, complaining about Rust multiple string types: I understand the
problem with `&str` and `String`, but `OsString` has a reason to exist --
operating systems that are UTF-8 while their filesystem is not. So how do you
deal with it? You make everything UTF-8 and let the filesystem create stupidly
named files?
## [Unofficial APIs](https://github.com/Rolstenhouse/unofficial-apis)
A list of services APIs that are not official. Just in case you want to play
with something that doesn't offer a real API.
## [Sell yourself, Sell Your Work...](https://www.solipsys.co.uk/new/SellYourselfSellYourWork.html?te20hn)
That's one thing I do really bad: I don't know how to sell myself. I just hope
this blog -- and opinions, and technical posts and even stupid ideas -- can
serve as a way to do it so.
## [Dark Patterns: Past, Present, and Future](https://queue.acm.org/detail.cfm?id=3400901)
I've been seeing a lot of those patterns recently. There is one missing bit,
though: How do we get rid of them?
## [Choose A License](https://choosealicense.com/appendix/)
Want to check what each license allow you to do? Here is a neat table with
several licenses and what you need to do and what you _can_ do with them.
## [Some zshrc tricks](https://www.arp242.net/zshrc.html)
I may have switched to ZShell recently, so this kind of post is actually
pretty damn useful.
... but the thing that caught my eye was the way to put aliases for
directories, which helps a lot in getting to the right place, but I'm using
[Scotty](https://github.com/wdullaer/scotty) and that makes something like
that somewhat useless.
## [Global Gitignore Files Are Cool and So Are You](https://www.viget.com/articles/global-gitignore-files-are-cool-and-so-are-you-1/)
Ah, that's one thing I have been missing: Global ignores. That would allow me
to ignore VIM swap files on every project at once.
## [Today I Learned That Not Everyone Has An Internal Monologue And It Has Ruined My Day.](https://insidemymind.me/2020/01/28/today-i-learned-that-not-everyone-has-an-internal-monologue-and-it-has-ruined-my-day/)
Far from ruining my day, but I also found this really... curious, to put
mildly.
But lacking a internal monologue may also explain why some people don't
like books -- the dialogues may be a bit missing, and it may be hard to follow
the story.
## [(A few) Ops Lessons We All Learn The Hard Way](https://www.netmeister.org/blog/ops-lessons.html)
Ah, some awesome things we think it always true with devops but aren't.
## [Introducing faux](https://nrxus.github.io/faux/#--introducing-faux--)
A nice looking Mocking library for Rust.
---
This post was built with the help of
* [Freddy](https://social.privacytools.io/@freddyym)
* [HN Tooter](https://mastodon.social/@hntooter)
* [Michael J. Gratton](https://octodon.social/@mjog)
* [newsbot](https://mastodon.social/@newsbot)
* [Starfish](https://social.linux.pizza/@redstarfish)
* [sungo](https://sungo.space/sungo)