Skip to content

Instantly share code, notes, and snippets.

View kyontan's full-sized avatar
♨️

kyontan kyontan

♨️
View GitHub Profile
@kyontan
kyontan / gp_latest_photo_url
Created May 9, 2021 08:44
GoPro interval photo taker (Hero5)
#!/bin/bash
tmpfile=$(mktemp)
while true; do
curl --silent http://10.5.5.9/gp/gpMediaList > $tmpfile
grep "busy" $tmpfile > /dev/null
if [ $? -eq 1 ]; then break; fi
sleep 1
done
@kyontan
kyontan / fanboxdl.rb
Last active June 14, 2022 13:16
Pixiv FANBOX downloader
#!/usr/bin/env ruby
require "net/http"
require 'net/https'
require "uri"
require "json"
require "fileutils"
require "date"
def fetch(url, sessid)
@kyontan
kyontan / bpf.c
Created December 27, 2020 15:24
pyroute2 + SRv6 example
#include <linux/bpf.h>
int pass(struct __sk_buff *skb) {
return BPF_OK; // packet continues
// return BPF_DROP; // packet drops
}
@kyontan
kyontan / pamove
Created June 2, 2020 08:40
PulseAudio sink-output changer
#!/usr/bin/env ruby
class String
def to_i_first
self.match(/\d+/)[0].to_i
end
def unquote_str
self.match(/"(.*)"/)[1]
end
@kyontan
kyontan / lazy_product.rb
Created June 7, 2019 16:28
lazy edition of Enumerable.product
class LazyProduct
include Enumerable
def initialize(array)
@array = array
end
def self.from(array)
new(array)
end
@kyontan
kyontan / keynote.scpt
Last active November 20, 2019 02:25 — forked from lambdamusic/keynote.scpt
Apple Keynote: export presenter notes
-- HOWTO:
-- after saving it, open with Script Editor (default) and run it
-- PREREQUISITES:
-- make sure your Keynote presentation is open in the background
set presenterNotes to ""
set slideNumber to 1
tell application "Keynote"
@kyontan
kyontan / merge.sql
Last active July 26, 2020 15:20
BigQuery MERGE DML to merge {source} into {destination} with having same primary keys also having newer updated_at
MERGE {destination} T
USING (
SELECT * EXCEPT(rn)
FROM (
SELECT
*,
row_number() over (PARTITION BY {primary_keys} ORDER BY updated_at DESC) AS rn
FROM {source})
WHERE rn = 1
) S
@kyontan
kyontan / README.md
Last active April 14, 2019 15:47
Enabling ECDSA in PKCS#11 support for ssh-agent for OpenSSH 7.9p1 (ref: https://bugzilla.mindrot.org/show_bug.cgi?id=2474)
@kyontan
kyontan / docker-compose.yml
Created March 8, 2019 17:33
ICTSC2018 それはアクセスできないようにしたはずなのに…… 問題環境
version: '2'
services:
db:
container_name: database
image: mariadb:10.2.22
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
@kyontan
kyontan / error
Last active February 27, 2019 15:27
$ embulk run -b ./ -l debug test.yaml.liquid -c test_diff.yaml
2019-02-27 15:22:24.626 +0000: Embulk v0.8.18
2019-02-27 15:22:26.115 +0000 [INFO] (0001:transaction): Loaded plugin embulk-input-mysql (0.9.3)
2019-02-27 15:22:26.144 +0000 [INFO] (0001:transaction): Loaded plugin embulk-output-gcs (0.4.3)
2019-02-27 15:22:26.175 +0000 [INFO] (0001:transaction): JDBC Driver = /some_path/vendor/bundle/jruby/2.3.0/gems/embulk-input-mysql-0.9.3/default_jdbc_driver/mysql-connector-java-5.1.44.jar
2019-02-27 15:22:26.183 +0000 [INFO] (0001:transaction): Fetch size is 10000. Using server-side prepared statement.
2019-02-27 15:22:26.184 +0000 [INFO] (0001:transaction): Connecting to jdbc:mysql://xxx options {useCompression=true, socketTimeout=3600000, useSSL=..., user=..., useLegacyDatetimeCode=..., tcpKeepAlive=..., useCursorFetch=..., connectTimeout=..., password=***, zeroDateTimeBehavior=convertToNull}
2019-02-27 15:22:26.436 +0000 [INFO] (0001:transaction): Using JDBC Driver mysql-co