Skip to content

Instantly share code, notes, and snippets.

View unak's full-sized avatar

usa unak

View GitHub Profile
@unak
unak / ruby-mswin64-202204.md
Last active November 11, 2023 06:45
RubyをVisual C++でビルドする 2022.04版(+2022.12・2023.06追記)

Visual C++をインストールする

というか、Visual Studioになるわけだが。 普通はCommunity Editionで問題ないと思うが、用途に応じてライセンスを選ぶこと。 インストールする際には、Windowsデスクトップ開発とかいうのを選ぶ。他はお好みで。 あー、確認してないけど、英語の言語パックは入れた方が多分いいです。入れないとだめかもしれない(thx hsbtさん)。

vcpkgをインストールする

GitHubにあるので、READMEの手順に従えばいい。 この過程でgitも入ることになる。

@unak
unak / helix.md
Last active February 3, 2021 14:14
Helixで左右どっちのボードにUSBケーブルを繋いでも使えるようにする

Helixのファームウェアは左手側のボードにUSBケーブルを繋ぐことを前提に作られている。 が、右手側に繋ぎたいことだってあるじゃん? というわけで、どっちに繋いでも使えるようにしてみた。

まず、自分の使ってるファームウェアのディレクトリ内(例えばkeyboards/helix/rev2/keymaps/default)のkeymap.cの冒頭付近、

extern keymap_config_t keymap_config;

の直前くらいに、

@unak
unak / allruby.cmd
Last active December 15, 2017 09:06
allruby script for Windows
@echo off
C:\opt\ruby\bin\ruby.exe -x %~f0 %*
goto :EOF
#!ruby
require "yaml"
cache = File.join(File.dirname(__FILE__), "allruby.cache")
if File.exist?(cache)
rubies = YAML.load(File.read(cache))
else
MAZE = {
"0" => %w[1 6],
"1" => %w[0 7],
"2" => %w[3],
"3" => %w[2 4 9],
"4" => %w[3 5],
"5" => %w[4 B],
"6" => %w[0 C],
"7" => %w[1 8],
"8" => %w[7 9],
@unak
unak / pickup.rb
Created August 4, 2017 14:34
pickup configure arguments defined in ext/**/extconf.rb
require "ripper"
def show(meth, arg)
case meth
when "dir_config"
puts "--with-#{arg}-dir"
when "enable_config"
puts "--enable-#{arg}"
when "with_config"
puts "--with-#{arg}"
@unak
unak / memo.md
Last active April 22, 2017 09:35
Installation of local test mastodon

Installation of local test mastodon

手元の仮想マシンにテスト用のmastodonインスタンスを立ててみるための手順メモ。 なおこの手順でできるのはテスト用インスタンスなので外に出さないように。

Setup Ubuntu 16.04 on VMware

@unak
unak / healthcheck_process
Created April 16, 2017 04:30
munin plugin to check process existence for NetBSD, implemented with Ruby
#!/usr/local/bin/ruby
PS = "/bin/ps"
keys = ENV.keys.grep(/^process_\d+$/).sort_by{|e| e.split(/_/, 2).last.to_i}
arg = ARGV.shift
if arg == "autoconf"
if keys.empty?
@unak
unak / rake_did_you_mean.rb
Created March 28, 2017 14:59
Show candidate when specified task name is not valid
begin
require "did_you_mean"
module Rake::TaskManager
def [](task_name, scopes=nil)
task_name = task_name.to_s
self.lookup(task_name, scopes) or
enhance_with_matching_rule(task_name) or
synthesize_file_task(task_name) or
(STDERR.puts "Don't know how to build task '#{task_name}' (see --tasks)";
candidates = DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name);
@unak
unak / test-bundled-gem.rb
Created December 2, 2016 04:03
How to test bundled gems?
require "rubygems"
srcdir = File.expand_path("YOUR RUBY SOURCE DIRECTORY")
Dir.glob(File.join(srcdir, "gems", "*.gem")) do |gem|
tmp = File.basename(gem, ".gem").split(/-/)
version = tmp.pop
name = tmp.join('-')
spec = Gem::Specification.find{|s| s.name == name && s.version.version == version}
@unak
unak / drawcmd.rb
Created November 10, 2016 13:44
drawcmd.rb
if ARGV.size != 1
warn "Usage: ruby #$0 <image file>"
exit
end
image_file = ARGV.shift.encode("utf-16le")
require "fiddle/import"
module Kernel32