• About Cosense
  • Help
  • Log in
ikr7
Card
  • Display by
  • Card
  • Table
Modified
  • Sort by
  • Modified
  • Created
  • Last visited
  • Most linked
  • Most viewed
  • Title
  • ikr7
  • リンク集

    おもしろいブログやツイッターなどのリンクを集めて巡回するためのページ


    ブログなど


    https://slacknotebook.com/


    https://lowreal.net/


    https://de0.hatenablog.com/


  • ほしいものリスト

    次に外出したとき or 通販で買うもの or いずれほしいもの


    書籍については ほしい本 に別途


    カッターマット


    本棚を補強する木


    靴


  • Scrapboxに対するスタンス
  • ほしい本

    買ったらstrikeする


    ピダハン - 「言語本能」を超える文化と世界観


    ゾミア: 脱国家の世界史


    ぼっち・ざ・ろっく全巻


    ゲームエンジン・アーキテクチャ


  • 死ぬまでにやりたいことリスト

    ルーヴル美術館に行く


    民衆を導く自由の女神の本物を見る


    オルセー美術館に行く


    大英博物館に行く


    スミソニアン航空宇宙博物館に行く


  • アイデア

    ↓アイデアリンク集


  • 偏光カメラを作る
  • ホーチミン 2025
  • スヴァールバル 2024
  • SSH 先で Gemini CLI を使う方法

    Gemini CLI が出た https://github.com/google-gemini/gemini-cli が、Google アカウントでログインしようとするとブラウザを開こうとするだけで、認可ページの URL を画面に出してくれないので、SSH のようなターミナルオンリーな環境から使うことができない。


    すでにいくつか issue が出ているのでまあそのうち治るだろうけど、はやく使いたかったので以下の手順を実施した


  • 薄い引き出し収納を探す

    体積あたりの価格を調べよう


    IKEA Alex


    https://www.ikea.com/jp/ja/p/alex-drawer-unit-on-castors-dark-grey-00588892


    14,990円 / (60 * 42 * 7 * 6) = 0.14 円/cm3


    マルゲリータ Drawer A3 19段


  • DuckDB-WASM

    自分だけが使う Web アプリを小さく作る で、デカい JSON をブラウザで色々検索したいみたいなことがあり、ナイーヴにやるよりもステキな方法として DuckDB-WASM を使ってみたいという思いが、あります


    使ってみた、かなり良い感じです


  • Deno で JSON を gzip 圧縮して保存

    Denoで、といいつつ Deno らしさはあまりないけど


    それが Deno のいいところでもある…


    このくらいのことが標準APIだけでできると、うれしい


    Compression Streams API を使っています


    await ReadableStream.from(JSON.stringify(value))


  • ComfyUI 環境構築

    ComfyUI は Stable Diffusion などの画像生成モデルをノードベースの UI で色々カスタマイズしながら動かせるソフトウェア。


    環境構築について、なんかあまりプログラミングに明るくなさそうな人が奇怪な note を沢山したためているので、Python/PyTorch がある程度わかる人向けの手順をまとめておく


    前提


    何かしら Python が動く


    システムのやつでも pyenv とかでもいい


  • PC ケースを 3D プリントする
  • Arch Linux で Ollama

    これだけで GPU で動いて便利


    pacman -S ollama-cuda


    systemd 用のユニットファイルもついてくるけど、とりあえず遊ぶだけなら適当に ollama serve で起動しといたほうが楽かな。


    #Arch_Linux #llm


  • xsel でクリップボード操作

    Mac の pbcopy / pbpaste が欲しいというだけ


    pbcopy


    echo hello | xsel -bi


    pbpaste


    xsel -b


  • 3D プリンタで Cycloidal Drive を作る

    YouTube を見ていたらそういう動画がたくさん出てきており、やったみたくなったのでやる


    試しに Dカットされたシャフトに3Dプリントをはめる を作ってみる


    #3dプリンタ


  • FeatureScript

    OnShape のスクリプティング機能。既存の Extrude とか Revolute みたいな Feature もこのスクリプトによって書かれており、そのコードを読むこともできる


    OpenSCAD 的にけっこう色々と書いていくことができるのでドシドシ使っていきたい


  • ローカルの PostgreSQL にあるテーブルをできるだけ安く毎日 BigQuery に同期したい

    #postgresql #bigquery #google_cloud


  • ベアリングを 3D プリントする
  • 加工方法に基づく形状の制約
  • Cloud Pub/Sub の Payload Unwrapping で直接 webhook を叩く
  • gzip もっと気軽に使う

    gzip / zcat でもうほぼテキストファイルと同等みたいに扱えるなという感覚になってきた


    なんかのプログラムの標準出力を保存するとき


    $ some_command > result.txt


    ってやるけど、これを


    $ some_command | gzip > result.txt.gz


  • 大判用カメラレンズを Sony のミラーレスカメラで使う
  • Arri-Standard マウントのレンズを Sony のミラーレスカメラで使う
  • Python で光学設計
  • 複雑な pattern を描いてると CAD 遅くなる問題
  • knurling を CAD でモデリングする
  • entr

    entr


    ファイルの変更を監視してコマンドを実行してくれるコマンドラインツール


    http://eradman.com/entrproject/


    監視するファイル名を標準入力から流す


    これが便利で、 ls とかでパターン指定してまとめて監視できる


  • 高嶋ちさ子と松島トモ子の違いの覚えかた

    息子のDSを折ったのが高嶋ちさ子


    ライオンに首を折られたのが松島トモ子


  • GitHub Actions で Tailscale を使う

    なんでそんなことを…という感じは否めないけど、GitHub Actions 内から自宅のサーバで稼働しているウェブアプリにアクセスしたいみたいなことがあったため、Tailscale の Tailnet を経由してこれを行うことにした


    さいわい公式で用意されているのでこれを使う


    https://github.com/tailscale/github-action


  • 特定の国の地名に特徴的な接尾辞

    #geoguessr 攻略情報


    まあ有名どころの都市名は覚えればいい話なんだが、めちゃくちゃローカルな村落の名前が一定の共通点を有しているケースがある。


    以前注目したもの:


    デンマークには Astrup という地名が2つある


    オランダの地名における -dam という接尾辞


  • プロモーションのメールをワンクリックで購読解除できないサイト

    skeb


    Patreon←意外だ


  • スクレイピングによって取得したデータを RDB に保存するときはあんまり正規化しないほうが良い

    という気がしている


    (すごくざっくりした話として)スクレイピングによって取得するデータは、アプリケーション側で正規化されたテーブルがあって、それらを JOIN したレコードまたはレコード達が返ってきていることが主


    で、ある程度規模が大きくなると取得してきたデータは RDBMS に入れたくなるのが普通だと思う


    たとえば、掲示板サイトからこういう JSON をスクレイピングで取得したとする


    {


  • 中〜大規模な Web スクレイピング・クローリングを行うときに気をつけていること

    ざっくりと、数万〜ページくらいを取得したいケースを想定している


    最重要:サイトに負荷をかけすぎない


    ○○秒空ける、ではなく、どの程度のリクエスト頻度であれば自然か?を考えるのが重要


    同じサイトであっても、HTML ファイルを Apache が返しているだけなのか、裏で PHP がごちゃごちゃやってるのか、とか


    検索結果のページとかは裏で比較的重い処理が走っているだろうと推測できる


  • 時間を決めて、テキストによる同期コミュニケーションがしたい

    リモート会社員を1年やった結果思いついたアイデア


    「この曜日のこの時間は Slack のこのチャンネルに集合してテキストでリアルタイム会議する」ということをやりたい


    いいところ


    ログが残る!(そして検索できる)


    議事録を作りやすい


  • 乗り換え案内のためのグラフ構造
  • ブラウザ JavaScript で LAN に存在するホストの IP アドレスを列挙する
  • Dカットされたシャフトに3Dプリントをはめる
  • LAN 内のサーバにインターネットからアクセスする

    ツイキャス API をいじっていて、外部からの WebHook を受け取りたいみたいなことを思ったが、さすがに自宅の HTTP サーバを全世界に公開したくはないのでなんとかしましょう


    おおまかな流れは以下のとおり


    VPS を借りる


    TCP トンネリングを使って VPS 上のポートと LAN 内のマシンポートをつなぐ


    ngrok 的な


  • Superset

    いわゆる BI ツールというやつ


    気付き


    Chart の設定時、JavaScript の数値の限界( Number.MAX_SAFE_INTEGER )を超える Filter が "SIMPLE" モードでは設定できないので、その場合は CUSTOM SQL を使う必要がある


    もう BigInt とか無条件で使っていい時代であるはずだしPR 出したい気持ちがあるが、しかし、、


  • Google Calendar で Bad Apple!! 再生できそう

    #アイデア


    オリジナルの動画は 6500 フレームくらいあるらしい


    1フレーム1週間あるので、6500 / 52 = 125 年くらい


    余裕じゃん


    API あるのか?


  • 2022年のアメリカ・ジョージア州で見つけたストリートビュー
  • YouTube の動画タイトルから【】を削除する

    YouTube の動画のタイトル、【どうでもいいこと】本題【どうでもいいこと】みたいな構成になっていることが多いので、どうでもいい部分を消すスクリプトを書いた


    0.25秒インターバルくらいで実行しまくればだいたい気にならなくなる


    for (const e of document.querySelectorAll('yt-formatted-string#video-title')) { e.textContent = e.textContent.trim().replaceAll(/(^【.+】(?=.))|((?<=.)【.+】)/g, ''); }


  • Raspberry Pi Zero にキャラクタ LCD つけてシェル操作したい

    尋常じゃなく小さい UMPC を作りたいという #アイデア


    可能か?


    Arduino か何かでシリアルコンソールを自作すれば良い気がする。


    RPi からのシリアル出力をディスプレイ信号に変換して LCD を制御し、


    キーボードからの USB HID 入力をシリアル信号に変換して RPi に送れば良いのでは


  • PostgreSQL のホスティングサービス

    自宅に置いておくと面倒なことも多く、誰かがホストしてくれてるやつを使いたいという気持ちに


    自宅でも稼動させつつ冗長にみたいなものも目指したい


    要件


    できるだけ安く


    ストレージで 10〜30GB くらいあるとうれしい


  • 大洗・札幌 2023-2024
  • 広島・愛媛・高知 2024
  • ワシントン・ニューヨーク 2023
  • 野生のプロ
  • pgweb

    https://github.com/sosedoff/pgweb


    PostgreSQL 用の簡素な web クライアント。便利


    結果を Google スプレッドシートに貼りたいので Run Query したときに TSV をクリップボードにコピーする機能を付けた


    Linux で動かして local address で Windows から見るみたいなことをすると非 secure context になりがちなので、Clipboard API が使えなかったら古の execCommand にフォールバックさせるように、、、


  • 氷見・金沢 2022
  • 枕崎・福岡 2023
  • ビルン・プラハ・パリ 2022
  • 外で YouTube (Live) を音声だけ聞く

    なぜそんなことがしたいか?


    データ節約


    ギガがね


    概要


    自宅の PC で yt-dlp で YouTube につないで音声だけ読む


  • 草
  • PostgreSQL の ROW_TO_JSON() でエスケープが2重にかかってしまう問題

    PostgreSQL で COPY(SELECT ROW_TO_JSON(foo) FROM foo) TO '/output.jsonl' みたいな感じでテーブルを JSON Lines にダンプしようとすると


    {"str":"hello\\nworld"}


    みたいな感じでバックスラッシュによるエスケープが2重になってしまう。本来は


    {"str":"hello\nworld"}


    になってほしい。


  • PostgreSQL で Discord Snowflake を Timestamp に変換

    SELECT TO_TIMESTAMP(CAST((CAST(1290868000286678077 AS BIGINT) >> 22) + 1420070400000 AS FLOAT) / 1000);


    これでいいのか…?


    キャストと割り算で精度が落ちたりとかしてない…?


    #PostgreSQL


  • 誤った言葉が誤ったままわりと浸透しているみたいなやつ

    こういうのを集めたい


    https://x.com/search?q="記述トリック"&src=typed_query&f=live


    #誤り


  • VALORANT

    LoL とかで有名な Riot Games が運営する FPS ゲーム。CS シリーズとか AVA みたいなジャンルのラウンド制のアレ。いわゆる爆破。


    感想


    めちゃくちゃむずい。まだ20時間くらいだけど、たぶん500時間くらいやらないと何もわかってこないんだろうなという感じ


    1ゲームが長くて疲れる


    これまでの学びなど


  • スクレイピング
  • ERROR: could not resize shared memory segment "/PostgreSQL.902483226" to 33554432 bytes: No space left on device

    PostgreSQL にデカめのデータを入れて重めのクエリを投げて遊んでいたら上記のような怒られが発生した


    なんかメッセージ的にディスクっぽいなと思ったら /dev/shm が足りないらしい


    Filesystem Size Used Avail Use% Mounted on


    tmpfs 7.8G 25M 7.8G 1% /dev/shm


    足りてるが…


  • tmux をユーザセッションの外から起動しておく

    便利、これです https://wiki.archlinux.jp/index.php/Tmux#systemd_.E3.81.A7.E8.87.AA.E5.8B.95.E8.B5.B7.E5.8B.95


    [Unit]


    Description=Start tmux in detached session


    [Service]


    Type=forking


  • 任意のプロセスの完了を待つコマンド

    経緯


    すごい時間がかかるコマンドの実行をしたとき、終わったら通知したいみたいなことがある


    子プロセスなら wait でいいんだけど、そうじゃないこともあり…


    pid 12345 is not a child of this shell で怒られる


    $ super_time_consuming_command; notify 'done' とかすればまあいいんだけど、忘れがちですよね


  • Zsh を起動する .bashrc

    chsh しろよという気もするけど、 NIS で /etc/passwd を管理していると Zsh がないサーバにログインしようとしたときに死ぬので、ログインシェルを Bash にしつつ、可能なら Zsh に切りかえるという運用が大事になってくる。


    いい加減 NIS とかやめなさいよという気もするが、、、


    if [ "$TERM" = "dumb" ]; then


    echo -n


    else


  • vibratory tumbler を作る
  • 可視光で CT スキャナを作る

    CT スキャナは通常 X 線を使うが、すごく明るい可視光を使えば半透明の物体の CT スキャンはできるのではないか?


    #アイデア


    用意するもの


    ステッピングモーター(& ドライバ)と回転ステージ


    ハロゲンランプ


  • 権限管理の実装

    むずかしそう


    簡単そうな例:Slack


    平民、Admin、Owner、Primary Owner の 4 種で固定


    難しそうな例:Discord, Google Cloud, AWS


    ユーザが任意のロールを作れる


  • 不動産サイトで広範囲を探す

    HOME'S


    URL 末尾に /list をつけると全国検索になる


    https://www.homes.co.jp/chintai/list/


    https://www.homes.co.jp/kodate/chuko/list/


    SUUMO


  • 鎖かたびらを作る
  • ウェブサイトの変更を検知する

    そういうサイトはいくつかあるが、


    HTML が 1 バイトでも変わったかどうか


    描画されたスクリーンが何ピクセル変わったかどうか


    みたいな雑なのしかなくて、あまり使い物にならない。CSS セレクタなどを使って、もうちょっとインテリジェントに検知するというソフトウェアがほしい。 #アイデア


    どういうのを検知できたら嬉しい?


  • ブログ Astro / Cloudflare Pages 化

    https://kumpei.ikuta.me/


    やるぞ!


  • Cloudflare Pages Functions & GitHub なウェブサイト

    Functions で GitHub に置いた HTML を読んで返すというのはどうか #アイデア


    適当に編集画面も作れるのでは


  • Mesh2D

    Canvas (2d) にメッシュを張って変形させようみたいなやつ


    https://github.com/fserb/canvas2D/blob/master/spec/mesh2d.md


    所感:疑似的な布シミュレーションとかできそうだ


    #javascript


  • ブラウザで MP4 をつくる

    WebCodecs API を使うと H.264 や VP8/9 のチャンクを作ることができる


    https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API


    でも、この API は WebRTC でバシバシ映像をやりとりするために用意されており、ファイルに出力して再生したいみたいなことは考えられていない…気がする


    まああたりまえ


    なので、 MP4 とか AVI みたいなメディアコンテナの生成はサポートされていない


  • ブラウザ JS だけで MP4 をデコードする

    ブラウザ JS だけで PNG をデコードする のつづき。


    2024-09 追記


    https://x.com/voluntas/status/1838931379549073841


    なんでブラウザで MP4 なの?って思うと思うんですが、WebCodecs があるので、うまくやれば「ライセンスがクリーン」な状態で、動画変換をブラウザかつローカルで完結する仕組みが作れると思っています。そしてそれをやっていこうと思います。


  • Firefox release notes for developers 読書感想文

    全部読んで知らなかった機能を発見する会 の一環です


    https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases


    英語版じゃないと3バージョンくらい古いことがあるぜ!


    132


    131


  • map で async/await する

    #javascript


    const result = await Promise.all(array.map(async (elem) => await f(elem)));


    シーケンシャルに実行したい場合どうすんだろ、、、


    たとえば HTTP リクエストを含むなどしており、サーバに短期間に大量のリクエストが飛ぶのを抑制したい場合、など


    みんながんばってるな https://www.google.com/search?q=promise+sequential


  • 駅・路線オープンデータ

    乗り換え案内のためのグラフ構造 を考えるにあたって駅とか○○線とか時刻表みたいな情報を無料で収集したいという気持ちが強くなった


    https://ekidata.jp/


    そこそこ揃っている


    駅から駅までの沿線距離(直線じゃない)が無い


    時刻表とかもない


  • セキュリティとプライバシーが相反するケース→ちがった

    ブラウザフィンガープリントを記録しておき、未知のブラウザからのアクセス(ログイン)について追加の認証(SMSとか)を要求する、みたいなの色々なサービスで行われてるけど、プライバシーを犠牲にしてセキュリティが高められている例な気がする。


    いやちがうか。そもそもフィンガープリントの収集をやめて、既知だろうが未知だろうがあらゆるログイン試行に対してSMS認証を要求すればいいところを、毎回コードを入れさせるのは"面倒だから"(→そして、コンバージョンが下がり、得られるはずだった金が得られなくなるから)ブラウザフィンガープリントを照合して簡単にログインできるようにしてる、


  • メールによるパスワードリセットは危険

    …という気がしている。


    関連:実質的なパスワードを増やすことは難しい


    「メールでパスワードをリセットできる」というのはある意味でユーザの利便のためにある機能


    ここで注意したいのは「アカウントの作成に有効なメールアドレスが必要」というのとは別の話題だということ。


    機械的に大量にアカウントを作られるのを防ぐ


  • Tailscale 経由して Minecraft してるとハングする

    なぜ


    何をしている?


    Tailscale ネットワーク内の VPS に Nginx が動いており、 Stream Module で TCP パケットを自宅サーバにプロキシしている


    挙動


    しばらくは普通に遊べるが、突然落ちる


  • GSSAPI

    https://www.rfc-editor.org/rfc/rfc2743.txt


    SOCKS5 プロキシサーバを実装する における疑問


    なに?


    よくわからないが、 SOCKS5 でサポートする必要があるのでわかりたい


  • CORS / fetch でローカルネットワークにアクセスする

    UserScript とかで LAN 内のサービスにアクセスしたいことがある


    Firefox ではレスポンスに Access-Control-Allow-Origin: * さえ入れておけばアクセスできるっぽい


    もちろん * じゃなくてちゃんとした値を入れるべきです


    しかし Chrome では専用の preflight request が飛んでくるのでちゃんと処理する必要がある


    ルータとかに CSRF されるのを防ぐためっぽい、なるほど


  • SOCKS5 プロキシサーバを実装する

    RFC https://www.rfc-editor.org/rfc/rfc1928


    日本語訳 http://srgia.com/docs/rfc1928j.html


    Rust の練習に書いてみている


    わからんポイント


    BND.ADDR / BND.PORT


  • Shape Detection API

    Google が先導して策定している、画像から物体を検出する API 。Web API のリファレンスを全部読んで知らなかった機能を発見する会 の活動中に見付けた。


    目をトラッキングして ARuFa 化するデモ https://clutter.ikuta.me/detection/


    今のところ


    顔


    バーコード


  • IndexedDB で全文検索
  • キャンプを乱交に変える
  • プロジェクトルートまで戻るコマンド

    を作った。roはrootの略(適当)


    ro() {


    test "$PWD" = "/" && return


    test "$PWD" = "$HOME/Workspace" && return


    test -d .git && return


  • 5D Chess with Multiverse Time Travel

    チェスの次元を拡張したゲーム


    攻めの戦略


    基本的には過去のキングにチェックをかけていく


    過去の駒を動かすことはできない(つまり、過去キングが動いて逃げることができない)


    そのため、チェックをかけている駒を取るか、キングと駒の間に入って邪魔をするしかない


  • カルマン渦列の観察
  • Minecraft のサーバを自動で再起動したい

    最近 Minecraft に Modpack を入れて遊んでいるが、さすがに 300 以上 Mod が入っているだけあってけっこう不安定。落ちたら再起動するようにしたい


    やりたい


    落ちてたら再起動する


    コンソールからアタッチできる


    方針


  • 折れ線をなめらかにつなぐアルゴリズム
  • インタフェースとしての風船

    風船、「おおまかな形状を保ったまま大きさが変わる物理的な物体」というのは比較的稀有なので、なんかできないか?


    #アイデア


  • ディザリング
  • うなぎ完全攻略
  • ブラウザで MRI を見る
  • Discord匿名化

    ol[data-list-id='chat-messages'] > div:has([class^='blockedMessage']),


    span:[class^='username'],


    img[class^='avatar'],


    img[class^='replyAvatar'],


    div[class^='typing']


1006 pages
  • ikr7
  • リンク集
  • ほしいものリスト
  • Scrapboxに対するスタンス
  • ほしい本
  • 死ぬまでにやりたいことリスト
  • アイデア
  • 偏光カメラを作る
  • ホーチミン 2025
  • スヴァールバル 2024
  • SSH 先で Gemini CLI を使う方法
  • 薄い引き出し収納を探す
  • DuckDB-WASM
  • Deno で JSON を gzip 圧縮して保存
  • ComfyUI 環境構築
  • PC ケースを 3D プリントする
  • Arch Linux で Ollama
  • xsel でクリップボード操作
  • 3D プリンタで Cycloidal Drive を作る
  • FeatureScript