Skip to content

Instantly share code, notes, and snippets.

View tannineo's full-sized avatar
🐢
慢慢来

Chao Chen tannineo

🐢
慢慢来
View GitHub Profile
@bem13
bem13 / danbooru_tag_count_scraper.py
Created February 9, 2024 13:15
Danbooru tag count scraper Python script
import requests
import csv
import time
# Base URL without the page parameter
base_url = 'https://danbooru.donmai.us/tags.json?limit=1000&search[hide_empty]=yes&search[is_deprecated]=no&search[order]=count'
# Specify the filename for the CSV
csv_filename = 'danbooru_tags_post_count.csv'
@fenix-hub
fenix-hub / #description.md
Last active May 6, 2025 16:37
GDScript JSON <> Class Serializer/Deserializer

You can find usages in the GDScript Unirest plugin

This is a fast serializer/deserializer written in GDScript to convert a JSON (Dictionary) to a class, using something similar to the Reflection concecpt. json_to_class can be used to convert a Dictionary to a Class. All keys in the Dictionary will be treated as variables and their types will be guessed in the best way possible. A class (defined by the class_name keyword) must extend Reference or Object or be an inner class, or else Godot will not able to see its properties. It is also possible to deserialize a JSON key to a class property with a different name using the export hint as a variable name.

example usage:

@tannineo
tannineo / setup_nginx_proxy_and_certbot_with_nodejs_app.md
Last active February 7, 2022 11:13
setup_nginx_proxy_and_certbot_with_nodejs_app

setup_nginx_proxy_and_certbot_with_nodejs_app

Using Rocky Linux 8 (on Digital Ocean), start from scratch. Using user root.

install EPEL

dnf install epel-release
dnf update
@henfiber
henfiber / KB-Buying-guide-EU.md
Last active February 27, 2026 11:39
Buying keyboards and keyboard components from EU

Europe

  • SkinFlint : Price comparison site which has some nice filtering options per switch type etc. Searches for offers in UK, Germany, Poland and Austria
  • mykeyboard.eu : Keyboards, keycaps and accessories. Based in Belgium.
  • candykeys.com : European Store selling Vortex, Leopold, KBP, Anne Pro keyboards, keycap sets and components (ISO + ANSI). Based in Germany, ships to EU.
  • falba.tech : custom wooden bamboo cases, and some acrylic and carbon ones. Switch packs (65 browns at 48EUR). Other parts for the GH60, Atreus, ErgoDox. Also Microcontrollers, diodes, leds etc.
  • 42keebs.eu - Mostly PCBs, tools and accessories. Located in Czech Republic.
  • KEYGEM : Switches, Keycaps, lubes, cables, DIY kits and deskmats. Based in Germany, ships to the EU and worldwide.
  • [Eloquent Clicks - Custom Mechanical Keyboard Store](https://www.eloquen
@sandcastle
sandcastle / timezones.ts
Created January 29, 2018 00:19
A timezone list with grouping by timezone, in TypeScript.
export interface IanaTimezone {
group: string;
timezone: string;
label: string;
}
export const IANA_TIMEZONES = [
// UTC+14:00
{ group: 'UTC+14:00', timezone: 'Pacific/Kiritimati', label: 'Pacific/Kiritimati (+14)' },
// UTC+13:00
@tupunco
tupunco / vscode-go 插件安装.md
Last active April 18, 2023 09:13
vscode-go 配置

ctrl+shift+p

  • 安装 vscode-go 插件:
> ext install Go
  • 安装 go tools:
> Go Install/Update Tools
Using a combo of plenv and carton seems to be the way to go.
Goals (something like virtualenv + pip):
1. Leave the system Perl alone.
2. Install any Perl i choose.
And even switch between installed Perls
Either globally or on a per-project page
4. Manage Perl module dependencies within the project’s git repo.
Steps:
Run the script below from the project dir to get set up with plenv, carton, and perlbuild, pass in perl version to use (5.10.1)
@wangxiaodong
wangxiaodong / thunderUrl decoder
Created August 13, 2014 12:12
thunder url decoder
import base64
thunderUrl = raw_input("thunder url:")
header = "thunder://"
# thunderUrl = "thunder://QUFodHRwOi8vZGwxMTcuODBzLmxhOjkyMC8xNDA3L+S/oeWPty/kv6Hlj7dfaGQubXA0Wlo="
thunderUrl = thunderUrl[len(header):]
print base64.b64decode(thunderUrl)[2:-2]