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# 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# 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# 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# 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 |
| **ForHere 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# `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 .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
### 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 sheint 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
**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/**
* @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:
// ## 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/changelogMONGODB_URI="mongodb+srv://weezy:weezy@cluster1.ov8pn0m.mongodb.net/"sk-lm-oAmPj8OQ:ZnwH51IwH6oD64IrpVZ5/**
* @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