Skip to content

Instantly share code, notes, and snippets.

@kosamari
kosamari / _ServiceWorker_for_github_pages.md
Last active March 19, 2025 18:02
ServiceWorker for github pages.

ServiceWorker for github pages

This is a ServiceWorker template to turn small github pages into offline ready app.

Why ?

Whenever I make small tools & toys, I create github repo and make a demo page using github pages (like this one).
Often these "apps" are just an index.html file with all the nessesary CSS and JavaScript in it (or maybe 2-3 html/css/js files). I wanted to cache these files so that I can access my tools offline as well.

Notes

Make sure your github pages have HTTPS enforced, you can check Settings > GitHub Pages > Enforce HTTPS of your repository.

@SnuktheGreat
SnuktheGreat / caesar
Created May 3, 2016 15:22
Simple caesar cipher bash script
#!/bin/sh
if [ $# -ne 2 ] || [ $1 -lt -36 ] || [ $1 -gt 35 ]
then
echo 'Please specify how many random words would you like to generate !' 1>&2
echo 'example: caesar 5 "mjh5i9n 9pio 8jhpn"' 1>&2
echo 'This will do a caesar cipher of 5 places on the given string, returning romanes eunt domus' 1>&2
exit 0
fi
@statickidz
statickidz / nearby-coordinates.sql
Last active April 23, 2025 22:24
Ordering with SQL by nearest latitude & longitude coordinates (MySQL & SQLite)
---
METHOD 1
This should roughly sort the items on distance in MySQL, and should work in SQLite.
If you need to sort them preciser, you could try using the Pythagorean theorem (a^2 + b^2 = c^2) to get the exact distance.
---
SELECT *
FROM table
ORDER BY ((lat-$user_lat)*(lat-$user_lat)) + ((lng - $user_lng)*(lng - $user_lng)) ASC
@simon-brooke
simon-brooke / ifdef.awk
Last active July 19, 2023 02:18
I needed a little tool to do ifdefs, for conditional inclusion of text; I didn't want the full panoply of the C preprocessor. I like this. Test-driven development in awk.
#!/usr/bin/awk -f
# Experimental implementation of ifdef in awk
BEGIN {
depth = 0;
defined = "";
printing = 1;
}
$1 ~ /#DEFINE/ {
@LaughingSun
LaughingSun / Cuica-1.wav
Last active April 12, 2022 06:34 — forked from armornick/playwav.c
Play a sound with SDL2 added lots of print information and the ability to specify the wav file as first argument. Woohoo.
// "License": Public Domain
// I, Mathias Panzenb�ck, place this file hereby into the public domain. Use it at your own risk for whatever you like.
// In case there are jurisdictions that don't support putting things in the public domain you can also consider it to
// be "dual licensed" under the BSD, MIT and Apache licenses, if you want to. This code is trivial anyway. Consider it
// an example on how to get the endian conversion functions on different platforms.
#ifndef PORTABLE_ENDIAN_H__
#define PORTABLE_ENDIAN_H__
#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__)
@GaspardP
GaspardP / sha256.js
Created June 4, 2015 15:21
SHA-256 with Javascript and Web Crypto
// Computes the SHA-256 digest of a string with Web Crypto
// Source: https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
function sha256(str) {
// Get the string as arraybuffer.
var buffer = new TextEncoder("utf-8").encode(str)
return crypto.subtle.digest("SHA-256", buffer).then(function(hash) {
return hex(hash)
})
}
@hosuaby
hosuaby / web_ui_elements_naming_convention.md
Last active October 3, 2022 06:58
Simple convention for naming GUI elements of Web applications

Simple convention for naming GUI elements of Web applications

Ids or names of elements (primitives or complexes) must be written in Camel Case and must to be as short as possible. All id or name must to start with one of the defined element type prefixes.

Element type prefixes

All element ids or names must use Hungarian notation to incorporate the type of element. Prefixes are used to indicate the semantic type of the element, rather than it's underlining implementation. It means that the element of GUI with button look & feel must prefixed as btn, regardless of how it is implemented, with tag <button> or with tag <a>.
Prefixes are lowercase strings of 2, 3 or 4 characters. Here a complete list of authorised prefixes:

  • btn - the button or a link with a button look & feel
public class customViewGroup extends ViewGroup {
public customViewGroup(Context context) {
super(context);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
}
@IQAndreas
IQAndreas / caesar-cipher.sh
Last active May 26, 2025 15:15
A really simple Caesar Cipher in Bash (or Shell) using `tr`, can also easily be adjusted to encrypt/decrypt ROT13 instead.
# Caesar cipher encoding
echo "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG" | tr '[A-Z]' '[X-ZA-W]'
# output: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD
# Caesar cipher decoding
echo "QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD" | tr '[X-ZA-W]' '[A-Z]'
# output: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
# Can also be adjusted to ROT13 instead