Skip to content

Instantly share code, notes, and snippets.

View JJ's full-sized avatar
🏠
Working from home

Juan Julián Merelo Guervós JJ

🏠
Working from home
View GitHub Profile
@JJ
JJ / wildcard.mk
Created May 28, 2017 10:17
Print files with an extension
.PHONY = count
MAKEFILES = $(wildcard *.mk)
count: ;@echo $(MAKEFILES)
@JJ
JJ / substitute-1.mk
Created May 28, 2017 10:24
Substitute extensions in Makefiles
.PHONY = count
MD = $(wildcard *.md)
HTML = $(MD:.md=.html)
count: ;@echo $(HTML)
@JJ
JJ / substitute-2.mk
Created May 28, 2017 10:27
Substitute extensions in Makefiles
.PHONY = count
HTML = $(patsubst %.md,%.html,$(wildcard *.md))
count: ;@echo $(HTML)
@JJ
JJ / pandoc.mk
Created May 28, 2017 10:37
Convert markdown to HTML with pandoc
HTML = $(patsubst %.md,%.html,$(wildcard *.md))
all: $(HTML)
$(HTML): %.html: %.md
pandoc $< -o $@
@JJ
JJ / md-to-html.mk
Created May 28, 2017 10:47
Makefile que usa pandoc o markdown-html dependiendo de cuál esté presente
HTML = $(patsubst %.md,%.html,$(wildcard *.md))
all: $(HTML)
$(HTML): %.html: %.md
ifneq ($(shell command -v pandoc 2> /dev/null),)
pandoc $< -o $@
else
ifneq ($(shell command -v markdown-html 2> /dev/null),)
markdown-html $< -o $@
@JJ
JJ / powers-of-two.py
Created June 29, 2017 16:15
Test for powers of 2 using bitwise operators
print(list(filter( lambda pow2: pow2^(pow2-1) > pow2, range(1000))))
@JJ
JJ / cpu-hog.sh
Last active July 1, 2017 07:30
Get the process PID consuming the most CPU
# get the list of PIDs and cpu use, sort numerically using the second column or key, take the last one, and extract the second column
ps —no-headers -eo pid,%cpu | sort -k2 -n | tail -1 | cut -d ' ' -f 2
@JJ
JJ / cpu-hog-with-top.sh
Last active July 1, 2017 07:42
Get the process consuming the most CPU with a trimmed down version of ps, i.e., in busybox
# get the list of PIDs and cpu usage via the batch version of top if ps is not fully functional, take out the headers, sort numerically using the 9th column, which is the CPU usage as key, take the last one, and extract the second column
top -n 1 -b | tail -n +8 | sort -k9 -n | tail -1 | cut -d ' ' -f 2
@JJ
JJ / genera-baraja,py
Created July 2, 2017 10:06
Generar una baraja de cartas en una lista en Python
# Tip de https://t.co/tQKo7Err73 para "aplanar" una lista de listas
sum(list(map( lambda n: [str(n)+'♠',str(n)+'♣',str(n)+'♥',str(n)+'♦'], ['A','J','Q','K',2,3,4,5,6,7,8,9,10])),[])
# El map genera una lista de listas, y sum agrega las listas del segundo nivel en una sola, usando la sobrecarga de + para listas
@JJ
JJ / txt.p6
Created December 2, 2017 08:43
Split by `and`
use JSON::Tiny;
sub MAIN( Str $letter-to-santa = 'letters/dear-santa.txt' ) {
say to-json $letter-to-santa.IO.slurp().split(/\s* «and» \s*/);
}