2020年買ったもの

2020年は自宅にいる時間も長かったので、いろいろ買った一年でした。

キッチン家電

自炊する機会が増えたので充実させました。

ホットクック

今年買ってよかったものNo.1

材料を切って入れるだけで料理ができる。 無水調理のカレーがおいしい。 鶏むね肉の低温調理もできて最高。

ヘルシオ

ウォーターオーブンレンジ。 面倒な火加減の調整から開放されるのが嬉しい。

網を洗うのが大変なので、取っ手が取れるフライパンを使っています。

ティファールのは大きかったので小さいサイズのを買いました。

置く場所がなかったのでヘルシオのサイズにぴったりなレンジ台も買いました。

食洗機

今年買ってよかったものNo.2

食器洗いは手でもできるから買う必要はない、と思ってたんですが、いざ導入してみるととにかく片付けが楽になって自炊のハードルが下がりました。

台所が狭いですがギリギリ置けました。

ヨドバシ.com - パナソニック Panasonic NP-TCR4-W

スピーディコース しか使ってないので、もう一つ安いモデルにしてもよかったかも。

Vitamix

舌触りなめらかなスムージーやスープが作れるブレンダー。氷など硬い食材も粉砕。回転数がすごすぎて摩擦熱で温かいスープができます。

(ただ、動作音がめちゃくちゃうるさい)

正規品 Vitamix バイタミックス E310 [ブラック] 5年保証付 65736

正規品 Vitamix バイタミックス E310 [ブラック] 5年保証付 65736

  • 発売日: 2018/11/19
  • メディア: ホーム&キッチン

その他の家電

今年は社会人11年目ということもあり、10年使った家電を買い換えました。

ダイソンの空気清浄機ファンヒーター

扇風機の買い替えで、空気清浄機と一体になっているダイソンのにしました。風量は物足りなさを感じますが、夏は基本的にエアコンをつけているので問題なし。

電動歯ブラシ

今年買ってよかったものNo.3

今まで手で磨いてたけど、比較にならないほどツルツルになる。手をほぼ動かす必要がないので楽。

パナソニック 電動歯ブラシ ドルツ シルバー EW-DP53-S

パナソニック 電動歯ブラシ ドルツ シルバー EW-DP53-S

  • 発売日: 2019/09/01
  • メディア: ホーム&キッチン

電気シェーバー

前もラムダッシュを使っていたので買い替え。10年前のモデルより剃りやすくなってました。(そりゃそうか)

パナソニック ラムダッシュ メンズシェーバー 5枚刃 黒 ES-LV5E-K

パナソニック ラムダッシュ メンズシェーバー 5枚刃 黒 ES-LV5E-K

  • 発売日: 2019/09/01
  • メディア: ホーム&キッチン

ドライヤー

家電芸人で紹介されていたドライヤー。風量が多い。

重いので洗濯機ラックに吊るして使っています。

PC周り

マイク Blue Yeti

ビデオ会議やオンラインゲームのボイスチャットをする機会が増えたので購入。難しい設定無しでそこそこ良い音質が手に入ります。

昇降デスク

スタンディングで働くために、机の上に置くタイプの商品を購入。

DMM.make 卓上昇降デスク - ワークスタイル改革で飛躍したパフォーマンスを

ステッパー

スタンディングデスクと合わせて運動不足解決のために購入。当時は品薄でしたが、メルカリで5000円くらいで購入。ただ最近は全然使ってないです。。

NAS

RAIDが組めるNASが欲しくて Synology DiskStation DS218+ を購入。

Mac mini にある音楽や写真データを移行して、Mac miniを売ろうと考えてましたが、データ整理が面倒で放置中…。

そして新モデルの DiskStation DS220+ が出たのでちょっと残念な買い物に。

DS220+ | Synology Inc.

ガジェット

Xiaomi Mi Smart Band

心拍数が測れるスマートバンドを探して、評価の高かったものを購入。

4000円未満で買えてコスパ最強。新しいモデルでも5000円を切る。

