SQL pour query layer creation

-- It's a query that take alny datast where DESIGNATOR fiels is less or equals 10000--
SELECT 
    LINE_ID, LINE_GUID, DESIGNATOR, DESCRIPTION, TYPE_CL, 
    PRODUCT_TYPE_SCL, PRODUCT_SUBTYPE_SCL, OPERATING_STATUS_GCL, 
    SYSTEM_TYPE_CL, INTERSTATE_LF 
FROM 
    ALEU_PODS.pods.LINE 
WHERE 
    -- 1. NETTOYAGE : Exclure les valeurs non-numériques dans le champ DESCRIPTION (pour éviter l'erreur de conversion)
    DESCRIPTION NOT LIKE '%AIR LIQUIDE EUROPE%' 
    -- AJOUTEZ ICI TOUTES LE

3100. Water Bottles II

You are given two integers numBottles and numExchange. numBottles represents the number of full water bottles that you initially have. In one operation, you can perform one of the following operations: Drink any number of full water bottles turning them into empty bottles. Exchange numExchange empty bottles with one full water bottle. Then, increase numExchange by one. Note that you cannot exchange multiple batches of empty bottles for the same value of numExchange. For example, if numBottles == 3 and numExchange == 1, you cannot exchange 3 empty water bottles for 3 full bottles. Return the maximum number of water bottles you can drink.
/**
 * @param {number} numBottles
 * @param {number} numExchange
 * @return {number}
 */
var maxBottlesDrunk = function(numBottles, numExchange) {
    // Track the total number of bottles drunk
    let totalDrunk = 0;

    // Track how many empty bottles we have after drinking
    let emptyBottles = 0;

    // Continue as long as we have full bottles to drink
    while (numBottles > 0) {
        // Drink all current full bottles
        totalDrunk += numBottles;

        // They become empty bot

Engineyard Token Revoked

### EY Token Revoked
- EY command will link to the new token
- 2 files (either `~/.ey-core` or `~/.eyrc`) should look like 
```
---
api_token: 1ee5fb6549e79278c1cf3aa86cb4c8bbf40bdcff
https://api.engineyard.com/: 1ee5fb6549e79278c1cf3aa86cb4c8bbf40bdcff
```
- Copy and replace new token in the found file

☁️⋋ Lambda Runtimes VS Python versions

- [**Lambda Runtimes**](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)
- [**Python Versions**](https://devguide.python.org/versions/)

Rails - Testing Mailer Settings in Console

### Testing Mailer Settings in Console
```
ActionMailer::Base.smtp_settings = {
  address:              "smtp.gmail.com",
  port:                 587,
  domain:               "gmail.com",
  user_name:            ENV["GMAIL_ADDRESS"],       # full gmail address
  password:             ENV["GMAIL_APP_PASSWORD"],  # 16-char app password
  authentication:       "plain",
  enable_starttls_auto: true
}

mail = Mail.new do
  from    ENV["GMAIL_ADDRESS"]
  to      ENV["TEST_RECIPIENT"]
  subject "Rails 

App Password Login via Terminal

### Verify App Password Login via Terminal
- Enter in terminal window:
```
openssl s_client -crlf -connect imap.gmail.com:993
```
- Should output:
```
read R BLOCK
OK Gimap ready for requests from 24.38.119.107 af79cd13be357-8762ca4944emb4065163585a
```
- Then:
```
a LOGIN email "password"
# use double quotes for password
```

- If successful, output should say:
```
a OK ztest@test.com authenticated (Success)
```
- Will need to `ctl-c` to verify again, otherwise will say `not allowed now`

リサイズしても高さが変わらないマーキー(流し続けるスライダー)

<div class="marquee marquee-left"></div>
<div class="marquee marquee-right"></div>

Webhook, Workflow Case


![](https://cdn.cacher.io/attachments/u/3mdb8zlwid8no/ZwmuwLybotkpMi8ssKH0XoyA1VLgeX2r/h1g1ud8f1.png)


![](https://cdn.cacher.io/attachments/u/3mdb8zlwid8no/pddfI60g8Wc27n3grBDUUgCL5Xj12TKM/x4gklvyja.png)

fetchAndSaveMatches

def fetchAndSaveGames: Unit < (Fetch & Execute & Choice) = for
  existingGameIds <- queryGameIds
  puuid <- fetchEachPuuid
  gameId <- fetchEachGameId(puuid)
  _ <- Choice.dropIf(existingGameIds.contains(gameId))
  _ <- fetchGame(gameId).map(insertGame)
yield ()


private type Fetch = Async & Env[Api.Config]
private def fetchEachPuuid: String < (Fetch & Choice) = ???
private def fetchEachGameId(puuid: String): String < (Fetch & Choice) = ???
private def fetchGame(matchId: String): Game < Fetch =

🚧 🐧 ss command

# 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
- `TI

dialer - react - 2025

(() => {
  'use strict';

  /** ---------- SELECTORS ---------- */
  const SELECTORS = {
    input: '.home-phone__right .home-phone__input input[placeholder="Enter a name or number..."]',
    keypadButtons: '.KeyPad_key__1_zMz'
  };

  /** ---------- HELPERS ---------- */
  const q = (sel, root = document) => root.querySelector(sel);
  const qa = (sel, root = document) => Array.from(root.querySelectorAll(sel));
  const sleep = (ms) => new Promise(r => setTimeout(r, ms));
  const LS_KEY = 'nextnu

Axios

/axios analyze and summarize this article in the Axios Smart Brevity format of communicating, focusing on cable television advertising and video streaming advertising, current trend,s and future prospects, actionable insights

Slither.io: Why This Classic Snake Game Still Rules Online Multiplayer

When [Slither io](https://slithergame.io) launched in 2016, it instantly became a viral sensation, blending the nostalgic mechanics of the classic Snake game with the intensity of modern online multiplayer competition. Nearly a decade later, while countless trendy mobile games have come and gone, Slither.io still attracts millions of players worldwide. The question is: what makes this simple snake-eat-or-be-eaten game continue to thrive in the crowded world of online gaming? Easy to Play, Hard to Master Slither.io’s biggest strength lies in its simplicity. Anyone can jump in, understand the rules in seconds, and start competing. The concept is straightforward: Eat glowing pellets to grow longer. Avoid crashing into other snakes. Trap or outmaneuver opponents to claim their mass. But beneath this simplicity hides a game of skill, patience, and strategy. Advanced players learn tactics like circling, quick-boost attacks, and baiting rivals, which adds a thrilling competitive layer. Cross-Platform Accessibility Slither.io works seamlessly on browsers, iOS, and Android. Unlike many modern multiplayer titles, it doesn’t demand a high-end PC or massive downloads. Whether you’re on a phone during a commute or sitting at a desktop, the experience is nearly identical—making it one of the most accessible online games of all time. Endless Replayability Each match is different. You can start small, grow into a massive serpent dominating the leaderboard, or crash early in spectacular failure. The unpredictable nature of encounters with real players keeps the game fresh and addictive, even years after release. Global Competition and Community There’s something inherently exciting about battling against players from around the world in real time. The leaderboard system creates instant motivation: everyone wants to see their name climb to the top. Meanwhile, the community has kept Slither.io alive with fan-made mods, skins, and online tournaments that enhance the experience.
When [slither io](https://slithergame.io) launched in 2016, it instantly became a viral sensation, blending the nostalgic mechanics of the classic Snake game with the intensity of modern online multiplayer competition. Nearly a decade later, while countless trendy mobile games have come and gone, Slither.io still attracts millions of players worldwide. The question is: what makes this simple snake-eat-or-be-eaten game continue to thrive in the crowded world of online gaming?

Easy to Play, Har

Slither.io: Why This Classic Snake Game Still Rules Online Multiplayer

When [slither io](https://slithergame.io) launched in 2016, it instantly became a viral sensation, blending the nostalgic mechanics of the classic Snake game with the intensity of modern online multiplayer competition. Nearly a decade later, while countless trendy mobile games have come and gone, Slither.io still attracts millions of players worldwide. The question is: what makes this simple snake-eat-or-be-eaten game continue to thrive in the crowded world of online gaming?

Easy to Play, Hard 

改行2の時pタグで囲む

function nl2p($text) {
	if(empty($text)) { return ''; }

    // 改行を統一
    $text = str_replace(["\r\n", "\r"], "\n", $text);
    
    // 改行2つ以上で分割して<p>で囲む
    $paragraphs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY);
    
    $result = array_map(function($p) {
		$p = trim($p);
		if(empty($p)) { return ''; }

		return sprintf('<p>%s</p>', nl2br(esc_html($p)));
    }, $paragraphs);
    
    return implode("\n", $result);
}

2221. Find Triangular Sum of an Array

You are given a 0-indexed integer array nums, where nums[i] is a digit between 0 and 9 (inclusive). The triangular sum of nums is the value of the only element present in nums after the following process terminates: Let nums comprise of n elements. If n == 1, end the process. Otherwise, create a new 0-indexed integer array newNums of length n - 1. For each index i, where 0 <= i < n - 1, assign the value of newNums[i] as (nums[i] + nums[i+1]) % 10, where % denotes modulo operator. Replace the array nums with newNums. Repeat the entire process starting from step 1. Return the triangular sum of nums.
/**
 * @param {number[]} nums
 * @return {number}
 */
var triangularSum = function(nums) {
    // Continue the process until only one element remains
    while (nums.length > 1) {
        let newNums = [];
        // Generate the next row by summing adjacent elements modulo 10
        for (let i = 0; i < nums.length - 1; i++) {
            newNums.push((nums[i] + nums[i + 1]) % 10);
        }
        // Replace nums with the new row
        nums = newNums;
    }
    // Return the final remaining