Skip to content

Instantly share code, notes, and snippets.

View rinsuki's full-sized avatar

rinsuki rinsuki

View GitHub Profile
@rinsuki
rinsuki / extract-niconico-mylist-from-twitter-data.py
Created February 22, 2022 05:36
Twitterデータ(DLできるやつ)からニコニコのマイリストしたログを抽出
import json
import datetime
import sys
dir = sys.argv[1]
def jsloader(o):
with open(dir + "/" + o["fileName"], "r") as f:
r = f.read()
prefix = "window." + o["globalName"] + " = "
if not r.startswith(prefix):
raise Exception("???")
@rinsuki
rinsuki / PokemonDP_How_to_Use_Azure_Flute.md
Last active April 28, 2022 15:20
ポケモンDPのASEで「てんかいのふえ」イベントを見る

ポケモンDPのASEを利用して「てんかいのふえ」イベントを見る

ポケモンDPで昨年12月から話題となっている Arbitrary Script Execution (ASE) を利用した「てんかいのふえ」イベントを見る方法を発見したので紹介します。

質問等があればこのgistにコメントするか このツイート にリプライを送ってください。

(ブロックされてたら…ごめんなさい。結構雑にブロックしてるのでひょっとするとあなたのことをブロックしているかもしれません。どうしても聞きたい場合は https://rinsuki.net/ にメールアドレスが書いてあるのでこちらに送ってください)

CREATE OR REPLACE FUNCTION check_header_array(arr text[]) RETURNS BOOLEAN LANGUAGE plpgsql AS $$
DECLARE
h text[];
i text;
BEGIN
FOREACH h SLICE 1 IN ARRAY arr
LOOP
IF array_ndims(h) != 1 THEN RETURN false; END IF;
IF array_length(h, 1) != 2 THEN RETURN false; END IF;
FOREACH i IN ARRAY arr
@rinsuki
rinsuki / Disable Apple Music.mobileconfig
Created October 19, 2021 00:02
Disable Apple Music in macOS 12 Monterey Music.app
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>Disable Apple Music in Music.app</string>
<key>PayloadDisplayName</key>
@rinsuki
rinsuki / twitter_api_ratelimits.json
Last active November 18, 2021 06:43
Twitter API Rate Limits
{
"profile_spotlight": {
"/profile_spotlight/show": {
"limit": 180,
"remaining": 180,
"reset": 1627498153
}
},
"explore": {
"/explore/tiles": {
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
export function generateActionTrackID() {
let id = ""
for (let i=0; i<10; i++) {
id += chars[Math.floor(chars.length * Math.random())]
}
id += "_" + Date.now()
return id
}
@rinsuki
rinsuki / ContentView.swift
Last active June 10, 2021 07:58
I finally understand how to `tableView.separatorInset = .zero` in SwiftUI List (iOS 15+)
import SwiftUI
import Introspect // from SwiftPM https://github.com/siteline/SwiftUI-Introspect
struct ContentView: View {
var body: some View {
List {
Text("some")
.listRowSeparator(.hidden) // disable SwiftUI.List separator
Text("thing")
.listRowSeparator(.hidden) // disable SwiftUI.List separator
#include <windows.h>
#include <wingdi.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
PAINTSTRUCT ps;
HDC hdc;
static int x = 100;
static int y = 100;
switch (msg) {
from mitmproxy.http import HTTPFlow
import requests
MYLIST_ID="00000000" # please replace with your mylist id
def response(flow: HTTPFlow):
if flow.request.method != "POST":
return
if flow.request.host != "nvapi.nicovideo.jp":
return
@rinsuki
rinsuki / Program.swift
Created July 22, 2020 02:37
Property Wrapper + Codable 活用案
import Foundation
@propertyWrapper struct RelativeURLHandler: Decodable {
public var wrappedValue: URL
public init(from decoder: Decoder) throws {
let container = try decoder.singleValueContainer()
wrappedValue = try container.decode(URL.self)
guard wrappedValue.absoluteString.hasPrefix("/") else {
return