1回の充電で2週間以上持って、歩数・睡眠トラックができます。今年健康を維持できたのはこれのおかげかも。

【日本正規代理店品】Xiaomi Mi Smart Band 4 スマートバンド 活動量計

【日本正規代理店品】Xiaomi Mi Smart Band 4 スマートバンド 活動量計

  • 発売日: 2019/12/23
  • メディア: エレクトロニクス

Kindle Oasis

セールで5000円引きしているときに購入。お風呂での読書が捗る。

電子ペーパーで目に優しい。漫画も読めるが、見開きが多いものは読みづらい。

Kindle Oasis 色調調節ライト搭載 wifi 32GB 電子書籍リーダー

Kindle Oasis 色調調節ライト搭載 wifi 32GB 電子書籍リーダー

  • 発売日: 2019/07/24
  • メディア: エレクトロニクス

Kindle Fire HD 8

セールで安くなっているときに購入。 Showモードでニュースを映像付きで流せるのが便利。

Fire HD 8 Plus タブレット スレート (8インチHDディスプレイ) 32GB

Fire HD 8 Plus タブレット スレート (8インチHDディスプレイ) 32GB

  • 発売日: 2020/06/03
  • メディア: エレクトロニクス

AfterShokz 骨伝導ワイヤレスヘッドホン

こちらもセールで購入。 骨伝導イヤホンは初めてでしたが、耳をふさがないので疲れなくていいですね。

ただ、周りがうるさいときは聞き取りにくいです。状況によって別のイヤホンと使い分けています。

レーニングマット

もともと薄いヨガマットを使っていましたが、バーピージャンプなど激しい運動をするとボロボロになったので丈夫そうなものを購入。分厚くて振動もだいぶ吸収してくれます。

allbirds の スニーカー

YouTuberがおすすめしてたので買いました。 柔らかくて履き心地が気持ちいい。シンプルなデザイン。洗濯機で洗濯できる。

Men's Wool Runners - Natural Grey (Light Grey Sole)

インデックスファンド

今年から資産運用を始めました。詳しくはこちらの記事に書いています。

scrapbox.io


ということで今年買ったものの振り返りでした。買いすぎた気もしますが、QOLが上がったので満足しています。

Slackのemojiを一括でダウンロードする

Slack のemoji(絵文字) を 別のワークスペースに移行するため、一括でダウンロードするスクリプトを書きました。

ぐぐるAPI トークン使ったやり方が出てきますが、自分は ブラウザ+コマンドラインでやりました。

一括でダウンロードする手順

https://(workspace).slack.com/customize/emoji を開き、ブラウザのDevtoolを開きNetworkのXHRから api/emoji.adminList のレスポンスをコピーしてファイルに保存します。この例だと emojis.json という名前にしました。

f:id:hush_in:20190324112739p:plain

下記のコマンドを実行するとDLできます。

jq -r '.emoji[] | "curl \(.url) -o \(.name)"' emojis.json | perl -pe 's/(\.([^\/]*?) -o .*)$/$1.$2/' | bash

解説

取ってきたJSONはこのような形になっているので、 jq コマンドで name と url を抜き出します

{
  "ok": true,
  "emoji": [
    {
      "name": "hoge",
      "url": "https://emoji.slack-edge.com/(team_id)/hoge/(hash).(拡張子)",
      "created": 1519043230
    },
    ...
  ]
}

stedolan.github.io

jq -r '.emoji[] | "curl \(.url) -o \(.name)"' emojis.json の結果は

curl https://emoji.slack-edge.com/(team_id)/hoge/(hash).(拡張子) -o hoge のようになります。

あとは 拡張子をつけるように置換すると

curl https://emoji.slack-edge.com/(team_id)/hoge/(hash).(拡張子) -o hoge.(拡張子) になって、

bash に渡して実行すれば画像を一括でダウンロードできます。

(シェル芸あまり得意ではないので、もっといいやり方があるかも…)

