詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

NISAは「ニーサ」なのか「ナイサ」なのか

[B! togetter] アメリカのVTuberさんが『日本人はカスコー(Costco)のことをコストコって言うんやで 発音かわゆす』みたいなお話をなさっていた「tを読まないんか」 このブコメに「NISAも英語読みならniceのようにナイサと呼ぶべき」というものがあり、それは…

『関数型ドメインモデリング』はF#の本なのか?

関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう 日本語版出版に際し、訳者の猪股さんにご恵贈いただきました。ありがとうございます! すでに原著の『Domain Modeling Made Functional』を読んでいて、そのときの感想…

macOSのVisionフレームワークでOBSの映像からテキストを抽出するWebSocketプロキシ

激安HDMIキャプチャーボードを買ってから、ときどきゲームプレイの録画・配信をしている。OBS Studioというソフトウェアがデファクトらしく、自分もこれを使っている。 便利なことにOBSにはWebSocketで操作できるインタフェースがあり、JavaScriptやPythonか…

gonoouterval: 内側のスコープの値に気づかず外の値を使っていたら警告するlinter #Go

タイトルを書くのに苦労した。つまりこういうことです。たとえば例示的なコードとして、データベースへのトランザクションを発行してくれるラッパー的な関数をイメージしてもらえれば: RunTransaction(db, func (tx Execer) error { db.Exec(...) // ← 本当…

全ポケモンの名寄せデータ POKEMON_ALL.json を作った

ポケモンプログラミングしてるといくつかの有名どころのサイトからデータを収集することになる。具体的には以下のようなサイト。 ポケモン徹底攻略 言わずと知れた、ポケモン情報の総本山。 PokéAPI ポケモンのデータをRESTで提供してくれるサイト。最近はGr…

固有名詞をつけるとき

ソフトウェアエンジニアリングにおいて大切なのは、人間のことをのぞけば名付けだと思っている。言葉がなければ世界は混沌としたままだけど、そこに名前をもたらすことがものごとを切り分け、ひとつの秩序をもった視点をつくる。この秩序は唯一絶対のもので…

シンプルに運用できるかっこいいスコアカード!

人間は数字が増えていくことに純粋な喜びを感じるところがあるようですが、この性質を利用して子供にやる気を出させることはできないかと、バーチャルなスコアカード(ポイントカード)を作ってみた。イメージはDuolingo的なゲーミフィケーション。 実際に動…

DELE A1に合格した

Geoguessrで強くなりたかった(最近やってないが)のと、あとラテンアメリカ文学が好きで読んでたことがあったのと、ほかにもいろいろタイミングがあって、去年からスペイン語の勉強をはじめていた。途中のマイルストーンとしてDELE A1に合格したので記録。 …

Apache BeamでSlackのエクスポートデータをBigQueryに投入する

同じことをEmbulkでやったネタはこちらです: SlackのログをBigQueryにインポートする(手動) - 詩と創作・思索のひろば Slackワークスペースの管理者であれば、ワークスペースのデータをエクスポートできる。このデータをBigQueryに投入したら面白いかもし…

Angband(4.x系)を日本語化している話

こんにちは。この記事ははてなエンジニアAdvent Calendarの24日目の記事です。昨日はid:todays_mitsuiさん、明日はid:d-haruさんです。いいタイミングで風邪を引いてしまったので、今年も趣味の話です。 ローグライクといえば最近は定義がけっこう広がってき…

Goのテンプレートを静的型チェックする

Goでちょっとしたウェブアプリケーションを書く際、依存を減らしたい気持ちでGoのhtml/templateを使う場面もないわけではない。とはいえ、HTMLを組み立てるのも最近はReact/TypeScriptに慣れきってしまっているので、実行してみるまでテンプレートが正しいか…

ISUCON13に参戦した(カラアゲネイティブ、105,751点、15位) #isucon

追記: 15位でした ISUCON13 まとめ もう何度目か忘れたけど、チーム「カラアゲネイティブ」(Songmu、toricls)でISUON13に参戦。 リポジトリはこちら。 GitHub - motemen/isucon13 toriclsくんが午前中不在であることがわかっていたので、開始前に集まってG…

思い出の本 - Win32 APIオフィシャルリファレンス

あなたのキャリアに影響を与えた本は何ですか? 著名エンジニアの方々に聞いてみた【第三弾】 - Findy Engineer Lab - ファインディエンジニアラボ 寄稿しました。これを書くにあたって、なにか思い出に残ってる本はあるかなー、と考えて最初に思いついたの…

Scrapboxで今週をハイライト

仕事でもプライベートでも週ごとにテンポを作って暮らしているので週番号で暮らしがち。 しかし今が2023年の何週目かっていうのはまったくわからんので、ScrapboxのUserScriptでなんとかしている。 ./2023W46 などへのリンクをハイライトするかたち。 これを…

uConsole Kit R-01を手に入れた

組み立て式のミニパソコン? ことuConsoleが注文したことすら忘れていたころに届いた。今年の1月に注文していたらしいので9ヶ月ほどかかっていた模様。ちゃんと届いたのでよかった。 組み立て時の注意などは https://raspida.com/get-uconsole が参考になる…

0.9999.toLocaleString() => '1'

0.9.toLocaleString() // => '0.9' 0.99.toLocaleString() // => '0.99' 0.999.toLocaleString() // => '0.999' 0.9999.toLocaleString() // => '1' ちょっと驚いたので調べた。 Number.prototype.toLocaleString() - JavaScript | MDN Intl.NumberFormat AP…

Gitでマージ済みのブランチを一括削除する

こうしてます。 git for-each-ref --merged HEAD --no-contains HEAD 'refs/heads/**' --format '%(refname)' \ | while read s; do echo "$s $(git rev-parse "$s")"; git update-ref -d "$s"; done git branch を使ったやり方が一般的なようだが(Google調…

Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた

Go言語でテストを書く際のベストプラクティスとして、テーブル駆動テスト(Table dirven tests) というのが推奨されている。ようはデータとふるまいを分離しましょうという話で、正直わざわざ名前をつけるようなものでもなかろうという気持ちもないではない…

Vimmer、Visual Studio Codeを使う

まだ汚れを知らない若者だったころに「プログラムはね、これを使って書くんだよ」と言われて以来Vimは友達だと思ってずっと(15年くらい)使ってきたが、最近は、とくに新しく何かを書くときにはVSCodeを使うようになってきた。コードを書く間隔が広がってき…

7sProキーボードを組み立てた

meishi2キーボードを作ったのち2年ほどかけてErgoDashを完成させたのだけど、使ってみるとめちゃくちゃ使いづらく、Column Staggeredなレイアウトは自分に合わないということがわかった。検分してみるとQを薬指で打っていたりと、指使いの癖があるらしい。わ…

C/C++のコードを静的解析する(clang-tidyのカスタムチェック)

C/C++のソースコードに対して、独自のlintを行いたくなるシチュエーションもときどき発生しますね。 この問題については、現代ではClangにLibToolingというライブラリがある。これによって、Clangの資産を使ったC/C++の静的解析・リファクタリングツールを作…

リーダーシップについて

リーダーシップというと、カリスマ的な魅力をそなえた人物が輝かしいビジョンを指し示し、大衆を率いていく……というドラマチックな光景を思い描いてしまうものだが、実地で求められるリーダーシップとはそう��うもの(だけ)ではない。というか、そうであっ…

漢字のラストN画クイズを作った

正式名称をなんというのかわからないが! 「二字熟語のそれぞれの漢字の最後のN画だけ描かれたものから元の熟語を当てるクイズ」です。 たとえばこういう問題。使用している漢字は小学一年生レベルです。 ⼉二 答えは…… 先日 簡単ですね! というウェブアプ…

2022年、毎週ブログを書いた

ハッピーホリデー! これははてなエンジニアアドベントカレンダー2022の 25 日目の記事です。昨日は id:yutailang0119 の WEB+DB PRESS Vol.132 特集2 「iOS 16最前線」に寄稿しました #wdpress でした。海賊スタイル、いい命名ですね。 さて掲題の通り、2022…

2022年に作ったもの16(セルフレビューあり)

2015年にも同じ趣旨の記事を書いていた。このときはこんな感じで毎年20個くらいはなんか作るんだろうなとかイノセントに考えていたけど、そうは問屋が卸さず、大して生み出せてない年が続いてきたが、今年はそれなりに作ったんじゃない? と思えたので、振り…

HuggingFace Transformers を AWS Lambda で動かすサンプル

前の記事 の最後に載せていたライブデモは AWS Lambda にデプロイしていた。公式の解説記事(Hosting Hugging Face models on AWS Lambda for serverless inference | AWS Compute Blog)だとモデルを EFS にキャッシュさせることになっているけれど、Docker…

ポケモンタイプ相性チェッカをSvelteで作り直した

タイプ相性チェッカとは昔作ったこれ。 ポケモンタイプ相性チェッカ(SV対応) なのだけど前回の記事が2014年で大昔だった。このあととくにメンテもせず、「サンムーン対応」、「剣盾対応」……などと新タイトルにあわせて title タグだけ更新する日々を送って…

GPT-2でブログ記事のタイトルをTogetterまとめ風にする「面白いのでやってみて」

オレ定義だけど Togetter まとめ風というのはこういうやつ。 散歩で急にシロクマと会っても食べるのは肉だけにしたほうがいい「肝臓1gに含まれるビタミンAが致死量を超える」 - Togetter まとめタイトルの終わりに誰かのツイートの引用を挿入する、という形…

自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた

低レイヤを知りたい人のためのCコンパイラ作成入門 まさに低レイヤのことが分かっておらず、以前から気になっていたこの本。取り掛かってみたところ思いのほかスイスイ進められて、勢いに乗ってセルフホスト(自分が書いたコンパイラで自分自身をコンパイル…

Chrome仕事術

いろいろ工夫した結果、最近 Chrome さばきが良くなってきた気がするので、やっていることを書いておく。 タブが必要になる時刻でグループ化しておく 忙しい一日の予定を立てる際に、あらかじめ必要な資料・会場をタブで開いて時刻を打っておくと便利。終わ…

はてなで一緒に働きませんか?