きみはねこみたいなにゃんにゃんなまほう

ねこもスクリプトをかくなり

Linuxでディスクを外す前に udisksctl power-off でデバイスの電源を切る

HDDを取り外す前にディスクの回転を止めた方がいいなと思ったのでコマンドを探した。 eject も試してみたが特にHDDの回転が止まる様子はなかったので他の方法を探したら udisksctl power-off -b /dev/sdd で行えた。 udisksctlが対応するsystemdサービスはud…

systemdの環境でfstabを更新した後に設定を適用するコマンド

やり方を知らずにハマったのですが、systemdでfstabを更新した後に設定を適用するには以下のコマンドを実行します。 systemctl daemon-reload && systemctl restart local-fs.target .service でないので .target は省略できません。

α7R4Aのレンズ選定メモ

単焦点24mmしか持っていないのでラインナップを揃えたい。 用途は以下の優先順。 星景・星野写真 街中のスナップ 野鳥・飛行機とか望遠も使ってみたかったり あまりボケを使った表現はせず、展望台からの眺めを隅から隅まで精細に納めたかったりするので、辺…

α7R4AのSDカードを選ぶ

機種は先日購入したα7R4A。初めてのフルサイズ。耳慣れなかった技術規格の用語だらけで周辺グッズを買い揃えるのもワクワクする。7年前のCanon Kiss 7からの機材更新なので隔世の感とも言う。 lightbulbcat.hatenablog.com 現在使っているのは5年前くらいに…

α7R4(ILCE-7RM4A)を買った

カメラが欲しい— asataka (@asataka02) January 9, 2022 この辺の話。結局α7R4(ILCE-7RM4A)をソニーストアの実店舗で購入した。 長い間買おうか迷っていたので、今はとても晴れやかな気分。開放感がすごい。 そしてこんなもの買ってしまっていいのだろうかと…

Node.jsのREPL出力を実行可能なJavaScriptとしてコピペする

Node.jsの % node > > > f = () => { ... ... return 'hello' ... } [Function: f] > > のような出力を、スクリプト行の > を外し、評価行をコメントアウトして、JavaScriptとして実行可能な形式にする。 記事をまとめるときに使いたくて作った。 cat <<'EOF…

ExtendScriptでプログレスバーを表示する

lightbulbcat.hatenablog.com 前回の続きです。 の各アートボードのテキストを取得する処理中に、どのアートボードを現在処理中であるかを示す のようなプログレスバーを表示します。 今回は ProgressWindow というクラスを定義して利用しました。 この辺は…

Adobe ExtendScript Debuggerを使ってみる

アートボードを100枚以上含むファイルがあり、各アートボードのテキストボックスの内容をまとめてテキストファイルとして取得したくなったので、久しぶりにAdobe ExtendScriptでスクリプトを書きました。やりたいことの要件は以下の通りです。 各アートボー…

LinuxからAirPort Time Capsuleをマウントする

AirPort Time Capsule からデータをLinuxにコピーしたくて調べた。初めは多少速度は落ちるだろうけれどmacOS経由で移動すればいいやと考えていたが、何度やっても途中でコピーが止まるしキャンセルもできない状態になるので直接移行先であるLinuxからTime Ca…

cronを一覧するスニペット

たとえばこんな感じで。 find /etc/cron.d -type f | xargs grep -E '^[0-9*]' | column -t -s:

Adobe Illustrator単体+フォトプランをコンプリートプランに変更・統合した

私は普段から Adobe Illustrator をメインで利用しているが、コンプリートプランに含まれるほとんどのアプリは使わないので、通常はIllustrator単体プランと、値段の安さからフォトプランを合わせて利用している。 ただし、たまにコンプリートプランの40%オ…

iMac 2015の起動用の外付けSSDを選ぶ

lightbulbcat.hatenablog.com で書いたように6年間使ってきたiMacのFusion Driveが分離されてしまった。起動ディスクをSSDに作ろうとしたところ失敗したため、仕方なくHDDから起動しているがとても遅い。Fusion Driveの分離もSSDの不具合が原因なのではと睨…

Fusion DriveのiMacが起動しなくなったのでクリーンインストールした

まとめの追記 結論から言うとiMac 2015 lateでFusion Driveを組んでいる内蔵SSDで、Readが失敗するようになった事によりFusion Driveが分離し、macOSが起動しなくなった。SSDが原因ということに気づかず、SSDを起動ディスクにしようと四苦八苦した際の症状を…

Magic Trackpad のフィードバック機能が不安定だったので結局新しいものを買った

5年ほど使い続けていた Apple Magic Trackpad の Haptic Feedback 機能が不安定になったので結局新品を買ったところ問題なく動作するようになった。 当然と言えば当然なのだが、以前 Bluetooth 接続が不安になった際に iMac 本体側のNVRAMリセットで回復した…

macOSでVMWare Fusionを起動後ウィンドウを非表示にしてヘッドレスにする