一括インポート

ちなみに emoji の一括インポートはこちらの拡張を使うとできます。 chrome.google.com

これで無事emojiの移行ができました。

Twitterの tweetとfavを消した

2008/08 から Twitterやっています。 8万tweetほどしていて、黒歴史がいろいろ残っていたので消しました。

伸びたツイートがいくつかあって勿体無いかなと思いつつ、ちゃんとしたアウトプットはブログなど別の場所で行っているのでtweetを全部消しました。

なんとなく身軽になった気がします。

https://twitter.com/hush_in

やったこと

バックアップ

fav のtweet内容をプログラムで取ってCSVにする

t の セットアップ

gem install t twurl
twurl authorize --consumer-key {CONSUMER KEY} --consumer-secret {CONSUMER SECRET}
cp ~/.twurlrc ~/.trc

ref. https://github.com/sferik/twitter/issues/878#issuecomment-401299182

バックアップ実行(CSV 形式にまとめる)

echo "ID,Posted at,Screen name,Text,Retweets,Favorites,Source,Location" > favs.csv

cat like.txt | xargs -I % sh -c '{ echo %; t status % --csv | sed -e "1d" >> favs.csv; sleep 1; }'

削除

  • twilog解除
  • 黒歴史クリーナーtweet削除
    • 綺麗さっぱり消えました。
  • 「いいね」を一括削除! を試す
    • いいね2万件くらいあったので全部消えなかった。
  • 下記のスクリプトでいいねを消してみる
    • いいねは消えてるけどいいね数はあまり減っていなかった。よくわからない状態に。。
    • いいねを掘り下げて見られることも無いだろうし諦め。
cat like.txt | xargs -I % sh -c '{ echo %; yes | t delete favorite % 1>/dev/null; sleep 3; }'

他の設定

IFTTT で 今後の Tweet, fav バックアップを自動的にEvernoteに送るようにしました。これで今後は気軽にTweet消せるようになりました。

2019年 今年の目標

2019年ももうすぐ1ヶ月経とうとしていますが今年の目標を掲げておきます。

健康第一

去年は年始から体調が悪く、長期間に渡りめまい・立ちくらみが続いていたり、強い倦怠感が続いていたりしました。
なので今年は健康第一で過ごしたいです。(もう風邪を引いてしまいましたが…)

知り合いが『最高の体調』という健康本をオススメしていたので読んで実施しようと思います。

最高の体調 ACTIVE HEALTH

最高の体調 ACTIVE HEALTH

習慣づけたいこと

毎日

  • 英語の勉強
    • 毎年 1ヶ月くらいしか続かなくて身についていない
    • 今年こそは… という気持ち

毎週

去年は技術的に面白いことに取り組んでいたものの、個人や身内で消化して終わった。 今年は外に見える活動を増やしていきたい。

  • 1冊本を読む or 1つ映画を見る
    • 積読本を消化していきたい
  • ブログ or Qiita に1つ記事投稿
    • 文章を書いていく練習として
  • Webアプリなど、なにか動くものを作る
    • 気になる技術があったらとりあえず動くものを作って試す
    • 小さいものでもいいので作って公開するというリズムを作る
  • 会社でも普段の業務とは別にアウトプット活動する

減らしていきたいこと

  • 飲み過ぎ・同じメンバーでの飲み会
  • 惰性でやっているゲーム
  • YouTubeをダラダラ見る
  • エントリー・フィード消化

できたかどうか1年後振り返ります。

高専カンファレンス新春 in 大阪に参加しました #kosenconf #kosenconf_123shinshun

高専カンファレンス新春 in 大阪 に参加しました。

会場に行ったらほぼ知らない人ばかりだったので自己紹介しておきます。

過去の高専カンファレンス参加履歴

昔は参加やスタッフしていました。最近はあまり足を運ばなくなりました。

  • 2009
    • 009tokyo LT発表
    • 011nagano 主催
  • 2010
    • 013salesio
    • 015nara
    • 017ishikawa
    • 014tokyo
    • 019kyoto 運営スタッフ
    • 021numazu
  • 2011
    • 022kobe
    • 028mie
    • 034nagano
    • 026osaka
  • 2012
    • 038tokyo
    • 054nara
  • 2013
    • 071kc5party 動画作った
  • 2018
    • 113everyone

当日

京都から新快速で大阪に向かったつもりが逆方向に乗ってしまい、気づいたら滋賀にいました。

f:id:hush_in:20190114230739p:plain
!?

1時間ほど遅刻して会場入りしました。 (最初のほうの発表聞けてないのであとでアーカイブや記事を見ます… すみません。dotfilesなど当日お話したかった。)

現役生が楽しそうに発表していて刺激を受けました。楽しかったです。

若いのにいろいろ知っていてすごいと感心するのが半分、 (特に技術的なところで)情報が調べやすい時代になって羨ましいと思ったのが半分です。

現役生は 入学年度の slack があって交流しているようで時代を感じました。(ここ5年位の流れ?)

懇親会は知り合いがいないので目が合った人に声をかけていました。 仙台や群馬から1人できている人がいて印象的でした。若さ&行動力すごい。

二次会は同じ会社の後輩がいたので捕まえ、その同級生と三人で飲んで解散しました。

10年前はOB,OGの方が多くて現役生はほぼいなかったのですが、今は現役生の方がが多くて若いパワーを感じました。 (アラサーがほぼいなくて寂しいのでまた帰ってきてほしい。)

Twitter リストの簡単な作り方について

ここからは時間があったら飛び込みLTに参加しようと思っていたネタを書いておきます。 (実際は時間がいっぱいだったので見送りました)

https://twitter.com/hush_in/lists/kosenconf-123shinshun 参加者Twitterリストの作り方について。

API を叩く

手作業でリストに追加していくのは面倒なのでAPIを叩きます。

APIを叩くスクリプトを書いてもいいのですが、 t という CLI が便利そうだったのでこれを使って叩きます。

https://github.com/sferik/t

setup

API Keyを https://developer.twitter.com/en/apps から取得します。

(昔はappを簡単に登録できたけど今は理由を英語で書く必要があって大変ですね…)

gem install t twurl
twurl authorize --consumer-key {CONSUMER KEY} --consumer-secret {CONSUMER SECRET}
cp ~/.twurlrc ~/.trc

ref. https://github.com/sferik/twitter/issues/878#issuecomment-401299182

リスト作成

t list create kosenconf-123shinshun
# NOTE _ は twitter側で - に変換されるので注意

リストに追加

t list add LIST USER [USER...]     # Add members to a list.

ユーザーを指定するだけです。

connpass から Twitter id を抜き出します。

ここも手作業でとるのはだるいのでスクリプトで取りましょう。

https://connpass.com/event/106117/participation/ を開きます。

Chrome の Console で下記コードを実行します。

{
  const list = $('.concerned_area, .participation_table_area')
  .find('a[href^="https://twitter"]').map((i, elm) => {
    const $elm = $(elm)
    return elm.search.replace('?screen_name=', '')
  }).get().join(' ')
  console.log(list)
  copy(list)
}

f:id:hush_in:20190114231511p:plain
chrome
クリップボードTwitter のIDがコピーされます。

t list add kosenconf-123shinshun (コピーしたIDをペースト)

f:id:hush_in:20190114231634p:plain

終わりです。お疲れ様でした。

本の自炊手順メモ

自分用に本の自炊手順をメモしておきます。 今まで200冊ほど自炊しましたが間が空くと忘れていくのでそろそろやり方を確立させたい。

環境・設備

f:id:hush_in:20190108103004p:plain

ScanSnap の設定

