Reduce GitHub actions workflow duration using brew on macOS runner

This article is based on my own experiences, and it can not be best way. So please comment and share something you find. TL;DR Skip brew update if possible Use HOMEBREW_NO_AUTO_UPDATE to skip automatically update in brew install Use HOMEBR…

constexpr function で引数を unused にする

bool を返す constexpr function 互換性の関係で引数を省略できない 実装的には、引数は使用せず常に false を返す C++11 の constexpr function なので (void)param; を置いて回避する手は使えない Doxygen に怒られるので仮引数の型だけ残して仮引数をコメ…

2020私的5大ニュース

【第1位】頸椎椎間板ヘルニア & 変形性頚椎症 まぁ、今年はこれに振り回されました。 春先から左肩〜肘〜手首〜親指にかけて痛みとしびれがあって、 COVID-19とかもあってだましだまし過ごしてたのですが、 7月に思い切って整形外科へ行って判明。 投薬、カ…

Windows 向けの GitHub Actions で PATH を通すとき

はじめに scoop をインストールする Action を作っていてハマったので、ちょっと備忘録 そんなにちゃんと調べてません (滝汗) TL;DR 普通の Windows 形式のパスなら何も考えずに $GITHUB_PATH のファイルに追記すれば OK 例(shell: pwsh の場合): echo C:\Us…

Preview in plantuml-mode on macOS Emacs

I encountered 2 issues to preview in plantuml-mode on macOS Emacs. I resolved them but please tell me if you have better solution. TL;DR Upgrade your Java runtime to resolve CoreText warnings to stdout Disable headless option For plantuml-…

scoop でインストールした plantuml と plantuml-mode on Emacs でプレビューできない件

Windows scoop でインストールした plantuml Emacs の plantuml-mode http://plantuml.com/ のオンライン変換を使うのではなく、以下のような設定でローカルで変換する (setq plantuml-executable-path (executable-find "plantuml")) (setq plantuml-defaul…

emacs --daemon + emacsclient で起動したときも、daemon 使わず起動したときも期待通りの設定で動くようにする (途中)

途中なんだけどメモっておかないと忘れるので。 やりたいことは… Emacs の起動高速化したい、 emacs --daemon が使えそう 今すでにある「環境によらず同じ初期化ファイル」というのはキープしたい emacs --daemon + emacsclient も、単に emacs を起動しても…

emacsclient でファイルを開かずにフレームを開く

Emacs の起動高速化の関連でちょっと調べてた件。 普通に emacsclient コマンドを使うとファイルを指定しないといけないんだが、 $ emacsclient -c でフレームだけ開ける。 終了を待ち合わせないで良いなら $ emacsclient -c -n で OK。 これを使って 「Ubun…

Doxygen で internal な実装群を隠す

隠すやり方がいくつかあるんだけど、 どう隠したいかで使うべきコマンドが違うみたい…。 遭遇したケース 通常、 source file local な class やメソッドに対する Doxygen コメントとかは Doxygen の設定の EXTRACT_〜 を適切にすれば出力されないはず。 私が…

Dependency Walker のいま

Windows で exe/dll の依存関係を追跡するツール Dependency Walker のいまについて。 ちょっと調べれば情報に行き当たるので、 大して書くこともないんだが…。 Dependency Walker は Visual Studio の配布物からは独立して、単独ツールになったっぽい www.d…

gcovr や Doxygen の HTML を自動的に deploy する

やりたいこと GitHub のリポジトリ上のものを種に生成される静的 HTML サイトを自動的に deploy する Doxygen で生成した HTML gcovr で生成した Coverage report の HTML ... GitHub Actions で actions/upload-artifact を使えば ディレクトリ単位の成果物…

四捨五入の実装って地味に面倒なんじゃないか? という話

C言語だと round() とかが整備されたのって C99 からじゃないかと思うんだが、 まぁまぁ詳しい事情は置いておくとして 二十年くらい前までって四捨五入って当たり前に個々に実装してたような記憶がある。 で、その実装もたいてい 「0.5足して切り捨てればい…

「本籍地はむやみに動かさないほうが良い」という私見

いきなり免責 私、法律の専門家でもなんでもないので、間違っていてもなんの責任も当然とれません 参考にするのはいいけど自己責任でお願いします 私見的結論 本籍地を動かすのは必要最低限にしとくのが良い 戸籍にまつわるよもやま 戸籍の請求 必要な戸籍の…

二要素認証のコードが覚えやすいような気がする件

きっかけ 最近テレワーク続きなこともあって二要素認証を使う機会が多いんだが、 あの数字の羅列が結構覚えやすい数字のことが多い気がしてちょっと考えてみた。 前提 数値は完全な乱数だと仮定する 二要素認証のアルゴリズムで偏ってることとかは考慮しない…

C++ テンプレート引数で与えられる正の整数2つの比較

C++ で、正の整数2つをテンプレート引数で渡して is_greater_eq<lhs, rhs>::value みたいなことがしたくて、 数週間悩んだ挙げ句、下記のようなインチキなコードを思いついたのですが、 もっとマシな方法ってあったりするんだろうか…。 #include <iostream> template <int lhs, int rhs> struct is_</int></iostream></lhs,>…

Cities Skylines 路面・路上交通の地味な比較

