Bucketheadの好きな曲リスト
曲名をあまり覚えていないので音楽と曲名が一致し次第追記していく
Factory T
Redeem team
View Masters
#Vimium
mapKey J <s-nop>
mapKey K <s-nop>
mapKey b <s-nop>
mapKey t <s-nop>
2025年からは強い言葉で記事を書くのをやめたい。
某Slackコミュニティにて、その時話題だった記事について、強い言葉であったため読むのをやめたというコメントが書かれていた。
私はその逆で、強い言葉で記載されているほど記憶に残りやすく面白いと思える記事が多いと考えているため、私も使えるときは強い言葉で記載するようにしていたが、強い言葉が使われていることを理由に読むのをやめるタイプの人もいることを知ってからはなるべく強い言葉や攻撃的な感情表現は控えようと考えるようになった。
#Rust
名前空間を限定することによる衝突回避、型チェック
const _: () =
feat: put parts of the generated code in a private namespace (const _… · audunhalland/unimock@6d95bd4 https://github.com/audunhalland/unimock/commit/6d95bd467a0aeb0b1356d47d1988d1daa9f23752
VirtualBox - ArchWiki https://wiki.archlinux.org/title/VirtualBox#Installation_steps_for_Arch_Linux_hosts
VirtualBox - Manjaro https://wiki.manjaro.org/index.php/VirtualBox
Error:
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing '/sbin/vboxconfig' as root.
kbwo on X: "リモートワークって直接的な生産性を求めているというより労働力市場の競争力のための福利厚生的な意味合いが強いという認識" / X https://x.com/__kbwo/status/1867801812654551214
BigTechがリモートワークをやめるべきと判断したんだから他の企業もそうなるのは必然だ、という論調には異を唱えたい。
平時の生産性を求めるだけならリモートワークをやめるべきだという意見も分かるが、採用上の強みを考えると本当にそうか?と思う。
TL;DR
抽象化された要求を解釈して具体に変化させるのがエンジニアをはじめとする技術者の重要な仕事のひとつである。具体化まで要求者に任せると要求側にとってのメリットがなくなり、技術者に任せなくてもいいじゃんとなる。
要求の多くは抽象化されている
顧客からサービス提供者、上司から部下、レビュワーからレビュイーなど、あらゆる構造において抽象化された要求は存在する。なぜなら、依頼したいのは本質的な改善であり、本質というのは抽象化されているものだからだ。
#Testing #WIP
しかたなくレガシーコードと向き合わなければいけないときの個人的心構えを書いていく
意図がわからないときは歴史をReverse Engeneeringする気持ちで追う
現状のコードが論理的に正しいドメインロジックになっているという幻想を捨てる
レガシーコードの改善やリプレースのコストが効果に見合わなければ手を付けない
しばらくPomodoro Techniqueを運用したうえで感じたPros/Cons
Pros
意識せずとも休憩を取れる
タイマーがないと延々と作業してしまうタイプなので適度に休憩を取れて作業効率が上がる
緊急度が高いタスクに相対しているときは特に休憩を忘れてしまうので助かってる
12月になったので、2024年に実行して価値が合ったものを振り返り次第追記していく
キーボードのBackspaceを小指でタイピングする
手が小さいのを言い訳にして自分のタイピング効率向上を半ばあきらめていたが、意識次第で改善できることがわかった
意識しても実行できないこともあるのでそこは無理しないでいく
例: ギターのGコードで薬指ではなく小指を使うのは自分には無理
今年の4月に受けたネットワークスペシャリスト試験を受験して合格した。
今更ながら振り返りをしておく。
なぜ受けたのか
腕試し。
ネットワークやセキュリティといった分野に関心があることを客観的に証明することで、それに関連する仕事をもっと得られるようにしたかった。
TampermonkeyからViolentmonkeyに移行した。
使い勝手の上での不満はそんなになかったが、最近Tampermonkeyのdashboardを開くとクラッシュすることがMacやLinuxで頻発し、微妙にうざいことがよくあった。
Tampermonkeyのスクリプトがほぼそのまま使えたのはたいへん助かる。(唯一、GM.setClipboard
を使用していたスクリプトをGM_setClipboard
に書き換えなければいけなかった。)
自責思考が良いこと、他責思考が悪いことだとは全く思わない。
自責思考が良いこと、他責思考が悪いことという考え方は賛同できない。非難するべきはテイカー気質。
テイカー気質でいることにデメリットがない構造が問題でもある。
自責思考を他人に求めるのは他責思考と言えなくもない
状況によって正論だったり屁理屈だったりする
2 hop linksがあればCosenseである必要はないと思ってしばらく運用してみたが、ローカルファイルとして持つ以上階層構造にして管理したい。しかし、リンクと階層構造はかなり相性が悪いことを身を持って感じた。私は階層構造よりリンクを優先させたいので、またCosenseに戻ってきた。
Cosense(旧Scrapbox)はポータビリティだけが耐え難いほどネックだと思っているので、なるべく平文に近い文書にする運用でカバーをすることにした。
// ==UserScript==
// @name ChatGPT Hide Element
// @namespace http://tampermonkey.net/
// @version 2024-11-21
// @description try to take over the world!
今更ながら、SOAとMicroservicesのコンセプトとしての違いは対してないんじゃないかと考えていた。
Microservices https://martinfowler.com/articles/microservices.html
When we've talked about microservices a common question is whether this is just Service Oriented Architecture (SOA) that we saw a decade ago. There is merit to this point, because the microservice st
Instances built on the AWS Nitro System - Amazon EC2 https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html
Amazon EC2 instance types - Amazon Elastic Compute Cloud https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
この法則の名前が合った気がするんだけど思い出せない。
調べていたら良い投稿があった。
田中ひさてる on X: "ユーザーは開発者が想定するよりはるかに低スキルだということと、ユーザーは開発者が想定しなかったような使い方を思いついて活用できるということ、この2つが事実なら、開発者はどっちにしろユーザーの意識からは最も距離のある存在で、理解できないことを理解して、誠実にモノを作ることでしか。" / X https://x.com/tanakahisateru/status/83002
ObsidianからCosense(旧Scrapbox)に再び戻ってきたことも合って、タイトルの問題について考えていた。
Markdown
Markup
独自記法
Markdownの方言が多すぎる点がなんとかなれば...。
#NeoVim
第9回 Neovimのすゝめ – タブを管理する │ wonwon eater https://wonwon-eater.com/nvim-tab/
Cosense(旧Scrapbox)でいうところのこういうやつ→GitHub
Markdownでいうところのこういうやつ
[GitHub](https://github.com)
<a href="https://github.com">GitHub</a>
URLも押す前から知っておきたい情報だから。
#Cosense(旧Scrapbox) #Scrapbox #wip
階層型じゃないから
/shokai/階層整理型WiKiはスケールしない
仕込んだ赤リンクが青リンクになるのが気持ちいい
雑に書ける
Continuous Delivery 3.0 Maturity Model — NISI - Nederlands Instituut voor de Software Industrie https://nisi.nl/continuousdelivery/articles/maturity-model
What Is a Continuous Delivery Maturity Model (CDMM)? | Codefresh https://codefresh.io/learn/continuous-delivery/what-is-a-continuous-delivery-maturity-model-cdmm/
What is value stream mapping (VSM)? 2024 • Asana https://asana.com/resources/value-stream-mapping
ログインに利用するgoogleアカウントを別のアカウントに移行したい - Cosenseへの要望 https://scrapbox.io/forum-jp/%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AB%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8Bgoogle%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B
obsidian vs Cosense(旧Scrapbox) vs logseq vs dendron vs zettlr vs Typst
Is Dendron Project Still Active? · Issue https://github.com/dendronhq/dendron/issues/3956
技術書典やBOOTHで本を出版するときに役立ちそうな資料まとめ
- 技術書典で販売可能な書籍の形態(製本書籍、電子書籍など)はなんですか? – 技術書典ヘルプセンター https://techbookfest.zendesk.com/hc/ja/articles/360060000111-%E6%8A%80%E8%A1%93%E6%9B%B8%E5%85%B8%E3%81%A7%E8%B2%A9%E5%A3%B2%E5%8F%AF%E8%83%BD%E3%81
NeoVimでTreeSitterによってハイライトさせているファイルの一部分の色を変えるときのメモ。
手順
:Inspectでキャプチャを確認する
変えたい対象の部分にカーソルをおいた状態で:Inspect
をすると@keyword.directive.markdown links to Keyword markdown
のようなキャプチャ情報が得られる。
以前までは https://github.com/nvim-treesitter/playground をインストールする必要があったらしい。
AppImage https://espanso.org/docs/install/linux/#appimage-x11 installation is not working on wayland.
❮ espanso start
プログラミング言語やフレームワークにおいて、事前に決められているコードを書く上での指針がある。
例えば、Rustにおける「所有権の問題を回避するために無闇にcloneするのを避けるべき」、Go言語における「変数名を短くするべき」が挙げられる。これについて、盲目的に従うことが良いことだと言わんばかりに、厳密にそれを守ろうとして悩むことに異を唱えたい。一応、読む上での注意点を下部に記載している。
#Rust
Feature flags · Serde https://serde.rs/feature-flags.html#rc
#NeoVim #coc.nvim
npmに未公開の自作extensionを使えるようにする
自作extensionの作成
fannheyward/create-coc-extension: Create a coc extension from command line https://github.com/fannheyward/create-coc-extension
これに従ってextensionを作成
#WIP #Remix
会社でもよくRemixを使っているが、その選定意図とかを会社以外で話すときに資料がないのでちゃんとしたものを作るまでのメモ
RemixがめちゃいいというよりはNext.jsがつらい、もしくは不安感が大きいのが主な原因
印象論みたいになってるところが多いのであとで実例とかエビデンス貼っときたい
Next.jsがつらい
「良いUI/UX」を作りたいときの思考、思想的な面で注意するべき点を並べておく。全て、趣味ではなく仕事でUI/UXに取り組む前提で書いている。
理詰めで設計する
「なんとなくこれが良いと思った」ではなく、なぜそのUIが良いのかを説明できるのが良い。
必ずしも「説明する」必要はないが、理由を求められたときに説明できるべき。
なぜ悪いのかについても然り。
Docker - ArchWiki https://wiki.archlinux.org/title/Docker
desktop
docker compose
検証内容
VSCodeでは同じ状態で選択肢が出てくる
coc-tsserverを古いコミットに戻す
coc.nvimを古いコミットに戻す
coc.nvimを最新のmasterにする
これで8.0.xに戻せる
brew uninstall mysql
brew install mysql@8.0
brew link mysql@8.0 --force --overwrite
踊り字 - Wikipedia https://ja.wikipedia.org/wiki/%E8%B8%8A%E3%82%8A%E5%AD%97
漢字、句読点、記号にマッチする正規表現 | 正規表現入門 https://www.javadrive.jp/regex-basic/sample/index9.html
Ruby の正規表現で日本語(ひらがな/カタカナ/漢字)にマッチさせる | EasyRamble https://easyramble.com/japanese-regex-with-ruby-oniguruma.html
#Rust
Create script to run application with environment variables which is read from .env
envconfig - Rust
#!/bin/bash
set -a
#Rust
「属人性」と「属スキル性」は区別したほうが良い。
まずはじめに、属人性と属スキル性について解説しておく。
属人性
特定の個人に依存する性質
#Rust
Diesel is a Safe, Extensible ORM and Query Builder for Rust
I use it in my work. Most of it is great.
It's synchronous. However, it doesn't cause performance issue.
Each method name and its interface is not intuitive
#Rust #wip
静的型検査が厳しいコンパイル型言語になっている
人間が気にしなければいけない領域が少なくて済む
外部との境界も、コンパイルできている状態かつserdeのようなserialization用のライブラリを信用さえできれば、煩わしい「境界のテスト」を最小限に済ませられる。
O'Reilly Japan - 脳に収まるコードの書き方 https://www.oreilly.co.jp/books/9784814400799/
文脈(context)を作る。
説明の中で使う単語の意味が文脈によってブレる場合、事前に、または並行して文脈や背景を説明しておく。
ある単語「X」があったとして、「X」という名前のRDBのテーブルと、それとは別にソースコードの中で「X」という変数が使われているという場合がある。どちらの「X」について話すのか伝わるように、あえて「Xテーブルについて、...」という前置きから始める。
例として、同一の単語が複数の文脈に含まれる場合を挙げたが、必ずしもそのような場合でなくとも、文脈は分かりやすくするのが良い。
Key.js \ JavaScript keyboard event key codes & key identifiers https://keyjs.dev/
Video file compressor https://tools.rotato.app/compress
Marp: Markdown Presentation Ecosystem https://marp.app/
まれに書くときに書き方忘れる
ToSqlとFromSqlの実装忘れたらコンパイルとおらない
#[derive(
Debug,
Eq,
顔写真から自閉症を判別してみた #Python - Qiita https://qiita.com/YUUUUUUUUUNA/items/278397b273860806cc46
【みんなの反応】顔写真から自閉症を判別してみた - Qiita - ねとなび https://netnavi.appcard.jp/e/eniSP5J
文章を読む限りこの人なりに熟慮はしているようだ。
それを汲んでも、私もこの人とは倫理観が合わないしクソな発想だ。
という名称知らなかったが要はロングポーリングとかのこと
Comet (programming) - Wikipedia https://en.wikipedia.org/wiki/Comet_(programming)
Comet is a web application model in which a long-held HTTPS request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term, encompassin
ブラウザバックすると画面遷移はするが画面の内容が元の画面のままでtitleが[object Object]
になっている
他のブラウザも怪しい気がしてきた
これはVivaldiさんが悪いのではなく、DuckDuckGoさんが悪かった
#Vivaldi
キーボード ショートカットのカスタマイズ性が高い
標準のショートカットにイライラするタイプなので、この条件を満たしていないブラウザは使う気にならない
なぜかショートカット設定は同期してくれず、新しくVivaldiを入れるときは毎回設定をし直さなければならないのが玉に瑕
縦タブ
読んだ技術書の数は人一倍ある。ただし一般人視点。逸般人ほどは読んでいないかもしれない。
2024/08/03現在、数えたら600冊ほど読んでいた。技術書典で買った同人本は除いている。
多読が功を奏して、どの本がおすすめか聞かれることが少なからずある。
自身を持ってススメられる本だけを厳選してここに記載しておく。
タイトルを見て気になるようであれば、内容は自分で下調べしてから買うだろうから詳しいジャンルやレベル別に分けたりはしない。乱雑に列挙する。
Claudeによる定義
心理的安全性は、組織心理学や組織行動学の分野で重要な概念です。簡潔に定義すると:
心理的安全性とは、チームや組織の中で、個人が対人関係上のリスクを取ることを安全だと感じられる程度のことを指します。
具体的には:
意見や質問を自由に表明できる
よくバージョン管理が必要になるNode、Python、Rubyをそれぞれvolta、pyenv、rbenvで管理していた。それぞれ微妙に不満があり、特にvoltaはこのissueが辛かった。
Volta Node is not available when opening a bash terminal · Issue · volta-cli/volta
https://github.com/volta-cli/volta/issues/1007
wip
sudo pacman -S xorg-xbacklight
sudo xbacklight -set 50
xbacklight returns : No outputs have backlight property}
sudo pacman -S acpilight
Error message is this.
YN0000: · Failed with errors in 6s 934ms
on yarn install
The problem is caused by yarn v4.
Changing to v1 resolve this problem.H
$ yarn set version 1.22.21
これさえ守ればうまく行くということはないが、これを破ってしまったときは大抵後で不都合の出る設計になる
wip
yarn create coc-extension coc-testing
cd ~/.config/coc/extensions/node_modules <path>
"<extension name>": "<path>"
wip
❯ sudo pacman -Syyu
:: Synchronizing package databases...
manjaro-sway 130.0 B 196 B/s 00:01 [###################
「通信の秘密」関連の注意点についてまとめた。
通信の秘密の保護に関する内容はを定めている法律は参考2を参照。
通信の秘密の定義
参考1より、
1.通信の秘密の範囲
#tauri
https://github.com/tauri-apps/tauri/issues/2975
https://github.com/tauri-apps/tauri/issues/2709
Well i can see that this sentence(s) might not be quite informative/understandable enough (i blame the language barrier(s) lol). But it's still the most important message here, iframe and shadow dom
「いらない機能はさっさと消したい」負債解消の初手「消す」を組織全員で実践する方法【Sansan西場正浩】 | レバテックラボ(レバテックLAB)
捨てる可能性のある機能をつくってもいい。捨て続けられるから挑戦できる
わかる。ガンガン作ってガンガン捨てたい
ガンガン作るのはいいが、品質の低いゴミを大量生産するのだけは避けたい
WIP
後で書こうと思ってたけど、エンジニアは何を学ぶべきなのか で大体言いたいこと言ってた。
WIP
WIP
Wip
会社でネットワーク勉強会をやった。ネットワークの具体的な話をする前に、なぜネットワークあるいは低レイヤ、基礎技術を学ぶべきなのかという話をした。これは我ながら非常に良い話で、エンジニアという職業に対しての考え方をいい感じにまとめることができた。以下は原稿の一部。
自分が直接触れる、あるいは触れる可能性を想像できる範囲においてのみ学習や能力の向上を試みる人も少なくない。これはエンジニアが単なるIT技術に対して詳しいスペシャリストであるという見方からすると、それほど問題のある傾向とは思えない。一方で、一般論として、エンジニアの本来の仕事は「問題解決」である、とも言う。私は、「問題解決」をしない仕事などというものはほとんどないと思っている。すべての職業は何らかの
クソコード関連の話題のときに、よく「成果物は関係者が最善を尽くした結果であると考える」ことが重要であるという論調が出てくる。これは成果物の責任を個人に背負わせ、個人攻撃に繋げないためだと思われる。個人攻撃をするべきではないというのは同意見だが、そのソフトウェアの歴史を批判的に振り返ることを避けるべきではない。
ソフトウェアの成果物が個人によって悪い結果になった、もし自分(たち)だったらよりよい結果を得られていたはずだ、と結論づけるのは傲慢である。一方で、歴史を振り返る際に、最善を尽くした結果なんだからこうなってるのも仕方ないよね、と波風が立たないような結論をつけるべきだというのも、不自然、あるいは不自然なことを要求する傲慢な主張である。なぜなら、人間は歴史を振り返る際に批判的な姿勢を少なからずとるからだ
キラキラ願望が強いがスキルの低いエンジニアとは、こんな感じのイメージ。
とにかくイケてる技術を使いたい。
イケてる、の基準はモダン、トレンド、フォロワーの多い人や企業が使っているかどうかなど。
トレンドには詳しい一方、基礎的な知識や実力はそれに比べて大きく欠けている。
イケてる技術がなぜイケてるのかの説明ができない。
cannot compile on Fedora 33 64bits · Issue #96 · opsengine/cpulimit
jsdom使いたいときどっちでも困る
Support JSDOM · Issue #3554 · oven-sh/bun
Using jsdom with Deno | Deno Docs
https://github.com/sveltejs/language-tools/blob/master/packages/typescript-plugin/README.md
svelte-language-server watcher doesn't work in neovim lspconfig · Issue #2008 · sveltejs/language-tools
How to use Apollo Client with Remix | Apollo GraphQL Blog
remix 1.7.2 & react 18 · Issue #1 · jgarrow/remix-apollo
Not working in some application
Vivaldi
Alacritty
https://linuxfun.org/2022/11/05/how-to-install-fcitx5-mozc-on-manjaro-linux/#google_vignette
https://github.com/alacritty/alacritty/issues/2734
ユーザアカウント削除/退会、その他データ削除(チャットアプリを例)についてまとめておく。
法律の専門家でないので、問題ない場合もあるかもしれないが、最低限これは問題(になりうる)という点をまとめておく。
管理者など特定の権限があればユーザが「削除」したつもりの情報を閲覧できることで法令やコンプライアンスの観点から問題ないのか。
個人情報の保護に関する法律 | e-Gov法令検索
RDBMSだと追記型のWALとやることがかぶるのでアプリケーションレベルでそれをやるとかぶってしまってスジが良くないという趣旨の意見を見かけた。
過去の状態に対する参照、復元可能性を考慮した結果too muchなことも当然あると思うことに注意すべき。
要はバランスおじさん
イミュータブルデータモデリング風になっている、履歴を表すテーブルが更新日時のカラムを持っており、「正しい履歴」であるという保証のないデータになっているという悪夢を見た。
(3) Help with virtualbox with i3 : i3wm
I3wm problems with virtualbox · Issue #2324 · i3/i3
Standard C++ Modules — Clang 18.0.0git documentation
正直であることから始める / Start by being honest. - Speaker Deck
こういうのあると便利
https://github.com/maybe-finance/maybe/wiki/Monorepo-File-Structure-Overview
https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html
https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html
https://security.stackexchange.com/questions/233685/how-does-a-jwt-refresh-token-improve-security
My GraphQL bookmarks
GraphQL - OWASP Cheat Sheet Series
use:
Every team member know how to use and its Pros/Cons
Large project
not use:
Team members don't know gRPC
開発者(特にweb)はどうでもいい知識を学ぶことに時間をかけすぎている人が多いように感じる
わけもわからずトレンドを追っているだけみたいな層が一定数いる
例えば、Next.jsとかRailsとかのフレームワークの上手い使い方とか、Dockerの細かい知識とかはどうでもいいと思っている
フレームワークを知りたいのであればフレームワークが解決した問題とその解決手法について調べるべき
Dockerがよく分からないのであれば仮想化技術について学ぶことから始めるべき
Unstableだけどいつの間にかできるようになってた
SPA Mode (Unstable) | Remix
一部で見られる品質保証部門の老害化。そして老害化した品質保証は品質を悪化させる - 千里霧中
プロダクトバリデーションを放棄して、プロセスバリデーションに偏重する
あるある
https://qiita.com/bohemian916/items/46f9f1e8bb32fc0a1f99
https://note.com/torotiti/n/ndf416a4a2d7a
毎回調べてるからメモ
diesel::sql_types - Rust
Henri Poincaré's Four-Hour Work Day - Cal Newport
Settings > General > Automatically delete head branches
Branch > Branch name pattern main
Require a pull request before merging
Require approvals
Dismiss stale pull request approvals when new commits are pushed
copilot.vim support for copilot chat? · community · Discussion #50939
https://mond.how/ja/topics/3vcmlvjm0fttmj1/r3d1ydfto296z5u
第1版は読んだけど2版も買うべきかどうか...
書評 プロフェッショナルTLS&PKI 改題第2版 (PR) - ぼちぼち日記
改訂前の「プロフェショナル SSL/TLS」では、Apache、Java/Tomcat、MS Windows/IIS、Nginx といった具体的なアプリケーション設定を解説した章がありましたが、改訂版ではOpenSSLだけ残し他はなくなりました。このパートで OpenSSLの使い方とOpenSSLコマンドによる動作検証のやり方など記述しています
Online ScrapBox Converter
The Bike Shed
前までVimでメモっていたものをScrapboxに移行
https://rust-lang-jp.zulipchat.com
Top topics - The Rust Programming Language Forum
Tokio チュートリアル (日本語訳)
ScrapboxとMarkdownの思想的な違い - Rakusai Public