vscodevimで Ctrl- keyは VScodeのものを使うようにする

IdeaVimとか VSVim(Visual Studio)は IDEのキーを優先するのをデフォルトにできるのだけど, vscodevimはデフォルトだとめちゃ Vimで VScode本来のショートカットキーがほとんど使えない. macOSだと Command keyベースで Ctrlキーのものと衝突しないというの…

C#で簡素な Scheme処理系を書いてみた

github.com peter.michaux.ca を C#でやった. C#で書いたのは最近 Unityにふれることがあるのでその影響. C#らしい部分はほとんどない. むしろ書きづらかったさえある. あとこの前に Common Lisp風の処理系を書いていたのでシンボルと値の扱いに 若干混乱し…

Goで簡素な Lisp処理系を書いた

github.com 最近 Goに触れていなかったので復習も兼ねて. 内容としては下記の本に載っている Common Lisp風の簡易 Lisp. 本では Common Lispで書いているので read周りとか楽にできる部分があるのだけれど, Lisp系言語以外だとそんなわけにはいかないのでそ…

最近読んだ漫画

放課後ていぼう日誌 1 (ヤングチャンピオン烈コミックス)作者:小坂泰之発売日: 2017/10/20メディア: Kindle版 アニメがすごく面白かったので購入. アニメいいけど, 漫画も良かった. アニメでは省かれているけど, 原作では準備の前の説明とか調理前の説明な…

bashでコマンド出力の各行を配列に設定する

bash4 以降は mapfile + プロセス置換を使う方法が標準的(?), スマートっぽい # git remoteを配列 remotes に設定する mapfile -t remotes < <(git remote) echo "${remotes[@]}"

Git commit author, emailの書き換え

stackoverflow.com 意図せず普段使い name, email以外が設定された環境でコミットしてしまった場合の対応 #!/usr/bin/env bash set -e NEW_NAME="NEW_NAME" NEW_EMAIL="new@gmail.com" git filter-branch -f --env-filter " GIT_AUTHOR_NAME='$NEW_NAME' GIT…

epub reader for Ubuntu

技術書典マーケットの本を買ったら epub形式しかなくて, デフォルトでアプリが入っていないってことで適当に探すと Thoriumがマシそうだったのでしばらく試す. www.edrlab.org インストール方法 上記のサイトから debパッケージをダウンロードして, sudo dpk…

リモートワークを始めて買ったもの

フットレスト フットレスト - 高弾力性快適フォーム - 人間工学に基づいたフットスツール - ノンスリップボトム - ソフト取り外し可能カバー - 脚のすき間 - デスクの下のフットレストクッション - オフィスや自宅用メディア: オフィス用品 昔サンワの重々し…

Show smile in prompt if Git commit hash is lucky

git のコミットハッシュにゾロ目が出ると幸せになきもちになる。 git 茶柱と呼びたい— shinichiro hamaji (@shinh) April 27, 2020 Configuration setopt re_match_pcre ## show git branch at right prompt autoload -Uz vcs_info zstyle ':vcs_info:*' for…

zsh completion macOS screencapture command

It is bundled neither zsh sources nor zsh-completions, so I wrote it. #compdef screencapture __screencapture_files() { for ((i = 2;i < CURRENT;i++)) do if [[ $words[$i] == "-p" ]]; then return fi done _files } _arguments \ '-c[force screen…

WFH雑感

完全 WFHを初めて早二ヶ月が過ぎた. 結論からいると成果はそれほど上がっていないのだが, その中で私が試したことについて示す. 今月半ばぐらいからぼちぼち改善しているような気はするので引き続き改善を行っていきたい 早寝早起き生活に変えた オフィスに…

strlen for string literal

Environment Ubuntu 19.10 GCC 9.2.1 clang-9.0.0-2 Sample code #include <string.h> size_t string_const_size() { return strlen("hello world"); } Compile with gcc -O0 gcc -O0 -c strlen.c objdump -S strlen.o strlen.o: file format elf64-x86-64 Disassembly</string.h>…

Build GCC 4.9.4 x86_64 on Ubuntu 19.10

Apply patch libgcc of gcc4.9.4 has issue on newer environment diff -ur gcc-4.9.4/libgcc/config/i386/linux-unwind.h new-gcc-4.9.4/libgcc/config/i386/linux-unwind.h --- gcc-4.9.4/libgcc/config/i386/linux-unwind.h 2014-01-03 07:25:22.00000000…

Minimum setup for node native module development with VScode

It is difficult to develop node native module without IDE. Because V8 API is difficult to use, complicated, often changed. node-gyp can generate Visual Studio solution file but other IDE is not supported well. I show how to setup writing n…

Disable Git-Bash case-insensitive completion

