Skip to content

Instantly share code, notes, and snippets.

View digitalex's full-sized avatar

Alexander Mossin digitalex

View GitHub Profile
@digitalex
digitalex / Hoppity.hs
Created December 15, 2010 11:41
Solution to facebook puzzle 'Hoppity', in Haskell
-- Facebook puzzle #1 - Hors d'oeuvres
-- http://www.facebook.com/careers/puzzles.php?puzzle_id=7
output 0 = return ()
output x =
putStrLn (gethop x)
output (x - 1)
gethop x
| div3 x && div5 x = "Hop\n"
@digitalex
digitalex / shortest.sh
Created March 14, 2012 08:51
Order fields so the shortest is first
awk 'length($1) > length($2) {tmp = $2; $2 = $1; $1 = tmp} {print $0}' input.log > output.log
@digitalex
digitalex / ip_to_i.rb
Created March 14, 2012 09:02
IP address to integer oneliner
def self.parse_ip(ip)
ip.split('.').collect(&:to_i).inject { |memo,x| x + (memo << 0x1) }
end
@digitalex
digitalex / delete_empty.sh
Created March 16, 2012 11:13
Delete empty files
find . -size 0k -exec rm {} \;
@digitalex
digitalex / del_single.sh
Created March 16, 2012 11:34
Delete lines with only 1 character
sed -E '/^.$/d'
@digitalex
digitalex / vimhacks
Created March 16, 2012 12:46
VIM Shortcuts for tab navigation
nmap <D-Up> :tabnew<CR>
nmap <D-Right> :tabnext<CR>
nmap <D-Left> :tabprevious<CR>
nmap <D-Down> :tabclose<CR>
@digitalex
digitalex / timings.sh
Created March 19, 2012 09:38
Rails timings
grep -oP "Completed 200 OK in (\d+)ms" log/production.log | grep -oP "\d+"
# or, any request that spends at least 1ms on MassiveRecord:
cat log/production.log | grep -P "Completed 200 OK in (\d+)ms \(Views: \d+.\d+ms \| MassiveRecord: [1-9][0-9]?.\d+ms\)" | grep -oP "in \d+ms" | grep -oP "\d+" > ~/timings1.log
@digitalex
digitalex / hextolong.java
Created March 27, 2012 10:02
Parse hex string to long
java.math.BigInteger.new(java.lang.String.new("\x00\x00\x00\x00\x00\x00\x00\x10").getBytes()).longValue()
@digitalex
digitalex / showDeleted.sh
Created May 23, 2012 10:05
Show deleted code
git log -p -SmyCode -- . | grep -A20 "^\-.*myCode.*$" | cut -c 2-
@digitalex
digitalex / CamelTosnake_case.groovy
Created August 3, 2012 13:17
CamelTosnake_case
public static String camelToSnakeCase(String camelCased) {
def snakeCased = new StringBuilder()
for (char c : camelCased) {
if (c.isUpperCase()) {
snakeCased.append('_')
}
snakeCased.append(c.toLowerCase())
}