2024/09/30

NeovimでGitHub Copilotを試す

LLMの技術的成果が日に日に突きつけられて喉元まで迫っているのを感じる今日この頃、さすがにろくに使いこなせないのでは困るため、ついにGitHub Copilotを試すことにした。LLMを応用した検索エンジン(perplexity.ai)は以前から使っていたが、開発環境と密に統合されるとどんな具合になるのかはやはり気になるところである。 僕の開発環境はNeovimなのでそれに合わせてCopilotを設定していく。GitHub Copilotは最低月額10ドルからのサブスクリプションサービスなのだが、契約完了時に送られてきたクイックガイドにNeovim向けのものがあったのには少々驚かせられた。大抵Vim向けの設定は各々が手弁当で勝手に生やしている印象が強かったからだ。なんならNeovimのプラグインも公式で用意されている。 Read more

2024/07/16

NeovimでFlutterの開発環境を構築する

ようやくSwiftに馴染んできたと思ったら次の案件はFlutterだと言う。まだ具体的な時期は決まっていないが今年中の話には違いない。面接で「あらゆる技術領域にチャレンジしたい」などと自信満々にアピールしたことがボディーブローのように効いてきている。 とはいえ、良い話もある。SwiftでのiOSアプリ開発はXcodeの使用が絶対条件だがFlutterはVimで書ける。Xcodeを使うとしたらビルド周りの設定をする時だけだ。その上、よほど込み入った作りでなければ共通のコードでAndroidアプリも開発できるため受託側としては工数が少なく非常に都合が良い。いちコーダーとしては、単純なモバイル案件は全部FlutterかReact Nativeで受ければいいじゃんと感じてしまうがそうもいかない事情があるのだろう。 Read more

2024/06/02

LinuxでNeovimでもSwiftを書きたい!

転職して約一ヶ月。予想に反してiOSアプリ開発案件にアサインされたため業務時間中は常にMacを使っている。皆さんもよくご存知の通り、iOSアプリの開発にはMacが必須だからだ。リモートワークでは貸与されたMacを使うし、実機検証用のiPhoneも傍らに置いてある。半分Appleアンチで知られる僕も今やすっかり林檎林檎している。じきに取り囲まれて林檎シロップ漬けと化すことだろう。 さて、しかし業務時間が終わればもはやこっちのものである。退勤報告をぶち上げた直後に即ディスプレイの入力を切り替えればそこは僕の庭だ。Macの方でもなんとかタイル型WMの挙動を再現できないかとyabaiを入れてみたり、なるべくCommandキーを使わないショートカット体系を目指してみたりと試行錯誤しているものの、どうしたって自分の手に馴染んだ環境は他と代えがたい。 Read more

2024/05/05

IdeaVimと仲良く

フレームワークを用いたJavaの開発案件をVimのみでこなすのは少々厳しい (いや、こうすればうまくやれるとの案があれば教えてほしい! 切実に!) ので、IntelliJ IDEAにIdeaVimを入れてなんとかする。文脈から明らかな通り、IdeaVimとはVimっぽい操作体系を実現するためのプラグインである。 とはいえこれでVimの操作感を十分にエミュレートできるのか、と言われればやはり難しい。そもそも「Vimの操作感」とはVim単体のみならずプラグイン群と独自の設定を含めた個々人に固有の環境を指すため、他のソフトウェアがどんなに頑張ったところでVimでなければVimではないというのが正直な感想だ。しかし僕はプロのグラマーであり、過度の公私混同はプロフェッショナルに反する。 Read more

2024/03/03

皆さん技術書どう読んでる?

小説や漫画は電子でも技術書は紙、という人はかなり多いんじゃないかと思う。アバウトに書き込めるし、付箋を貼り付けられるし、マーカーも引ける。ぺらぺらとめくって雑に読むこともできる。それくらいタブレットでもできると言われても、システム上の制約があるのとないのとじゃ大違いだ。 しかしその一方で、技術書は重い。デカい。よりによって繰り返し世話になるリファレンス的な本ほどページ数も多い。500ページ超えはざらの世界だ。にも拘らず、ひょっとすると一冊では済まないかもしれない。これではもう「ぺらぺらとめくる」などと悠長なことは言っていられない。どう考えたって検索の方が早い。いわゆる書見台の類も、こんなに分厚い本は想定して作られていない場合がほとんどだ。真ん中あたりばかり開くのなら別だけどな。 Read more

2024/02/25

DockerなしでBlueskyのPDSを建てる方法

晴れてBlueskyの連合がスタートした。厳密には、我々はBlueskyの構成要素の一つであるPDS(Personal Data Storage)をセルフホスティングできるようになった。これにより各ユーザは自分のデータを自らの管理下に置くことができる。また、他ユーザの登録を許可しているPDSに移動すれば権威的ではない他の個人にデータを預けられる。 一方、MastodonやMisskeyなどと異なるのは、モデレーションやフィードの生成、固有IDの半永続的な管理を担う上位の構成要素が存在しているところだ。これらは膨大な計算資源を要するため、個人でのホスティングは実質不可能とされている。つまり、PDSは文字通り個人データの保管庫であって、あらゆる制約から逃れられるわけではない。公式のルールに違反する投稿は依然として処罰の対象になりうるし、まだ前例はないが他のPDSとの連合から排除される可能性も考えられる。 Read more

2024/02/10

Blueskyの眺め方 初版

■改訂履歴 2024/03/20 ハッシュタグと日本語話者フィードに関する記述を修正 はじめに 本稿は分散型SNS「Bluesky」の基礎的な理解を促す目的で記された文章である。主に登録開放以降に初めて参加した新規ユーザを対象にしている。この文章を通じてXと似ているようで違うBlueskyの輪郭が朧げにでも伝わると幸いだ。 Blueskyの現状 2024年2月現在、Blueskyは競合SNSと比べて明らかに機能性に乏しく、中には運営陣の方針から将来にわたって実装される見込みが低いものも存在する。まずはそれぞれの違いを下表にて示した。なお、独自機能を持つフォークの実装系は本稿では考慮しない。 Read more

2024/01/21

デスク環境改善Ⅱ

ついに想像の中のキーボードを具現化する時が訪れた。金は大層かかったが満足している。僕にとってキーボードとはもっとも本質的かつ重要なインターフェイスであり、人生でもっとも打ち込んだものの一つに他ならないからだ。そんなふうに自分に言い聞かせれば翌月、改めてクレジットカード明細を目にした際の震えも多少はやわらいでくれるに違いない。 Bakeneko65 Keychron Q2 Proの体験に気を良くした僕は次の段階に進んだ。キーボード基板部分をさらに細かく検討して、ケース、構造、PCB、プレートも吟味する。前回の記事で予告した通り、二台目にはBakeneko65を選んだ。シンプルなO-ringマウントのアルミニウム筐体に、ホットスワップ対応のPCB、プレートはポリカーボネードより固く、ステンレスよりは柔らかい複合素材のFR-4。オープンソースハードウェアでもある。 Read more

©2011 Rikuoh Tsujitani | Fediverse | Keyoxide | RSS | 小説