Command + Option + Shift + Esc でウインドウを非表示にできる。 ヘッドレス起動ができたらいいのに。

オペ端用壁紙を作った

オペレーション専用の端末用の壁紙を作りました。 ここから先は危険地帯、という気概を持って望みたい端末の壁紙にどうぞ。 個人利用の範囲内であればご自由に使っていただいて構いません。 高解像度なので一部を切り取ったりしてもお洒落に決まると思います…

Rust で hello-world の減量

Go でビルドサイズの比較をした流れで今度は Rust で hello-world を書いてバイナリサイズの比較をしてみます。 lightbulbcat.hatenablog.com % rustc --version rustc 1.48.0 (7eac88abb 2020-11-16) println! io syscall バイナリサイズ比較 println! 一般…

Go で hello-world の減量

Go

Go言語ってビルドサイズが大きいですよね。 バイナリサイズを削減する ldflags や upx について、どの程度の減量が見込めるのか確認してみます。 ついでに標準ライブラリへの理解を兼ねて hello-world の書き方もいくつかのパターンで比べてみます。 % go ve…

続き: Karabiner-Elements と Swift で background のアプリに特定のキーストロークを送る

ターミナルやエディタでコーディングしつつ、参考書を表示しているKindleのページ送りをしたかったのが動機です。 表題で言っている background のアプリとは最前面(foremost)ではないウィンドウで動作しているアプリを指しています。 lightbulbcat.hatenabl…

Karabiner-Elements と AppleScript で background のアプリに特定のキーストロークを送る

ターミナルやエディタでコーディングしつつ、参考書を表示しているKindleのページ送りをしたかったのが動機です。 表題で言っている background のアプリとは最前面(foremost)ではないウィンドウで動作しているアプリを指しています。 指定したアプリ向けに…

Go の struct と interface で Embedding

Effective Go の Embedding の内容を試してみます。 Go では embedding を利用して継承のようなことができますが、struct と interface の違いが今ひとつ理解できていなかったため、実際にコードを書いてコンパイラに怒られながら、どういう違いがあるのか試…

macOS のキーボード入力が重複するので Wacom 系のソフトウェアをアンインストールした

Mac を使いながら数年間悩まされ続けてきたキーボード入力系の不具合がある。 mac-ra.com 症状としては上の記事と同じで「application 」と打つと「appapplication」のように入力される。物理的なチャタリングとは異なりワンテンポ遅れてまとまったキースト…

Material UI の AppBar と Drawer を自分好みに組み合わせる

半年ほどかけてようやく Material UI にも慣れてきました。AppBar と Drawer の組み合わせは昨今のアプリでは定番となっていますが、レスポンシブに Drawer の表示を切り替えようとすると、AppBar との色使いの兼ね合いで迷います。 モバイルなどの狭いスク…

Material-UI と Downshift のスナップショットテストで属性値の差分が出るのを解消する

最近 React のテストを書き始めて、Jest の toMatchSnapshot 便利だなと感じながら使っています。 テスト結果をいちいちテストコード内に頑張って組み立てる必要がなくて楽ですし、 出力結果の差分ってコードの変更の結果としてもとても理解しやすいんですよ…

React のテストは react-dom/test-utils から @testing-library/react に進むと理解しやすそう

lightbulbcat.hatenablog.com の続きです。React のテスト用ライブラリを色々試した結果 react-dom/test-utils をちょっと触った後で、 @testing-library/react を導入するといいんじゃないかなと思いました。学習順序的な話です。 react-dom/test-utils は …

enzyme と react-test-renderer と @testing-library/react を素朴に試す

React のテスト用ライブラリっていくつかある上に、それぞれサポートしている機能が違うんですよね。 ついでに提供されているメソッドや、メソッドチェーンの様式も様々なので、出来るだけ速やかに繰り返し実行できる環境で触りながら把握できると便利です。…

Reactコンポーネントのアンマウント後の更新を避けるために AbortController を使ってみる

これです。 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.…

React で Markdown を扱うときに便利な react-markdown と remove-markdown

Markdown 便利ですよね。使う側にとってはテキストベースでリッチコンテンツを表現できますし、開発者側にとってもアプリを実装する際に Markdown 対応さえしてしまえば、ある程度の表現力を確保できるとともに、XSS対応などもライブラリ側がしてくれている…

useEffect の評価タイミングが分からないので泣きながら試す

useEffect と useState を組み合わせた Hook を作成しようとしたのですが、動作のタイミングが今ひとつわからずうまく処理が噛み合わない Hook ができてしまったので、簡単な例で挙動を探っていきます。 色々試してみましたが、結局よくわかりませんでした。…

Prettier のデフォルト設定を ~/.prettierrc に置く

最近 React のちょっとした挙動を確認するために crate-react-app でプロジェクトを作成することが多くなりました。; いらない派の私としては生成されたファイルをそのまま使いたくないので、毎回 Prettier を適用するために .prettierrc をプロジェクトルー…