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 / 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 / bingo.php
Last active Mar 5, 2021
A generator for unique Bingo cards in PHP. See in action https://bingo.arnorichter.de/ (generates cards printable on A4 paper size)
View bingo.php
<?php
/*
Generate however many unique bingo cards you require (should be fewer than 10k though).
This is not meant to compute ALL possible bingo cards, obviously, but to help set up a
nice amount of cards for play.
If you require a free space somewhere on the board, you should probably tweak the output,
not the generator.
I wrote this because existing solutions on stackoverflow were in languages I could not
test as easily and many existing generator websites generate crap cards that do not
adhere to the bingo number distribution in the 5 rows, so you spend an eternity looking
@oelna
oelna / graphic.svg
Created Jan 17, 2020
SVG with query parameters
View graphic.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@oelna
oelna / polychromie-architecturale.json
Created Apr 11, 2017
Le Corbusier's "Polychromie Architecturale" – all 63 colors as hex values, with their original name, ID and lightness coefficient (HBW) in a neat JSON array
View polychromie-architecturale.json
[
{
"hex":"fff1ce",
"name":"blanc",
"hbw":72,
"id":"32001",
"collection":1931
},{
"hex":"585d5e",
"name":"gris foncé 31",
@oelna
oelna / dump_github_issues.sh
Created Jan 24, 2016
Export Github issues from the command line
View dump_github_issues.sh
#!/bin/bash
echo "Please enter your Github username"
read username
echo "Please enter your Github password"
read -s password
echo "What is the Github repo you'd like to download issues from?"
echo "Format is user/repo"
@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" />
@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 / 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');