投稿者「mod_poppo」のアーカイブ

裏銀座縦走(2013年)

今年(2020年)は紀行文を書くほどの山には行かなかった(低山には行ったが)。なので過去の登山を題材にして紀行文を書こうと思う。

今回書く登山は2013年のものだ。山行記録はつけていたが、7年も前のことなので、記録に書かれておらず記憶が頼りの部分の記述の解像度は落ちている。

これまで筆者がブログに書いてきた登山はどれも単独行だったが、7年前の当時は筆者は大学の学部生で、登山サークルに所属していた。

過去の登山記事:

続きを読む

自作SML処理系で 1 + 2 がコンパイルできた

2年ほど前からSML処理系を自作している。それがこの度、「動作するターゲットコード (Lua) を出力する」という重要なマイルストーンに到達したので記念に記事を書いておく。

この処理系については、2018年9月に開催された勉強会「ML Day #2」で進捗報告のLTをしたこともあった。(あれから2年も経ってまだこの段階かよ!)

続きを読む

技術書典9に「浮動小数点数小話」を出します

昨日からオンラインで「技術書典9」が始まっています。昨今のアレで今回はオンラインです。だめぽラボでは1年ぶりに技術書典に出展しています。

今回は既刊「Haskellで戦う競技プログラミング」の改訂第2版を出したほか、新刊「浮動小数点数小話」を出します。

続きを読む

QuickCheckで競プロ用Haskellコードをデバッグする

競技プログラミングでは、提出したプログラムが誤答(WA)だった場合に「どのような入力について」答えを間違えたのか(参加者には)分からないことが多いです。

こういう場合はエスパーするなり眼力でソースコードをぐっと睨んだりするとバグが発見できる場合もありますが、初心者にはそういうのは難しいでしょう。

この記事では、HaskellのQuickCheckというライブラリーを使って、「ランダムにテストケースを生成して素朴な解と一致するか」を自動で検証させます。QuickCheckはテストに失敗した場合に「どういう入力例に対して失敗したか」も教えてくれるので、デバッグにも役立ちます。

この記事は筆者が先日YouTubeに上げた動画を文章で書き直したものです。動画で触れられなかった・触れるのを忘れていた補足説明みたいなものも若干含んでいます。この記事と動画、両方見ていただけると嬉しいです。

続きを読む

自作キーボードキット(Cassette42)を組み立ててみた

ダイヤルのついた小型キーボード(マクロパッド)があったらある種のアプリケーションの操作に便利そうだな〜〜と日頃から思っていた(日頃からそういうアプリケーションを使っているというわけではない)。

遊舎工房で物色すると、ロータリーエンコーダーの載ったマクロパッド(のキット)はいくつかあった。

その中から、Casette42というやつを選んで買ってみた。ロータリーエンコーダーが2個あるのでお得感がある。

続きを読む

M5Stackで赤外線リモコンの信号を表示させてみた

ちょっと赤外線リモコンの信号を読み取りたいな〜〜って思うこと、ありますよね。

というわけで、先日買ったM5Stack + IR unitで、簡易的なやつを作ってみました。パルスの幅を読み取れるわけでもなく、目で見て楽しむ以上の実用性はありません(ですが、「目で見て楽しい」のって大事ですよね!?)。

続きを読む

Raspberry PiでI2C接続キャラクターディスプレイを制御する/CPU温度の表示

この間買ったRaspberry Piは基本的にヘッドレス運用(キーボードもディスプレイもつながない)をしている。

ただ、CPUの温度などの、安定動作に関わる情報はリアルタイムで確認できると良い。なので、小型のLCDを取り付けてそこに表示させてみることにした。

続きを読む

Raspberry Pi 4を買った

最近、Raspberry Pi 3を自作HaskellライブラリーのAArch64での動作確認用に使っていた。だが何かとスペックが物足りないので、Raspberry Pi 4の最近新たに出たメモリ8GBモデルに環境を移行することにした。

色々あった結果、ラズパイ本体だけではなくストレージやOS(ディストリ)も変わった:

旧環境

  • Raspberry Pi 3 Model B (メモリ1GB)
  • /: microSD 16GB
  • OS: Ubuntu Server 18.04 LTS 64bit

新環境

  • Raspberry Pi 4 Model B (メモリ8GB)
  • /: USB接続SSD 250GB
  • OS: Ubuntu Server 20.04 LTS 64bit
続きを読む