Posted in 2023
š¦ Multiple Git Configurations and Identities with Folder-Dependent Includes for GitLab, GitHub et al
- 14 November 2023
People, shout out to some of my friends and collegues, like to configure their development environments in a myriad of ways. Even setting oneās Git author identity, a seemingly boring and mundane task, is sometimes approached in the most creative ways. This, of course, includes not only configuring git
, the tool itself, but also any relevant repositories as well as the platforms where those eventually end up hosted. In this brief tutorial I show how to properly handle multiple identities and configurations as well as how to manage Git projects which might be spread throughout multiple Git backends.
Please beware this tutorial will likely only be relevant or interesting to you if you already have some experience with Git, otherwise this sort of setup may feel like unnecessary or overly complicated. In case you are new to Git, I highly recommend you go through Git for Beginners: Zero to Hero š and also have a look at Git Cheatsheet: Commands, Tips and Tricks š.
Excellent Quotes from Marcus Aureliusā Meditations
- 28 September 2023
While on a military campaign which started in 170 and ended in 180, Marcus Aurelius[1] wrote his Meditations in Greek for his own guidance and self-development. The original title of the work, if it had one, is unknown. āMeditationsā ā as well as other titles including āTo Himselfā ā were adopted later. He had a logical mind, and his notes were representative of Stoic philosophy and spirituality.
Benjamin Franklin on the Tension between Liberty, Virtue, Safety, Wealth and Power
- 28 September 2023
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety.
š RyÅkan: In the scenery of spring ā¦
- 23 September 2023
This poem by RyÅkan was quoted by Alan Watts[1] in one of his lectures[2]; this was what originally motivated me to look for it in full and reproduce it here. The source of the painting is not related to RyÅkan[3].
Fix runtimeerror: no .dist-info has pip in broken pipenv installs and virtualenv wheels
- 19 September 2023
As mentioned in ā RuntimeError: no .dist-info at ... has pip for pipenv install managed via asdf-vm, I was initially confronted with issue some weeks ago but could attribute and fix the problem to asdf
misbehaving. The issue, however, resurfaced and that was no longer the case. To my surprise, asdf
seemed to be behaving as expected and was therefore of no relevance to the problem I was observing:
If you are experiencing this problem and do not use asdf
, this post might be of help as I managed to further narrow down its root cause.
Folklore Night Sky: Overcoming Ancestry
- 09 September 2023
This poem was originally written for KAMINAās[1] act at the Heidelberger Literaturherbst 2023[2].
Paths are Made by Walking
- 04 September 2023
paths are made by walking
This aphorism is also found in German as follows:
Wege entstehen dadurch, dass wir sie gehen
Freier Fall: ein Gedicht Ć¼ber die Migrantenpsyche
- 29 August 2023
Dieses Gedicht wurde ursprĆ¼nglich fĆ¼r den Akt von KAMINA[1] beim Heidelberger Literaturherbst 2023[2] geschrieben.
ā RuntimeError: no .dist-info at ... has pip for pipenv install managed via asdf-vm1
- 22 August 2023
ā¹ļø Several folks who are not using asdf-vm
but are facing similar issues have asked me for advice, Iāve detailed how you can troubleshoot and fix this issue on Fix runtimeerror: no .dist-info has pip in broken pipenv installs and virtualenv wheels.
Having said that, Iāve mentioned in several occasions that pipenv
is my virtual environment manager of choice in Python projects and that I use it in tandem with asdf-vm[1], which allows me to seemlesly switch between Python versions depending on the project Iām working on. However, after updating one of my Ubuntu test systems (20.04.6 LTS) and installing a couple of Python versions via asdf-vm
, pipenv
suddenly stopped working. In this brief HOWTO I hope to provide a couple of hints as to how you may debug and ultimately fix a PipEnv installation which finds itself in a weird state.
Calipso: amores complicados
- 19 August 2023
En la mitologĆa griega Calipso (ĪĪ±Ī»Ļ ĻĻ: Ā«la que ocultaĀ») era una ninfa que vivĆa en la isla de Ogigia, donde, segĆŗn la Odisea de Homero, detuvo a Odiseo durante siete aƱos [2].
Standing on the Shoulders of Giants
- 07 August 2023
If I have seen further, it is by standing on the shoulders of giants.
Oppenheimer: Death, the Destroyer of Worlds
- 07 August 2023
We waited until the blast had passed, walked out of the shelter and then it was extremely solemn. We knew the world would not be the same. A few people laughed; a few people cried. Most people were silent. I remembered the line from the Hindu scripture, the Bhagavad Gita; Vishnu is trying to persuade the prince that he should do his duty, and to impress him, takes on his multiarmed form and says, āNow I am become Death, the destroyer of worlds.ā I suppose we all thought that, one way or another.
Thurstonās Paean
- 18 July 2023
On an uneventful Tuesday afternoon I was, as usual, enjoying my lunch while mindlessly scrolling HackerNews and, also as usual, a post caught my attention which hit home[1]
The Great Wave off Kanagawa by Hokusai
- 18 July 2023
Although it might be a clichĆ© by now, Iāve always been quite fond of ukiyo-e, the Japanese art of woodblock printing[1], and of course of Hokusaiās work. As for many, my earliest exposure to this type of art was Hokusaiās The Great Wave off Kanagawa [2] and so itās here for posterity.
Git Revision Selection and Expressions Aā¦B
- 15 July 2023
While using git itās common to use object identifiers to operate on the underlying objects: checking branches out, reverting a commit, resetting to a given point in the history, and more.
š A Look into Aptos, Microsoftās New Default Font
- 14 July 2023
icrosoft has been planning a design revamp when it comes to the typography of their whole Office product line; and probably beyond that. They have worked on selecting their new default font for quite a bit[1]. The finalists among which the successor to the familiar Calibri typeface[2] was to be chosen were long known: Bierstadt, Grandview, Seaford, Skeena, and Tenorite. The decision, however, hadnāt been made and apparently no winner was yet selected nor known. That all changed today, though, as The Verge has reported [3].
Grieving the Early Internet š¾
- 13 July 2023
This is a topic Iāve wanted to write about for a while; and one for which I had way too many references stored. Until now, I hadnāt found a way to jump-start my internal monologue on the matter and spur the necessary motivation to put my thoughts to paper. That, however, changed last week when I engaged in a couple of conversations online on HackerNews [1] and Tildes[2] about the openness and diversity of our present-day Internet.
MySt and Markdown for Sphinx Cheatsheet
- 12 July 2023
Iāve never been a fan of Re-StructuredText, but most importantly Iām new to MySt, which leads to a lot of googling and painstaking trial-and-error while writing. Although my preferred references are the Jupyter Book MyST Cheatsheet, the Sphinx Book Theme Documentation, and the MyST Parser Reference, they are way too extensive, sometimes incorrect, and I donāt really use every directive or variant thereof. Therefore, Iāll use this post to gather the bits of the syntax and snippets I use the most.
Kill (9-TERM) Processes with Expression(s) in Name or Call
- 12 July 2023
I often find myself needing to terminate processes containing certain string literals or whose call matches a given regular expression. For that reason I probably re-write and tweak this one-liner several times a month; which is why Iām putting it out there.
Fixing ā āPoetry configuration is invalidā Errors in pre-commit.ci GitHub Actions
- 11 July 2023
Last Sunday I decided to try and understand the Sphinx codebase better after playing around with Jupyter Book and experiencing issue#1414. After falling down the codebase review rabbit hole I felt like fixing the bug itself was worthwhile. Eventually, fixing the issue proved to be easier than understanding where and what to fix or how to get the GitHub actions maze of checks to properly pass.
Load Sphinx environment.pickle and List all Labels
- 10 July 2023
In order to come up with a reliable and standardized way of referring to document sections and document it in MySt and Markdown for Sphinx Cheatsheet, I went down a pretty deep rabbit hole of Sphinx label manipulations.
š Best Fonts for Programming
- 30 June 2023
It seems like thereās never enough time to be really passionate about aesthetics, so thatās why when the opportunity presents itself I just roll with it and indulge that inclination. This post is the result of one such opportunity.
Seeing as many of us spend a considerable amount of time in front of some sort of computing device, which is specially true for those of us who program, I wanted to put the list of my favorite programming typefaces out there for your enjoyment.
How to Add š š Padding to the Ubuntu Gnome Terminal
- 29 June 2023
I often make screen captures of terminal outputs while documenting my work or helping colleagues and was always bothered when its contents were too close to the left border.
Adding padding to the gnome terminal on Ubuntu, and likely any distribution using Gnome, is trivial, as it suffices to edit ~/.config/gtk-3.0/gtk.css
.
Wrist-friendly Git Shortcuts and Aliases #ļøā£
- 21 June 2023
Things tend to get repetitive with git after you start consistently using it. Of course, itās still an irreplaceable tool, but that doesnāt mean we cannot try to abide by DVORAK principles and minimize the distance our fingers travel on the keyboard.
As past and current colleagues can attest, Iām a serial keyboard customizer and shortcut afficionado, so my suggestion to give git console aliases a try should not come as a surprise.
Git for Beginners: Zero to Hero š
- 18 June 2023
Git plays a crucial role in the software development industry and should therefore be part of every developerās toolkit. Both experienced and beginner developers can increase their productivity by leveraging a code versioning system as powerful as git. Unfortunately, introductory materials are often either too shallow, making readers feel like they only scratched the surface, or too long-winded, diving into details which neednāt interest everybody.
Seeing as colleagues and students often ask me about good, self-contained guides, I decided to republish this guide for git beginners as well as those looking for a refresher.
Git LFS Usage on GitLab Repositories
- 13 June 2023
In newer GitLab versions LFS Storage needs to be specifically enabled for projects; you can achieve this in the settings of your project [1].
Git Hooks Basics šŖ
- 08 June 2023
Git hooks are scripts which can be executed after an action is performed, the options are: applypatch-msg
, commit-msg
, post-update
, pre-applypatch
, pre-commit
, prepare-commit-msg
, pre-push
, pre-rebase
, update
.
Git Cheatsheet: Commands, Tips and Tricks š
- 06 June 2023
This is compilation of useful git commands, tips and tricks I created for myself since I kept forgetting some commands related to configuring, searching and managing git repositories. The format is simple, just a list with short descriptions for some common, and other less common, commands which I often find myself looking up online.