Skip to content

Instantly share code, notes, and snippets.

View stefan-vatov's full-sized avatar
🦀
rock on

Stefan Vatov stefan-vatov

🦀
rock on
View GitHub Profile
@stefan-vatov
stefan-vatov / index.js
Created June 13, 2021 03:22
[Get youtube channel RSS]
(() => {
let getMeta = (itemProp) => {
let metas = document.getElementsByTagName('meta');
for (let i = 0; i < metas.length; i++) {
if (metas[i].getAttribute('itemprop') === itemProp) {
return metas[i].getAttribute('content');
}
}
@stefan-vatov
stefan-vatov / snippet.ex
Created June 13, 2021 03:20
[Ping clustered notes] #horde
{Task, fn -> ping_nodes() end}
defp ping_nodes() do
Process.sleep(1_000)
Node.list()
|> Enum.each(fn node ->
IO.puts("[#{inspect(Node.self())} -> #{inspect(node)}] #{inspect(Node.ping(node))}")
end)
ping_nodes()
end
@stefan-vatov
stefan-vatov / optimize.sh
Created August 21, 2017 17:52 — forked from ryansully/optimize.sh
image optimization script (pngcrush & jpegtran)
#!/bin/sh
# script for optimizing images in a directory (recursive)
# pngcrush & jpegtran settings from:
# http://developer.yahoo.com/performance/rules.html#opt_images
# pngcrush
for png in `find $1 -iname "*.png"`; do
echo "crushing $png ..."
pngcrush -rem alla -reduce -brute "$png" temp.png
@stefan-vatov
stefan-vatov / codemods.sh
Created January 10, 2017 15:21 — forked from JamieMason/codemods.sh
Run some useful codemods together in bulk **hard-coded to run against `$pwd/src/app` currently**
#!/bin/bash
function codemods() {
echo "-----"
echo "Running $1 from https://github.com/JamieMason/codemods.git"
jscodeshift -t "${TMPDIR}codemods/transforms/$1.js" "$2"
}
function js_codemod() {
echo "-----"
@stefan-vatov
stefan-vatov / post-merge.sh
Last active June 13, 2021 03:30 — forked from sindresorhus/post-merge
[Post Merge Hook]
#/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
# git hook to run a command after `git pull` if a specified file was changed
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
@stefan-vatov
stefan-vatov / php_sanitise_input.php
Created May 20, 2015 15:27
Collection of methods to sanitise input
filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
@stefan-vatov
stefan-vatov / dynamically_load.js
Created May 20, 2015 15:24
Dynamically load JS & CSS
var loadCSS = function (href) {
var cssLink = $("<link rel='stylesheet' type='text/css' href='" + href + "'>");
$("head").append(cssLink);
};
// Could load the JS at the end of the body, depends on the case
var loadJS = function (src) {
var jsLink = $("<script type='text/javascript' src='" + src + "'>");
$("head").append(jsLink);
};
@stefan-vatov
stefan-vatov / target-ff-css
Created November 3, 2014 00:21
Targeting only Firefox with CSS
@-moz-document url-prefix() {
// Rules
}
#
# Varnish VCL file for Ghost blogging platform.
# http://ghost.org/
#
# Written for Ghost v0.3.0.
#
# This is a low-hanging-fruit type of VCL. TTL of objects are overridden to 2
# minutes, and everything below /ghost/ is pass()-ed so the user sessions
# work.
#
server {
listen 80;
server_name jenkins.domain.tld;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 150;