Skip to content

Instantly share code, notes, and snippets.

View yagihiro's full-sized avatar
🏠
Working from home

Hiroki Yagita yagihiro

🏠
Working from home
View GitHub Profile
@yagihiro
yagihiro / m1_setup.sh
Created November 12, 2021 18:10
M1 Mac Setup @ Monterey
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/yagihiro/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
brew install --cask google-chrome
brew install --cask google-japanese-ime
sudo softwareupdate --install-rosetta
brew install --cask google-japanese-ime
brew install --cask slack
brew install --cask docker
@yagihiro
yagihiro / exponential_backoff_with_full_jitter.rb
Last active February 4, 2020 09:48
再送する時などに使用する Exponential Backoff の Ruby 実装です
# gem install retryable
require 'retryable'
# see: https://aws.typepad.com/sajp/2015/03/backoff.html
# ↑の full jitter back-off algorithm です
def with_retry
base = 1.0
cap = 12.0
Retryable.retryable(tries: 5, sleep: ->(n) { rand(base..([cap, base * (2 ** n)].min)) }) { yield }
@yagihiro
yagihiro / contrast.py
Last active January 22, 2020 04:34
動画変換サンプルコード w/ opencv
import numpy as np
import cv2
import time
import sys
start_time = time.time()
input_path = sys.argv[1]
cap = cv2.VideoCapture(input_path)
@yagihiro
yagihiro / gist:31f55f08200de13377f1d66f4c9be8e1
Created March 19, 2018 05:09
Create ramdisk on mac os high sierra
~ hiroki.yagita(HirokinoMacBook-Pro) ✅
% hdiutil attach -nomount ram://2097152                                                                                                                                                                                                                       3 19 月 14:01 JST
/dev/disk2
~ hiroki.yagita(HirokinoMacBook-Pro) ✅
% diskutil partitionDisk /dev/disk2 1 apfs test 1G                                                                                                                                                                                                            3 19 月 14:02 JST
Started partitioning on disk2
Unmounting disk
Creating the partition map
Waiting for partitions to activate
@yagihiro
yagihiro / main.go
Created March 12, 2018 08:00
Minimal gin application
package main
import (
"context"
"log"
"net/http"
"os"
"os/signal"
"time"
@yagihiro
yagihiro / WKNavigationDelegate+Rx.swift
Created April 29, 2016 07:37
WKNavigationDelegate+Rx.swift
import Foundation
import RxSwift
import RxCocoa
import WebKit
class WKNavigationDelegateProxy: DelegateProxy, WKNavigationDelegate, DelegateProxyType {
static func currentDelegateFor(object: AnyObject) -> AnyObject? {
let webView: WKWebView = object as! WKWebView
return webView.navigationDelegate
@yagihiro
yagihiro / instagram_oauth_token_request_sample.php
Created January 25, 2016 12:40
instagram_oauth_token_request_sample.php
use GuzzleHttp\Client as Guzzle;
// ...
if ($request->has('code')) {
$params = $request->all();
$g = new Guzzle;
$postParams = [
'form_params' => [
@yagihiro
yagihiro / reschedulable_sidekiq.rb
Created January 19, 2016 12:02
Sidekiq を re-schedulable にするスニペット
# 最初にスケジュール済みのジョブを削除する
Sidekiq::ScheduledSet.new.each do |e|
if e.item[‘wrapped’] == self.class.to_s
e.delete
end
end
# もろもろ処理
# 最後に reschedule する
@yagihiro
yagihiro / simple_concurrent_queue.h
Last active December 2, 2015 11:03
A queue implementation with concurrency for C++11
/*
The MIT License (MIT)
Copyright (c) 2015 Hiroki Yagita
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
@yagihiro
yagihiro / .gitconfig
Last active September 21, 2017 08:06
.gitconfig
[user]
name = Hiroki Yagita
email = yagihiro@gmail.com
[color]
ui = auto
[alias]
a = add
b = branch -a
bs = branch --sort=-authordate
co = checkout