電子竹林:Blog2

Tech関係、はてなダイアリーから移転済み...

外付けSSDでMac mini M1からM4へ移行

概略

  • Mac miniは内蔵SSDを大容量にするよりも、外付け高速SSDをつける方がいい選択…多分現在のところ

詳細

  • M1からM4に移行してすでに二ヶ月以上経っている。M1で速度不足ということもなかったのだが、M1の内蔵SSDが512Gで、全体のストレージ構成を変更したかった。Dropboxが一つのフォルダ以下(エイリアスシンボリックリンクもNG)しか同期できないために2TBのプランが活かせないため
  • M4を内蔵SSD256Gの最低容量のものに抑え、外付けに高速な2TB SSDにする、そして外付けSSDにファイルは基本的に保存し、その外付けSSDほとんどをDropboxで同期させる
  • 外付けSSDは、Samsung NVMe SSD 990 PRO 2TB (約22000円)+ ACASIS M.2SSD外付けケース(約12500円)という構成
  • 以上の構成で二ヶ月使用した現在、AmorphousDiskMark v4.0.1にて計測すると、内蔵SSDよりは高速となり、ほぼ満足 (MB/S)
内蔵SSD 256G READ WRITE
SEQ1M QD8 2936 2158
SEQ1M QD1 2322 2168
RND4K QD64 668 66
RND4K QD1 63 35
外付けSSD 2T READ WRITE
SEQ1M QD8 2895 2774
SEQ1M QD1 2561 2436
RND4K QD64 974 321
RND4K QD1 71 53

ObsidianをMarkdownのデフォルトアプリにする(macos)

概略

ObsidianをMarkdownのデフォルトアプリにするために、Automator.appでShellだけの簡単なアプリを作ることで実現できる

詳細

  • markdownファイルをFinderでダブルクリックしたり、Spotlightで選択したり、Alfredで選択したり(私の場合は圧倒的にコレ)しても、選択したノートをObsidianで開くことはできない。
  • 「このアプリケーションで開く」でObsidianを選んで「すべてを変更」にしても、目的のノートをダブルクリックしても単にObsidianが起動するだけでノートは開かない
  • とりあえずはObsidian Forumの方法で解消できた→ Make Obsidian a default app for Markdown files on macOS - Share & showcase - Obsidian Forum
  • ↑を簡単に説明すると、Automatorでアプリを作ってそれをmarkdownのデフォルトアプリにする。アプリの内容は、前半はjavascriptで選択されたファイルがVault内のノートかどうかを判断する、後半のShellでYESならばURIを使ってノートを開く、違う場合は他のアプリケーションで開く、というもの。なぜJSとShellで分けたかというと、文字列とJSONの処理がShellでは面倒だからだと思う
  • URIについては→を参照 Obsidian URIの利用 - Obsidian 日本語ヘルプ - Obsidian Publish
  • しかし、私の場合、Vaultは一個しか使ってないので手抜きをすればShellだけでいけそうで作ったのが↓。Vaultの位置が一箇所なので決め打ち(↓のvaultDir)で書き込んでいるので、自分のに合わせて使って欲しい。
# $1 = target markdown file path
fileDir=$(dirname $1)
vaultDir='/Users/zom/Library/Mobile Documents/iCloud~md~obsidian/Documents/zom'
if [ $fileDir = $vaultDir ] 
  then 
    open "obsidian://open?path="$1
  else 
    open -a "Visual Studio Code" $1
fi
  • Automator.appでアプリを作ってShellにして、↑を入れて、vaultDirを自分のに合わせて、アプリケーションフォルダに保存して、markdownのデフォルトアプリにすればOK

Safariのダークモード機能拡張に"Dark Reader"

概略

Safariのダークモード機能拡張には”Dark Reader"がオススメ、610円だけど

詳細

  • Safariのデフォルトをリーダーにしてみる に書いたように、一年近くSafariのデフォルトはリーダーになっている
  • それでもDark Modeは必要なので、機能拡張の"Dark Mode"を入れていた
  • "Dark Mode"はコントラスト高すぎだと思っていたが、Radditでも同じ事書いていた人がいた
  • で、オススメは"Dark Reader"らしいが、610円。まあいいかと思って買ってみた
  • "Dark Reader"はコントラスト、明るさが簡単に調整出来て、目が疲れない好みに設定できる。まあ、たまーに向かないサイトはあるがなんとかなる。
  • とりあえず、リーダーと "Dark Reader"を併用でいく事にする

Dark Reader for Safari

Dark Reader for Safari

  • Alexander Shutau
  • 仕事効率化
  • ¥610
apps.apple.com

Alfredのamazon検索を"出品者をamazon"だけにする

概要

  • amazonの検索は"出品者をamazon"だけにした方が出品者ノイズが少ないので、Alfredの標準のamazon検索を無効にして、workflowで書き直した

詳細

  • MacのUIのほとんどはAlfred頼り
  • amazonの検索も、Alfredからやっているが出品者ノイズを減らすために"出品者をamazon"だけにする
  • 昔は、"&emi=AN1VRQENFRJN5"につけたが、今は"&rh=p_6%3AAN1VRQENFRJN5"らしい
  • Alfredのworkflowから、新規作成のために、+を選び > Templates > Web and URLs > Open custom URL in specified browser を選ぶ、URLを↓にする https://www.amazon.co.jp/s?k={query}&emi=AN1VRQENFRJN5)
  • これに伴って、標準の検索のamazonはディスイネーブルにしておいた

www.alfredapp.com

Macの日本語入力の変換候補がおかしい

概要

  • macosの日本語入力の変換候補がおかしい時は、変換学習リセット

詳細

  • macosの純正日本語入力の変換候補がおかしい…が放っておいた
  • だんだんとメチャクチャな変換候補が最初の方に出てきて、危険..
  • 再起動では治らない
  • しょうがないので変換学習をリセットする事に
  • 変換学習リセットは、システム環境設定>キーボード>入力ソースのタブ>変換学習:リセット を押す
  • どうなると変換学習がヘンになるのか不明

古いiPhoneのケースを探すならAliexpressがベストか

概略

  • iPhone XSの純正ケースが入手できないのでAliexpressでほぼ純正ケースを買った

詳細

  • iPhone XSの純正ケースがボロボロになってきたので注文したら3ヶ月待ち
  • で、4ヶ月近く待ったら注文キャンセルされた...。
  • しょうがないのでAliexpressでほぼ純正(作ってるトコは同じなパターン?)のを注文したら二週間で届いた
  • 並べると違いわかるけど、単体では偽物と分からないかも、$3.65なり..めちゃ安い^^;
  • 電池交換したiPhone 7用にもほぼ純正ケース買っておいた
  • 日本だと古い型のケースなかなか見つからないけど、Aliexpressは古いのまで揃ってて便利

f:id:zom-1:20201114162409j:plain:w300

Markdownでローカルなファイルにアクセス

概要

  • Markdownにローカルなファイルへのリンクを書くには、ちょっとしたプログラムでタイトル付きリンクにした方が便利

詳細

  • 文章はほとんどBearを使ってMarkdownで書いている
  • httpなリンクは便利に使っているが、ローカルなファイルへのアクセスはあまりMarkdown中に書いてなかった
  • そもそもmacosのURLスキーム"File:"がバギーでずっと使ってなかったが、現在は問題ないみたい
  • Bearでは単純にURLスキームfile:の後にファイルパスを書いてもいいが、maosだとファイルやフォルダ名に空白などが入る時は面倒なので、素直にタイトル付きリンクを使った方が便利
  • で、clipboardにあるフルパスのリストから、タイトル付きリンクのリストに変換しclipboardに入れ直すプログラムを書いた
  • フルパスをclipboardにコピーするには、Fiinderでファイルを選択 -> コンテキストメニュー(CTRL+クリック) -> さらにオプションキーを押すと”パス名をコピー"に変わるので、それを選ぶ
  • この後に下記プログラムを実行するとclipboardのフルパスのリストが、タイトル付きリンクのリストに置き換わる (主に実行はAlfredのworkflowから)
  • 運用として、ほとんどのリンクする様なファイルはDropbox上にあり、macosからだと相対的に同じパスになるので、異なるマシン間でも便利に使える。iOSではダメだけど。あとサーバー上のファイルだとダメ、そこはあとで考える予定..
def path2Linktitle(path):
  ''' return markdown linktitle of path
      ex. [[/Users/myname/foo](file:///Users/myname/foo), ... ]
  '''
  import urllib.parse
  return '['+ path +'](file://'+urllib.parse.quote(path, encoding="utf-8") + ')'

def cb2StrList():
  ''' copy clipboard to string list
  '''
  import pyperclip 
  return pyperclip.paste().split('\n')

def strList2cb(strList):
  ''' copy strng list to clipboard with \n
  '''
  import pyperclip
  pyperclip.copy('\n'.join(strList)) 

if __name__ == '__main__':
  strList2cb( [path2Linktitle(path) for path in cb2StrList()] )