Skip to content

Instantly share code, notes, and snippets.

View alecthegeek's full-sized avatar
🤖
Dem keyboards don't go click click on their own you know

Alec Clews alecthegeek

🤖
Dem keyboards don't go click click on their own you know
View GitHub Profile
@alecthegeek
alecthegeek / keybase.md
Last active April 19, 2024 06:53
keybase.md

Keybase proof

I hereby claim:

  • I am alecthegeek on github.
  • I am alecthegeek (https://keybase.io/alecthegeek) on keybase.
  • I have a public key ASBFcJ6GvWTlzfOjNNAe7KUFVzmpTpq32EoKJvPjwkycvQo

To claim this, I am signing this object:

@alecthegeek
alecthegeek / start_vpn.expect
Created January 5, 2017 03:31
Start the CISCO VPN client from the command line
#!/usr/bin/env expect -f
# Start the CISCO VPN client on a Mac. Adapted from
# https://blog.felipe-alfaro.com/2014/05/23/automating-cisco-anyconnect-secure-mobility-client-on-mac-os-x/
set HOSTNAME vpn.server.com
set USER_NAME user.name
set PASSWORD password
spawn /opt/cisco/anyconnect/bin/vpn
@alecthegeek
alecthegeek / server-command
Created June 28, 2013 22:26
Start and Stop commands for PaperCut
#! /usr/bin/env bash
if [[ -x /Applications/PaperCut\ MF/server/bin/mac/server-command &&
-x /Applications/PaperCut\ NG/server/bin/mac/server-command ]] ; then
echo copies of both NG and MF installed!
exit 1
elif [[ -x /Applications/PaperCut\ MF/server/bin/mac/server-command ]]; then
app_root='/Applications/PaperCut MF'
elif [[ -x /Applications/PaperCut\ NG/server/bin/mac/server-command ]]; then
app_root='/Applications/PaperCut NG'
@alecthegeek
alecthegeek / fixgitprompt.sh
Created August 21, 2012 05:09
Fix for Git Prompt in Homebrew
# Upgraded git using Homebrew and now your __git_ps1() fails. Try something like this
# NB Still very fragile as had embedded version no
# enable git programmable completion features
if [ -f /usr/local/etc/bash_completion.d/git-completion.bash ]; then
. /usr/local/etc/bash_completion.d/git-completion.bash
fi
# enable git prompt
@alecthegeek
alecthegeek / run-dot-net-dev
Last active March 3, 2022 10:37
Runs a Dot net development env
#!/usr/bin/env bash
docker container run --rm -it --user $(id -u):$(id -g) \
--mount "type=bind,source=$PWD,target=/testproj" \
--workdir /testproj --env HOME=/testproj/dotnetcache mcr.microsoft.com/dotnet/sdk:6.0 "$@"
@alecthegeek
alecthegeek / collatz.py
Last active August 9, 2021 11:39
Calculate the Collatz series -- see https://youtu.be/5mFpVDpKX70
#!/usr/bin/env python3
def collatz(n: int, p = True):
i: int = 0
while n > 1:
if n % 2 != 0:
n = 3*n +1
i += 1
if p: print(f"{i}: {n}")
@alecthegeek
alecthegeek / gcloud.sh
Created June 1, 2021 22:25
Bash alias to run Google gcloud via Docker
# Bash alias to run Google gcloud via Docker
alias gcloud="docker run --workdir=/home/cloudsdk/work --user cloudsdk:cloudsdk \
--mount type=bind,source=$PWD,target=/home/cloudsdk/work \
--mount type=volume,source=gcloud_config,target=/home/cloudsdk/.config \
--rm -ti gcr.io/google.com/cloudsdktool/cloud-sdk:slim gcloud"
#!/usr/bin/env python
# Find cube roots. In honour of Pandrosion of Alexandria on Ada Lovelace day 2020
# from https://en.wikipedia.org/wiki/Cube_root#Numerical_methods
# see also https://docs.python.org/3/tutorial/floatingpoint.html
def cubeRoot(a, epislon = 0.001):
''' Approximate cube roots using Halley's method
@alecthegeek
alecthegeek / Generate_GitSHA1_forAfile.sh
Last active September 4, 2020 10:31
Calculate Git sha1 for a file
(echo -en "blob $(wc -c < $file)\00";cat $file)|sha1sum -b | cut -d " " -f 1
or of course
git hash-object $file
@alecthegeek
alecthegeek / .gitconfig
Last active August 23, 2020 07:19
Git alias for next `git next` to go to next commit. Works on Powershell
# Git alias for next `git next` to go to next commit. Works on Powershell, brobably works on Bash as well.
# Useful for live code demo. See https://blog.jayway.com/2015/03/30/using-git-commits-to-drive-a-live-coding-session
# Info about mapfile from https://www.computerhope.com/unix/bash/mapfile.htm
# Needed because Git on Windows does not have access to tail (by default)
next = "!$SHELL -c 'git checkout $(mapfile -t < <(git rev-list HEAD..demo-end);echo -n ${MAPFILE[-1]})'"