Posts tagged technology

🔒 Accessing git Servers Over Another Port When 22 is Blocked and Cloning Hangs Waiting for Connection

It’s been awhile since I’ve setup my last work system a year back, so this past month I’ve gone through the usual pains of preparing a new machine. One of those pains was realizing some network segments at one of the libraries I am a regular at have port 22 blocked at an internal boundary. Without falling into discussions about how useful such a thing is from a defensive security point of view, I wanted to share a trick not many folks know of. It turns out that, precisely for those situations, all renowned Git hosting providers offer access to their Git service via an alternative port: 443.

Read more ...


RTF(M|L): Error Installing Ruby 3.3.1 via asdf on MacOS Due to Missing libyaml

This is the first in a rapid-fire series of howto posts regarding MacOS development environments and common blockers people face when setting them up. It should also serve as your daily reminder to Read the Freaking Manual|Logs[1]! As for Ruby, I needed to set up Ruby 3.3.1 for a new customer engagement. As usual, I started setting it up via asdf-vm; see 🪄 Install asdf: One Runtime Manager to Rule All Dev Environments for the reasoning behind doing so and my view on language runtime management.

Read more ...


🥋 Codewars: Opposites Attract

Some members from http://guayahack.co came up with the idea for us to practise and discuss some code katas together and I couldn’t resist.

Read more ...


🧪 Snippet: General Publishing Test

In the best spirit of over-engineering for fun, this minimalistic post documents the way my snippets land over at jdsalaro/jdsalaro.com.

Read more ...


🪄 Install asdf: One Runtime Manager to Rule All Dev Environments

Almost everyone I know who uses a computer, for fun or work, is overtaken by a slight nervousness when installing a new library, package, service or application on their operating system. The horror stories underpinning these reservations vary slightly between Linux, Unix, Windows and MacOS users, but everyone knows, regardless of preferred ecosystem, that installing software can do a number on their computer and the task should not be taken lightly. Especially for programmers, that struggle is no stranger. Therefore, any tool looking to simplify this task and eliminate potential points of failure is, in my book, a very welcome occurrence.

../../../_images/xkcd-1987-python-environment.png

Read more ...


🤝 Initiatives and Organizations Supporting Open Source

This page is continuously updated; it’s publication date reflects the last time changes were made.

Read more ...


🚨 On the XZ Utils Backdoor (CVE-2024-3094): FOSS Delivered on its Pitfalls and Strengths

The newly discovered backdoor[1] in the XZ Utils package[2] affecting numerous Linux distributions[3] and assigned CVE-2024-3094[4] is being dismissed by some members of the technology and security communities as yet another supply chain attack; relevant only because of how blatant it was and that it affected the Open Source ecosystem but in essence nothing out of the ordinary. Regardless of whether this perspective is gaining traction due to cynicism, as hyperbole for clicks or as a coping mechanism, I vehemently disagree with that stance.

../../../_images/openwall-andres-freund-report.png

Read more ...


📦 Multiple Git Configurations and Identities with Folder-Dependent Includes for GitLab, GitHub et al

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 📝.

../../../_images/linus-fake-commit.png

Read more ...


Git Revision Selection and Expressions A…B

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.

../../../_images/revision-parents-ancestors.png

Read more ...


MySt and Markdown for Sphinx Cheatsheet

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.

Read more ...


🎭 Best Fonts for Programming

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.

hack

Read more ...


Wrist-friendly Git Shortcuts and Aliases #️⃣

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.

Read more ...


Git for Beginners: Zero to Hero 🐙

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.

../../../_images/conventions.svg

Read more ...


Git Hooks Basics 🪝

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.

Read more ...


Git Cheatsheet: Commands, Tips and Tricks 📝

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.

../../../_images/gitworkflow.png

Read more ...