2020-01-01から1年間の記事一覧

Advent Of Code 2020を終えて

memo.sugyan.com yosuke-furukawa.hatenablog.com 今年始めて参加した Advent of Code 2020年版を終えました 結果は上記のような感じ. 各問題 100位以内に解ければポイントがもらえるのですが, 100位なんて程遠すぎて結果は 0点. これは早くできたなと感じて…

この半年でやったこと, 継続していること

studio3104.hatenablog.com を見て, leetcodeがキリがいいところだったので, 私も真似して書いてみる. そもそも私は 40年近く生きてきて何かを継続してできたということがほとんどない. あったとしても若かりし頃のゲーセン通いぐらいで勉強に関してはおそら…

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…