バニラでの話。 交通機関 1編成の最大乗客 2車線 4車線 6車線 専用軌道 地下 駅 車庫 一般車との並走 バス 30 ○ ○ ○ × ○ 不要 要 あり 路面電車 90 ○ ○ × ○ ○ 不要 要 あり モノレール 180 ○ ○ × ○ ○ 要 不要 なし 車庫 バスの車庫は路線までいくら遠くても…

ゲーセンミカドのときメモ系ゲーム実況で出てくるキャラ通称一覧

通称 キャラ名 由来 パンク 藤崎詩織 恋愛ゲームヒロインなのに髪の毛の色(赤)がパンクなことから 肉便器 虹野沙希 運動部マネージャー → 肉便器 スタンド使い 清川望 ぱずるだまにおいてゲーセンを水没させていることから 矢尾一樹 紐緒結奈 ジャンク屋好き…

std::numeric_limits<T>::is_exact ??

std::numeric_limits<T>::is_exact の言わんとしていることがサッパリ分からない…。 cppreference.com とかじゃ分からず、 ISO も読んでみたが情報量としては大して変わらない。 static constexpr bool is_exact; 19 True if the type uses an exact representa</t>…

signed char に対する単項演算子

以前 int16_t に対する += とかでもハマったんだが、 符号を反転させる単項演算子 - とかでも int への格上げが起きるようで template <typename T> T my_abs(T n) { return ((n >= 0) ? n : -n); } みたいなコードは T が signed char とかのときはコンパイルが通らない</typename>…

2019年末特別企画: シューティングゲーム ポラックスを工学?する - Engineering analysis for POLLUX -

ゲーセンミカド さんのシューティング動画でおなじみ? 韓流シューティングゲーム「ポラックス POLLUX」。 動画内でも触れられているように数々の不可解な挙動がある。 それらについてソフトウェア・エンジニアリング的に 「どういった設計・実装をすればそう…

short の複合代入演算

-Werror=conversion とかコンパイルオプション厳しくしちゃうと short n = 1; const short m = 2; n += m; って通らないの!? prog.cc: In function 'int main()': prog.cc:10:7: error: conversion from 'int' to 'short int' may change value [-Werror=con…

git で「特定のサイトのみ proxy を通さない」設定

なんかちょっとハマったんだけど、 例によってちゃんと調べてないので鵜呑みにはしないで欲しいw 例えば proxy の内側にいる 普段は proxy の内側にあるオンプレミスの git サーバーを使ってる 時々 GitHub にアクセスしたい みたいなときに git config --g…

cppcheck が template あたりで syntax error を出す(誤検知する)場合

以下、あんまりちゃんと追っかけてないので信じないで欲しいがw [include/fixedpointnumber_conversion-priv.h:31]: (error) syntax error 特にこれ以上メッセージ出ないやつ。 どうも途中のバージョンであったバグらしくて、 結論的には cppcheck を最新に…

キー配列の異なるクライアントからリモートデスクトップ接続

minosjp.hatenablog.com 昨日書いたことは間違っちゃいないんだが、もうちょっと続きがあることが分かった。 接続先でサインアウトしておく 接続元で接続時にサインインする 接続元でサインアウトせずにリモートデスクトップを切断する こうすると、このあと…

英語キーボードのWindowsに日本語キーボードのWindowsからリモートデスクトップ接続するとき…

接続先 = リモートデスクトップのサーバー側 (英語キーボード) 接続元 = リモートデスクトップのクライアント側 (日本語キーボード) とすると… 接続先でログオンしたままのとき 接続元は英語配列になる (= 接続先のキーボードに基づく配列になる = 操作して…

Windows 環境に Scoop で ImageMagick をインストールしたら…

ImageMagick の convert コマンドを使おうと思って PowerShell とかから単に convert -append foo.jpg bar.jpg baz.jpg とかすると Windows にもともと入っている CONVERT コマンド (FAT - NTFS 変換するコマンド) が起動したりするので注意。 微妙に分かり…

after-init-hook と emacs-startup-hook の違いを読み解く

当たり前だけど、「どちらも hook なのだけど名前が違う」ってことは「起動されるタイミングが違う」ってことだ。 で、 Startup Summary - GNU Emacs Lisp Reference Manual を見ると after-init-hook は 17. emacs-startup-hook は 25. でそれぞれ呼び出さ…

涌井の2億円は低い評価なのか軽く検証してみる

この辺↓から主な先発投手の年俸を抜き出してみる。 http://www.sanspo.com/baseball/professional/data/10/salary/top.html ホークス 杉内 3億5000万(5000万↑) 和田 3億3000万(1億2000万↑) ライオンズ 石井 1億9000万(→) 岸 1億2000万(→) 帆足 1億1000万(240…

なんというゆとりw

気持ちは分からんでもないが、これはさすがにカジュアル化ではなく、ゆとりだろうw まあ開発陣も認識してる通りゆるい部分ときつい部分の調整が上手く行ってないのは事実なんだよな。 編: 難易度調整はどういったところですか? 今村氏: 初期ゾーンの「隠…

iPod バージョンアップ時のエラー対策

自分がいつもアップデートのときにやってる方法ですが、コレで何がおきても責任は取れません。備忘録なのれす。 結論的には「エラーが起きても iPod 側には触れずに、エラーが出るたびにひたすら iTunes 再起動→復元を繰り返す」です。 iOS 4.2 が出たのを浅…