diff --git a/content/links/20200429.md b/content/links/20200429.md new file mode 100644 index 0000000..4c84810 --- /dev/null +++ b/content/links/20200429.md @@ -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. + + + +# [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)