Skip to content

Instantly share code, notes, and snippets.

View kapowaz's full-sized avatar
🏴
warning flag

Ben Darlow kapowaz

🏴
warning flag
View GitHub Profile
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@kapowaz
kapowaz / package.json
Last active July 21, 2022 14:47
eslint:report:disabled script — generate a report about which eslint rules you’re disabling, and how often
{
"scripts": {
"eslint:report:disabled": "grep -rohE --exclude-dir=node_modules --include \\*.jsx --include \\*.js --include \\*.tsx --include \\*.ts \"(?:eslint-disable(?:(?:-next)?-line)?) ([-a-z0-9\\/]+(,\\s?[-a-z0-9\\/]+)?)\" | sed -E 's/eslint-disable|eslint-disable-line|eslint-disable-next-line//g' | tr ',' '\\n' | tr -d ' ' | sort | uniq -c | sort -nr"
}
}
@kapowaz
kapowaz / eslint-disable.regex
Created July 21, 2022 13:14
eslint-disable finder regex
(?:eslint-disable(?:(?:-next)?-line)?) ([a-z0-9-\/]+)(?:\s\*\/)?
// IgnoreNotFoundExportPlugin.js
// see https://github.com/TypeStrong/ts-loader/issues/653 for details on why this is needed
const ModuleDependencyWarning = require('webpack/lib/ModuleDependencyWarning');
// ↓ Based on https://github.com/sindresorhus/escape-string-regexp
const escapeStringForRegExp = (string) => string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
module.exports = class IgnoreNotFoundExportPlugin {
constructor(exportsToIgnore) {
this.exportsToIgnore = exportsToIgnore || [];
@kapowaz
kapowaz / package.json
Created January 12, 2022 01:08
Batch image resize/creation script using sharp
{
"name": "resize-images",
"version": "0.1.0",
"engines": {
"node": "14.18.*",
"npm": "please-use-yarn",
"yarn": ">= 1.22.15"
},
"scripts": {
"images:resize": "node resizeImages.js",
@kapowaz
kapowaz / next.config.js
Created January 5, 2022 12:38
Use typings-for-css-modules-loader with Next.js, SCSS and CSS Modules
const withSass = require('@zeit/next-sass');
module.exports = withSass({
webpack: (config) => {
const scssRule = config.module.rules.find(({ test }) => String(test) === String(/\.scss$/));
if (config.mode === 'development' && config.name === 'client') {
scssRule.use.unshift({
loader: require.resolve('@teamsupercell/typings-for-css-modules-loader'),
});
#!/usr/bin/env ruby
# encoding: utf-8
unless ARGV.length == 0
output = ARGV.join(' ').downcase.split('').map do |l|
case l.to_i
when 0..9
":bunting_#{l}:"
end
<html><head><script>var Aes={};Aes.cipher=function(input,w){var Nb=4;var Nr=w.length/Nb-1;var state=[[],[],[],[]];for(var i=0;i<4*Nb;i++)state[i%4][Math.floor(i/4)]=input[i];state=Aes.addRoundKey(state,w,0,Nb);for(var round=1;round<Nr;round++){state=Aes.subBytes(state,Nb);state=Aes.shiftRows(state,Nb);state=Aes.mixColumns(state,Nb);state=Aes.addRoundKey(state,w,round,Nb);}
state=Aes.subBytes(state,Nb);state=Aes.shiftRows(state,Nb);state=Aes.addRoundKey(state,w,Nr,Nb);var output=new Array(4*Nb);for(var i=0;i<4*Nb;i++)output[i]=state[i%4][Math.floor(i/4)];return output;}
Aes.keyExpansion=function(key){var Nb=4;var Nk=key.length/4
var Nr=Nk+6;var w=new Array(Nb*(Nr+1));var temp=new Array(4);for(var i=0;i<Nk;i++){var r=[key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]];w[i]=r;}
for(var i=Nk;i<(Nb*(Nr+1));i++){w[i]=new Array(4);for(var t=0;t<4;t++)temp[t]=w[i-1][t];if(i%Nk==0){temp=Aes.subWord(Aes.rotWord(temp));for(var t=0;t<4;t++)temp[t]^=Aes.rCon[i/Nk][t];}else if(Nk>6&&i%Nk==4){temp=Aes.subWord(temp);}
for(var t=0;t
@kapowaz
kapowaz / gist:81c9e3153f799e6e13c6
Created May 28, 2014 14:14
This monstrosity comes from Spree's address form view.
<% if Spree::Config[:address_requires_state] %>
<p class="field" id=<%="#{address_id}state" %>>
<% have_states = !address.country.states.empty? %>
<%= form.label :state, Spree.t(:state) %><span class='required' id=<%="#{address_id}state-required"%>>*</span><br/>
<% state_elements = [
form.collection_select(:state_id, address.country.states,
:id, :name,
{:include_blank => true},
{:class => have_states ? 'required' : 'hidden',
@kapowaz
kapowaz / Gemfile
Created October 15, 2013 15:00
A simple gemfile for Rails 3.2
source "http://rubygems.org"
ruby "2.0.0"
gem "rails", "~> 3.2"