Skip to content

Instantly share code, notes, and snippets.

View kubosho's full-sized avatar
🎯
Focusing

KUBOTA Shota kubosho

🎯
Focusing
View GitHub Profile
@kubosho
kubosho / route_handler.js
Last active March 30, 2023 16:12
Route handler for blog.kubosho.com in CloudFront Functions
function hasExtension(uri) {
return uri.includes('.');
}
function isLastCharacterSlash(uri) {
return uri.endsWith('/');
}
function isFeedLink(uri) {
return uri.endsWith('/feed');
const path = require('path');
const { mkdir, readFile, writeFile } = require('fs/promises');
const { promisify } = require('util');
const markdown = require('markdown-wasm');
const glob = require('glob');
const asyncGlob = promisify(glob);
const SRC_DIR = './src';
const DIST_DIR = './build';
@kubosho
kubosho / kubosho.ahk
Last active September 3, 2020 12:49
AutoHotkeyの設定
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#UseHook, On
#SingleInstance, force
; F13 & Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
; macOS like keymap
F13 & /::^/
F13 & 1::^1
@kubosho
kubosho / profile.json
Created September 29, 2019 16:53
Windows Terminal
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"globals" :
{
"alwaysShowTabs" : false,
"defaultProfile" : "{7f586916-8357-53d4-bb2b-ca96f639898a}",
"initialCols" : 180,
"initialRows" : 50,
"keybindings" :
[
javascript:(
() => {
'use strict';
const getLastUpdate = (domObj) => {
return domObj.querySelector(".contributors-sub time").dateTime;
};
const isOlderJapaneseArticle = (jaLastMod, enLastMod) => {
return Date.parse(jaLastMod) - Date.parse(enLastMod) < 0;
body {
font-size: 16px;
}
#header-inner, #main-navigation-inner, #content-inner, #footer-inner {
width: 1040px;
}
.layout-wtt #alpha {
width: 815px;
@kubosho
kubosho / neue.css
Last active May 30, 2017 08:45
White neue.cc
* {
color: #393939;
}
body {
background-color: #fcfcfc;
background-image: none;
font-size: 16px;
}
@kubosho
kubosho / os.md
Last active June 21, 2017 01:27
OS自作入門を見ながらOSを作っていったときの記録

day 1 (2017/5/7)

https://github.com/kubosho/my-os/tree/master/day1

アセンブリとバイナリエディタを初めて体験した。 はじめにバイナリエディタで16進数をひたすら入力して、それをimgファイルとして保存した。 その後アセンブリで書いたものをnasmでimgファイルに変換して、それをバイナリエディタで見てみた。

結果2つのファイルは多少違いこそあれど、QEMUなどの仮想マシン上にマウントして起動したらHello, worldと表示するだけのOSができた。 これがなかなか面白い。動作確認自体はqemuコマンドが brew install qemu としてもqemuコマンドがnot foundになってしまい、確認できなかったが…

@kubosho
kubosho / rust.md
Last active March 24, 2021 14:46
Rustを初めて触ってコンパイラをつくるまでの記録

Rustを初めて触ってコンパイラをつくるまでの記録

https://hayato.io/2017/faq/#programming

C++ への理解が足りない (というよりコンピュータの基礎がわかっていない)人にとっては、とても学習曲線が高いプログラミング言語だと思います

という文章を見て、C++も書いたことがない、コンピュータの基礎が分かっていない自分にとっては良さそうな言語だと思いやり始めることにしました。

寿命という概念

次のコードは a という変数よりも b という変数のほうが寿命が短いです。

var context = new AudioContext();
var sound = context.createOscillator();
var gain = context.createGain();
sound.frequency.value = 528;
gain.gain.value = 0.25;
sound.connect(gain);
gain.connect(context.destination);
sound.start();