756. Pyramid Transition Matrix

You are stacking blocks to form a pyramid. Each block has a color, which is represented by a single letter. Each row of blocks contains one less block than the row beneath it and is centered on top. To make the pyramid aesthetically pleasing, there are only specific triangular patterns that are allowed. A triangular pattern consists of a single block stacked on top of two blocks. The patterns are given as a list of three-letter strings allowed, where the first two characters of a pattern represent the left and right bottom blocks respectively, and the third character is the top block. For example, "ABC" represents a triangular pattern with a 'C' block stacked on top of an 'A' (left) and 'B' (right) block. Note that this is different from "BAC" where 'B' is on the left bottom and 'A' is on the right bottom. You start with a bottom row of blocks bottom, given as a single string, that you must use as the base of the pyramid. Given bottom and allowed, return true if you can build the pyramid all the way to the top such that every triangular pattern in the pyramid is in allowed, or false otherwise.
/**
 * @param {string} bottom
 * @param {string[]} allowed
 * @return {boolean}
 */
var pyramidTransition = function(bottom, allowed) {
    // STEP 1: Build a mapping from (left,right) -> list of possible tops
    // Example: "ABC" means A+B -> C
    const map = new Map();
    for (let pattern of allowed) {
        const left = pattern[0];
        const right = pattern[1];
        const top = pattern[2];
        const key = left + right;

        if (!map.has(key)) {
            map.set(key, [])

dataframe

import pandas as pd

# Sample data based on your image
data = {
    'Division': ['BED, BARGARH'] * 5,
    'Sub-Division': ['ATABIRA', 'BARGARH-1', 'BARGARH-2', 'BHATLI', 'BHEDEN'],
    'Total Complaint Count (A+B+C)': [10] * 5,
    'Complain Count (A)': [2] * 5,
    'Hour <2 (A)': [3] * 5,
    'Hour 2<4 (A)': [1] * 5,
    'Hour 4<8 (A)': [4] * 5,
    'Complain Count (B)': [3] * 5,
    'Hour <2 (B)': [3] * 5,
    'Hour 2<4 (B)': [1] * 5,
    'Hour 4<8 (B)': [4] * 5,
    'Closed Out

AWS Organization * Policies

https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_security_hub.html_
{
  "securityhub": {
    "enable_in_regions": {
      "@@assign": [
        "eu-central-1"
      ]
    },
    "disable_in_regions": {
      "@@append": [ALL_SUPPORTED],
      "@@remove": ["eu-central-1"]
    }
  }
}

Cursor personal keybindings

Open command palette with `Ctrl + Shit + P`, then type : **"Preferences: Open Keyboard Shortcut (JSON)"**. Usually stored here : _~/.config/Cursor/User/keybindings.json_ To display the keys pressed in terminal, open command palette and type : **"Developer: Toggle Keyboard Shortcuts Troubleshooting"**.
// Place your key bindings in this file to override the defaults
[
    {
        "key": "ctrl+i",
        "command": "composerMode.agent"
    },
    {
        // On French AZERTY keyboard, press ctrl + shift + ./; which is interpreted as a comma 
        "key": "ctrl+shift+,",
        "command": "editor.action.quickFix",
        "when": "editorTextFocus && !editorReadonly"
    },
    {
        "key": "alt+enter",
        "command": "editor.action.quickFix",
        "when": "editorTextFocus && !e

Claude Code - Claude in Chrome

# Veille Technologique : Claude in Chrome

**Date :** 29 décembre 2025  
**Sujet :** Extension navigateur Claude in Chrome (browser agent)  
**Statut :** Beta disponible pour tous les abonnés payants (depuis déc. 2025)

---

## Résumé exécutif

Claude in Chrome est une extension navigateur permettant à Claude de lire, cliquer et naviguer sur les sites web. Lancée en preview recherche le 26 août 2025 (1 000 utilisateurs Max), elle est désormais disponible en beta pour tous les plans payants (Pro,

Claude Code - ccstatusline

# ccstatusline — Fiche Synthétique

## Qu'est-ce que c'est ?

Outil communautaire qui affiche une barre de statut enrichie dans Claude Code, incluant notamment le **compteur de tokens** (non disponible nativement).

---

## Installation

```bash
# Prérequis : Node.js/npm
npm install -g ccstatusline

# Vérifier
ccstatusline --version
```

---

## Configuration

### 1. Fermer Claude Code

Quitter toute session active avant configuration.

### 2. Lancer l'outil

```bash
ccstatusline
```

### 3. Men

📒 NotebookLM - Data Table

# NotebookLM Data Tables

**Date de lancement** : 18-23 décembre 2025  
**Disponibilité** : Pro/Ultra immédiat, tous utilisateurs sous quelques semaines

## Fonctionnalité

Synthèse automatique des sources en tableaux structurés exportables vers Google Sheets. Accessible via le panneau Studio (côté droit), aux côtés de Audio Overview, Video Overview, Mind Map, Reports, Flashcards, Quiz, Infographic et Slide Deck.

## Utilisation

1. Ouvrir le panneau Studio
2. Sélectionner Data Table
3. Choisir 

Claude Code - Git - Worktrees

# Git Worktrees — Guide Pratique

## Concept

Un **worktree** est un répertoire de travail supplémentaire lié au même dépôt Git. Tu peux avoir plusieurs branches checkoutées simultanément dans des dossiers différents, sans duplication du repo.

```
~/projets/
├── mon-app/              ← Repo principal (branch: main)
│   └── .git/             ← Unique dépôt Git partagé
├── mon-app-feature/      ← Worktree (branch: feature-auth)
└── mon-app-hotfix/       ← Worktree (branch: hotfix-123)
```

Chaque

Claude Code - LSP - Use Cases & Advantages

# LSP dans Claude Code — Cas d'usage et avantages

## Exemples de prompts avec LSP

### Navigation

```
"Go to definition of process_data"
"Where is UserService defined?"
"Find all references to calculate_total"
```

### Exploration

```
"List all symbols in api/routes.py"
"Search for classes named *Repository in the workspace"
"What's the type signature of fetch_users?"
```

### Diagnostics

```
"Check for errors in this file"
"What type errors are in the project?"
"Run diagnostics on models/"

LSP - Premières Notions

# Language Server Protocol (LSP) — Fondamentaux

## Définition

Protocole JSON-RPC standardisé permettant à un éditeur de code (client) de communiquer avec un serveur fournissant des fonctionnalités de langage (autocomplétion, go-to-definition, diagnostics, etc.).

## Problème résolu

Avant LSP : N éditeurs × M langages = N×M implémentations.
Avec LSP : N clients + M serveurs. Chaque éditeur implémente le protocole une fois, chaque langage expose un serveur une fois.

## Architecture

```
┌─────

Claude Code - LSP - Intégration

# Intégration LSP dans Claude Code

## Vue d'ensemble

Claude Code (v2.0.74+) supporte nativement le Language Server Protocol via un système de plugins. Une fois configuré, Claude accède à :

- **goToDefinition** — Sauter à la définition d'un symbole
- **findReferences** — Trouver tous les usages
- **hover** — Afficher documentation et types
- **documentSymbol** — Lister les symboles d'un fichier
- **workspaceSymbol** — Rechercher dans tout le projet
- **Diagnostics automatiques** — Erreurs/warn

Claude Code - Plugins - Quick Guide

# Claude Code Plugins — Guide Rapide

## Ajouter des Marketplaces

```bash
/plugin marketplace add owner/repo
```

**Exemples :**

```bash
/plugin marketplace add anthropics/skills
/plugin marketplace add anthropics/claude-code
/plugin marketplace add wshobson/agents
/plugin marketplace add obra/superpowers-marketplace
```

## Commandes Essentielles

| Action | Commande |
|--------|----------|
| Menu interactif | `/plugin` |
| Lister marketplaces | `/plugin marketplace list` |
| Plugins disponib

position: absolute;した要素が中央からずれる件を調整

【参考サイト】 https://sugary-chunchun.com/2024/06/20/23559/
h1::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #BDA887;
    transform: rotate(45deg) translate(-50%, 0); // 追加
    bottom: -10px;
    left: 50%;
}

data file path

def get_dataset_path():
    """
    Checks predefined dataset paths and returns the one that exists.
    Raises FileNotFoundError if none are found.
    """
    path1 = r"C:\Users\TPWODL\New folder_Content\Twitter_X_Flow_Prediction_Tp\data\raw\twitter_x_data.xlsx"
    path2 = r"C:\Users\LENOVO\MachineLearningProhects\Twitter_X_Flow_Prediction_Tp\data\raw\twitter_x_data.xlsx"

    if os.path.exists(path1):
        return path1
    elif os.path.exists(path2):
        return path2
    e

plotly all visualizations

import pandas as pd
import plotly.graph_objects as go
import plotly.express as px

def create_visualizations(pivot_df: pd.DataFrame):
    """
    Create interactive Plotly visualizations for complaint data
    with distinct color schemes and backgrounds
    """
    
    # Remove the 'Total' row if it exists
    df = pivot_df[pivot_df['COMPLAINT TYPE'] != 'Total'].copy()
    
    # 1. STACKED BAR CHART - teal & red on light gray
    fig1 = go.Figure()
    
    departments = ['Comm

pivot table

def apply_pivot_examples(dataset_path: str) -> pd.DataFrame:
    # Load dataset
    df = pd.read_excel(dataset_path)

    # Ensure required columns exist
    required = ['COMPLAINT TYPE', 'DEPT', 'CLOSED/OPEN']
    missing = [c for c in required if c not in df.columns]
    if missing:
        raise ValueError(f"Missing required columns: {missing}")

    # Work on a copy and clean text
    d = df[required].copy()

    # Normalize strings: strip, lower, then title-case
    def norm(s