Skip to content

Instantly share code, notes, and snippets.

View janetkuo's full-sized avatar
👩‍💻
I'm also on Kubernetes Slack channels

Janet Kuo janetkuo

👩‍💻
I'm also on Kubernetes Slack channels
View GitHub Profile
  1. Plug in your Kobo device to find KoboReader.sqlite file under the hidden folder .kobo/.
  2. Create extract_kobo_notes.py (forked from https://unmesh.dev/post/kobo_highlights/):
import sqlite3
import os
import argparse
import re # Import the regular expression module

# Define default paths
DEFAULT_DB_PATH = './KoboReader.sqlite'
@janetkuo
janetkuo / cursor-agent-system-prompt.txt
Created April 1, 2025 23:12 — forked from sshh12/cursor-agent-system-prompt.txt
Cursor Agent System Prompt (March 2025)
You are a powerful agentic AI coding assistant, powered by Claude 3.5 Sonnet. You operate exclusively in Cursor, the world's best IDE.
You are pair programming with a USER to solve their coding task.
The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.
Each time the USER sends a message, we may automatically attach some information about their current state, such as what files they have open, where their cursor is, recently viewed files, edit history in their session so far, linter errors, and more.
This information may or may not be relevant to the coding task, it is up for you to decide.
Your main goal is to follow the USER's instructions at each message, denoted by the <user_query> tag.
<communication>
1. Be conversational but professional.

There are three easy to make mistakes in go. I present them here in the way they are often found in the wild, not in the way that is easiest to understand.

All three of these mistakes have been made in Kubernetes code, getting past code review at least once each that I know of.

1. Loop variables are scoped outside the loop.

What do these lines do? Make predictions and then scroll down.

func print(pi *int) { fmt.Println(*pi) }
@janetkuo
janetkuo / users.md
Created April 13, 2017 22:41 — forked from philips/users.md
Kubernetes Third-Party Resource Users

Please comment below if you are using Kubernetes Third-Party Resources and I will add you to the list.

Known Users:

[credential]
helper = cache --timeout=99999999999999999
[user]
name = Firstname Lastname
email = username@myEmail.com
[alias]
lol = log --graph --decorate --pretty=oneline --abbrev-commit --all
glog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
log-file = log --follow --color --
co = checkout
@janetkuo
janetkuo / .bash_profile
Created January 23, 2017 00:58 — forked from natelandau/.bash_profile
Mac OSX Bash Profile
# ---------------------------------------------------------------------------
#
# Description: This file holds all my BASH configurations and aliases
#
# Sections:
# 1. Environment Configuration
# 2. Make Terminal Better (remapping defaults and adding functionality)
# 3. File and Folder Management
# 4. Searching
# 5. Process Management
$ git config --global --add alias.lol "log --graph --decorate --pretty=oneline --abbrev-commit --all"
$ git lol
* 9f0349d (HEAD, origin/master, origin/HEAD, master) Now finally does frickin pull first.
* 1cc98b0 Added auto-update.
* 405970a Initial import.
@janetkuo
janetkuo / tmux-cheatsheet.markdown
Created September 21, 2016 23:06 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@janetkuo
janetkuo / How to build statically linked release binary.md
Last active February 16, 2023 08:56
How to build statically linked release binary, take https://github.com/skippbox/kompose as an example

How to build statically linked release binary

Check if a binary is statically linked

# List dynamic dependencies (shared libraries):
# 1. if it's dynamically linked, you'll see
$ ldd kompose 
    linux-vdso.so.1 =>  (0x00007ffe937ea000)
 libpthread.so.0 =&gt; /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0a7dae5000)
# Replace <> with real values 
$ kubectl create secret generic kubebot --from-literal=token=<your-bot-token> --from-literal=channel=<channel-id>