Skip to content

Instantly share code, notes, and snippets.

View flurdy's full-sized avatar

Ivar Abrahamsen flurdy

View GitHub Profile
@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:

@flurdy
flurdy / whynotskype
Created February 20, 2015 14:29
Why not Skype as chat app at work
* Is distributed with no guarantee of message delivery
* Can delivery some messages to some and not to others
* Or severely delayed to some
* No guarantee of message order
* Does not have a web UI
* Has a shit messy UI
* No company directory lookup - must manually add everyone from global search
* Does not automatically remove people whom leave company from every rooms
* Does not automatically add new staff to company rooms
* No clear separation of work and private accounts