🐧 🌐 Linux - Network Troubleshooting Commands

ping -c 4 8.8.8.8        # Test network connectivity
nslookup google.com      # Test DNS resolution
curl ifconfig.me         # Check your public IP
ip route show            # View routing table

🚧 🐧 Linux - ss

# Comprehensive Guide to `ss` Command

## What is `ss`?

`ss` (socket statistics) is the modern replacement for the deprecated `netstat` command. It displays detailed information about network sockets, connections, and statistics. It's faster than `netstat` because it queries the kernel directly via netlink sockets rather than reading `/proc/net` files.

---

## Core Concepts

**Socket States:**
- `ESTAB` - Established connection
- `LISTEN` - Listening for incoming connections
- `TIME-WAIT` - Co

🐧 Bash - which VS command -v

# Comparaison `which` vs `command -v`

## Résumé rapide

**Utilise toujours `command -v`** dans les scripts modernes. C'est le standard POSIX, plus fiable et plus rapide.

## Tableau comparatif

| **Aspect** | **`which`** | **`command -v`** |
|------------|-------------|------------------|
| **Standard POSIX** | ❌ Non | ✅ Oui |
| **Type** | Commande externe (`/usr/bin/which`) | Builtin shell |
| **Performance** | Lent (processus externe) | Rapide (builtin) |
| **Détecte les alias** | ❌ Non | ✅ O

🐧 Bash - Flags de tests

# Référence des flags de test Bash `[[ ]]`

## Tests sur les fichiers

| **Flag** | **Signification** | **Exemple** |
|----------|------------------|-------------|
| `-f` | Fichier régulier existe | `[[ -f file.txt ]]` |
| `-d` | Directory (dossier) existe | `[[ -d /tmp ]]` |
| `-e` | Existe (tout type) | `[[ -e /path ]]` |
| `-s` | Size > 0 (non vide) | `[[ -s file.txt ]]` |
| `-r` | Readable (lisible) | `[[ -r file.txt ]]` |
| `-w` | Writable (écriture) | `[[ -w file.txt ]]` |
| `-x` | eXecuta

🐧 Bash - type -a VS command -v

# Guide complet : `type -a` vs `command -v`

## Comparaison rapide

| **Aspect** | **`command -v`** | **`type -a`** |
|------------|------------------|---------------|
| **Usage principal** | Vérifier l'existence | Debug et investigation |
| **Montre le type** | Non | Oui ("is a function", "is aliased") |
| **Montre tous les emplacements** | Non (premier seulement) | Oui (tous) |
| **Montre le code des fonctions** | Non | Oui |
| **Montre la définition des alias** | Basique | Détaillée |
| **For

🐧 Linux - systemctl

Here are a handful of fundamental `systemctl` commands explained concisely with use cases, focusing on managing services (which are a type of "unit" in systemd).

Remember: `<unit>` often refers to a service name like `ssh.service` or `nginx.service`. You can usually omit the `.service` suffix.

1.  **`systemctl status <unit>`**
    * **Purpose:** Check the detailed current status of a specific unit (like a service).
    * **Explanation:** This is your go-to command for diagnosing issues. It tel

🐧 Bash - cURL Fundamentals

# `curl`
Access to the **cURL** command, shortcut for *Client URL*

# Options
## `-X [METHOD]` or `--request [METHOD]`
Flag to specify the method to use, among:
- `GET`: Requests data from a specified resource. It's the default method used by curl if no method is specified.
- `POST`:  Submits data to be processed to a specified resource. This method is often used when submitting form data or uploading a file.
- `PUT`: Replaces all current representations of the target resource with the uploaded 

Animated Link hover underline