Open git bash or command prompt as Admin Go to C:\Program Files\Git\etc Open inputrc file Change default completion-ignore-case value as below --- inputrc.old 2019-12-13 20:32:51.577869500 +0900 +++ inputrc 2019-12-13 20:32:40.337057100 +0…

zipパーサに関するメモ

仕事で zipファイルを展開せずバイナリのまま構造解析する可能性があったため, zipの仕様を調べていました. 仕様については Wikipedia(日本語版は今ひとつわからなかったところがあったので英語版をメインで見た方がよいと思います)等を参照してください. で…

Emacs実践入門 改訂新版を読みました.

gihyo.jp tomoyaさんから献本頂きました. ありがとうございます. 紙で置いておきたいというのと若干申し訳ないというのもあり紙版も購入しました. 感想 「実践」とつくように実践な内容です. 操作, 設定, 拡張の 3つのパートから構成されていますが, どれも…

転職して 1年と 2ヶ月ほど経った

なかなか忙しい日々を過ごしています. 仕事内容 具体的なことを書いていいのかわからないので雑に書きますが… サーバプログラム(APIサーバ)を Goで書いた 初めての仕事でのサーバプログラムであったが, APIサーバで JSON返すだけなので, そこまで大きな苦労…

激遅回線の改善

東京へ引っ越してきてマンションでのネット契約方法がよくわからず不動産屋からいただいた資料にあった Sonetと契約(100Mbps)したがこれがどうにもこうにも激遅である. 人があんまりいない時間だと普通に使えるんだけど, 夜とか 10年前かってレベルの遅さだ…

macOS Sierraにアップグレードした際のメモ

今更手持ちの macOSを Sierraにアップグレードした. karabinerで IMEのトグルとキーリピートだけ変えていたので使えなくなってしまったので自分が行った対応のメモ キーリピートの変更 知らなかったけど, コマンドライン経由であれば System Preference以上…

Visual Studio(C++)セットアップ

Visual Studioで C++を書く際の設定メモ メニュー等を英語にする 使い方を調べるときなど, Stackoverflow等を見るわけですが, 日本語だと圧倒的に情報が少ないので英語にする. やり方は英語の言語パッケージをインストールして使用言語を英語にすればよい. …

company-cmakeで大文字, 小文字を考慮した補完をする

company-cmake(標準)でディレクティブ(関数, キーワード等)を補完すると全部小文字になる. カーソル前の文字列(prefix)が大文字だろうと小文字に変換されてしまう. プロジェクトによっては大文字でディレクティブが書かれていることがあり, 補完後わざわざ u…

Switch from paco to porg

Ubuntuでソースコードからインストールしたパッケージは pacoで管理していたんですが, Ubuntu16.10で pacoが削除されてしまったため porgへ移行しました. データベースの移管 paco2porgを使う. pacoをインストールして dist-upgradeした場合 paco2porgが自動…

Patch for building Emacs on Ubuntu 16.10

I upgraded my server Ubuntu from 16.04 to 16.10. Then I couldn't build Emacs. I got following error at make Dumping under the name emacs Makefile:736: recipe for target 'bootstrap-emacs' failed make[1]: *** [bootstrap-emacs] Segmentation f…

MELPAコミッタになりました

パッケージのレビューをしまくり, そのパッケージに PRをしまくっていたら,コミット権限をいただきました.(個人的には el-getユーザで MELPAをテスト向けのパッケージぐらいにしか使っていないのですが...). パッケージを MELPAで登録したいけどよくわからな…

libpcre binding of Emacs Lisp

I'm writing libpcre binding of Emacs Lisp. Most of programmers is not familiar with Emacs Lisp regular expression because regular expression function or library of many languages has compatibility of Perl regular expression. I suppose such…

Get key binding from command

Sometimes I want to get key bindings of command for implementing like following command. Please see mini-buffer. (where-is-internal func &optional map ...) where-is-internal returns list of keys of command(func) from map. For example (wher…

visible-bellの画像を差し替える

Emacs 25から Macの visible-bellが画像を表示するようになったのでデフォルトの画像から差し替えてみた. パッチ Emacs25.1-RC1に対するパッチです. diff --git a/src/nsterm.m b/src/nsterm.m index e6a10b8..9a54886 100644 --- a/src/nsterm.m +++ b/src/…

DeNAに入社しました

7月 1日から DeNAで働くことになりました. オフィスは渋谷オフィスです. きっかけは私がストレス溜まりまくっていた時期に Twitterの名前欄に「求職中」と書いていた(非常識な行為で, 前の会社には申し訳なく思います)ときにお声がけをいただいたことです. …

退職しました

本日付で 8年と 3ヶ月勤務した組込み系の会社を退職しました. 退職理由 しんどかった 今のままではこの先やっていけないと思った 一番大きな理由はしんどくて自分のための自由な時間が確保しづらかったこと. 経営的な問題から少人数で多くの仕事をやらざるを…