Skip to content

Instantly share code, notes, and snippets.

@gengwg
gengwg / ocor.md
Created July 18, 2026 17:32
opencode vs openrouter
  • OpenCode Zen (opencode/)
  • OpenRouter (openrouter/)

When using /models in the TUI, models from both providers show up. You need to pick the ones prefixed with opencode/ to use your Zen key.

To dial a phone number in China from the USA, start with the US exit code (011), followed by China's country code (86), then the area code or mobile prefix and local number—no spaces or dashes needed. vonageforhome

Dialing Landlines

Enter 011 + 86 + area code (2-4 digits) + local number (6-8 digits). vitelglobal

  • Example for Beijing (area code 10, number 12345678): 011861012345678. 8x8 Common area codes include Beijing (10), Shanghai (21), and Guangzhou (20). rebtel

Dialing Mobiles

Enter 011 + 86 + mobile prefix (usually 1 followed by 10 digits, totaling 11 digits). vitelglobal

Enumerating objects: 19, done.
Counting objects: 100% (19/19), done.
Delta compression using up to 22 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 10.41 MiB | 4.59 MiB/s, done.
Total 18 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 1 local object.
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
@gengwg
gengwg / .Xmodmap
Created February 1, 2026 19:03
.Xmodmap
! swap left ctrl and left alt
! run xmodmap ~/.Xmodmap
clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
# Find lots more stations at http://www.iheart.com
Alternative (BAGeL Radio - SomaFM) http://somafm.com/bagel.pls
Alternative (The Alternative Project) http://c9.prod.playlists.ihrhls.com/4447/playlist.m3u8
American Roots (Boot Liquor - SomaFM) http://somafm.com/bootliquor.pls
Celtic (ThistleRadio - SomaFM) http://somafm.com/thistle.pls
Chillout (Groove Salad - SomaFM) http://somafm.com/startstream=groovesalad.pls
Commodore 64 Remixes (Slay Radio) http://www.slayradio.org/tune_in.php/128kbps/listen.m3u
Covers (SomaFM) http://somafm.com/covers.pls
Downtempo (Secret Agent - SomaFM) http://somafm.com/secretagent.pls
Dub Step (Dub Step Beyond - SomaFM) http://somafm.com/dubstep.pls

In Jira, an "idea" is not part of the standard project hierarchy (Project > Epic > Story/Task) but is a separate concept used for early-stage innovation and is managed in a dedicated tool called Jira Product Discovery (JPD). Ideas are for capturing and prioritizing potential work before it becomes part of the development backlog.

Here is a comparison of how ideas fit into the overall workflow:

Aspect Jira Product Discovery (The "Idea" Space) Jira Software (The "Development" Space)
Purpose Capture, discuss, and prioritize opportunities and solutions. Plan, track, and execute development work.
Unit of Work Idea. Issue (e.g., Epic, Story, Task, Bug).
Primary Goal Decide what to build. Build and deliver the selected items.
Connection Promising ideas are sent to Jira Software as Epics or Stories. Epics and Stories from JPD are broken down and worked on.

Here is a breakdown of the standard Jira hierarchy for clarity:

Hierarchy Level Description & Relationship Common Issue Types at This Level
Project A container for organizing all related work. N/A
Epic A large body of work within a project, spanning multiple sprints. It groups related Stories and Tasks. Epic
Story / Task An individual work item that contributes to an Epic. Stories are user-focused, while Tasks are general work. These are considered "standard-level" issues. Story, Task, Bug
Sub-task A small, actionable step that breaks down a Story or Task. A Sub-task must have a parent Story/Task and cannot exist on its own. Sub-task

🔗 Important Distinctions and Limitations

For most Site Reliability Engineering (SRE) teams, a Kanban board is generally more suitable than Scrum. Kanban’s flexibility helps manage the dynamic, interrupt-driven nature of SRE work, which often involves urgent incidents, on-call rotations, and unpredictable tasks. Scrum is typically better for projects with predictable, time-boxed work—less common for SREs.

Kanban for SRE Teams

  • Focuses on continuous flow and visualizing work in progress, making it easier to respond to real-time issues.
  • Allows real-time task prioritization, accommodating urgent operational demands and interruptions.
  • Supports ongoing maintenance and improvement work rather than fixed-length sprints.

Scrum for SRE Teams

  • Emphasizes fixed sprints, planning, and review cycles, which suit teams with predictable workloads and iterative deliverables.
  • Can present challenges for SRE teams, as unplanned work (incidents, emergencies) frequently disrupts sprint commitments.
@gengwg
gengwg / gitkeep.md
Created September 24, 2025 16:26
what is .gitkeep file?

A .gitkeep file is a convention-based placeholder file used to force Git to track an otherwise empty directory.

Why it's needed

Git doesn't track empty directories - if you commit a folder with no files, it won't be included in your repository. The .gitkeep file solves this problem.

How it works

# Without .gitkeep - empty directory won't be tracked
@gengwg
gengwg / supercomputing-compute-io.md
Created August 23, 2025 18:04
"supercomputing is converting a compute-bound problem into an I/O-bound problem"

From Deepseek.

1. What do "Compute-Bound" and "I/O-Bound" mean?

  • Compute-Bound: A problem is compute-bound when the speed of the calculation is limited by the CPU's (or GPU's) ability to perform mathematical operations. The processors are constantly working, and the bottleneck is their processing speed. They are waiting for nothing.
  • I/O-Bound: A problem is I/O-bound (Input/Output bound) when the speed of the calculation is limited by the system's ability to read data from or write data to storage (disks, SSDs) or to transfer data between parts of the system (e.g., between nodes over a network, or between RAM and a processor). The processors are often idle, waiting for data to arrive.

2. The "Why": How Supercomputing Causes the Shift

The core idea of supercomputing is to solve a big problem faster by breaking it into smaller pieces and solving those pieces simultaneously on thousands of processors (CPUs/GPUs).