Skip to content

Instantly share code, notes, and snippets.

Avatar
😔
The light inside has broken, but I still work

Arno Richter oelna

😔
The light inside has broken, but I still work
View GitHub Profile
@oelna
oelna / commands.md
Last active Jun 12, 2020
A few custom Nightbot commands to use on Twitch
View commands.md

Nightbot custom commands

This is an incomplete list of Nightbot commands I use on my Twitch channel to facilitate the teaching of webdesign. Many commands only generate links to specific sites, but some also offer advanced functionality, such as RNG. You should probably adjust the code, if you'd like to use them.

Random Number

Command: !random
Description: Generate a random number between 1 and 100, or a specific interval
Usage: !random, !random 1 10 or !random 5 20

$(eval if ($(1) && $(2)) {
@oelna
oelna / challenge.js
Created Jun 3, 2020
Calculate luck in Javascript, based on a RPG stat
View challenge.js
/*
Calculate a RNG value with a percent chance to succeed,
based on a range and an stat input value somewhere between.
This is how the challenges in Sunless Sea work, for example.
- The lower bound defines a starting value required to get over 0%
- The upper bound defines the value at which you always succeed
- The stat value should between the two in order to produce a meaningful chance.
*/
@oelna
oelna / file-compression.md
Last active May 29, 2021
Merkblatt zur Kompression von Bildern, Videos und Audio-Daten
View file-compression.md

Merkblatt zur Dateikompression

Die Bitrate bestimmt die Qualität des Inhalts. Wird sie größer, steigen Qualität und Speicherbedarf an. Bilddimensionen, bzw. Länge des Musikstücks beeinflussen ebenfalls die Dateigröße: Höhere Auflösung bewirkt in der Regel größeren Platzbedarf.

Übersicht über Formate

Kompression Bild Video Audio
lossy JPG, PNG-8, WEBP, HEIC H.264, H.265, DivX, Xvid, 3GP, MJPEG MP3, AAC, OGG
lossless PNG-24 DV-PAL, PNG FLAC, APE, ALAC, AIFF, WAV
@oelna
oelna / highscore.html
Last active May 30, 2020
A very simple Javascript module to keep track of highscores in browser games. Uses localStorage to preserve entries.
View highscore.html
<!DOCTYPE html>
<html>
<head>
<title>Highscore Demo</title>
</head>
<body>
<script type="module">
import highscore from './highscore.js'
let points = new highscore('points', 14, 'desc'); /* keep up to 14 scores, under the storage name 'points', sorted in descending order */
@oelna
oelna / demo.js
Created Apr 24, 2020
Poisson distribution HTML canvas demo
View demo.js
window.addEventListener('DOMContentLoaded', function (event) {
const CANVAS_WIDTH = 1200;
const CANVAS_HEIGHT = 700;
let canvasElement = document.createElement('canvas');
canvasElement.setAttribute('width', CANVAS_WIDTH+'px');
canvasElement.setAttribute('height', CANVAS_HEIGHT+'px');
@oelna
oelna / character.js
Last active Apr 14, 2020
A simple hacked-together demo of Javascript modules and classes
View character.js
const CHARACTER = class {
constructor(name, attributes = {}) {
this.name = name;
this.attributes = {};
// merge custom with default values
Object.assign(this.attributes, {
'strength': 3,
'constitution': 3,
'dexterity': 3,
@oelna
oelna / map.html
Last active Apr 2, 2020
A simple Mapbox GL JS map with a single marker, suitable for small business websites.
View map.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Map</title>
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v1.9.0/mapbox-gl.css" />
<style>
#map-container {
width: 100%;
@oelna
oelna / dark-light.css
Created Apr 2, 2020
Make elements of a website adapt to iOS/macOS display mode changes automatically
View dark-light.css
/* define some global values */
:root {
color-scheme: light dark; /* this is required so iOS knows we support display modes at all */
--system-color-blue: rgba(0,122,255,1);
--system-color-green: rgba(52,199,89,1);
--system-color-indigo: rgba(88,86,214,1);
--system-color-orange: rgba(255,149,0,1);
--system-color-pink: rgba(255,45,85,1);
--system-color-purple: rgba(175,82,222,1);
@oelna
oelna / check_website.php
Created Mar 4, 2020
Detect when a website changed by logging hashes of the content (eg. check for domain availability)
View check_website.php
<?php
/*
Since this script works by detecting changes to the page source code
it works only on static pages. Sites that often change, eg. are generated
by a CMS or embed changing script filenames will always trigger.
There is no easy way around this limitation as far as I know.
Instructions:
- Add your Email and desired URLs
@oelna
oelna / metatags.html
Last active Jun 29, 2020
List of the most common metadata in the HTML head
View metatags.html
<!DOCTYPE html>
<html lang="de">
<head>
<!-- Encoding des Dokuments festlegen -->
<meta charset="utf-8" />
<title>Meta und Link Tags</title>
<meta name="description" content="The MDN Web Docs Learning Area aims to provide complete beginners to the Web …" />
<meta name="author" content="Chris Mills" />
<meta name="copyright" content="1998, your name" />