Skip to content

Instantly share code, notes, and snippets.

View coderbyheart's full-sized avatar
🌩️
building serverless IoT solutions

Markus Tacker coderbyheart

🌩️
building serverless IoT solutions
View GitHub Profile
@coderbyheart
coderbyheart / UDP.py
Created January 22, 2024 16:44
Nordic developer academy UDP echo server implementation
#!/usr/bin/env python3
import os
from _thread import *
import socket
import datetime
localIP = "0.0.0.0"
localPort = 2444
bufferSize = 1024
@coderbyheart
coderbyheart / coin-changer.spec.ts
Created August 25, 2023 13:12
Aki Salmi SoCraTes 2023 - Test Any Unit
import { assertEquals } from "https://deno.land/std@0.200.0/assert/mod.ts";
import {
assertSpyCall,
spy,
} from "https://deno.land/std@0.200.0/testing/mock.ts";
Deno.test("coin changer", () => {
assertEquals(coinChanger(200), [200]);
});
@coderbyheart
coderbyheart / delete-tweets.spec.ts
Last active August 26, 2023 06:25
Clean Twitter Account with Playwright
import { test } from "@playwright/test";
import { appendFile, readFile } from "fs/promises";
const username = "coderbyheart";
const password = "xxx";
test("remove old tweets", async ({ page }) => {
await page.goto("https://twitter.com/");
await page.getByTestId("loginButton").click();
await page.getByLabel("Phone, email, or username").fill(username);
@coderbyheart
coderbyheart / Code.gs
Created August 10, 2023 15:14
Codefreeze registration form
var POST_URL = "https://api.github.com/repos/codefreezefi/codefreeze.fi/issues";
var GH_TOKEN = 'ghp_XXX'; // should have public_repo permission
function parseResponses(responses) {
var items = [];
for (var i = 0; i < responses.length; i++) {
var response = responses[i];
var question = response.question;
var answer = response.answer;
var parts;
@coderbyheart
coderbyheart / date-kata.js
Created May 12, 2023 16:08
Date Kata SoCraCan
import { describe, test } from "node:test";
import assert from "node:assert/strict";
describe("this is a simple test", () => {
test("that this asserts", () => assert.equal(1, 1));
test("return range", () => {
const twoAmInAustralia = new Date("2023-05-13T02:00:00+10:00");
const { from, until } = createRange(twoAmInAustralia);
assert.equal(until.toISOString(), "2023-05-12T23:59:59.999Z");
@coderbyheart
coderbyheart / readme.md
Last active March 15, 2023 20:14
AT%ATTESTTOKEN
@coderbyheart
coderbyheart / mastodon-aws-lightsail.md
Created February 13, 2023 22:23
Mastodon Setup AWS Lightsail

Mastodon setup on AWS lightsail

  1. Pick Debian 11
  • 2 GB RAM, 2 vCPUs, 60 GB SSD
  • assign fixed IP
  1. Enable automatic updates
  2. Install nginx apt install nginx
  3. Add config for domain
@coderbyheart
coderbyheart / normalize.sh
Last active November 27, 2022 12:21
Normalize PDF scans with handwritten notes and color markings
#!/usr/bin/env zsh
set -x
set -e
filename=$(basename -- "$1")
name="${filename%.*}"
# from https://poppler.freedesktop.org/
pdfimages -j -p $1 $name
@coderbyheart
coderbyheart / excercises.md
Last active May 27, 2026 07:54
Chinook Database Excercises

Fragen Sie auf der Chinook Datenbank die folgenden Daten ab: (Download unter https://www.sqlitetutorial.net/sqlite-sample-database/)

  1. Welche Musikgenres sind in der Datenbank hinterlegt?
  2. Alle IDs, Namen und Geburtsdaten der Mitarbeiter alphabetisch nach Nachname, Vorname sortiert.
  3. Die Titel des Albums „Master Of Puppets“.
  4. Alle Kunden, die Ihre E-Mail-Adresse bei gmail.com haben
  5. Die ID, der vollständige Name und E-Mail-Adresse des Kunden mit den meisten Rechnungen
  6. Erweiterung: mit dem meisten Umsatz
@coderbyheart
coderbyheart / MarsRover.example.md
Created September 18, 2022 13:46
BDD Markdown GitHub report examples

✔️ Test suite

Failed: 0
Passed: 1
Total: 1
Duration: 1 ms

RunFirmware.feature

Run time: ⏲ 1 ms