Skip to content

Instantly share code, notes, and snippets.

View buzztaiki's full-sized avatar

Taiki Sugawara buzztaiki

View GitHub Profile
@buzztaiki
buzztaiki / libskk_hack_memo.md
Last active January 14, 2022 07:00
libskk hack memo

libskk hack memo

build

autotool とか久しぶり。

$ ./autogen.sh
$ make
$ make check
@buzztaiki
buzztaiki / trampoline.rs
Created October 25, 2021 12:44
Rustでとらんぽりん
enum Trampoline<T> {
More(Box<dyn FnOnce() -> Trampoline<T>>),
Done(T),
}
impl<T> Trampoline<T> {
fn call(mut self) -> T {
loop {
match self {
Self::More(f) => self = f(),
@buzztaiki
buzztaiki / rust_box_heap_address.md
Last active October 5, 2021 15:18
Rust の Box とヒープとアドレス

Rust の Box とヒープとアドレス

Box でヒープを確保したときにアドレスとかがどう見えるかを確認してみる。

検証の為に以下のコードを書いた。

#[derive(Debug)]
struct Value(i32);
#[derive(Debug)]
@buzztaiki
buzztaiki / change_first_dow_in_linux.md
Created September 12, 2021 15:19
Linux のカレンダーで週の最初を月曜日にする

Linux のカレンダーで週の最初を月曜日にする

Gnome のカレンダーや util-linuxcal コマンドは週の始まりを locale の設定に従って決めているので、週の始まりを決める個別の設定は存在しない。

/etc/locale.conf や環境変数では「どの国の」基準に従うといった設定しかできないので、標準外の設定をしたい場合はシステム管理のファイルを変えないといけない。

変える場合は /usr/share/i18n/locales/ja_JPLC_TIME に以下を追加する:

first_weekday 2
@buzztaiki
buzztaiki / rust-evdev-uinput-example.md
Last active July 21, 2023 13:25
Rust で evdev と uinput を使ってキーマッパーっぽい事をするメモ
@buzztaiki
buzztaiki / fetch_events.c
Last active August 24, 2021 03:51
libevdev で event をとってくるだけ
#include <libevdev/libevdev.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
/* cc $(pkg-config --cflags --libs libevdev) fetch_events.c */
/* borrowed from https://gitlab.freedesktop.org/libevdev/libevdev/blob/master/tools/libevdev-events.c */
int main(int argc, char *argv[])
{
@buzztaiki
buzztaiki / cannot_use_marketplace_in_vscode_oss.md
Last active August 18, 2021 01:05
Code OSS (OSS 版 VSCode) 1.58 でマーケットプレイスが使えなくなっているのを何とかする

Code OSS (OSS 版 VSCode) 1.58 でマーケットプレイスが使えなくなっているのを何とかする

We cannot connect to the Extensions Marketplace at this time って出てきて使えなくなってる。

解決策

  • VSCodium なら 1.59 に上げる
  • それ以外の場合は ~/.vscode-oss/argv.json に以下を追加する (参考)
    "enable-browser-code-loading": false,
@buzztaiki
buzztaiki / rust_vecopt_to_optvec.md
Last active August 9, 2021 06:11
Rust で Option や Result の配列を Option や Result にする
@buzztaiki
buzztaiki / telepresence-v2.md
Last active August 13, 2021 12:08
Telepresence2 について
@buzztaiki
buzztaiki / defer.rs
Created August 5, 2021 08:49
rust で defer 的なもの
pub struct Defer(fn () -> ());
impl Drop for Defer {
fn drop(&mut self) {
(self.0)();
}
}
fn main() {
println!("before defer");