ずっと、プリント基板を描いて中華の製造業者などに発注するのをやってみたいと思っていました。 マイコンにプログラムを書き込んで何かするのは 昨年やった ので、こんどは受動部品を主に使ったアナログ要素のある回路を作りたくなったのでした。 まず思い…
obs-plugintemplate を使いましょう。
3行でまとめる scarper で貸出資料一覧を取得 Google Calendar API で資料ごとに登録・更新・削除 AWS Lambda + Cloud Watch で定期実行
単純機能の加湿器をマイコンで制御した
ネタバレです。
井の頭線沿線を歩く (1日) 吉祥寺からスタート
プレイ途中だけれどいいところといまいちなところを書きます ネタバレあります。
京王線沿線を歩く Day6 同区間営業キロ程 9.1 km
京王線沿線を歩く Day5 同区間営業キロ程 5.1 km
京王線沿線を歩く Day4 同区間営業キロ程 7.7 km
京王線沿線を歩く Day3 同区間営業キロ程 4.4 km
京王線沿線を歩く Day2 同区間営業キロ程 3.4 km
京王線沿線を歩く Day1 同区間営業キロ程 8.4 km
ブートローダが Linux Kernel を起動するとき、パラメータを渡すことができる。 wiki.archlinux.jp これはどうやって渡しているのか気になって*1、ブートローダのソースを読んだ。 結論としては何のことはなく、C 言語上でアーキテクチャの calling conventi…
低レイヤを知りたい人のためのCコンパイラ作成入門 ステップ11-15を参考にしています。 前回 (5) 識別子を、[a-z] から [a-zA-Z_][a-zA-Z0-9_]* に拡張 参考: ステップ11 コード差分 ローカル変数をスタックフレーム内にどう割り当てるか、パース時に保存し…
低レイヤを知りたい人のためのCコンパイラ作成入門 ステップ9-10を参考にしています。 前回 (4) 次回 (6) 仮完結編 ローカル変数 変数を使うには、代入 a = 1 とそれを使った計算 a + 1 などができないと話にならないので、先に文法に 文はセミコロンで終端…
低レイヤを知りたい人のためのCコンパイラ作成入門 ステップ5-6を参考にしています。 前回 (3) 次回 (5) 単項 +, - 演算子 結合順として乗算 * と項 (...) の間に、単項演算子を入れる。生成規則 unary := term | "+" term | "-" term として、構文解析のロ…
低レイヤを知りたい人のためのCコンパイラ作成入門 ステップ4を参考にしています。 前回 (2) 次回 (4) 構文木の導入 1+2*3 を 1+(2*3) として計算するためには、トークンを左から消費していくだけではいけない。 加減算と乗除算の生成規則を階層立てて定義し…
低レイヤを知りたい人のためのCコンパイラ作成入門 ステップ1-3を参考にしています。 前回 (1) 次回 (3) 整数1つからなる言語 前回の、整数1つを a0 レジスタに入れて OS に返すアセンブリをもとにする。 ソースコード(ここではコマンドライン引数)として…
純粋にコンパイラの構成に興味が出てきたので挑戦。 低レイヤを知りたい人のためのCコンパイラ作成入門 を参考にしてみようと思う。 ターゲットはせっかくなので RISC-V (64bit)。 環境構築 Ubuntu 18.04 先日リリースされた 19.04 を入れてみていたが、壊れ…
sigboost ソフトウェアエンジニア @skb_apos です。 midiglue を作っています。 記事の概要 MIDI Exclusive を濫用応用してファイルを送信するプロトコルを作って実装したら macOS でのみ「周期的に 1バイト欠ける 」問題が起きた ユーザーコード → JUCE フ…
初(にして最後?)の国際学会とやらで登壇したので、半年間何を準備したか文書に起こします*1。 フランス・パリ コンピュータ/インダストリ関係の学会 口頭発表の採用に付随し、提携論文誌(査読付)への投稿権利が得られる というものでした。 6ヶ月前: Ex…
他の方が PC を操作しているのを見てて、頻繁に「それ、そんなに連打する必要ないよ」と言いたくなりますが、こういうのを指摘すると嫌われる[要出典]ので、ブログにでも書いてみよう。 という趣旨です。 検証が面倒なので、以下の環境を前提として書いてし…
事情があり、2月に光回線を契約した。いま住んでいる部屋にフレッツの「光コンセント」があり、光回線はすでに敷設されているようなので、フレッツ網をつかった「光コラボ*1」のなかから1社選び、契約することにした。 ONUが配送され、簡単に接続できたので…
機能を引数にとりたいとき複数の方法があり、 関数ポインタ、 std::function 、などは何度もつかってきたものの、「関数への参照」に出会って少しとまどったので記録します 関数への参照 int func(double x){ return x; } と定義されているとき、func の型は…
Cython で C API との連携をする際、 連続メモリ領域を確保してアドレスを渡すような場面によく遭遇します。 libc.malloc を使わずに*1これを実現するためには、 cdef 宣言できるような型が用意されている 必要があり、それを叶える方法がいくつかあります。…