読み取り設定を幾つか作っておきます。

  • 漫画モノクロ
    • 指定したフォルダに保存
    • 画質:スーパーファイン・グレー・両面読み取り・継続読み取りを有効
      • オプション:白紙ページを自動的に削除します のみチェック
    • ファイル形式:PDF
    • 原稿サイズ:サイズ自動検出
    • マルチフィード検出:重なりで検出
    • 圧縮率:2(標準より1弱い)
  • カラー表紙
    • 漫画モノクロの画質をカラーにしたもの

この設定にした背景は以下の通り。あまり自動補正を信用しないようにしています。

  • カラーの自動判別をしない:モノクロのページでも黄ばんでいたりするとカラー判定されてしまうため。週刊誌の赤い紙も同様。
  • 原稿の向きの自動補正をしない:漫画などイラストがあると向きが間違って判定されることがあるため。活字だけならオンにしても良さそう。 向きが同じになるように揃えて入れれば問題なし。

手順

最初はタスクを分割していましたが、裁断した本の作業スペースが取られることに気づき、 今は10冊程度まとまった単位で流すのがいいかなと思っています。

漫画の場合

表紙 + 冒頭にカラー + 残り全てモノクロ の漫画を想定します。

  1. 表紙を外す
  2. 本を裁断、重なりがないかチェック
  3. カラーページと表紙を外しておき、モノクロのページをスキャン。1冊ごとにpdf化する。
    • 向きは始まりのページが下へ、頭から入るように縦向きにセット。
  4. 1.〜3.を10冊くらいまとまった単位で行う
  5. 表紙を裁断
  6. 表紙とカラーページをカラー設定でスキャン
  7. PDFを結合する
  8. ファイルをリネーム、ちゃんとファイルが結合されているかをチェック。結合済みフォルダへ。
  9. 問題なければスキャン後の生のpdfファイルを別フォルダへ。問題なさそうならゴミ箱へ。
  10. (一定期間保持した後)裁断済みの本を縛って古紙回収

文庫本など

ファイルサイズを軽くしたい・ビューアーの負担を軽減したい場合、Adobe Acrobatのテキスト認識→PDFの出力形式:ClearScan でファイルを変換して、別名保存。(原本のファイルは取っておく)

ファイルサイズが1/3〜1/4くらいになる。

PDFの結合

"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" --output output.pdf input1.pdf input2.pdf というコマンドでPDFを結合できるらしいです。

参考 http://samurai20000.hatenablog.com/entry/20090815/1250340293

スキャンしたフォルダを lsすると、モノクロのファイル、カラーページのファイルの順で並んでいます。

ls -1
20171114193443.pdf
20171114193907.pdf
20171114194321.pdf
20171114194728.pdf
20171114195128.pdf
20171114195656.pdf
20171114200056.pdf
20171114200528.pdf
20171114201004.pdf
20171114201437.pdf
20171114202048.pdf
20171114202104.pdf
20171114202217.pdf
20171114202242.pdf
20171114202311.pdf
20171114202338.pdf
20171114202357.pdf
20171114202411.pdf
20171114202433.pdf
20171114202447.pdf

sublime textの矩形編集など使ってこれをコマンドが実行できるように整形する。

"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" --output formatted/output`date "+%Y%m%d_%H%M%S"`.pdf 20171114202048.pdf 20171114193443.pdf
"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" --output formatted/output`date "+%Y%m%d_%H%M%S"`.pdf 20171114202104.pdf 20171114193907.pdf
...

20190114追記 shell関数を定義しておくと便利

# fish での例
function joinpdf
  mkdir -p formatted
  "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" --output formatted/output(date "+%Y%m%d_%H%M%S").pdf $argv
end
joinpdf 20171114202048.pdf 20171114193443.pdf
joinpdf 20171114202104.pdf 20171114193907.pdf
...

他の方法でもPDF結合できましたが、やりにくい点があったので今はコマンド実行に落ち着きました。

  • Adobe Acrobat:手作業で結合しなきゃいけないのとUIをぽちぽちやらなきゃいけなくて面倒。
  • Automator:自動化できたが、結合後のファイルサイズが結合前のファイル合計よりかなり大きくなっていてなにかがおかしかった。