https://fwcafe.com/snippets/animated-link-hover/
.link--animated a{
  color:currentcolor!important;
  text-decoration: none;
  background-image: linear-gradient(currentcolor, currentcolor);
  background-size: 0 1px;
  background-position: bottom right;
  position: relative;
  background-repeat: no-repeat;
  transition: background-size 300ms;
  padding-block-end: 2px;
&:hover {
  background-size: 100% 1px;

  background-position: bottom left;
  animation: .5s animation-link-hover;
}
}
@keyframes animation-link-hover {
  0% {
    background-size

SAN INSTALL

# SAN INSTALL

### BASE REQUIREMENTS

#### MAC OS

We're mostly following the dotsimulate install guide, python  ( via brew )

Install Brew

`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`

at the end of the install don't forget to follow the instruction to add brew to path: (use the one provided)
```bash
Run these commands in your terminal to add Homebrew to your PATH:
    echo >> /Users/o2d/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew she

Group Water Tight Geo

This snippet will group water tight geometry and colour them green as well as group open geometry and colour them red.
int shape_open = 0;

int npt = npoints(0);
for (int ptnum = 0; ptnum < npt; ptnum++)
{
    int pts[] = neighbours(0, ptnum);

    foreach (int pt; pts)
    {
        int hedge = pointhedge(0, ptnum, pt);
        int count = hedge_equivcount(0, hedge);

        if (count == 1)
        {
            shape_open = 1;
            break;
        }
    }
}

if (shape_open)
{
    @Cd = set(1,0,0);
    i@group_open=1;
}
else
{
    @Cd = set(0,1,0);
    i@group_closed=1;
}

Package Management & Cleanup

# Package Management & Cleanup

**Machine:** Lenovo ThinkPad T14 Gen 2
**OS:** Ubuntu 24.04 LTS (Dual Boot)
**Date:** March 30, 2026

---

## Overview

This document covers the standard commands for keeping Ubuntu packages up to date and reclaiming disk space from cached and unused files. Commands are grouped by category — run them in the order shown for a full update + cleanup cycle.

---

## 1. Update & Upgrade

### Refresh the package index

```bash
sudo apt update
```

Downloads the latest p

2840. Check if Strings Can be Made Equal With Operations II

You are given two strings s1 and s2, both of length n, consisting of lowercase English letters. You can apply the following operation on any of the two strings any number of times: Choose any two indices i and j such that i < j and the difference j - i is even, then swap the two characters at those indices in the string. Return true if you can make the strings s1 and s2 equal, and false otherwise.
/**
 * @param {string} s1
 * @param {string} s2
 * @return {boolean}
 */
var checkStrings = function(s1, s2) {
    // We will separate characters by index parity:
    // even-indexed characters go into one bucket,
    // odd-indexed characters go into another.
    //
    // Because the allowed operation only lets us swap
    // characters whose indices differ by an EVEN number,
    // we can only rearrange characters *within* the same parity group.
    //
    // So the question becomes:
    //  

Tools

## Dev tools

- URL Encoder https://yoksel.github.io/url-encoder/
- SVG Optimizer https://svgomg.net/
- Online @font-face generator https://transfonter.org/

## Optimization

- Structured Data Markup Helper https://www.google.com/webmasters/markup-helper/u/0/

## Shopify
- Help Center / Support https://help.shopify.com/en#/contact
- Changelog https://shopify.dev/changelog

MONGODB_URI

MONGODB_URI="mongodb+srv://weezy:weezy@cluster1.ov8pn0m.mongodb.net/"

lm studio api key

sk-lm-oAmPj8OQ:ZnwH51IwH6oD64IrpVZ5

2839. Check if Strings Can be Made Equal With Operations I

You are given two strings s1 and s2, both of length 4, consisting of lowercase English letters. You can apply the following operation on any of the two strings any number of times: Choose any two indices i and j such that j - i = 2, then swap the two characters at those indices in the string. Return true if you can make the strings s1 and s2 equal, and false otherwise.
/**
 * @param {string} s1
 * @param {string} s2
 * @return {boolean}
 */
var canBeEqual = function(s1, s2) {
    // --- Core idea ---
    // We are only allowed to swap:
    //   - index 0 ↔ 2   (even positions)
    //   - index 1 ↔ 3   (odd positions)
    //
    // This means characters can move *within* their parity group (even/odd),
    // but never cross between them.
    //
    // So the strings can be made equal if:
    //   1. The even-index characters match as a multiset
    //   2. The