Skip to content

Instantly share code, notes, and snippets.

View ticklepoke's full-sized avatar

Nigel Lee ticklepoke

View GitHub Profile

Functional Programming

A glossary of common FP concepts

Core Principles

Immutablility

Immutability preserves the "purity" of a function, by preventing a function from having side effects. Functions are unable to mutate variables outside of its scope.

@ticklepoke
ticklepoke / LESSON_PLAN.md
Last active May 3, 2025 03:41
Windsurfing lesson plan

AY21-22 Sem 1 🏄

Objectives

  • Confidently manoeuvre a windsurf board within constant wind lagoon
  • Safely launch, windsurf and recover with a partner without any external assistance such as powerboat towing
  • Be familiar with the basics of windsurf racing and be proficient enough to join the advanced windsurf squad

Everyone should choose a personal objective from this list or define another one for themselves

Outline

unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# better pane splitting
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
" auto-install vim-plug
"if empty(glob('~/.config/nvim/autoload/plug.vim'))
" silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" autocmd VimEnter * PlugInstall
" endif
call plug#begin()
Plug 'phanviet/vim-monokai-pro'
Plug 'vim-airline/vim-airline'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'HerringtonDarkholme/yats.vim'
{
"presets": [
"@babel/typescript",
[
"@babel/env",
{
"targets": "node 10"
}
]
...
"scripts": {
...
"prebundle": "rm -rf dist",
"bundle": "rollup -c"
...
}
...
const input = 'src/index.ts'
const output = {
name: 'finance-math',
format: 'umd'
}
export default [
{
input,
...
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"{*.js, *.ts}": [
"npm run lint:fix",
...
"scripts": {
...
"lint": "eslint '**/*.{js,ts,tsx}'",
"lint:fix": "prettier-eslint \"$(pwd)/**/*.ts\" --write",
...
}
...
web: node server.js