転職して3年

みなさんお元気ですか、と1年前と全く同じ挨拶で始めることにします。 さて、わたしは自分のチームを持ち、必死に奮闘する毎日です。プレイヤーの役割もまだ担っているので、様々なレベル感の業務に立ち替わり向き合っている状況です。 プライベートでの変化…

転職して2年

早い。みなさんお元気ですか。なぜか自宅から遠く離れた地のコメダ珈琲店からお送りしています。 最近買ったiPad miniにHHKBをつなげております。それなりにmy new gear...しています。 iPad Proも所持していますが、持ち運ぶのは断然こちらがいい。マンガや…

転職一周年

ironoir.hatenablog.com もう一年ですか。早いですね。概ね、いい感じです。 職場環境の安定感 現職で感じる一番はこれ。といっても、ビジネスは目まぐるしく動いていて、ありがたいことにすごい勢いで伸び続けていますし、在宅勤務しつつも忙しさはなかなか…

抽象化が得意なのではない、具体化が嫌いなだけだ

要旨を抽象化すると? タイトルの通り。 具体的な説明 という冗談はさておき、本日感じたことです。わたしはと物事を抽象的に考えることが多く、学生の時には哲学をほんのちょっぴりかじったりしましたし、現在はプログラミングでの「よりよい設計」に心血を…

新しい四半期と自作WebAssembly進捗など

早くも6月 きづいたら、梅雨ですらなく、暑い。みなさんいかがお過ごしですか。わたしはようやく、長期プロジェクト後のGWを経てようやく回復してきました。 wasmiq github.com 進捗は出ているよ 前回は4/1でしたね。自作のWebAssembly処理系ができたー、と…

WebAssembly処理系完成、ブログを再開します

嘘ではありません。 3月後半、忙しくなってブログをお休みしていました。落ち着いたので再開します。年明けから毎日書いていましたが、特にルールとして決めていたわけではありません。多少休むことがあっても継続することの方が大切だと考えているので、潔…

『「継続性アーキテクト」という生き方』を読んで

朝から311に思いも馳せましたが、記事の内容は無関係です。 tech.bm-sms.co.jp 個人的にとても刺さりました。わたしの頭の中をうまく言語化してくれています。 システムアーキテクチャの全体像を描ききれるような能力を身に着けたいということ。それから、シ…

Pythonのimportの仕様を確かめる

お仕事中に話題になったもので。 mod1.py def func1(): print('mod1.func1 called') print('mod1 imported') main.py from mod1 import func1 from mod1 import func1 func1() 結果 mod1 imported mod1.func1 called ですね。importを複数回行っても、最初の…

みんなのキャッシュになったり検索基盤になったりプロキシになったりしています

プロジェクトリーダーという役割のことです。もう何ヶ月もコードを書かず、仕様も決めない、という状態が続いています。大切な役割だという自覚があっても、ずっとこの仕事ばっかりやるのはちょっといやかもな、いや、まあこれはこれで面白い部分もあるけど…

「人に頼む技術」をだいぶ読んだ

ironoir.hatenablog.com まだ読んでいるのか、と言われそうですが、まだ読んでいます。大部分を読んでみて、そして少し具体的なことなどと絡めて思うところなどを。 前も書いた気がしますが、ソフトウェアエンジニアなんて、他人と協調するのが苦手な人間の…

ソフトウェアエンジニアとお笑い芸人

最近はプログラミングスクールのCM動画をよく見かけます。業界の外の知り合いから話を聞かれることもたまにあります。でもわたしには、全然その界隈の知識もないし、調べようという気にもならないんですよね。すでに自分が長いこといる業界に新しい風が吹い…

Algebraic property graphの定義

ironoir.hatenablog.com 221日前、と聞くとずいぶん昔のようにも感じますが、Algebraic property graphについて書いています。とはいえ見直してみると具体的な中身にはあまり言及していないみたいなので、踏み込んでみます。 論文については上記の記事からも…

型のことを知りたい

ironoir.hatenablog.com 昨日はこんな記事を書いたものの、全然知識がないなあ、もしくは忘れ去っているなあ、ということで関係しそうな本を探してみることにしました。 まず、ドンピシャ(死語)なやつがありました。 booth.pm よく考えたら、分厚いわけで…

型変数をどう表現するか

ironoir.hatenablog.com WebAssemblyのValidationを実装しています。初めてで拙いながらも実装方法を考えているところです。WebAssemblyの命令のうち、一部はpolymorphicなものがあって、value-polymorphicな命令とstack-polymorphicな命令があります。stack…

システムの柔軟性はプログラムだけで担保しなくともよい

業務的にはいきなりの大波乱を乗り越えて、これを書いています。 例によってあまり詳細なことは書けませんが、急な要件変更があったということです。ただ、今回は予想以上に早く計画を立て直せたので、その点ではちょっと自慢してもいいのではないかと思って…

