Links for 2020-05-24
2020-05-24 #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 #testingRust 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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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...
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
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
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
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 and that makes something like that somewhat useless.
Global Gitignore Files Are Cool and So Are You
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.
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
Ah, some awesome things we think it always true with devops but aren't.
Introducing faux
A nice looking Mocking library for Rust.
This post was built with the help of