Skip to content

Instantly share code, notes, and snippets.

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<title>Rebane's Discord Colored Text Generator</title>
<meta charset="UTF-8">
<meta name="description" content="Rebane's Discord Colored Text Generator">
<meta name="author" content="rebane2001">
<style>
/*
@rebane2001
rebane2001 / plot_discord_predictions.py
Last active February 14, 2026 17:46
Simple script to plot your Discord machine-learning predicted age and gender from the data dump.
"""
Simple script to plot your Discord machine-learning predicted age and gender from the data dump.
To use, simply put this script in your activity/analytics/ folder of your Discord data dump and run it.
You may need to install matplotlib first:
pip install -U matplotlib
thrown together by rebane2001
@rebane2001
rebane2001 / discord-pin-compressor.html
Last active February 5, 2026 11:00
This is a simple app that converts Discord pins to Discord messages, which is useful for example when you've reached the pin limit and wish to have more room for new pins.
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<title>Rebane's Discord Pin Compressor</title>
<meta charset="UTF-8">
<meta name="description" content="Rebane's Discord Pin Compressor">
<meta name="author" content="rebane2001">
<style>
/*
@rebane2001
rebane2001 / 2d-movement-demo.html
Last active January 28, 2026 16:36
2d movement demo for CSS Clicker training (https://lyra.horse/slides/#2025-congress), based on Corncycle's coquest! game (https://cohost.org/Corncycle/post/362844-div-style-line-hei)
<!--
2d movement demo for CSS Clicker training
>>> https://lyra.horse/slides/#2025-congress
based on Corncycle's coquest! game
>>> https://cohost.org/Corncycle/post/362844-div-style-line-hei
-->
<div style="display:inline-flex;position:relative;overflow:visible;border:1px solid red">
<!-- game map -->
@rebane2001
rebane2001 / glass-with-controls.html
Last active December 14, 2025 05:53
glass effect test css/svg thing (messy) - demo: https://codepen.io/rebane2001/details/OPVQXMv
<div style="position:absolute;top:-999px;left:-999px">
<svg
id="effectSvg"
width="200"
height="200"
viewBox="0 0 200 200"
xmlns="http://www.w3.org/2000/svg">
<filter id="displacementFilter4">
@rebane2001
rebane2001 / twitter-card-mod.js
Last active November 14, 2025 02:10
Twitter Card Mod (paste into console) // Note: Moved to https://github.com/rebane2001/TweetsAgainstHumanity/ (get the extension/userscript there)
twitterCardCount = 5;
function getNextTweets(count) {
const nextTweets = [...document.querySelectorAll("[data-testid='cellInnerDiv']:not(:has(>.HiddenTweet)) [data-testid='tweet']:not([data-twc-used])")].slice(0, count);
nextTweets.forEach(e => e.dataset.twcUsed = true);
return nextTweets;
}
function setStyle(styleText) {
let styleEl = document.querySelector(".twc-style");

Hack.lu CTF 2023 - Safest Eval (Python jail escape)

Challenge by: realansgar
Writeup by: rebane2001

Overview

The challenge consists of a simple Flask webapp that lets you eval arbitrary Python code in a jail in order to evaluate your solution to a leetcode-style programming challenge. The flag can be retrieved by running the /readflag setuid program. The source code was provided.

Flash challenge website

@rebane2001
rebane2001 / nime-ik-muutmine.md
Last active September 23, 2025 21:25
nime / ik / soo muutmine eesti lehtedel/teenustel

See on list Eestis tegutsevatest teenustest ning sellest, kuidas antud teenustes saab oma isikuandmeid (nimi, isikukood, sugu) muuta.

Pangandus

Swedbank

Nimi: Muutub automaatselt

LHV

Nimi: Muutub automaatselt

@rebane2001
rebane2001 / rebane_code128b.js
Created September 12, 2025 11:47
Generate Code 128 barcode with 128B encoding
const c128bmap = [" ","!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","DEL","FNC_3","FNC_2","Shift_A","Code_C","FNC_4","Code_A","FNC_1","Start_Code_A","Start_Code_B","Start_Code_C","Stop"];
const c128binmap = ["11011001100","11001101100","11001100110","10010011000","10010001100","10001001100","10011001000","10011000100","10001100100","11001001000","11001000100","11000100100","10110011100","10011011100","10011001110","10111001100","10011101100","10011100110","11001110010","11001011100","11001001110","11011100100","11001110100","11101101110","11101001100","11100101100","11100100110","11101100100","11100110100","11100110010","11011011000","11011000110","11000110110","10100011000","1000101
document.querySelectorAll("*").forEach(e=>e.dataset.node=e.nodeName);
style=document.createElement('style');
style.textContent=`*{outline:1px solid #410;&::before{content:attr(data-node);text-shadow: 2px 2px #FFF}}`;
document.head.append(style);