Skip to content

Instantly share code, notes, and snippets.

View flurdy's full-sized avatar

Ivar Abrahamsen flurdy

View GitHub Profile
@flurdy
flurdy / clone_worktree.fish
Last active October 15, 2025 18:22
Fish shell function to clone git repositories as bare repos with worktree setup. Supports shorthand notation (org/repo), named arguments, and environment variable configuration.
# Fish Shell Function: clone_worktree
#
# Clone a git repository as a bare repo with a worktree setup
#
# Installation:
# Save this file to: ~/.config/fish/functions/clone_worktree.fish
# Fish will automatically load functions from this directory.
#
# Setup Instructions:
# 1. Create a bash wrapper in your bin folder (e.g., ~/bin/git-clone-worktree.sh):
@flurdy
flurdy / cursor.fish
Last active July 10, 2025 11:43
Fish Shell function to launch Cursor AI editor
# cursor.fish — Fish Shell function to launch Cursor AI Editor
#
function cursor
# List of possible locations for the Cursor executable
set -l possible_paths \
/usr/bin/cursor \
/usr/local/bin/cursor \
/opt/cursor/cursor \
$HOME/.local/bin/cursor
@flurdy
flurdy / gist:709037b7ec798b84e0539e9c8e286390
Created July 5, 2025 16:16
vial-corne-rotary-mirokuish.vil
{"version": 1, "uid": 5010774632021243529, "layout": [[["KC_NO", "RGUI_T(KC_Q)", "RALT_T(KC_W)", "RSFT_T(KC_F)", "RCTL_T(KC_P)", "KC_B", "LSFT(KC_RSHIFT)"], ["KC_BSPACE", "LGUI_T(KC_A)", "LALT_T(KC_R)", "LSFT_T(KC_S)", "LCTL_T(KC_T)", "LT10(KC_G)", "KC_MUTE"], ["KC_LSHIFT", "LSFT_T(KC_Z)", "TD(18)", "LT8(KC_C)", "LT9(KC_D)", "LT4(KC_V)", -1], [-1, -1, -1, "KC_ESCAPE", "LT3(KC_SPACE)", "LT6(KC_TAB)", -1], ["KC_NO", "LT11(KC_QUOTE)", "RALT_T(KC_Y)", "RSFT_T(KC_U)", "RCTL_T(KC_L)", "KC_J", "TD(20)"], ["KC_NO", "LGUI_T(KC_O)", "LALT_T(KC_I)", "LSFT_T(KC_E)", "LCTL_T(KC_N)", "KC_M", "KC_NO"], ["KC_NO", "LT7(KC_SLASH)", "TD(19)", "KC_COMMA", "KC_H", "KC_K", -1], [-1, -1, -1, "KC_DELETE", "LT6(KC_BSPACE)", "LT5(KC_ENTER)", -1]], [["KC_NO", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_B", "TD(21)"], ["KC_LCTRL", "KC_A", "KC_R", "KC_S", "KC_T", "KC_G", "KC_MUTE"], ["KC_LSHIFT", "KC_Z", "KC_X", "KC_C", "KC_D", "KC_V", -1], [-1, -1, -1, "KC_ESCAPE", "KC_SPACE", "KC_TAB", -1], ["KC_NO", "KC_QUOTE", "KC_Y", "KC_U", "KC_L", "KC_J",
@flurdy
flurdy / cloudbuild.yaml
Last active March 17, 2023 13:02
Google Cloud Build with pseudo semver
steps:
- name: gcr.io/cloud-builders/git
args: ["fetch", "--unshallow"]
- name: gcr.io/cloud-builders/git
entrypoint: /bin/bash
args:
[
"-c",
"echo ${_MAJOR}.${_MINOR}.$(git rev-list --count ${BRANCH_NAME}) > ${_VERSION_FILE}",
]
@flurdy
flurdy / .circleci-config.yml
Created May 19, 2020 23:45
CircleCI SBT build upload to GCR
version: 2.1
orbs:
gcp-gcr: circleci/gcp-gcr@0.6.1
### Requires ENV VARS:
### IMAGE_NAME (E.g. github.com/myusername/myproject)
### IMAGE_BASE_VERSION (E.g. 1.0)
### GOOGLE_CLOUD_KEYS
### GOOGLE_PROJECT_ID
### GOOGLE_COMPUTE_ZONE

Online resources:

  • BrainPop
  • Curiosity Stream
  • Tynker
  • Outschool
  • Udemy
  • iReady
  • Beast Academy (Math)
  • Khan Academy (Offers courses based on school year)
  • Creative Bug
Online resources:
- BrainPop
- Curiosity Stream
- Tynker
- Outschool
- Udemy
- iReady
- Beast Academy (Math)
- Khan Academy
- Creative Bug
A slack policy:
For companies which size is beyond one office.
Slack channel naming convention:
Rename General to Announcement
(makes it more obvious it is not for stupid questions or replies.
And discourage most announcement)
@flurdy
flurdy / gist:286e4758bd9c71432bda
Created January 24, 2016 18:18
Boolean Fold in Scala
package object models {
implicit class BooleanFold(boolean: Boolean){
def fold[B](l: B)(r: B => B): B = if(boolean) r(l) else l
}
}

Keybase proof

I hereby claim:

  • I am flurdy on github.
  • I am flurdy (https://keybase.io/flurdy) on keybase.
  • I have a public key whose fingerprint is D1D8 03AA D03D F295 CF43 D2CB 8F77 8E05 674D DA98

To claim this, I am signing this object: