The jonki

呼ばれて飛び出てじょじょじょじょーんき

pathlibをもっと使おう

皆さんはPythonpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このような時にpathlibを知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします.

pathlibos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします.

今回は下記のような複数の素性の異なるデータセットに対して処理するケースなどを考えてみます.

.
├── datasetA
│   ├── abc
│   │   ├── a.wav
│   │   └── b.wav
│   └── def
│       └── d.wav
└── datasetB
    ├── 123.wav
    └── sub
        └── 456.wav

便利関数26選

検索・走査系

所定ディレクトリ以下にある特定のファイルを再帰的に探したい

この時に使えるのが,globあるいはrglobです.個人的にはrglobの方がショートカット記法になっていて,正規表現のタイポが避けられるので好んで使っています.スペースの都合上 list化して表示しています.

from pathlib import Path

In [1]: list(Path(".").rglob("*.wav"))
Out[1]:
[PosixPath('datasetA/abc/a.wav'),
 PosixPath('datasetA/abc/b.wav'),
 PosixPath('datasetA/def/d.wav'),
 PosixPath('datasetB/123.wav'),
 PosixPath('datasetB/sub/456.wav')]

In [2]: list(Path(".").glob("**/*.wav"))
Out[2]:
[PosixPath('datasetA/abc/a.wav'),
 PosixPath('datasetA/abc/b.wav'),
 PosixPath('datasetA/def/d.wav'),
 PosixPath('datasetB/123.wav'),
 PosixPath('datasetB/sub/456.wav')]

サブディレクトリをリストアップしたい

os.listdir 相当の捜査です.

In [3]: list(Path(".").iterdir())
Out[3]: [PosixPath('datasetA'), PosixPath('datasetB')]

編集系

絶対パス内の相対パスを取得したい

例えばデータセット内のディレクトリ構造を維持したまま,新たに別のディレクトリにしてパスをすげ替えてファイルを書き出す場合などに有用です.

In [4]: Path("/home/jojonki/datasetA/abc.wav").relative_to("/home/jojonki")
Out[4]: PosixPath('datasetA/abc.wav')

ファイル名や拡張子を変更したい

これもよく使います.

# ファイル名を変更
In [5]: Path("datasetA/abc.wav").with_name("AAA.mp3")
Out[5]: PosixPath('datasetA/AAA.mp3')

# 拡張子を除くファイル名を変更
In [6]: Path("datasetA/abc.wav").with_stem("AAA")
Out[6]: PosixPath('datasetA/AAA.wav')

# 拡張子を変更
In [7]: Path("datasetA/abc.wav").with_suffix(".mp3")
Out[7]: PosixPath('datasetA/abc.mp3')

# os.rename相当
In [8]: Path("datasetA/abc/b.wav").rename("datasetA/abc/c.wav")
Out[8]: PosixPath('datasetA/abc/c.wav')

宣言系

Pathインスタンスを生成したい

非常に直感的にPathクラスを作れます.例えば何らかのデータのディレクトリに対して動的にパスを作る際などに便利です.

# スラッシュでつながる
In [9]: root_dir = Path("datasetA/abc")
In [9]: root_dir / "sub" / "def.wav"
Out[9]: PosixPath('datasetA/abc/sub/def.wav')

# os.path.joinと同様
In [10]: Path("datasetA").joinpath("abc", "def.wav")
Out[10]: PosixPath('datasetA/abc/def.wav')

生成系

ディレクトリを生成したい

In [11]: Path("datasetC/").mkdir()

# 必要に応じて親ディレクトリも作成.mkdir -p, os.makedirs相当
In [12]: Path("datasetD/1/2/3/4/5").mkdir(parents=True)

ファイルを読み書きしたい

これは知りませんでしたが便利そうです.

In [13]: Path("README.txt").write_text("# Title\nhello")
Out[13]: 13
    
In [14]: Path("README.txt").read_text()
Out[14]: '# Title\nhello'

アクセス系

これらもよく使うので頭の片隅に入れておくと良いと思います.

パスの存在を確認したり,絶対パスを取得したい

# 存在確認
In [15]: Path("datasetA").exists()
Out[15]: True
    
# ディレクトリ?
In [16]: Path("datasetA").is_dir()
Out[16]: True
    
# 絶対パス?
In [17]: Path("datasetA").is_absolute()
Out[17]: False
    
# 絶対パス取得
In [18]: Path("datasetA").absolute()
Out[18]: PosixPath('/Users/jonki/sandbox/datasetA')

ファイル名に関しての色々な情報を取りたい

In [19]: Path("datasetA/abc/a.wav")
Out[19]: PosixPath('datasetA/abc/a.wav')

# 拡張子も含めて
In [20]: Path("datasetA/abc/a.wav").name
Out[20]: 'a.wav'

# 拡張子除く
In [21]: Path("datasetA/abc/a.wav").stem
Out[21]: 'a'

# 拡張子を取得
In [22]: Path("datasetA/abc/a.wav").suffix
Out[22]: '.wav'

# 最後の.gzだけ
In [23]: Path("data.tar.gz").suffix
Out[23]: '.gz'

# まとめて拡張子を取る
In [24]: Path("data.tar.gz").suffixes
Out[24]: ['.tar', '.gz']

# そのファイル/ディレクトリの親ディレクトリ
In [25]: Path("datasetA/abc/a.wav").parent
Out[25]: PosixPath('datasetA/abc')

# パスを分解
In [26]: Path("datasetA/abc/a.wav").parts
Out[26]: ('datasetA', 'abc', 'a.wav')

まとめ

以上Pythonpathlibをまとめました. 昨今はChatGPTなどでやりたいことを伝えればChatGPTが生成してくれますが,今回紹介したようなコードは非常によく使うので覚えておいて損はないと思います.文字列同士を無理やり駆使してファイル名を変更していたりするコードがたまにありますが,pathlibを使えばそのようなこともなくなりますね.

プログラムの実行終了をトリガーにGmailを送る

機械学習におけるコーディングではプログラムの実行時間は長くなりがちです.機械学習時のプログラムはもちろん,データの前処理にも多くの時間がかかります.このようなプログラムを動かしている間は安心してYoutubeでも見て勉学に励みたいものです.

そこで今回はプログラム実行終了時に,自分から自分宛にGmailを送ってみるプログラムを作ってみます.メール送信にはMSMTPというSMTPクライアントを用います.Ubuntuを想定していますが,適当なLinuxでも動くはずです.

MSMTPのセットアップ

インストールは至極簡単です.

sudo apt install msmtp msmtp-mta

今回Gmailを使いたいのでGoogle アカウントのアプリパスワードにてmsmtp用の16桁のパスワードを発行してください.発行ができたら下記のファイルを作ってください.from, user, passwordは適宜変更してください.

cat ~/.msmtprc
# Set default values for all following accounts.
defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        ~/.msmtp.log

# Gmail
account        gmail
host           smtp.gmail.com
port           465
tls_starttls   off
from           your.name@gmail.com
user           your.name
password       abcd efgh ijkl aaaa


# Set a default account
account default: gmail

これで下記のように実行してメールが送られていれば成功です.前者は本文だけ,後者はタイトル付きです.

echo "hello world." | msmtp your.name@gmail.com
echo -e "Subject: AAA\n\nhello" | msmtp your.name@gmail.com

いろいろな使い方

これだけでも十分便利になりそうですが,もうひと工夫してみましょう.

本文だけ or タイトル&本文だけ渡して実行できるようにする

PATHの通った場所にスクリプトを置きます.これは適宜好きなものにしてください.

sudo touch /usr/local/bin/email
sudo chmod 700 /usr/local/bin/email
sudo chown you:you /usr/local/bin/email

プログラム( /usr/local/bin/email )は下記のようにしてみました.引数が1つのときは本文のみ,2つのときはタイトルと本文,というコマンドになります.

#!/bin/bash

RECIPIENT="your.name@gmail.com"

if [ "$#" -eq 2 ]; then
    SUBJECT=$1
    BODY=$2
elif [ "$#" -eq 1 ]; then
    SUBJECT="My Notification"
    BODY=$1
else
    echo "Usage: $0 'Description' [Title]"
    exit 1
fi

# メール送信
echo -e "Subject: $SUBJECT\n\n$BODY" | msmtp "$RECIPIENT"

確認してみましょう.2行まとめてターミナルに貼り付けて実行してください.

# wget終わったらメール送信する
# 本文だけ
wget "http://www.google.com" 
email "test content"

# タイトルと本文
wget "http://www.google.com" 
email "test title" "test content"

実行中のプロセスが終わったらメール送信する

実行時に今回のコマンドを渡していればよいですが,実行中のプログラムに対して終わったら知りたいな,という時もよくあります.無理やりその実行中のプログラムのpane上で上記のコマンドを送っておく,というのも手だとは思います.しかし今回は,プロセスを監視してそのプロセスが消えたときにメールを送信するプログラムにしてみます.これを pidwatcher と呼ぶことにします.

pidwatcherpidwatcher <PID>とscreenやtmuxの別paneで実行しておきます,そのプロセスがなくなり次第,実行コマンドが本文になってメール送信が行われるので便利です.PIDはps等で特定してください.

#!/bin/bash

# Check if a PID is provided as an argument
if [ $# -eq 0 ]; then
    echo "Usage: $0 PID"
    exit 1 
fi

PID=$1 # Set the PID from the first argument

# Check if the process exists
if ! kill -0 $PID 2>/dev/null; then
    echo "Process does not exist: PID $PID"
    exit 1
fi

echo "Monitoring process $PID... "

# Attempt to get the command line of the process
CMDLINE=$(cat /proc/$PID/cmdline 2>/dev/null | tr '\0' ' ')

# Monitor the process until it ends
while kill -0 $PID 2>/dev/null; do
    sleep 1
done

echo "Process with PID $PID has ended. Command was: $CMDLINE"
email "Process with PID $PID has ended." "Command was: $CMDLINE"

この使い方のバリエーションとして,pidwatcher <PID> &とすれば,バックグラウンドで動いてくれます.またpidwatcher <PID> <このPIDが終わったら実行したいプログラム>とすれば今のプログラムの実行終了を待ってから次のコマンドが実行されます. ただエラー処理などはないのでご注意ください.

まとめ

今回はMSMTPを使って,プログラムの実行終了をトリガーにGmailに通知メールが飛ぶプログラムを作りました.自分で作っておいてなんですが結構便利です. ちなみに今回のプログラムは95%ぐらいはChatGPTで作りました(シェルスクリプトなど癖のある言語では本当に便利ですよね).

2023年振り返り,読んでよかったもの,買ってよかったもの

今更感ありますが,昨年を色々振り返ってみます.

  • プライベート
  • 仕事
  • 読んでよかったもの
  • 買ってよかったもの

プライベート

今年度から子供が保育園に通い始めたんですが,多くの風邪をもらってくるので結局保育園は6〜7割程度しか行けず,かなり大変でした.夫婦ともに在宅勤務で良かったけど,コロナ前の要通勤だったら完全に詰んでました.子供を持つと自分の中の仕事や趣味といったワタクシ以外の要素に多くの時間を割く必要があるので,親としても忍耐力を試される試練の年でしたが,経験的にはとても貴重だなと思っています.

あと夏・秋ごろになんとなくG検定と応用情報技術者を取りました.前者はネタなので良いとして,応用情報は改めてCSの分野を学びなおす機会になって良かったです.昨今DNNしかないので知識に偏りを感じていて,よい気分転換になりました.次は教養として統計検定の准1級あたり狙っています.

仕事

色々と年始に立てていた目標は残念ながらどれも達成できず.年初にしっかり予定を立てたい所存です.はい.

読んでよかったもの

今年は,技術書3冊,ビジネス書12冊,小説12冊の27冊を完読しました.中でも面白かったものを紹介します.

いわゆる頭のモヤつき(自問自答等)の心理学からアプローチして様々な実験結果などが書かれている科学本です.単純に読み物としても面白いですが,自分の中のchatterとの関わり方のヒントがいくつもあり実用性もあります.

7つの習慣はずっと名前は知っていましたが,それなりに分厚いので読むのに時間がかかりました.下手な啓発本読むよりこちらをじっくり読んだほうがよいです.

これはTwitterで一休のnayoaさんが共有していて読み始めてみました.ちょうど応用情報の試験も終わってゲームやらNetflixやらで夜の自由時間をなんとなく潰しているときで,何かきっかけが欲しいところでちょうどよかったです.今は自由時間の読書や論文を読む習慣を復活させることができました.タイトルが少し胡散臭いなと思っていましたが,SNSなどでいつの間にか多くの時間を使ってしまっている方には強くオススメしたい.私はこの本を読んで読書と業務時間外論文読みを習慣化させようとしています.一応,2ヶ月間,毎日続けられています.

堀田さんの講演を聞く機会があり,非常に感銘を受けて読んでみました.いずれも良かったです.元々技術畑の人の話なのでとても説得力があり,ダブルハーベストは企業R&Derや昨今のAI情勢に思う所ある人は是非読んで欲しい.

今年から小説をまた読み始めたのですが,司馬遼太郎はほとんど読んだことがなかったので,燃えよ剣関ケ原を適当に選んで読みました.燃えよ剣は正直そこまででもなかったのですが,関ケ原はかなりハマりました.家康の用意周到な根回しぶりと若く勢いはあるが周りがついてこない石田三成の描写が見事です.会社でも西軍のようなプロジェクトってあるよなぁと何だかよく分からない同調をしながら読みました.

買ってよかったもの

これまでMX masterを使っていましたが,トラックボールにしてみました.以前ケンジントンの中指・薬指で操作するものは一瞬使ったことがあったのですが,操作に慣れずにすぐ手放しました.なので今回もあまり期待せずに使ってみたところなぜかうまくハマりました.トラックボールPowerPointの図の編集や文字の選択など,細かい調整にフラストレーションが溜まると思っていたのですが,意外とすぐ慣れました.親指は元々腱鞘炎予備軍だったこともあり少し不安でしたが,今のところ問題なく使えています.マウスを動かす必要がないので机周りもスッキリしてとても良いです.

次はは少しだけ音が小さくなる耳栓です.元々ライブ現場や聴覚過敏の方向けの印象があったのですが,睡眠時でも使えます.通常の耳栓は耳が圧迫される感覚があるのですが,これは圧迫感なく,周りの音が少しフィルターかかる感じになるのでとても自然です.私は少し集中したいときや睡眠時に使っています.乳児などの夜のお世話にも向いていると思います.

2023年からほぼ日の手帳を使って,翌日のTODO管理,今日の日記(1文程度)をアナログに行っています.HONという1ページ1日のものを利用していたのですが,そこまで書き込まないのでよりコンパクトな1ページ1週のものを2024年は使います.HONと比べると小さいので書き込みは少ししにくいのですがレイアウトも使いやすく,何よりMOTHERファンとしてはアガるものがあります(すでに売り切れのようですが,他のデザインならまだあります). www.1101.com

唐突なのですがフィンガードラム始めました.ドラム譜が少し読めるようになってきたので色々コピーしたいところ.

MDR-MA900という開放型のヘッドフォンが使い勝手もよく好きだったのですが,比較的最近のMV1も試したらとても良かったです.私はこれをフィンガードラムのときに使っているのですが,ライブホールで流すような音響効果を感じることができ,かなりアガります.

今年もキーボードは色々変えたのでまとめた記事を書きたいのですが,今はブラックフライデーで買ったKeychron K11 Pro (Alice layout)を使っています.エルゴノミクスキーボードが好きなので私にはシンデレラフィットしています.今回はロープロファイルですが,通常プロファイルも使ってみたいなと思っているところ...

Keychron K11 Pro (Alice Layout) QMK/VIA Wireless Custom Mechanical Keyboardwww.keychron.com

毎朝コーヒーを飲まないと頭痛が発生するぐらいにはカフェイン中毒なのですが,朝は子供の餌やり,保育園の準備など時間がありません.けどインスタントコーヒーは不味くて飲めないという私にグッドな商品.これはお湯が少しずつドリッパーに落ちる様になっていて,沸かしたお湯を好きな分だけ最初に入れて放置しておけば良いです.ちゃんとドリップしている人からすると邪道ですが,味音痴だしそこまで味が変わるものでないと思っているのでこれで十分満足しています.

今年はお香にハマりました.嫁がSTANDARD PRODUCTSで買っていて私も気になり,色々試すうちに私のほうがハマってしまいました.白檀の香りが好きでとても落ち着きます.仕事で集中したいときや落ち着きたいときなど,松栄堂のお香を使い分けて使っています.夜はこれをつけて読書するとchatterも静かになります.(SNSYoutubeは本当に毒です.やめれませんが...)

年齢を考えるとこのあたりもちゃんと良いのを買いなさいという嫁の指摘もあり使い始めています.元々嫁がプレゼントしてくれたものですが,化粧水と乳液を兼ねていること,匂いが良いこと,が気に入っており使い続けています.これまで使っていたよくわからん化粧水よりは高いですが,メンズもののせいかそこまで値段は高くないです.

お酒に弱いことと特段好きでもないこもあり,ここ数年はほとんどお酒は飲んでいなかったのですが,なんとなく疲れた日にビールを飲んだらすっかり中毒になってしまいました(言うて弱いので1週間に数本です). 「大人は誰だって辛いのさ。だから酒飲んでもいいってことになってんの。」という名言を思い出します.

最後はMVNOです.これまでUQ mobileを使っていましたが,在宅勤務になってほとんど通信が不要だったので,プリペイド的に運用できるpovoに移行しました.かなり低速ですが課金しなくても簡単な通信ができますし,旅行などで入用のときはデータ使い放題(330円,実質2日使える)を必要に応じて買えば良いのでスマホの維持費用を安く抑えられます.e-SIMにも対応していたので自宅でキャリア乗り換えもできました.

紹介コード:LLHMJIGK を共有しておきます.

povo.jp

今年もよろしくお願いします.

賃貸か持家かの議論はもうやめよう

子供もできたことだし家を買うべきかどうか,色々悩んだ末に落ち着いてきたので気持ちを整理しておく.ちなみにここで書いた記事は素人による1コメントなので,他の方の意見を批判したいわけではないということは書いておく. ちなみに我が家は30代共働き+未就学児という3人構成.

色々やったがFPへの相談とちきりんのこの本は非常にわかりやすかった.短いので20分程度で読めると思う.

結論としては,家を買う条件として以下の3つが揃っていることだという.よって賃貸か持家かは世帯によって変わる.

  1. 経済的に無理なく買える状況にある
  2. 賃貸物件では実現できない「購入したい積極的な理由」が存在する
  3. 自分や家族のライフプランがある程度,固まっている

ちなみにこの本を読む前にもFPに相談していたのだが似たようなアドバイスであった.

我が家に関しては,物件をそれほどより好みしなければ1はクリア,2は特になし,3は分からなくない?,という印象.それぞれの条件を見ていく.

1. 経済的に無理なく買える状況にある

ちきりん本では物件の2割を頭金として用意(諸費用含む)でき,物件価格が世帯年収の5倍以内,ということだった. ちなみにFPの人がいうには借りるローンは「60歳までのローンを組んで,世帯年収は,主年収 x 1.0 + 配偶者年収 x 0.5とし,毎月の支払額はこの2割程度とせい」とのことだった.60歳以降に収入の見込みがないことは大前提,共働きでも出産や子育てを考えて0.5という計算になっている.上記の計算で世帯年収が1千万〜2千万だと月々の支払いは16万〜25万程度が上限となる.

我が家の経済状況的には物件は買えるが,築年数や首都圏へのアクセスをある程度妥協すれば,という条件つきでこの条件を通過できる.(首都圏の上がりっぷりは異常だと思う.)

2. 賃貸物件では実現できない「購入したい積極的な理由」が存在する

この条件がおそらく一番重要なんだと思う.ただこれが我が家にはない.おしゃれな家を見て欲しいなと思う一方,理想の家という考えがあまりない.子供がいると将来の不確定さがあるため,動的に住居スタイルを変化できる安心感がほしいと感じる.物件情報を見て首都圏で夢があるなぁと思う物件は軒並み億超えである.これは1.の条件的に無理.数千万をリターンの見込みがない1箇所に全力投資は普通に考えるとリスクが大きい.そのためにもこの条件2は心理的にも絶対条件に思える.

ちなみに広い家に住みたいと思うこともあるが,以前住んだ広い家の管理が大変だったことや子供が独立したら明らかに物置になりそう,という考えもよぎる.

3. 自分や家族のライフプランがある程度,固まっている

今の時代,これを確定するのはなかなか難しい気もする.自分としてはこの10年で海外含む5箇所に住んでおり,それが一人暮らし,留学,コロナ,子供が契機だったりする.家を買ってしまうとよほど売りやすい都内の物件でない限り,なかなか移動もままならないと思う.子供が減少する日本で,築年数や首都圏へのアクセスを妥協したファミリー住居の人気が今後上がっていくとは考えにくい.

家を投資として見るのはやめよう

投資として家を見るのはやめ,家はやはり住みたいかどうかで考えたほうが良い.本当に良い家なら家の価値が上がっても売ることはなかなかないはず.読みにくい不動産市場で一喜一憂してもしょうがないので,納得のいく家を買えるかどうかが問題となると思う.Youtubeを見ていると「あと5年で50%は上がる!」とか不動産関係者のポジショントークが散見されるが,見ないほうが良い.本当に50%上がるなら彼らの総資産は全部不動産に総ツッコミしていると思うが,そこまで言っている人を聞いたことがない.投資をしたいなら投資信託(NISA)の枠を使い切ってからでも良いよね.

結局我が家はどうする..?

今のところは生活レベルを上げずに賃貸で着実に資産を築き,子供の独立付近で二人暮らしの家を即金で買う,になると思う.その頃には大きい家はいらないし首都圏へのアクセスもそこまで重要ではないので,投資信託と貯金で資産形成は現実的だと思う.

買うとすると子供が小学校に入るタイミングがあり得ると思うが,不動産市場がそこまで急展開することも考えにくい.やはりしばらくは生活スタイルに合わせた賃貸生活になると思う.

以上駄文でした.

2022年に買ってよかったもの

今年はブログをあまり書けなかったですが,それだけ仕事で色々とやりたいことが増えている証拠かなぁと初っ端から言い訳をして今年もこのシリーズをまとめます.

今年はデスク周り編と日常編です.

www.jonki.net

www.jonki.net

デスク周り

オサレな充電スタンドです.Macbook proiPad Pro, iPad, iPad miniを置くために買いました.中に適当な充電器を収納でき,充電ケーブルを綺麗に出すことができます.

Ankerのワイヤレスヘッドセットです.Logicoolのワイヤレスヘッドセットを使っていたのですが充電が面倒でドッキング充電版を買いました.高かったけど音質も良いし収まりも良いので楽.ワイヤレスヘッドセットは一度使うと有線には戻れませんね.

Elgato Stream Deck MK.2.会社での日報のテンプレートを書いたり,所定のWebページを開いたり,サウンド出力を切り替えたりしています.日々行うちょっとした手間がボタン1つで操作できるので便利です.

前回のブログにも書きましたが統計検定のために購入.ただ普通に仕事中も簡単な計算などしたいときがたまにあり,アナログで使える電卓が卓上にあると意外に便利でした.

アナログなタイマーです.例えば30分だけ集中しよう,10分後にMTGだな,みたいなときに使っていました.ひねってすぐ使えて便利です.スマホだとTwitterとか見てしまうのでこういうアナログ機器は重要です.

LAMY ラミー 万年筆 サファリ スケルトンです.筆圧が高いのでそれを抑える癖を付けたいなぁと思い万年筆をはじめました.LAMYは癖もなく書きやすかったです.

今までProject Paperを使ってたのですが,裏面がもったいないこと,万年筆がにじみやすいこと,からこれに乗り換えました.安い上に質感も良いのでしばらくはこれだけ使う予定.

無印,初代Proと来て2代目Proです.正直あまり期待はしていなかったのですが,音質とノイキャンの改善幅が体感できるレベルですばらしかったです.

HHKB pro,Keychron,Freestyle Pro Keyboard,MS スカルプト エルゴノミック キーボードと乗り継いて今はNuPhyでこの記事を書いています.色々触ってきて75%キーボードが自分には一番合います.MSのキーボードがしっくり来てはいたのですが,Youtubeで見かけたNuPhyを買ったら質感の良さとデザインの虜に..Gateron Baby Raccoonという赤軸が重くなった軸を選んだのですが,これがもう最高です.

Halo75 Wireless Mechanical Keyboardnuphy.com

t.co

最後に今年最後に買った大きな買い物としてエンボディチェア.10年選手のエルゴヒューマンプロが座面やリクライニングの調整ができなくなってしまったので買い替えました.大塚家具で試座したところ,体のでかい私にジャストフィット.アーロンと異なり後傾でパソコン作業と本当に相性がよいです.更に大塚家具でハーマンミラーのセールをやっていて普段より数万やすかったのでそれも後押し.ヘッドレストがないことが心配でしたが,特に使わなくても大丈夫ですね.

日常

マタドール ポケットブランケット.今年は引っ越して自然が豊かな地域に来たので公園によく出かけるようになりました.そのときにこれがあるとすぐシートを広げられて良いです.地味にペグが布に縫い込まれていて地面に固定できて非常に便利です.

ニンジャピン.これはリビングから作業部屋へLANケーブル(平麺型)を壁に這わすのにつかってます.穴もほとんど分からないので賃貸でも使えます.M3の両面テープでつけるフック型のものを以前使っていましたが,それはすぐ外れてストレスでした.

小銭入れです.こういう小さいワレットはたくさんあるのですが,ミレーのワレットが評判良かったので使っています.お札も小銭も入れやすく,サブの財布として重宝しています.

次は無印とKOKUYOのセットです.これは何に使っているかというと印刷した論文の整理に使っています.各ファイルケースにはアルファベットを振っており,論文タイトルに合わせて突っ込んでいます.キャスターを付けているので机の下で動かせます.この仕組を導入してから同じ論文を何度もコピーするミスが少なくなりました.

地味に冷え性なのでレッグウォーマーは冬に欠かせません.

引っ越してドラムが設置できるようになったのですぐに買いました.もう本当に最高です.洗濯物がパサパサになる印象がありましたが特にそのようなことも起きず.子供が胃腸炎になったときは一日中回ってました.親も感染っていたので洗濯物を干すとか取り込むとかしないだけで助かりました.

来年は飛躍したい.良いお年を.