994 private links
In my previous blog post I gave a quick and easy introduction to tmux and explained how to use tmux with a basic configuration.
If youâve followed that guide you might have had a feeling that many people have when working with tmux for the first time: âThese key combinations are really awkward!â. Rest assured, youâre not alone. Judging from the copious blog posts and dotfiles repos on GitHub there are many people out there who feel the urge to make tmux behave a little different; to make it more comfortable to use.
And actually itâs quite easy to customize the look and feel of tmux. Let me tell you something about the basics of customizing tmux and share some of the configurations I find most useful.
En discutant avec un collĂšgue (coucou AurĂ©lien) des quadlets, jâai compris quâil y avait plein dâavantages Ă faire du Podman plutĂŽt que du Docker :
- Daemonless : pas de daemon root qui tourne en permanence.
- Rootless (si on veut) : les containers tournent sous ton utilisateur.
- Gestion par systemd : redémarrages natifs, logs dans journald, et plus besoin de Watchtower.
Et pour migrer, AurĂ©lien mâa montrĂ© un projet qui sâappelle podlet que je vais mâempresser de tester.
Here are some of the best techniques for keeping email addresses hidden from spammersâalong with the statistics on how likely they are to be broken.
Ideally, you should be using multiple techniques in combination. For example, you could divide the email address into two segments, each protected with a different technique.
[Via Human Coders News]
There's a moment when using
sedstops feeling like typing weird incantations⊠and starts feeling like you're programming a living stream of text.At first, it looks like this:
sed '1,2p' fileAnd you think:
"ok⊠print lines 1 and 2⊠neat, but whatever"
But if you stay with it â if you push just a bit further â you discover something unexpected:
sed is not a command. It is a language.
A small one. A strange one. But a real one --> with control flow, memory, and a model of execution.
There is a distinct, visceral kind of pain in watching an otherwise brilliant engineer hold down the Backspace key for six continuous seconds to fix a typo at the beginning of a line.
Weâve all been there. We learn
ls,cd, andgrep, and then we sort of⊠stop. The terminal becomes a place we live in-but we rarely bother to arrange the furniture. We accept that certain tasks take forty keystrokes, completely unaware that the shell authors solved our exact frustration sometime in 1989.Here are some tricks that arenât exactly secret, but arenât always taught either. To keep the peace in our extended Unix family, Iâve split these into two camps: the universal tricks that work on almost any POSIX-ish shell (like
shon FreeBSD orkshon OpenBSD), and the quality-of-life additions specific to interactive shells like Bash or Zsh.
Details that make interfaces feel better
Great interfaces rarely come from a single thing. It's usually a collection of small things that compound into a great experience. Below are a few small details I use to make my interfaces feel better.
- Text wrapping
- Concentric border radius
- Animate icons contextually
- Make text crispy
- Use tabular numbers
- Make your animations interruptible
- Split and stagger entering elements
- Make exit animations subtle
- Align optically, not geometrically
- Use shadows instead of borders
- Add outline to images
- Make interfaces feel better skill
- More
- Newsletter
TL;DR
- Un résultat
dkim=failsignifie que la signature DKIM de l'email n'a pas pu ĂȘtre vĂ©rifiĂ©e par le serveur de rĂ©ception- Les 3 causes les plus frĂ©quentes : body hash altĂ©rĂ© (contenu modifiĂ©), clĂ© publique introuvable dans le DNS, signature expirĂ©e (dĂ©lai
x=dépassé)- Le transfert d'email casse presque toujours la signature DKIM, c'est un comportement attendu que seul ARC peut compenser
- Utilisez la commande
dig TXT selecteur._domainkey.captaindns.compour vérifier que votre clé publique est bien publiée- Couplez toujours DKIM avec DMARC et SPF pour une authentification complÚte
In 2015, back when Twitter was still Twitter, their dev team had a problem.
In those early days, tweets could be âfavouritedâ by clicking a little âââ icon. The product team wanted to migrate to âlikingâ tweets, Facebook-style, with a ââ€ïžâ.
This looks super nice, but thereâs kind of a lot going on in there; by my count, there are 16 separate elements all animating at the same time (14 particles, the popping circle, the heart). Twitterâs web app needed to run on very low-end mobile devices, so it wasnât feasible to create this procedurally using DOM nodes. Instead, they decided to borrow a technique from video games: sprites.
The basic idea with a sprite is that we create a single image that contains each individual frame of an animation in a long strip. Then, we display each frame for a fraction of a second, like a roll of film sliding through an oldschool film projector:
In this blog post, Iâll show you the best way Iâve found to work with sprites in CSS, and share some of the use cases Iâve discovered. Weâll also talk about some of the trade-offs, to see when we shouldnât use sprites.
TL;DR: In this post, I present five techniques related to vertical scrolling used in
<HighTable>, a React component that can display billions of rows in a table while keeping good performance and accessibility.It's a long post, which reflects the complexity of rendering billions of rows in a table, and the amount of work we put into building the React component.
Welcome to your go-to guide for setting up Jibri with Jitsi, the popular open-source tool for video conferencing. Whether youâre a teacher, a business professional, or someone looking to record and stream meetings, this guide is designed to walk you through the process step by step, ensuring you can capture every important moment without a hitch.
What is Jibri?
Jibri is an essential tool for anyone using Jitsi Meet who wants to record their meetings or stream them to services like YouTube or Facebook Live. It stands for âJitsi BRoadcasting Infrastructure,â and while it might sound complex, setting it up is straightforward with the right guidance.
Tu viens de télécharger Python, Node.js ou Git, et là ⊠surprise : impossible de lancer la commande dans PowerShell.
'python' n'est pas reconnu en tant que commande...Classique.Le coupable ? Ton PATH Windows qui nâa aucune idĂ©e de lâendroit oĂč se planque ton programme fraĂźchement installĂ©. Pas de panique : ajouter un programme au PATH Windows est plus simple quâinstaller YAML sur un serveur Ubuntu (et ça, câest dĂ©jĂ un exploit).
Dans ce guide, je te montre 3 mĂ©thodes pour ajouter un programme au PATH Windows : lâinterface graphique (pour les prudents), PowerShell (pour les pros), et CMD (pour les nostalgiques). Avec en bonus : cas dâusage rĂ©els, troubleshooting, et tout ce quâil faut pour ne plus jamais galĂ©rer.
Pendant plus d'une dĂ©cennie, nous avons traitĂ© le Web comme une collection d'affiches statiques imprimĂ©es sur du papierâŻ: une pour mobile, une pour tablette, une pour desktop. Mais le Web n'est pas une sĂ©rie de tailles d'Ă©crans fixes. C'est un fluide continu.
Bienvenue dans l'Ăšre de l'Intrinsic Web Design (ou Design IntrinsĂšque), un terme introduit par Jen Simmons en 2018 oĂč le contenu dicte la mise en page, et non l'inverse. L'objectif est de crĂ©er des composants qui s'adaptent Ă leur contexte, qu'ils soient dans une sidebar rĂ©duite ou dans un header trĂšs large.
Pour un article qui sortira peut-ĂȘtre sur papier (je croise les doigts), jâavais besoin de tester diffĂ©rents types dâOS Ă installer sur un Raspberry Pi Zero 2 W.
Comme je ne connaissais ni Alpine, ni les spécificités du Pi Zero 2 W, je suis tombé sur pas mal de trucs que je ne connaissais pas.
MĂȘme si au final, lâarticle papier ne traite pas dâinstallation dâAlpine Linux (ni mĂȘme ne lâutilise), je me suis dit que câĂ©tait dommage de ne pas publier cette expĂ©rience Alpine + RPi Zero, donc la voici.
Kubernetes (K8s) est devenu lâorchestrateur de conteneurs standard en production. Que vous soyez dĂ©veloppeur qui dĂ©ploie ses applications, ops qui maintient lâinfrastructure, ou simplement curieux de comprendre comment fonctionne le cloud moderne â ce parcours vous rend autonome sur les gestes essentiels : crĂ©er un dĂ©ploiement, exposer un service, diagnostiquer une erreur, sĂ©curiser un cluster. Pas besoin de viser une certification pour en tirer profit : lâobjectif est de vous donner les compĂ©tences pratiques utilisables dĂšs demain dans vos projets.
Comment ça se passe ? Vous commencez par comprendre lâarchitecture, puis vous manipulez les objets de base (Pods, Deployments, Services), avant dâaborder les sujets avancĂ©s (sĂ©curitĂ©, autoscaling, outils de dĂ©ploiement). Chaque concept est illustrĂ© par des exemples concrets, des commandes Ă tester, et des liens vers des TP pratiques sur GitHub. Ă la fin de chaque niveau, un contrĂŽle de connaissances interactif valide vos acquis. Si vous prĂ©parez la CKA ou la CKAD, les parcours sont alignĂ©s sur les domaines de lâexamen.
Au terme de ce parcours, vous serez capable de :
Section intitulée « Au terme de ce parcours, vous serez capable de : »
- DĂ©ployer une application de bout en bout (Pod â Deployment â Service â exposition)
- Diagnostiquer les erreurs : CrashLoopBackOff, ImagePullBackOff, OOMKilled, Pending
- Sécuriser un cluster avec RBAC et Network Policies
- Automatiser les déploiements avec Helm ou Kustomize
- Scaler automatiquement avec HPA
- Préparer les certifications CKA (admin) ou CKAD (dev)
- Run a Container
- Container Lifecycle Commands
- List Containers
- Container Logs
- Inspect Containers
- Execute Commands in Container
- Copy Files
- Image Management
- Image Inspection & Export
- Build Images
- Dockerfile: Base & Metadata
- Dockerfile: Files & Commands
- Dockerfile: Ports, Volumes, Health
- Dockerfile: CMD & ENTRYPOINT
- Multi-Stage Build
- Volume Management
- Mount Types
- Network Management
- Container Networking
- Compose CLI Commands
- Compose: Basic Service
- Compose: Build from Dockerfile
- Compose: Dependencies & Health
- Compose: Networks & Resources
- Compose: Variables & Extensions
- System Cleanup
- System Info & Registry
- One-Liner Patterns
- Debugging Containers
- Security Best Practices
Raising Notifications From Terminal
When executing long-running jobs in the terminal, it's useful to get notified when they complete so you can do other things while waiting. Here are a few ways to achieve this.
Using notify-send (Linux)
The simplest approach is to chain your command with
notify-send:slow-job; notify-send "done"If You Already Started the Job
If you've already started a long-running job and forgot to add a notification, you can still do it:
- Press
Ctrl-Zto suspend the job and put it in the background- Run
fg; notify-send "done"The job will resume in the foreground, and you'll get notified when it finishes.
It's very common to intentionally break up long, expensive tasks over multiple ticks of the event loop. But there are sure are a lot of approaches to choose from. Let's explore them.
It's not hard to bork your site's user experience by letting a long, expensive task hog the main thread. No matter how complex an application becomes, the event loop can still do only one thing at a time. If any of your code is squatting on it, everything else is on standby, and it usually doesn't take long for your users to notice.
These are the settings in the
about:configsection and in the user.js file. The parameters are divided into sections, you can see it in Index of Sections below, and in the[INDEX]entry in theuser.jsfile.There are some keywords used for the configuration parameters, you can see this keywords also in the comments of the
user.jsfile, and are as follows:
[Windows], [Linux], [macOS]- The option is valid only for the indicated operating system.[Non-Windows]- The option is valid for all operating systems other than Windows.[HIDDEN PREF]- Option that must be enabled first, in order to change its default value or to be used.[DEFAULT: true/false]- Specifies the existing default value.NOTE: Settings that specify values equal (redundant) to the defaults are not listed (with some exceptions for clarity).
For further information, please read here: arkenfoxâs user.js.
Some notes on setting up an
apt-cacher-ngbased cache server for Debian apt packages in my home operations ("homeops") context, including a section on using SSL/TLS origin servers.
PrĂ©sentation (succinte) pour vous et pense-bĂȘte pour moi des choses notables que je configure sur Firefox.