Julio Biason
5 years ago
1 changed files with 148 additions and 0 deletions
@ -0,0 +1,148 @@
|
||||
+++ |
||||
title = "Links for 2020-04-29" |
||||
date = 2020-04-29 |
||||
|
||||
[taxonomies] |
||||
tags = ["links", "python", "top", "bash", "legacy", "rewrite", "refactor", |
||||
"tribes", "factory", "git", "branches", "trim", "dairy", "journal", |
||||
"programming", "caches", "gnome", "screen recording", "requirements", "vim", |
||||
"password manager", "google", "adsense"] |
||||
+++ |
||||
|
||||
Python 3.9, A Nice Top in Pure Bash, Rewriting a Legacy System, Programming |
||||
Tribes, Feature Factory, Python Function Overload, Clean Git Branches, |
||||
Journaling for Devs, What Programming Is, Caches, GNOME Screen Recording, |
||||
Requirements, VIM Password Manager, Google AdSense Ransom. |
||||
|
||||
<!-- more --> |
||||
|
||||
# [New Features in Python 3.9 You Should Know About](https://martinheinz.dev/blog/21) |
||||
|
||||
The great feature coming in Python 3.9 is the dictionary shortcut (`|`, as in |
||||
`new_dict = dict1 | dict2`), but there are few more incoming changes. |
||||
|
||||
I talked about the future of Python on [PyCaxias](https://pycaxias.org/) this |
||||
year, and I pointed that Python grew a lot when it entered the web development |
||||
area and now that it is getting into the machine learning area, there will be |
||||
changes coming into the language to support this. |
||||
|
||||
And if you ignore the dict operator, there is _a lot_ of things related to ML. |
||||
|
||||
# [BashTop: Linux resource monitor](https://github.com/aristocratos/bashtop) |
||||
|
||||
When I first receive the link for this, I thought "I bet it looks like any |
||||
other bash script". But no, it has a well designed interface and loops |
||||
interesting as heck. |
||||
|
||||
# [Avoid rewriting a legacy system from scratch, by strangling it](https://understandlegacycode.com/blog/avoid-rewriting-a-legacy-system-from-scratch-by-strangling-it/) |
||||
|
||||
So you don't know how to replace your monolith with another monolith? Here is |
||||
one idea: Create the same API, put a gateway in front of the old system and |
||||
slowly reroute calls to the new service. |
||||
|
||||
# [3 tribes of programming](https://josephg.com/blog/3-tribes/) |
||||
|
||||
It's kinda funny seeing articles that try to pinpoint developers in certain |
||||
categories and end up just splitting everyone. |
||||
|
||||
But this one kinda makes sense, if you're willing to put a random label on |
||||
yourself. |
||||
|
||||
# [12 Signs You’re Working in a Feature Factory](https://cutle.fish/blog/12-signs-youre-working-in-a-feature-factory) |
||||
|
||||
Ah, the good old ways of just pushing buttons and pumping features, with no |
||||
regard to process or anything else. |
||||
|
||||
If you're starting your dev career, at some point you'll work in one of those, |
||||
and recognizing you're in such situation may help your future. |
||||
|
||||
# [Function overloading in Python](https://arpitbhayani.me/blogs/function-overloading) |
||||
|
||||
Ah, the joys of using decorators to add features to the language. In this |
||||
case, using decorators, you can add function overloading to Python, and even |
||||
if it is based on the number of arguments, one could extend this to use the |
||||
type hints for figuring out the function (with some work, I reckon). |
||||
|
||||
# [git-trim: Automatically trims your branches whose tracking remote refs are merged or gone](https://github.com/foriequal0/git-trim) |
||||
|
||||
Keeping your GIT branches clean is good for your health. Removing those stupid |
||||
"fix-this" and "fix-that" after they were merged, but not removing "develop" |
||||
and "master" can be hard work. |
||||
|
||||
This small app helps keeping everything nice and tidy. |
||||
|
||||
# [Always Be Journaling](https://letterstoanewdeveloper.com/2018/12/14/always-be-journaling/) |
||||
|
||||
Today in "Things I Know I Should Be Doing But I Don't": Journaling. |
||||
|
||||
I've seen this "pattern" a few times: Take notes of everything you're doing; |
||||
take notes of problems you solve; keep notes of discussions you had. Those are |
||||
all important and can save your butt in the future. |
||||
|
||||
# [Programming is not a goal.](https://ralsina.me/weblog/posts/programming-is-not-a-goal.html) |
||||
|
||||
I was kinda expecting the "Programming is not a goal, providing value for your |
||||
customers is", but this is way more direct than you can think. It's the clear |
||||
suggestion for those who are starting to focus on solving their own problems |
||||
instead of just coding. |
||||
|
||||
Figuring out how to scrap a website is ok, but what will you do with the data. |
||||
Building a neural network may be used in your CV when you're looking for that |
||||
high-paying job, but you're going to train to fix _what_? |
||||
|
||||
# [What is cache penetration, cache breakdown and cache avalanche?](https://www.pixelstech.net/article/1586522853-What-is-cache-penetration-cache-breakdown-and-cache-avalanche) |
||||
|
||||
I suck at using the "proper" words for some contexts: I used a bunch of |
||||
patterns, but heck if I can remember (or even if I really know) their proper |
||||
names. |
||||
|
||||
This is the same thing: Just some clarification on how to call some |
||||
problems/situations with caches. |
||||
|
||||
# [GNOME has a ‘Secret’ Screen Recorder. Here’s How to Use it!](https://itsfoss.com/gnome-screen-recorder/) |
||||
|
||||
This is a cool thing: You can record your desktop if you're using GNOME. The |
||||
recording will appear as a `webm` in your "Videos" folder. |
||||
|
||||
# [Requirements volatility is the core problem of software engineering](https://stackoverflow.blog/2020/02/20/requirements-volatility-is-the-core-problem-of-software-engineering/) |
||||
|
||||
This should not come as a surprise to anyone who was part any moderately large |
||||
project: things change. |
||||
|
||||
Yes, agile is a way to solve this, but we need to teach developers to "let go" |
||||
of their code. We write code expecting it to live forever, and then the |
||||
requirements change and we hung up on those little grouped words and instead |
||||
of removing and starting with a fresh view, we try to twists and push things |
||||
around till it works, but is barely recognizable. |
||||
|
||||
This part agile doesn't teach us. |
||||
|
||||
# [Using Vim as a password manager](https://invert.svbtle.com/using-vim-as-a-password-manager) |
||||
|
||||
A little stupid trick using VIM: VIM can encrypt files when saving them, so |
||||
you can pick a file, put your passwords, and save it in encrypted form. |
||||
|
||||
# [Pay Up, Or We’ll Make Google Ban Your Ads](https://krebsonsecurity.com/2020/02/pay-up-or-well-make-google-ban-your-ads/) |
||||
|
||||
Not only we have the problem with Google acting the way it wants with its |
||||
products -- and as much as we don't like it, we can't deny its in their own |
||||
right to do so -- now people have to worry about people tricking Google into |
||||
killing your... revenue. |
||||
|
||||
And I think that's one of the basis of the whole problem with privacy and the |
||||
general use of Google products: revenue. Imagine how scared someone could be |
||||
if they decide to pay U$ 5000 just to not kill their revenue. |
||||
|
||||
There has to be a better way. |
||||
|
||||
|
||||
--- |
||||
|
||||
This post was built with the help of |
||||
|
||||
* [Aloïs Cochard](https://functional.cafe/@alois) |
||||
* [Benpro](https://toots.benpro.fr/@benoit) |
||||
* [HN Tooter](https://mastodon.social/@hntooter) |
||||
* [newsbot](https://mastodon.social/@newsbot) |
||||
* [Read Rust](https://botsin.space/@readrust) |
||||
* [Starfish](https://social.linux.pizza/@redstarfish) |
Loading…
Reference in new issue