レガシーコードを目の前にして

Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち(電子書籍のみ)www.lambdanote.com www.oreilly.co.jp WebAssemblyの話ばかり書いてきましたが、現実の業務では、入社以来、ずっとレガシーコードの問題と向き合っているように感じています。…

WebAssemblyのstack polymorphicとは

ironoir.hatenablog.com 上記の通り、WebAssemblyの型検査を書いています。その中でstack polymorphicという見慣れない言葉が出てきて、それがなんなのか、またその部分をどう実装するのか考えている最中、という話です。 stack-polymorphic: the entire (or…

WebAssemblyのvalidation(型検査)を書いている

WebAssemblyの仕様には、しっかりした(Soundnessが証明された)Validationが、まるまる一つの章をかけて定義されています。自分が作っている処理系では、興味はあったんですけど今まで実装は後回しになっていました。しかしよくよく見るとこれは型推論のロ…

WebAssemblyのEmbedderからのインターフェース一覧

WebAssemblyは単体で完結するよりは、ホスト環境に埋め込まれて使う用途が想定されているようです(ただし、最近はそれだけでもない)。例えば、JavaScriptが典型的なホスト環境だと言えます。specには、それらのEmbedderとWebAssemblyのインターフェースが…

WebAssemblyでクロージャ実現にWeak<T>を使ってみる

ラノベのような雰囲気のタイトルになってしまった。 順番にいきましょう。 RustのWeak<T> RustのWeak<T>に関しては、公式がすばらしい文章を日本語で出してくれています。本当に感謝しかないです。とにかく読みましょう。 doc.rust-jp.rs WebAssemblyのクロージャ </t></t>…

WebAssemblyのRuntime Structureを思い出す

一回インタプリタを作ったんですが、結構前なので忘れてるんですよね。というわけで仕様を再確認します。 WebAssemblyのVMはスタックマシンで、内部は大きくStoreとStackの2つに分かれます。 The store represents all global state that can be manipulated…

Slackアプリ周りの概念の整理

ironoir.hatenablog.com Slackアプリについて勉強を続けていたんですが、少し時間が空いてしまったので基本的な構成を忘れてるんですよね。というか結構ややこしいんですよね、概念が。というわけでせっかくなのでPlantUMLでまとめてみました。 まず、Slack…

PlantUMLでJSONを可視化する

シンプルなテキストファイルで UML が書ける、オープンソースのツール そのままです。結構衝撃でした。 概要 「以下のような、UML以外の図もサポートしてます。」という下に一覧があるんですが、これUMLで書ける種類よりも多いんですよね(UMLは9種類)。 JS…

プログラミングするときも、マネジメントするときも、そんなに変わらない

お休み前なので、元々調べてたことを放り出して、雑文を書きます(むしろ駄文?)。 わたしはプログラミング大好きですが、だからと言っていわゆる「マネジメントの何が面白いのかわからない」という人間ではありません。そもそも出自が学生時代からバリバリ…

WebAssemblyのload命令のロジックを確認してみる

作ってみたいものが決まりつつあるので、WebAssemblyの方に戻ってきました。 メモリ周辺の命令を実装したいので、まずはloadからじっくりと読み直しています。 仕様上、命令の実行時の動作が書かれているのは4章です。仕様上、複数の命令の動作がまとめて一…

MathMLのmfencedで集合の外延表記をつくる

先日にひきつづき、MathMLと戯れています。 ironoir.hatenablog.com 今回は以下のMathML数式組版入門という書籍を読んでいます。以前に技術書展で現地購入したので、かなり前ですね。次に東京で現地開催されるのはいつの日になるんでしょうか。ただ、書名で…

MathMLを使ってみている

TeXでいいじゃん、と感じられたあなた。まあ、確かにそうです。 ただ、家に以前買ったMathMLの書籍があるのと、それからプログラミングで取り扱うには、明示的なタグ構造を持ったMathMLの方が扱いやすいかな、という思いもあって調べてみることにしました。…

よい技術者リーダーとよい部下であること

www.oreilly.co.jp 先日のことで引き続き考えていたテーマがあって、今まで読んできた書籍には何か書いてあるかな、と思って再度手を取りました。 この書籍には、タイトル通り、IT技術者がマネジメントに関わっていく際の心構えが段階的に書いてあります。先…

タイガーブックと等式推論

www.shoeisha.co.jp 次、どうしようかなということでふらふらと彷徨っているシリーズ続行中です。言わずと知れたタイガーブック。特に脈絡もなく手に取って、眺めています。 15章の「関数型プログラミング言語」で、興味深い記述を見つけました。 純関数型(…

「人に頼む技術」を読んでいたら

www.tokuma.jp 別に書籍紹介のブログを目指しているわけじゃないですが…実体験も含めてこの本の意義を感じた、という話です。 この本はまだ読んでいる途中ですが、前半では、ものごとを頼まれている側は決して嫌なことばかりではない、という話が展開されて…