Tag blog/tech
Articles
2025/12/13
2025/12/14
RustでデスクトップGUI - gpui入門 Part1 (gpuiの仕組み・状態管理の基礎編)
gpui解説記事のPart1。gpuiのレンダリング方法や状態管理について、実際のソースを見ながら詳しく解説します。
2025/12/13
WSL2上では、Vulkanは動くが全て動くわけではない
WSL2では、dzn(Dozen)というMSによるVulkan実装が使える。Arch Linuxでは
2025/12/8
SvelteKitでOG画像を生成する
SvelteKitとsatoriで、SSG対応、Svelteコンポーネントを用いたOpenGraph画像を生成する
2025/4/26
Linuxで顔認証を動作させる
Linuxで、Windows Helloのように色々な所で顔認証を使う方法
2025/4/9
2025/11/5
「Rustが嫌いです。」の感想
https://zenn.dev/miguel/articles/f052de93fc9980
2025/3/29
Rustアプリのメモリ使用量を調査する
主にstatic領域のメモリ使用量を調査するのに有益。embassyの独立したタスクなどのサイズが見れる。
2025/1/14
2025/2/1
BLE Bondigメモ
主にSoftDevice。
2025/1/12
2025/12/4
RemarkでZenn形式のmarkdownを再現する
この記事はブログとZennに同時投稿しているのですが、その際にZenn独自のmarkdown記法を使いたいときがあります。ブログ側ではmarkdownの表示にremarkを使っているのでremarkでそれらを表示したいという趣旨です。
2024/11/11
Embassyのnrf-softdeviceにおけるボンディング
on_bonded ではMasterIdとEncryptionInfo、IdentityKeyが渡される。
2024/8/23
ドライブを自動でwslにマウントするスクリプト
wslではdrvfsを用いてWindowsのドライブをマウントできる。これを自動化してマウント時にwslに認識させるためのスクリプトを書いた。
2024/6/18
2024/6/19
Oracle Cloud ComputingにDebian(などのディストリビューション)をインストールする方法
最近Oracle CloudのarmのFree Tierを使えるようになったので使おうとしたのですが、作成時に選べるイメージに使い慣れたDebianがありません。 オブジェクトストレージにイメージをアップロードすればカスタムイメージを使えるようですが、容量をなるべく使いたくなかったのとインストール時のオプションを変更したいと思い探したところnetboot.xyzというものが使えることがわかったので紹介します。
2024/6/5
Nextcloud MailでGoogle Oauthを設定する
Nextcloud mailでGmailを受信する際に必要なGoogle Oauthの設定
2024/5/24
USB HIDキーボードでメディアキーを操作する方法
USB HIDでは0x80がVolume Up、0x81がVolume Downに割り当てられており、さらに0xEDや0xEEでもVolume UpやDownができそうですが、実はこれらは全て動きません(Windowsでは)。
2024/5/23
DockerでIPアドレスが枯渇した時の対処法
自宅サーバーでdocker-compose upをしたとき
2024/4/26
2024/5/22
RustとEmbassyでKeyballのファームウェアを作った
以前RustでKeyballのファームウェアを書きたい話で、ATMega32U4向けのファームウェアの作成をRustで試みたという話を書きましたが、結論から言うとこれは諦めてProMicro RP2040向けのファームウェアをRustで書くことにしました。
2024/3/24
next buildでENAMETOOLONGが出たとき
generateStaticParams周りで起きやすい。
2024/3/23
RustでKeyballのファームウェアを書きたい話
KeyballのファームウェアはQMKを使ったC言語のものになっています。ですがやはりRust、使いたいですよね?
2024/2/5
2025/9/27
WASMでTypstプラグインを作ろう
最近話題の組版システムのTypstですが、プラグインシステムを備えておりWASMを使って拡張することが可能です。
2024/1/31
Windows Terminal上のNeovimでundercurlを表示する(wslのみ)
最近ついにWindows Terminalでもundercurlの表示ができるようになった(これを書いた時点ではプレビュー版のみ)。
2024/1/9
Typstで最初の段落も字下げする
typstのparにはfirst-line-indentというオプションがあり字下げを設定できるが、このオプションを設定しても見出しの後の最初の段落は字下げされず、さらにそのようなオプションもない。
2024/1/7
Windowsでtauriのscopeを許可しているのに許可されていないと出る
tauri.conf.jsonで
2024/1/2
AndroidとPC間でファイルを転送する方法
今QuestのBeatsaberの譜面をPCから弄るためのソフトを作っているが、そこでQuestのファイルシステムにアクセスする必要があったので色々と検討した。
2023/12/18
2023/12/19
SerdeのDeserializerを実装する(Part2 JSON編)
この記事はRust Advent Calendar 2023 シリーズ3の19日目の記事です。
2023/12/10
Obsidian LiveSyncのセットアップ
今までNextcloudを使っていたが、モバイルでの同期がどうにもやりづらいのでobsidian-livesyncプラグインを使うことにした。 CouchDBを使ってリアルタイムな同期を実現しているらしい。
2023/11/27
Synology NASへのHomebrew(linuxbrew)を使ったNeovimのインストール
Synology NASにいろんなツールをインストールしたいとき(まあ本当はしないほうがいいんですが)、Entwareと呼ばれるツールを使うのが一般的だと思われます。 しかしながら、Entwareはリポジトリが小さく古めなため他に使えるパッケージマネージャがないかと調べていたところ、Homebrewをインストールできるという情報を見かけて試してみました。 このbrewを使ってneovim nightlyをSynology NASにインストールしたいと思います。
2023/11/18
tokioで作ったサーバーをdockerで起動すると終了が遅くなるときの対処法
axumなどを作ってRustでサーバーを作るとdocker compose stopなどが微妙に遅くてイライラだったのでそれを解決する方法です。
2023/11/15
Rustでジョブキュー的なもの
実行するコマンド(EnqueueかClear)をチャネルで受け取る
2023/11/10
セルフホスト音楽サーバ/クライアント
Navidrome
2023/11/9
oggファイルにカバーアートを埋め込む方法
どうやらffmpeg単体ではできなさそう
2023/10/31
lemonadeでssh先のneovimとクリップボードを共有
lemonadeを使えばTCP通信を用いてクリップボードを共有できます。
2023/10/29
Self HostedなFirebase的なもの
プライベートなFaaSとか簡単なデータベースとか(いわゆるFirebase代替)が欲しかったのでセルフホストできるものを探してみた
2023/10/15
2023/10/19
Quest1→Quest3乗り換え感想
ついにQuest3発売!ということで長らく使ってきたQuest1から乗り換えたのでQuest1と比較しての感想を書きます。
2023/9/24
Gitea Runnerのコンテナにホストのフォルダをマウントする
Gitea Actionsで生成したファイルをホストにコピーしたい時用
2023/9/20
Windows Insider デメリット
将来の自分がまたwindows insiderにしたいと思ったときのためにinsiderにすると起きる悪いことを書いておく
2023/9/10
2023/12/18
SerdeのDeserializerを実装する(Part1)
Serdeで任意の形式のファイルなどをデシリアライズする際にはDeserializerを書く必要があります。この記事では基本的なDeserializerの書き方を解説します。 正直自分もあまり理解していない部分が多々あるのですが世に出ている情報が少ないので書くことにしました。
2023/9/4
TraccarのデータをH2からMySQLに移行
Traccarを5.9にアプデしたら起動しなくなった。どうやら今までの内部データベース形式はサポートされなくなったみたいです。
2023/9/1
prisma-client-rust入門
prisma-client-rustはJavascript向けのORMであるprismaをRustから使えるようにしたものです。実はprismaのコア部分はRustで書かれているためこういうものも作りやすかったんじゃないかと思います。
2023/8/27
Rustのserde_jsonでエラーの発生箇所を知る方法
serde_jsonではパースエラー発生時にどのプロパティでエラーが発生したのかわからない
2023/8/22
telescope.nvim拡張の作り方
telescope.nvimの拡張(ソース)の作り方のいい文献があまり見つからなかったのでメモ。
2023/8/17
Gitlab, Gitlab Pages, Gitlab Runnerをリバースプロキシの背後で動かす
GitlabではSSLの設定を一切やらずにリバースプロキシに任せてGitlabとPages,Runnerを動かす。 GitlabでSSLの設定をすると証明書が二重に必要になったりして、めんどい。
2023/8/17
Synology NASの80・443ポートを解放する
このスクリプトを使う(DSM 7.2-64570で確認済み)。 このGistのトップにあるスクリプトよりコメントにあるやつのほうが使い勝手がいい
2023/8/14
Nextjs App DirectoryでSSGとsearch paramsを使うと遅くなる?
デカめのリストを持ち、search paramsでソートの順番を指定できる感じのアプリを作っている(https://example.com/?order=descみたいな感じ)。 すると、なんだかstateを変更後にURLが変更されるのが遅い気がした。 もしかしてと思いネットワークリクエストを見ると… router.push()する度にServer Componentsがfetchされている! いやまあ確かにSSRではそれが正しいのだがSSGではどんなリクエストを送ろうが返ってくるものは同一のはずなのでこれは意味がない。 しかもなんだか動作もおかしくて、例えばソート順を変更すると瞬間で再ソートは行われるのだが1秒後にURLが変更されると同時にソート順がまた変更される。この再ソートはソートが不安定によるもののはずだが、そもそも2回ソートが行われるのが何故なのかがわからない・・・
2023/8/9
Sandboxieで一部のmsiがインストールできない
msiインストーラ実行中に「Config.Msi」がどーのこーのみたいなのが出る
2023/8/8
Sandboxieの基礎解説+Sandboxieでアプリをポータブル化して持ち運ぶ方法
アプリをポータブル化するやつってなんか昔流行ってたけどなんか最近聞かない気がしますね(CameyoとかPortableAppsとか)。 そんな時代ですがアプリをポータブル化して持ち運んだりしたいなーと思い調べたところSandboxieを使うのが一番まともに使えそうな感じがしたので記録しておきたいと思います。
2023/8/8
Synology NASの共有フォルダ暗号化・ボリューム暗号化について
Synology NASでは
2023/7/17
Synology NASをサーバーとして運用してみたメリット・デメリット
自分はSynology製のNASのDS720をNASとして以外にLinuxサーバーとして動かしています。運用し始めてから数ヵ月たって色々わかってきたので普通にLinuxサーバーを建てるのと比べてどんなメリット・デメリットがあるのかまとめようと思います。
2023/7/12
scoopのディレクトリを移動する方法
例えばC:\scoopからD:\scoopに動かしたいとする
2023/7/3
remarkのプラグイン例
remarkプラグイン用テンプレート
2023/7/3
2023/7/4
プレーンなmarkdownをmdxに変換
markdownのhtmlにclass属性が含まれていたりstyle属性が文字列だったりするとmdxとして読み込めなくなるのでそれを変換する。
2023/7/2
Gitea Actionsがいつの間にか動かなくなってた
ある日Gitea Actionsが動かなくなっているのを発見。Act Runnerのログを見ると
2023/7/2
docker-composeでGitea + Gitea Actionsのセットアップ
こんな感じのdocker-compose.ymlで良い
2023/7/1
Github Actionsでリポジトリのコミット日時が最近の時のみ処理を実行する
マイナーな内容すぎる
2023/7/1
Synology NASからアプリが消滅し再起動したら起動しなくなった件
ある日DSMを開くとインストールしたはずアプリのが消え去っていた
2023/6/30
Androidで二つのVPNを同時に使う方法
※Root必須。non-rootでやる方法はおそらく存在しない。また、一部の機種でしかできない。
2023/6/30
SynologyでWireguardクライアントを使う方法
synology-wireguardを使う。
2023/6/30
VPNを繋いだときだけDockerの中から特定のサイトにアクセスできない!
タイトル通り。ホストからはどのサイトにもアクセスできて、Dockerの中でもcurl google.comは通るがcurl github.comは通らないなどの謎現象に出会った。
2023/6/28
CSSでヘッダー、ナビバーを持つコンテンツを作るにはどうするのが良いか?
的な感じのやつ。
2023/6/28
SSGできるフレームワークの選定
言わずと知れたReact製フレームワーク
2023/6/28
2024/2/25
便利ツール
Windows多め。なるべくオープンソースのものを選びたい。
2023/6/27
Rustのtargetフォルダを軽くする
cargo-sweepを使う
2023/6/27
2023/6/28
VPNサービスについて
セキュリティ的には一番信頼できる気がする
2023/6/27
ゲーム画面高画質化
Magpie
2023/6/27
2023/6/30
ディスク暗号化について
やはりプライバシーのためにはディスク暗号化が必要なんじゃないか
2023/5/26
RustでSQLからコードを生成するcornucopiaについて
SQLからRustのコードを生成して安全にデータベース操作ができる。恐らくGoのsqlcと同じ感じなんだと思う。
2023/5/1
Neovimを再起動するコマンドを作ったら結構よかった
Neovim盆栽をしていると設定をリロードしたい時が結構というかかなりあります。Vimscriptであればsource ~/.vimrcとすればまあ大体うまくいっていた気がするのですがLuaではそうもいきません。 Luaのrequireのキャッシュを消してやればもう一度読み込めるとかは言われていますが世の中のLuaプラグインはsetupを2回以上呼んだりするとおかしくなったりする物が大抵なのでこの方法でもあんまりうまくいきません。
2022/11/25
2023/2/14
ActivityPub互換のものを作りたい
RustでMastodonやMisskeyのサーバーと通信することをとりあえずの目標に
2022/10/27
Firefoxをいじる
Floorp というブラウザを最近見てFirefoxに興味が湧いたので調べてみるメモ
2022/8/25
wsl2のarch linuxでstable diffusionをjupyter labで動かす
n番煎じstable diffusion環境構築
2022/3/5
Chrome ExtensionのwebRequestでヘッダーを書き換える方法
悪いことをするのにOriginを消し去りたかった
2022/2/13
Rustアプリにwasmerを埋め込む
dioxusを使ってwebでもdesktopでも動くアプリを作りたい
2022/1/10
2022/1/11
NixOS on wsl
https://zenn.dev/nyarla/articles/7e56547058bc5190fb83
2021/12/27
2023/10/20
Rust
気づきとかいろいろ
2021/12/25
tauriでWindows上でproductionビルドでのみ画像が表示されない(fetchエラーが発生する)
誰の役にも立たない気がするけどハマったのでメモ
2021/10/24
Windows Subsystem for Android(wsa)いろいろ
wslのようなノリでAndroidサブシステムをwindowsにインストールできる 公式ドキュメント: https://docs.microsoft.com/en-us/windows/android/wsa/
2021/10/3
SKKメモ
TCP/IPでソケット通信
2021/9/4
2023/4/28
neovim luaのパフォーマンス計測方法
最初は下の方法2を使用していましたが、profile.nvimという素晴らしいプラグインが出ていたので今はこれを使用するのがおすすめです。
2021/8/21
2024/3/14
Neovim builtin LSP設定入門
<div class="message-warning"> Neovim 0.11においてLSP関連の大きな変更があり、この記事の内容は若干古くなっています(古いというだけでこの記事の内容自体は有効であり、コードも動くはずです)。 最新の設定を試したいという方は記事の更新をお待ちください </div>
2021/7/24
solidjsを試してみる
なのでこんなスクラップを見るよりこっちを見ましょう https://www.solidjs.com/docs/latest/api?lang=ja
2021/5/15
2022/5/7
nvim-lspでtsconfig.jsonとかの補完をする方法(JSON schema)
SchemaStore.nvim というプラグインが出てきました。 基本的にこの記事で説明されていることをやってくれてさらに定期的に更新されるのでこのプラグインを使うのがおすすめです。
2021/4/30
Arch Linux on wsl・wslg環境構築
wslgがきてメインの開発環境にLinuxを使う機運が高まったので環境構築したメモ。 せっかくなので(?)Arch Linuxを使うことにする
2021/3/28
2021/10/23
Typescriptでneovimの設定を書く!
vim を使い始めて 2 週間ほどたったある日、せっかく neovim を使っているんだし設定が少ない今のうちに init.vim を init.lua に書き換えようと思いこちらの文章を読んでいたところ、最後にこんなものがあるのに気づきました。
2021/3/14
2021/3/15
Vim初心者がNeovimを試す
VSCodeを使っているとコマンド操作できることでも覚えるのがめんどくさくてついマウスでポチポチしてしまうので自分を律したい
2021/2/7
2021/10/23
React Native for WindowsでWindowsネイティブ機能を呼び出す
React Native for Windows(以下 RN4W)のプロジェクトを作成してそこに C++を使って Windows ネイティブの機能を追加します。
2020/12/16
Oculus Quest版Beat Saberのmod開発について調べたこと
https://github.com/riku1227/BSQuest-QuestDarthMaul こちらのmodをbeatsaberの最新版に対応させたいと思った(なお結局できてない模様) だが基本的なことはちょっとわかったのでまとめる