Skip to content

Instantly share code, notes, and snippets.

Avatar
💻
Learning the sh*t out of things

Noud Adrichem noudadrichem

💻
Learning the sh*t out of things
View GitHub Profile
@noudadrichem
noudadrichem / space-classes.scss
Created Jun 30, 2021
Generates margin and padding classes from SCSS to CSS based on 8px grid.
View space-classes.scss
// Padding/Margin classes based on 8px grid with queries based on own breakpoints
$sides: (
"": "",
"t": "top",
"b": "bottom",
"l": "left",
"r": "right",
);
$breakpoints: (
@noudadrichem
noudadrichem / ImageCompare.service.ts
Created Jun 22, 2021
Compare images from URL or Buffer based on looks-same module
View ImageCompare.service.ts
import axios from 'axios';
import LooksSame from 'looks-same'
import path from 'path'
type Image = string | Buffer
class ImageCompareService {
public rootPath: string;
public staticPath: string;
@noudadrichem
noudadrichem / VSCode Settings
Last active May 11, 2021
vscode-settings.json
View VSCode Settings
{
// Personal prefs
"editor.semanticHighlighting.enabled": false,
"editor.fontFamily": "JetBrains Mono",
"editor.lineHeight": 23,
"editor.fontSize": 13,
"window.zoomLevel": -1,
"editor.cursorSmoothCaretAnimation": true,
"workbench.statusBar.visible": true,
"workbench.activityBar.visible": true,
View install-microk8s.sh
echo "Installing microk8s 1.18/stable for $(whoami)"
sudo snap install microk8s --classic --channel=1.18/stable
sudo microk8s start
sudo microk8s status --wait-ready
sudo microk8s.kubectl get nodes
sudo microk8s.kubectl get all -o wide
echo "--DONE--"
View create-3gb-swap.sh
echo "Creating 3gb swap for $(whoami)"
free -h
sudo fallocate -l 3G /swapfile
ls -lh /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
free -h
sudo sysctl vm.swappiness=10
@noudadrichem
noudadrichem / setup-docker.sh
Created Jan 13, 2021
Setup docker on Ubuntu 20.04
View setup-docker.sh
change NAME
echo '=> Installing docker...'
# Docker
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker NAME
docker run hello-world
echo '=> Installing compose...'
# Compose
View promise.settimeout.ts
import {promisify} from 'util';
const wait = promisify(setTimeout)
await wait(5000);
@noudadrichem
noudadrichem / reset.css
Created Sep 23, 2020
Applies 'reset' overrides to the HTML document.
View reset.css
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
View meta.service.ts
import Logger from "../lib/logger";
import axios from "axios";
import { createCanvas, loadImage, registerFont } from "canvas";
import path from "path";
import ColorThief from "colorthief";
import { uploadImage } from "../resolvers/imgResolver";
import { KeycapsetModel } from "../models";
registerFont(__dirname + "../../../static/Rubik-SemiBold.ttf", {
family: "Rubik Semi",
@noudadrichem
noudadrichem / isColourDarkOrLight.ts
Created Sep 7, 2020
Gives back tags based on RGB code if it's light or dark
View isColourDarkOrLight.ts
public isColourDarkOrLight(rgb: number[]): 'light' | 'dark' {
// RGB to HSP equation: http://alienryderflex.com/hsp.html
const [r, g, b] = rgb;
const hsp = Math.sqrt(
0.299 * (r * r) +
0.587 * (g * g) +
0.114 * (b * b)
);
return hsp > 127.5 ? 'light' : 'dark';
}