Skip to content

Instantly share code, notes, and snippets.

View erik-megarad's full-sized avatar

Erik Peterson erik-megarad

View GitHub Profile
@erik-megarad
erik-megarad / paired_commonality.json
Created January 21, 2022 22:16
Commonality of two-letter pairs by start position amongst the 3000 most popular five-letter words
{"aa": [1, 0, 1, 0], "ab": [10, 19, 4, 1], "ac": [9, 28, 25, 2], "ad": [11, 15, 17, 11], "ae": [1, 0, 0, 2], "af": [1, 4, 7, 0], "ag": [8, 17, 5, 0], "ah": [1, 3, 3, 5], "ai": [5, 42, 29, 5], "aj": [0, 2, 0, 0], "ak": [1, 13, 14, 10], "al": [29, 44, 22, 42], "am": [11, 24, 23, 7], "an": [17, 61, 48, 37], "ao": [0, 3, 1, 1], "ap": [7, 15, 14, 4], "aq": [0, 0, 1, 0], "ar": [19, 76, 54, 21], "as": [13, 32, 31, 14], "at": [4, 48, 26, 10], "au": [5, 21, 2, 1], "av": [4, 19, 10, 0], "aw": [5, 2, 8, 2], "ax": [2, 8, 0, 2], "ay": [0, 13, 5, 13], "az": [2, 4, 6, 1], "ba": [37, 0, 3, 4], "bb": [0, 3, 6, 0], "bc": [0, 0, 0, 0], "bd": [0, 0, 0, 0], "be": [29, 1, 18, 5], "bf": [0, 0, 0, 0], "bg": [0, 0, 0, 0], "bh": [0, 0, 0, 0], "bi": [16, 1, 9, 2], "bj": [0, 0, 0, 0], "bk": [0, 0, 0, 0], "bl": [31, 0, 8, 0], "bm": [0, 0, 0, 0], "bn": [0, 0, 0, 0], "bo": [35, 6, 12, 6], "bp": [0, 0, 0, 0], "bq": [0, 0, 0, 0], "br": [38, 0, 4, 0], "bs": [0, 0, 0, 17], "bt": [0, 0, 1, 1], "bu": [28, 1, 4, 0], "bv": [0, 0, 0, 0], "bw": [0,
@erik-megarad
erik-megarad / type_clipboard.applescript
Created June 2, 2020 21:02
Applescript to type from clipboard
on numberAsKeycode(theString)
tell application "System Events"
repeat with currentChar in (every character of theString)
set cID to id of currentChar
if ((cID 48) and (cID 57)) then
key code {item (cID - 47) of {29, 18, 19, 20, 21, 23, 22, 26, 28, 25}}
else
keystroke currentChar
end if
delay 0.03
/*
Settings to make Civ 6's loyalty system somewhat reasonable at high difficulties.
*/
update GlobalParameters set Value = "6" where Name="CAPITAL_IDENTITY_PRESSURE_TILE_RADIUS_MAXIUMUM_BASE";
update GlobalParameters set Value = "6" where Name="CITIZEN_IDENTITY_PRESSURE_RADIUS_CUTOFF";
update GlobalParameters set Value = "200" where Name="LOYALTY_AFTER_TRANSFERRED_BY_COMBAT";
update GlobalParameters set Value = "200" where Name="LOYALTY_AFTER_TRANSFERRED_BY_COMBAT_ORIGINAL_OWNER";
update GlobalParameters set Value = "200" where Name="LOYALTY_AFTER_TRANSFERRED_BY_COMBAT_OWNER_BEFORE_OCCUPATION";
update GlobalParameters set Value = "200" where Name="LOYALTY_AFTER_TRANSFERRED_BY_CULTURAL_IDENTITY";
aba
abac
abaca
abaff
abb
abba
abe
abed
acca
accede
@erik-megarad
erik-megarad / find_asset_replacement.rb
Created July 21, 2016 16:02
Sprockets 3.x find_asset replacement
# In Sprockets 2.x, you used to be able to find the location of an uncompiled asset by doing:
Rails.application.assets.find_asset(path)
# However, in Sprockets 3.x, `assets` is nil, `find_asset` isn't accessible without creating
# your own Sprockets::Manifest object, and there's no direct equivalent. The officially
# supported method is to use:
Rails.application.assets_manifest.assets[path]
# However, this only searches for *already compiled* assets.
#
@erik-megarad
erik-megarad / gist:fac21da9359d41549ed4
Created April 14, 2015 14:50
Get views dumped into schema.rb
module ActiveRecord
class SchemaDumper
def views(stream)
# Order by reltype is important so that the views are dumped in the order
# they are created, in case one view is dependent on others
views = @connection.query(%Q{
SELECT n.nspname AS schemaname,
c.relname AS viewname,
pg_get_viewdef(c.oid) AS definition
FROM pg_class c
aeg
bcg
fyi
htc
jio
jll
jmp
mba
mtr
ril
describe "A long-running process" do
before(:context) do # Have to use before(:context) instead of subject() to make the long-running task only execute once
@input_one = 1
@input_two = 2 # Can't use let() in before(:context)
@my_test_object = MyTestClass.new
@my_test_object.thing_that_takes_thirty_minutes(@input_one, @input_two)
end
### Keybase proof
I hereby claim:
* I am subwindow on github.
* I am subwindow (https://keybase.io/subwindow) on keybase.
* I have a public key whose fingerprint is 9996 4846 A128 881A AA0D D043 49B3 49E3 4FD2 1BAE
To claim this, I am signing this object:
irb(main):001:0> require 'stringio'
=> true
irb(main):002:0> StringIO.ancestors
=> [StringIO, IO::writable, IO::readable, Enumerable, Data, Object, Kernel, BasicObject]
irb(main):003:0> StringIO.ancestors[1]
=> IO::writable
irb(main):004:0> Object.const_get(StringIO.ancestors[1].to_s)
NameError: wrong constant name IO::writable
from (irb):4:in `const_get'
from (irb):4