Skip to content

Instantly share code, notes, and snippets.

View iancullinane's full-sized avatar

Ian Cullinane iancullinane

  • Massachusetts
  • 02:56 (UTC -05:00)
View GitHub Profile
---
description: You are a senior code reviewer ensuring high standards of code quality and security. You specialize in C#, Golang, and systems code like bash.
alwaysApply: false
---
# Golden Rule (ID:GOLDEN_RULE)
Above all else code is read by humans and should be readable by humans. Check all code for readability and look for any opportunities to improve.
# When invoked:
@iancullinane
iancullinane / nix.conf
Created May 1, 2025 18:18
Basic nix.conf file
{ pkgs, lib, config, inputs, ... }:
{
# using with pkgs is here is much nice imo
packages = with pkgs; [
gnumake
git
nodejs
awscli2
nodePackages.aws-cdk
@iancullinane
iancullinane / starship.toml
Created April 7, 2025 14:55
Startship theme config
"$schema" = 'https://starship.rs/config-schema.json'
format = """
[](color_h1)\
$os\
$username\
[](bg:color_yellow fg:color_h1)\
$directory\
[](fg:color_yellow bg:color_aqua)\
$git_branch\
@iancullinane
iancullinane / loop-text.jsx
Created March 7, 2023 15:47
Loop and replace text in after effects
// Loop through all text layers in the active composition
for (var i = 1; i <= app.project.activeItem.layers.length; i++) {
var layer = app.project.activeItem.layers[i];
if (layer instanceof TextLayer) {
// Get the source text property
var sourceText = layer.property("Source Text");
// Get the text value as a string
var textValue = sourceText.value.toString();
// Replace all occurrences of "..." with an empty string
textValue = textValue.replace(/(\.\.\.)/g, "");
@iancullinane
iancullinane / ase-file-change.sh
Created May 29, 2018 21:16
Script to call from `entr` when an aseprite file change is detected
#!/bin/bash
# find . -name '*.ase' | sudo entr -d ./ase-file-change.sh /_
aseprite=/Users/icullinane/dev/aseprite/build/bin/aseprite
path=($1)
BASE=${1##*/} #trim to basepath
NAME=${BASE%.ase}
ASE_FILES=${ASE_FILES:-"${ASSETS}/raw"}
ASSETS=${ASSETS:-"/Users/icullinane/dev/assets"}
ASSETS_OUT=${ASSETS_OUT:-"${ASSETS}/2d/dist/exported"}
@iancullinane
iancullinane / Vagrantfile
Last active April 21, 2017 17:26
Basic Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
hostname = "turbine-games"
# base box
config.vm.box = "ubuntu/trusty64"
local turtle = "d35624dee5cf6cfeb00b58c75cd555d2"
local receive = "9eb03397ba45d91574677b54f7f1a8c2"
local broadcast = "f3266399ed7d5769f6b0d9bda5a3cdf9"
shell.run("gist get "..turtle.." disk/turtle")
shell.run("gist get "..receive.." disk/receive")
shell.run("gist get "..broadcast.." bin/broadcast")
@iancullinane
iancullinane / gist:3cca90f137863dd2ee23
Created December 15, 2015 18:41
Base Vagrant file
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
hostname = "docker-box"
#PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
#export PATH
#CHEF_ORGNAME=techops-dev
#CHEF_DOMAIN=fos.pri
export CHEF_ORGNAME
export CHEF_DOMAIN
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
#export VAGRANT_SERVER_URL=https://vagrantcloud.dgs.io