3014. Minimum Number of Pushes to Type Word I

You are given a string word containing distinct lowercase English letters. Telephone keypads have keys mapped with distinct collections of lowercase English letters, which can be used to form words by pushing them. For example, the key 2 is mapped with ["a","b","c"], we need to push the key one time to type "a", two times to type "b", and three times to type "c" . It is allowed to remap the keys numbered 2 to 9 to distinct collections of letters. The keys can be remapped to any amount of letters, but each letter must be mapped to exactly one key. You need to find the minimum number of times the keys will be pushed to type the string word. Return the minimum number of pushes needed to type word after remapping the keys. An example mapping of letters to keys on a telephone keypad is given below. Note that 1, *, #, and 0 do not map to any letters.
/**
 * @param {string} word
 * @return {number}
 */
var minimumPushes = function(word) {
    // Each letter is distinct, so frequency doesn't matter.
    // We have 8 keys (2–9), and each key can type:
    // - 8 letters with 1 push
    // - 8 letters with 2 pushes
    // - 8 letters with 3 pushes
    // ...and so on.
    //
    // The optimal strategy is to assign the cheapest push counts first.
    // That means:
    // - letters 0–7 cost 1 push
    // - letters 8–15 cost 2 pushes
    // - let

BB LOOP Query Args > append 'featured events' to existing LOOP filters

The BB LOOP module already filters out past events. The settings already are ordering them by EventDate. This snippet includes ONLY Featured events.
function upcomingFeaturedEventsOnHomepage_fl_builder_loop_query_args( $args ) {
	if ( $args['settings']->id == 'bbloop--upcoming-featured-public-events' ) {
		$args['meta_query'][]     = array(
			'key'     	=> '_tribe_featured',
			'compare' 	=> '=',
			'value' 	=> 1,
			'type'  	=> 'NUMERIC' 
		);
	}
	return $args; 
} 
add_filter( 'fl_builder_loop_query_args', 'upcomingFeaturedEventsOnHomepage_fl_builder_loop_query_args', 20, 1 );

3518. Smallest Palindromic Rearrangement II

You are given a palindromic string s and an integer k. Return the k-th lexicographically smallest palindromic permutation of s. If there are fewer than k distinct palindromic permutations, return an empty string. Note: Different rearrangements that yield the same palindromic string are considered identical and are counted once.
/**
 * @param {string} s
 * @param {number} k
 * @return {string}
 */
var smallestPalindrome = function (s, k) {
    const MAX = 1_000_000 + 1;

    const n = s.length;

    // s is already palindromic; only need counts from the left half
    const halfCount = Array(26).fill(0);
    for (let i = 0; i < Math.floor(n / 2); i++) {
        halfCount[s.charCodeAt(i) - 97]++;
    }

    // nCk with early cap
    function nCk(n, r) {
        if (r === 0 || r === n) return 1;
        r = Math.min(r, n -

3517. Smallest Palindromic Rearrangement I

You are given a palindromic string s. Return the lexicographically smallest palindromic permutation of s.
/**
 * @param {string} s
 * @return {string}
 */
var smallestPalindrome = function(s) {
    // Count characters
    const count = Array(26).fill(0);
    for (const ch of s) {
        count[ch.charCodeAt(0) - 97]++;
    }

    let left = "";
    let mid = "";

    // Build left half + detect middle
    for (let i = 0; i < 26; i++) {
        const c = String.fromCharCode(97 + i);
        if (count[i] % 2 === 1) mid = c;    // odd count → middle
        left += c.repeat(Math.floor(count[i] / 2));
 

IELTS-up Listening Sample 5

32
electricity
internet
bus station
Hooper
passport
employment contract
reference from a fried or colleague
6:30 PM
At the caller's future apartment
24
18
5
19
Familiy ticket
107
online
confirmation email
by telephone
in person
7 weeks
5 people
grab people's attention
Marketing
Design of custom logos
Branding
E-commerce
Customer attraction
Ground floor
assignment
A
A?
C
A
C
rent earth?
susseptable
frequent sand storms
eye sight
architectural deeds

1464. Maximum Product of Two Elements in an Array

Given the array of integers nums, you will choose two different indices i and j of that array. Return the maximum value of (nums[i]-1)*(nums[j]-1).
/**
 * @param {number[]} nums
 * @return {number}
 */
var maxProduct = function(nums) {
    // We want the two largest numbers in the array.
    // Initialize max1 as the largest, max2 as the second largest.
    let max1 = 0;
    let max2 = 0;

    // Loop through each number in the array
    for (let n of nums) {
        // If n is greater than or equal to the current largest
        if (n >= max1) {
            // Shift max1 down to max2
            max2 = max1;
            // Update max1 to t

Rebase `--onto`

Say the 1st commit on the branch was `8f8949a` and the commit before that as `8b1ed4d` (the "tip"), then run `git rebase -onto develop 8b1ed4d`, assuming the base branch is `develop`.
git rebase --onto <base-branch> <last-commit-to-start-from>

Launch Affinity Designer 2 - AutoHotKey

#Requires AutoHotkey v2.0

SetTitleMatchMode(2)

Run('"' EnvGet("LOCALAPPDATA") '\Microsoft\WindowsApps\AffinityDesigner2.exe"')

if WinWait("Affinity Designer",, 15)
{
    WinRestore("Affinity Designer")
    WinActivate("Affinity Designer")
}

Launch Edge with URL as argument - AutoHotKey

#Requires AutoHotkey v2.0

; First command-line argument = URL
if A_Args.Length < 1
{
    MsgBox "Usage:`nOpenUrl.ahk <URL>"
    ExitApp
}

url := A_Args[1]

; Open the URL in the default browser
Run(url)

; Open ChatGPT in the default browser
; ** Not in use **
;Run("url)

; Wait for Microsoft Edge (remove this block if you use another browser)
if WinWait("ahk_exe msedge.exe",,10)
{
    WinActivate("ahk_exe msedge.exe")
}

Launch ChatGPT in Edge

#Requires AutoHotkey v2.0

; Open ChatGPT in the Edge
Run('"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --new-tab https://chatgpt.com')

; Open ChatGPT in the default browser
; ** Not in use **
;Run("https://chatgpt.com")

; Wait for browser window to exist
if WinWait("ahk_exe msedge.exe",,10)
{
    WinActivate("ahk_exe msedge.exe")
}

Launch Dropbox in explorer - AutoHotKey

#Requires AutoHotkey v2.0

Run('explorer.exe "' EnvGet("USERPROFILE") '\Dropbox"')
WinWait("ahk_class CabinetWClass",,2)
WinActivate("ahk_class CabinetWClass")

Launch Dropbox in explorer - AutoHotKey

#Requires AutoHotkey v2.0

Run('explorer.exe "' EnvGet("USERPROFILE") '\Dropbox"')
WinWait("ahk_class CabinetWClass",,2)
WinActivate("ahk_class CabinetWClass")

Launch File Explorer - AutoHotKey

#Requires AutoHotkey v2.0

Run("explorer.exe")
WinWait("ahk_class CabinetWClass",,2)
WinActivate("ahk_class CabinetWClass")

center mouse cursor - AutoHotKey

#Requires AutoHotkey v2.0

CoordMode "Mouse", "Screen"

primary := MonitorGetPrimary()

MonitorGetWorkArea(
    primary,
    &left,
    &top,
    &right,
    &bottom
)

centerX := left + (right - left) // 2
centerY := top + (bottom - top) // 2

MouseMove centerX, centerY, 0

ExitApp

FZF - Mac port

# fzf → macOS (Homebrew + zsh) port kit

Companion to `patch-work-mac-port.md`. Contains: (1) what the Linux fzf notes say,
(2) the macOS/zsh translation and gotchas, (3) a ready-to-paste prompt for Claude Code
on the Mac vault.

---

## 1. What exists on Linux

Two linked notes in `linux-setup/wiki/`, indexed from `linux-setup/context.md`:

- **`fzf-setup.md`** — install, shell integration, `Ctrl+R` tuning, usage.
- **`env-bash-history-cleanup.md`** — the one-time `~/.bash_history` cleanup that

Beyond the Board: Running Your Own Wordle Unlimited "Store"

We’ve all been there – that satisfying click as the last letter turns green, the triumphant feeling of cracking the daily [wordle unlimited](https://wordleunlimitedfree.com/). But what if we looked at this beloved word puzzle not just as a game, but as a miniature business operation? Imagine you’re not just a player, but a savvy store manager, meticulously handling your inventory, fulfilling customer orders, and striving for maximum efficiency. And our bustling establishment today? It’s wordle u