Skip to content

Instantly share code, notes, and snippets.

YUKI "Piro" Hiroshi piroor

Block or report user

Report or block piroor

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@piroor
piroor / SelectionClipboard.ahk
Last active Apr 11, 2019
AutoHotKey https://www.autohotkey.com/ script to simuate "selection clipboard" behavior of Linux desktop environments
View SelectionClipboard.ahk
; Simulate "Selection Cipboard" of Linux desktop environments
; Based on:
; https://softwarerecs.stackexchange.com/questions/9791/copy-selection-to-clipboard-automatically
; Usage:
; 1. Install AutoHotKey: https://www.autohotkey.com/
; 2. Save this file as "SelectionClipboard.ahk".
; 3. Put it into the startup folder.
; Note:
; * Ctrl-C will be sent when you do drag and drop with the left button always, including
; window moving and resizing. This means that SIGINT is sent to appls when you try to
@piroor
piroor / aes-gcm-encryption.js
Last active Feb 15, 2019
Example of AES-GCM encryptor with passphrase, based on Web Crypto API
View aes-gcm-encryption.js
async function getKey(passphrase, salt = null) {
passphrase = (new TextEncoder()).encode(passphrase);
let digest = await crypto.subtle.digest({ name: 'SHA-256' }, passphrase);
let keyMaterial = await crypto.subtle.importKey(
'raw',
digest,
{ name: 'PBKDF2' },
false,
['deriveKey']
);
@piroor
piroor / array-uniq-benchmark.js
Last active Feb 18, 2019
Benchmark of "uniq" for Array in JavaScript
View array-uniq-benchmark.js
// License: MIT
// Original Author: YUKI "Piro" Hiroshi <yuki@clear-code.com>
// confirmed at Firefox 64
async function test(times, length) {
function uniqByIndexOf(array) {
const uniquedArray = [];
for (const elem of array) {
if (uniquedArray.indexOf(elem) < 0)
View prepare.js
/*
Usage:
1. Install something addon with "tabs" permission.
2. Go to "about:debugging" and open a debugger for the addon.
3. Go to the console.
4. Run.
*/
(async (global) => {
const windowId = (await browser.windows.create({})).id;
@piroor
piroor / enctyptor.js
Last active Feb 8, 2019
Simple String Encryptor (example)
View enctyptor.js
/*
Simple String Encryptor with common key cryptosystem (example)
Usage:
// The first argument of the constructor is the algorithm.
// If you don't specify any algorithm, AES-CTR 256bit is used.
const encryptor = new Encryptor({ name: 'AES-CTR', length: 256 });
const counter = crypto.getRandomValues(new Uint8Array(16));
const encrypted = await encryptor.encryptString('Hello world!', { counter });
@piroor
piroor / peco-commands.sh
Last active Nov 8, 2018
Predefined commands based on peco (on Bash)
View peco-commands.sh
# Usage:
# 1. Download latest binary of peco from: https://github.com/peco/peco/releases
# 2. Extract "peco" from the downloaded archive and put it to somewhere listed in $PATH.
# 3. Put this file as "~/peco-commands.sh".
# 4. Add a line "source ~/peco-commands.sh".
# 5. Exit and login again.
# from http://bio-eco-evo.hatenablog.com/entry/2017/04/30/044703
peco-cd() {
local sw="1"
@piroor
piroor / autoconfig.cfg
Created Sep 27, 2018
Register security exception automatically when a cert error page is initially shown, on Firefox ESR60
View autoconfig.cfg
// the first line is always ignored by Firefox.
const autoAcceptExceptionFor = (host, port = 443) => {
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
const exceptionURL = port == 443 ? `https://${host}` : `https://${host}:${port}`;
const { Services } = Cu.import('resource://gre/modules/Services.jsm', {});
const observer = {
observe(aSubject, aTopic, aData) {
switch (aTopic) {
@piroor
piroor / autoconfig.cfg
Created Sep 26, 2018
Register security exception automatically on the startup of Firefox ESR60
View autoconfig.cfg
// the first line is always ignored by Firefox.
const autoAcceptExceptionFor = (host, port = 443) => {
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
const exceptionURL = port == 443 ? `https://${host}` : `https://${host}:${port}`;
const { Services } = Cu.import('resource://gre/modules/Services.jsm', {});
const observer = {
observe(aSubject, aTopic, aData) {
switch (aTopic) {
@piroor
piroor / toc.js
Last active Apr 3, 2018
Generate Table of Contents for GitHub Wiki Pages
View toc.js
// How to use:
// 1. Go to a page of GitHub Wiki with Firefox.
// 2. Copy this script to the clipboard.
// 3. Hit Ctrl-Shift-K to open Web Console.
// 4. Hit Ctrl-Shift-V to paste this script.
// 5. Hit Enter to run script.
// 6. If you are not in edit mode, click the "Copy ToC" button shown in the page.
// Then ToC is copied to the clipboard, so paste the TOC from the clipboard.
var container = document.querySelector('.markdown-body');
View get-ie-path.go
package main
import (
"fmt"
"golang.org/x/sys/windows/registry"
)
func main() {
fmt.Printf(GetIEPath())
}
You can’t perform that action at this time.