Skip to content

Instantly share code, notes, and snippets.

View FlorianWendelborn's full-sized avatar
🇺🇦

Florian Wendelborn FlorianWendelborn

🇺🇦
View GitHub Profile
export const isError = (error: unknown): error is Error =>
typeof error === "object" &&
error !== null &&
"name" in error &&
typeof error.name === "string" &&
(("stack" in error && typeof error.stack === "string") ||
error instanceof Error)
@FlorianWendelborn
FlorianWendelborn / how-to-see-unavailable-videos-on-youtube-playlists.md
Created August 11, 2025 13:13
How to See Unavailable Videos on YouTube Playlists
  1. open playlist, double-check that it says "N unavailable videos are hidden"
  2. rename playlist
  3. you should be able to see some videos that weren’t visible before until refreshing
  4. copy the link to the removed video
  5. use https://archive.org/web/ to check if there is a save of the video
  6. You now should at least know the title, and you can decide to remove the video from the playlist
@FlorianWendelborn
FlorianWendelborn / README.md
Last active May 15, 2025 02:18
Censored AirTag Engravings

Censored AirTag Engravings

These are all the words Apple does not want you to have on an AirTag. List is from ~2021 IIRC

exiftool *.ARW -gpslatitude=50.123 -gpslongitude=10.123 -gpslatituderef=N -gpslongituderef=E
@FlorianWendelborn
FlorianWendelborn / null-to-undefined.d.ts
Created April 10, 2022 22:06
null-to-undefined.d.ts
type NullToUndefined<T> = {
[KEY in keyof T]: null extends T[KEY]
? Exclude<T[KEY], null> | undefined
: T[KEY]
}
@FlorianWendelborn
FlorianWendelborn / deep-object-partial.ts
Last active November 25, 2021 18:54
DeepObjectPartial<T>: Deep Partial, but Only Objects are Optional
type ExampleType = {
a: string
b: {
x: string
y: number
}
c: string[]
}
type ExtractOptionalKeys<TYPE> = { [KEY in keyof TYPE]: TYPE[KEY] extends Record<string, any> ? (TYPE[KEY] extends Array<any> ? never : KEY) : never }[keyof TYPE]
@FlorianWendelborn
FlorianWendelborn / regex-for-scss-variables-in-vue.js
Created September 3, 2021 14:46
regex-for-scss-variables-in-vue.js
const regexForScssVariablesInVue = /\$(?!t\(|router|refs|emit|event|route|t:|store|i18n)([a-z]+)/

Keybase proof

I hereby claim:

  • I am FlorianWendelborn on github.
  • I am dodekeract (https://keybase.io/dodekeract) on keybase.
  • I have a public key whose fingerprint is A1E4 7ADC D550 DAE9 2337 7CF2 647E 95F1 6C71 B29F

To claim this, I am signing this object:

<html>
<head>
<title>Shitty Hack to Reverse Children in CSS Without Flex-Direction</title>
<style>
body {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
const replaceObjectStrings = <T extends object>(
data: T,
from: string | RegExp,
to: string
): T =>
Object.fromEntries(
Object.entries(data).map(([key, value]) => {
if (value === null) return [key, null]
switch (typeof value) {