LAMYサファリのインスパイア品、Jinhao599を手に入れた

LAMYっていいですよね

LAMYのサファリっていいよね、って話を先日しました。いいですよね。万年筆の癖にタフで雑に扱えるの、ほんとラクでいいです。 kana-yaz.hatenablog.jp

大陸ならインスパイア品もある!

前々からAliで見て気になってた万年筆がありまして、それがJinhao 599ってやつ。 Jinhao(Shanghai Qiangu Stationery Co.,ltd)は中国のメーカーなのですが、そこがしれっとLAMY Safariインスパイア品をラインナップに持ってまして。というよりかラインナップ見ると、なんかどこかで見たことのあ(ゲフ)

上海千古文具有限公司

ポチればいいと思うの

Aliでそのまま買おうかと思ったのですが、追跡なし郵便は怖い&追跡つけると送料が高い、ということでAmazon経由で買いました。

10本セットでニブの記載なし、でしたがまぁこの価格に贅沢は言えませんね。中国発送かと思ったのですが、国内発送で、4日には届いておりました。

開封

f:id:kana_yaz:20170222152643j:plain トレイに10本収まって、プチプチ封筒に入れて送られてきました。個包装のビニールもシンプルで、箱もなくゴミが少ないのはいいですね。 こうやってカラフルに並ぶと、少し嬉しいです。色覚異常だけど。

f:id:kana_yaz:20170222152645j:plain 10本並べてみるとこんな感じです。
レッド、ブラック、ブルー、ホワイト、イエロー、
クリアオレンジ、クリアグリーン、クリアブルー、 クリアブラック、クリア、
の10本セットです。

バラしてみると

バラしてみるとこんな感じです。スクリュー式のコンバーターが標準で添付されています。ペン先は国際EFぐらいですかね。 f:id:kana_yaz:20170222152647j:plain

キャップにはステンレス(?)を曲げたクリップがついています。大柄で厚めの布でも挟めるのはポイント高いですね。 f:id:kana_yaz:20170222152646j:plain

コンバーターは欧州標準規格のようです。 f:id:kana_yaz:20170222152648j:plain

LAMYと比較

f:id:kana_yaz:20170222152644j:plain 樹脂の質感は安っぽい値段なりです。LAMYサファリが高級ペンに見えます。でも並べることなんてないんですから、いいんです。それっぽければ。

f:id:kana_yaz:20170222152649j:plain コンバーターとかボディが使い回せればいいなー、と思っていたのですが、さすがにそれは無理なようで。
サイズ感は似通ってるのですが、ネジのピッチが違ったり、コンバーターの規格が違うので、入れ替えは難しそうです。
サファリのまんまコピーだったら、着せ替えして遊べたのに。けっ。

書き味

f:id:kana_yaz:20170222152650j:plain 中華万年筆舐めてました。ごめんなさい。すごくいいです。
インクもそれなりにするする出ますし、ペン先が柔らかいのも疲れにくくて。

Twilio + Google Apps Scriptで着信拒否つき留守電サービスを作る

格安SIMにしちゃうと留守電代金も惜しくなる

docomoからiijに移行してから、もうすぐ2年ぐらいにはなるのですけど、そういえば留守電的なのを契約してなかったんですよね。
一応プランとしては存在するのだけど、月額300円はちょっと課金するにも惜しいなと。
料金・仕様 | タイプD | IIJmio

まぁ、無いときは作ることにします。
今回は、業務でガチャガチャいじったこともあり、TwilioとGoogle Apps Scriptで実装することにしましょう。

Twilioとは?

最近はやりのクラウドですね。クラウド電話APIといいまして、クラウド経由でWebサービスと電話を連携すれば便利じゃね?
みたいなサービスです。国内だとKDDIさんが提供しています。基本的には従量課金。
詳細は本家のWebでも見て下さい。

Twilio for KDDI Web Communications | クラウド電話API

Google Appsとは?

GoogleVBAみたいなもんです。
Google 様のアナルを舐めれば幸せになれる の各種サービスを便利に使える言語 でして、サーバー側でJavascript的なものが動いているという認識で大丈夫かと思います。
Googleサービスだと、GmailだのカレンダーだのDriveだのいろいろとあるわけですが、そこら辺を使ってゴチャゴチャできるわけです。
詳細は下記あたりで。

Apps Script  |  Google Developers

まずはTwilio側の準備

Twilioアカウントを作る

Twilioのサイトにアクセスし、右上の[サインアップ]から登録します。
途中でSMS認証を求められるので、携帯電話番号を一つ用意しないといけません。

Twilio for KDDI Web Communications | クラウド電話API
f:id:kana_yaz:20170222013603p:plain f:id:kana_yaz:20170222013555p:plain

認証を終了するとチュートリアルが云々と出ますので、見るといいかと思います。
GetStartedで飛ばしてもいいですけど。
f:id:kana_yaz:20170222013602p:plain

Twilioのダッシュボードはこんな感じです。
f:id:kana_yaz:20170222013604p:plain

電話番号を取得する

今回の留守電は、自分のケータイに着信した電話を、時間をトリガーにしてTwilio側に転送する形になります。
取りあえず一つ、電話番号を取得します。
コンソールダッシュボードの[プログラマブルVoice]をクリック。

電話番号ダッシュボードが表示されます。 赤色の[始めましょう]をクリック。 f:id:kana_yaz:20170222013600p:plain

初期状態だと番号が払い出されていないですので、 [最初のTwilio電話番号を取得]をクリック。 f:id:kana_yaz:20170222013556p:plain

いきなり番号を提示されます。表示された番号が気にくわないなら、「別の番号を検索する」リンクをクリックすれば、選択画面に移行します。 f:id:kana_yaz:20170222013557p:plain

取得できる番号が羅列されます。どれでもいいんじゃね、とは思いますが、特定の番号が含まれる電話番号なども検索可能です。 f:id:kana_yaz:20170222013558p:plain

無事に取得できました。 f:id:kana_yaz:20170222013559p:plain

続いてGoogleDrive側の下準備

Web版のGoogleDriveが使える状態を前提に進めます。
f:id:kana_yaz:20170222013605p:plain

‘Twilio'フォルダと'Record'フォルダを作る

正直フォルダ階層の概念はGoogleAppsScriptには存在しないのですが、人間様がわかりづらいですので、ルートの直下に「Twilio」とでもフォルダを作りましょう。今回はそこにいろいろとファイルを置いていきます。
作成したフォルダの直下に「Record」というフォルダも作りましょう。そこに録音データを保存していきます。

Apps Scriptの準備

まずはApps Scriptを使えるようにします。
Web版GoogleDriveの[新規]→[その他]→[アプリを追加]とクリック。
f:id:kana_yaz:20170222013542p:plain

ドライブにアプリを追加、というウィンドウが表示されますので、検索欄に'script'と入力。
Google Apps Scriptがサジェストされますので、[接続]をクリック。
ドライブに接続されました、というウィンドウが表示されれば問題なしです。次へ進みます。
f:id:kana_yaz:20170222013543p:plain f:id:kana_yaz:20170222013544p:plain f:id:kana_yaz:20170222013545p:plain

記録用に使うスプレッドシートを作る

今回はログをGoogleスプレッドシートに記録していきます。Excelみたいなやつですね。
スクショは忘れましたが、マイドライブの[新規]→[Googleスプレッドシート]とクリックすれば作成できます。

新規作成できたら、シート名を「twilio」に設定し、「log」というシートと「blocking」というシートの2つ作ります。
「log」が電話ログを記録するシート、「blocking」が拒否する電話番号を記載するシートです。
f:id:kana_yaz:20170222013541p:plain

もしかしたら「blocking」シート側に何もはいってないとエラー出ちゃうかもしれませんので、 何か適当に拒否したい人間の番号を1列目に入れておいてください。
親とか実家とか

スクリプトファイルを作る

今回は、一番最初に電話を受けるスクリプト、留守電を録音するスクリプト、の2つファイルを作ります。
マイドライブの[新規]→[その他]→[Google Apps Script]とクリック。
f:id:kana_yaz:20170222013546p:plain

エディタが開きますので、'twilio'とでも名付けましょう。
作成直後は'myFunction'みたいなやつが出てきますが、不要です。
f:id:kana_yaz:20170222013538p:plain

同じ事を繰り返して、もう一つは'twilio_record'にでもしましょう。

Moment.js を使えるようにする

日付云々でラクなライブラリ、Moment.jsを使えるようにしましょう。
各々のスクリプトファイルで必要になりますので、このタイミングで使えるようにしましょう。

メニューバーの[リソース]→[ライブラリ]とクリック。
「含まれているライブラリ」ウィンドウが表示されますので、 [ライブラリを検索]テキストボックスに下記のプロジェクトキーを入力し、[選択]をクリックします。 バージョンのプルダウンから最新版を選び、[保存]で確定させてください。

MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48

f:id:kana_yaz:20170222013549p:plain よくよく考えれば、今回のスクリプトには必須ではないので、そこら辺は適時でお願いします。

構成の確認

こんな感じですかね。 f:id:kana_yaz:20170222021535p:plain

必要になるもののメモ

Twilioの ‘ACCOUNT SID'と'AUTH TOKEN’

Twilioのコンソールダッシュボードに書いてありますので、コピーしておきましょう。 f:id:kana_yaz:20170222013548p:plain

‘Record'フォルダの'FolderID’

録音データの保存先として作成した'Record'フォルダのIDです。 GoogleDriveで'Record'フォルダを開き、アドレスバーに書いてある英数字の羅列をコピーしておきましょう。 f:id:kana_yaz:20170222022846p:plain

‘twilio'スプレッドシートのID

フォルダと同じく、先ほど作成したスプレッドシートのIDもコピーします。 フォルダIDと同じく、アドレスバーに書いてある英数字をコピー。

コードをガリガリ書いていく

あとはひたすらコードを書いていきます。   詳細の解説は気が向いたら書くことにします。

‘twilio_record'スクリプト

まずは録音側。

//Twilio
var twilioSid='{ twilio の ACCOUNT SID }';
var twilioAuth='{ twilio の AUTH_TOKEN }';


function doGet() {
  return;
}



function doPost(e){
  
  var fileName = Moment.moment().format('YYYY/MM/DD-hhmmss');

  var recordUrl = e.parameter['RecordingUrl'];

  var caller=e.parameter['Caller'];
  caller=caller.replace('+81','0');

  var result = UrlFetchApp.fetch(recordUrl);
  var fileBlob = result.getBlob();
  fileBlob.setName(fileName);

  //GoogleDriveに録音データを保存
  var outputDir = DriveApp.getFolderById('{ GoogleDriveのDriveID }');
  var recordDetails = outputDir.createFile(fileBlob);
  var sharingUrl = recordDetails.getUrl();

  //Twilioサーバーの録音データを消去
  delRecord(recordUrl);
  
  //メールを送信
  sendMail(caller,Moment.moment().format('YYYY/MM/DD hh:mm'),sharingUrl);
  
  var out = ContentService.createTextOutput(buildXml());
  out.setMimeType(ContentService.MimeType.XML);
  return out;

}


function buildXml(){
  
 var outString = '';
  
  outString +='<?xml version="1.0" encoding="UTF-8"?>';
  outString += '<Response>';
  outString += '<Say language="ja-jp" voice="woman">';
  outString +='メッセージをお預かりいたしました。 ';
  outString +='お電話ありがとうございました。';
  outString += '</Say>';
  outString += '<Hangup />';
  outString += '</Response>';
  
  return outString;

}

function delRecord(urlData){

  urlData+=".json";
  var options = {
    method: "delete",
    headers: {
      Authorization: " Basic " + Utilities.base64Encode(twilioSid + ":" + twilioAuth)
    },muteHttpExceptions: true
  };
  var result = UrlFetchApp.fetch(urlData,options);

}

function sendMail(callerString,dateString,urlString){
  
  var mailTo='{ 通知メールを飛ばすメールアドレス }';
  var mailSubject='留守電通知';
  var mailBody='';
  
  mailBody += '留守電がありました\n';
  mailBody += '日時 : ' + dateString + '\n';
  mailBody += '相手先 : ' + callerString + '\n';
  mailBody += '録音データ : ' + urlString + '\n';
  
  MailApp.sendEmail(mailTo,mailSubject,mailBody);
  
}

最後のおまじない

編集が終わったら、メニューバーの[公開]→[ウェブアプリケーションとして導入]をクリック。 f:id:kana_yaz:20170222013551p:plain

現在のウェブアプリケーションのURLに書いてあるURLをコピーしましょう。次のスクリプトファイルで使います。
アプリケーションにアクセスできるユーザーは、「全員(匿名ユーザーを含む)」にしないとうまくいきません。

承認を求められるので[許可を確認]をクリック。 f:id:kana_yaz:20170222013539p:plain

なぜだか一旦無効にしないとうまくいかない、GoogleAppsScriptの謎。
ということで、再度メニューバーから[公開]→[ウェブアプリケーションとして導入]をクリック。 開いたら[ウェブアプリケーションを無効にする]をクリックし、[はい]で決定。 f:id:kana_yaz:20170222022847p:plain

再びメニューバーから[公開]→[ウェブアプリケーションとして導入]をクリックし、公開し直します。

よくわかんないですが、おまじないみたいなもの なので忘れないように。

‘twilio'スクリプト

var Sheets=SpreadsheetApp.openById('{ スプレッドシートのID }');
var logSheet=Sheets.getSheetByName('log');
var blockSheet=Sheets.getSheetByName('blocking');


function doGet(e){
  return;
  
}

function doPost(e){
  return receive_(e);
}

function receive_(e){
  
  //発信者情報を取得
  var caller=String(e.parameter['Caller']);
  caller=caller.replace('+81','0');
  
  //BlockingListの判定
  var blockArr=blockSheet.getRange(1,1,blockSheet.getLastRow(),1).getValues();
  var blockRes=blockArr[0].filter(function(element,index){
    if(String(element) ==String(caller)){
      return true;
    }
  });
  
  
  var out;
  var setRow=logSheet.getLastRow()+1;
  if(blockRes.length==0){ //Block判定ではない
    logSheet.getRange(setRow,1).setValue(Moment.moment().format('YYYY/MM/DD hh:mm'));
    logSheet.getRange(setRow,2).setValue(caller);
    logSheet.getRange(setRow,3).setValue('record');
    var result=buildXml();
    out = ContentService.createTextOutput(result);
  }else{ //Block判定
    logSheet.getRange(setRow,1).setValue(Moment.moment().format('YYYY/MM/DD hh:mm'));
    logSheet.getRange(setRow,2).setValue(caller);
    logSheet.getRange(setRow,3).setValue('blocked');
    var result=buildXmlBlock();
    out = ContentService.createTextOutput(result);
  }
  out.setMimeType(ContentService.MimeType.XML);
  
  return out;
  
}

function buildXml(){
  
 var outString = '';
  
  outString +='<?xml version="1.0" encoding="UTF-8"?>';
  outString += '<Response>';
  outString += '<Say language="ja-jp" voice="woman">';
  outString += 'ただいま、電話に出ることができません。 ';
  outString += 'メッセージを録音します。 ';
  outString += '「ピー」という音の後に、60秒以内で、お名前、お電話番号、ご用件を録音し、';
  outString += '最後にシャープを押してください。';
  outString += '</Say>';
  outString += '<Record action="{ twilio_recordスクリプトのウェブ公開URL }" finishOnKey="#" maxLength="60" method="post" timeout="75" />';
  outString += '</Response>';
  
  return outString;  
  
}

function buildXmlBlock(){
  
 var outString = '';
  
  outString +='<?xml version="1.0" encoding="UTF-8"?>';
  outString += '<Response>';
  outString += '<Reject />';
  outString += '</Response>';
  
  return outString;  
  
}

こちらも最後のおまじない

編集が終わったら、メニューバーの[公開]→[ウェブアプリケーションとして導入]をクリック。 f:id:kana_yaz:20170222013551p:plain

現在のウェブアプリケーションのURLに書いてあるURLをコピーしましょう。Twilioのページで使います。
アプリケーションにアクセスできるユーザーは、「全員(匿名ユーザーを含む)」にしないとうまくいきません。

承認を求められるので[許可を確認]をクリック。 f:id:kana_yaz:20170222013539p:plain

なぜだか一旦無効にしないとうまくいかない、GoogleAppsScriptの謎。
ということで、再度メニューバーから[公開]→[ウェブアプリケーションとして導入]をクリック。 開いたら[ウェブアプリケーションを無効にする]をクリックし、[はい]で決定。 f:id:kana_yaz:20170222022847p:plain

再びメニューバーから[公開]→[ウェブアプリケーションとして導入]をクリックし、公開し直します。

よくわかんないですが、おまじないみたいなもの なので忘れないように。

スクリプトのURLをTwilioに反映

Twilioのコンソールダッシュボードから電話番号ページに飛び、先ほど取得した番号を選択します。 f:id:kana_yaz:20170222013601p:plain

‘twilio'スクリプトウェブアプリケーションURLを、[A CALL COMES IN]項目のURL欄に貼りつけます。
POSTかGETを選べますが、POSTにしといてください。[保存]を押して終了。 f:id:kana_yaz:20170222013536p:plain

動作確認

試しに、先ほど作った番号に電話してみましょう。


twilio_record_test

メール通知が来ます

留守電の記録&ブロックが発生すると、メールで通知が来るようにしました。
GoogleDriveへのリンクも貼ってあります。 f:id:kana_yaz:20170222033042j:plain

GoogleDriveに録音データがアップされます

録音ファイルはこちらに。
f:id:kana_yaz:20170222033044j:plain

スプレッドシートには

記録されてますね。ブロックされたものは'blocked'表記になります。 f:id:kana_yaz:20170222033043j:plain

誰でも簡単に

こういうものが作れる時代って便利ですね。実際にコード書いてた時間なんでせいぜい30分ですし。
コードを書いている時間が30分に対して、この記事を書いた時間が1時間以上かかってるんですけどね!!

ヘッドフォンを自分で直す

ヘッドフォンの季節ですね

世間のふわふわした女子とかはイヤマフ使うんでしょうけど、あいにく自分はキモいんで、そういうのはちょっと難しい。
そんな自分が防寒具として使っているのがヘッドフォンでして、この季節に外出するときは大体ヘッドフォンをつけています。

酷使してると壊れるんですよね

f:id:kana_yaz:20161112224643j:plain たいした耳をしてないので高級ヘッドフォンは持っていないのですが、それでも壊れてしまうと地味に出費が痛い。
ヘッドフォンの壊れるところと言えば、自分の使い方だとジャック部分の断線が多数。他の方も殆どがそこだと思うんです。

修理して使えばいいんですよ

ここ最近はヘッドフォンの修理サービスも結構いろいろなお店さんで提供されていまして。有名どころだと eイヤホンさんとかがやってます。確かeイヤホンさんだと、4,000円とかだったかな。
余談ですけど、eイヤホンさん、行ったことがない方は実際に行ってみるといいです。スタッフさんたちがとても博識で、音楽が好きな人たちなんだなと思える、心地よい接客なので。

自分には高いので自分で直す

ジャック自体はそんなに高価なものでもないんですよね。100円とかで売ってますし。工賃としてeイヤホンの4000円って安すぎる設定だと思うんですがまあ、自分にとっては少しおしい金額なので、自分で直すことにします。

用意するもの

壊れたヘッドフォン

f:id:kana_yaz:20161112224644j:plain 今回直すのは、SENNHEISERのHD439です。
自分が持ってるSENNHEISER製ヘッドフォンのうち、MOMENTUMは疲れる、HD219は夏限定、HD598は重いので持ち出さない。ってカンジで。聴き疲れしなくて軽く、防寒性も高いHD439の出番が多いんですよね。 昨年に壊れて以降は放置状態で、勿体ないなあとずっと思っていました。

交換するイヤホンプラグ

自分の耳はゴミなので、こだわりなんてありません。それっぽければいいんです。 ということで今回使うのはAmphenol AudioのKS3P
f:id:kana_yaz:20161112224642j:plain 金属シェルなのに安いのでいいですね。ニッケルメッキですが、音質とかはあんまり気にしていないので、これでいいんです。同じ外観で金メッキのKS3P-AUもありますけど、店頭在庫がありませんでした。

自作用プラグ NOBUNAGA 3.5mm stereo plug

自作用プラグ NOBUNAGA 3.5mm stereo plug

工具一式

どこのご家庭にもある工具類で直します。なければ買いましょう。どこのご家庭にもあるかどうかは自信がないので、一式を買う手間考えればeイヤホン持ってったほうが安いです。 f:id:kana_yaz:20161112224641j:plain

直し方

ハンダするだけです。という雑さだと微妙かと思いますので、S2Sでいきましょう。

1.サックリいく

f:id:kana_yaz:20161112224639j:plain 一気にいきましょう。この機会ですから自分は長すぎる分を適度に切断してしまいました。交換するだけなら根元だけでいいと思います。 ケーブルが途中で断線しているようなら、断線しているところまで切ります。

2.コネクタの結線位置を確認する

f:id:kana_yaz:20161112224640j:plain 仕様書に載ってますから、しっかりと確認しましょう。音がでないとか、左右が逆になってしまったりします。
今回のヘッドホンは、茶色がGND、赤がR、青がLでした。

3.プラグのカバーをケーブルに通す

こういうのって絶対に忘れるんですよね。パソコン組み立てるときにバックパネル忘れちゃうやつと同じです。
ハンダする前に「必ず」プラグカバーを配線に通しましょう。ハンダした後に通すのを忘れたことに気付くと悲しいです。

4.ケーブルの被覆を剥く

f:id:kana_yaz:20161112224638j:plain カッターナイフでぐるりと切れ目を入れ、芯線を傷つけないように作業します。不安な方はワイヤストリッパーでも使いましょう。

5.リッツ線の被覆を剥く

f:id:kana_yaz:20161112224637j:plain ヘッドホンのケーブルには、リッツ線と呼ばれる配線材が使われていることが多いです。エナメル被覆をした線をより合わせたもので、そのままだとハンダがのりません。
ライター等で線材を炙ってエナメルを溶かし、燃えカスをきれいに除去します。炎の先で軽く炙る程度で大丈夫です。 軽くサンドペーパーで磨いた後、溶剤などできれいに拭き取ってあげるとよし。

6.ハンダする

f:id:kana_yaz:20161112224635j:plain リッツ線の先と端子部にちょいとハンダを盛って、しっかり温めつつハンダをのせます。 腕が3本あると非常にやりやすい作業なのですが、生憎人間の腕は2本だけなので、クリップスタンドなどを使うといいです。

DAIKITOOLドットコム 391B ヘルピングハンズ

DAIKITOOLドットコム 391B ヘルピングハンズ

7.端子部を補強する

f:id:kana_yaz:20161112224634j:plain この手順は好みとかあると思うのですが、接続部を補強するためにパテを盛ってあげます。 グルーガンや接着材モリモリでもいいかと思います。

8.確認する

f:id:kana_yaz:20161112224633j:plain LRが正しく接続されているかなど、確認をしましょう。

スマホとかで確認するなら、下のようなYoutube動画なんかがお便利です。


スピーカー・ヘッドフォン テストサウンド - Speakers,Headphones testing sound

またWindowsパソコンなら下の手順でチェックできます f:id:kana_yaz:20161212040557p:plain f:id:kana_yaz:20161212040559p:plain f:id:kana_yaz:20161212040600p:plain

以上

カンタンに誰でもできる作業なので、捨てるのがもったいない!という人はぜひ。

Windows Helloで指紋認証

パスワード設定してますか

自宅のパソコンであってもログオンパスワードを設定するのは当然のことなんだけど、地味に面倒くさい。 自分は長めのパスワードを設定しているので、余計に面倒くさい。 かといってフリーパスはイヤだ。
普段使っているラップトップに指紋認証がついているので、そのラクさに慣れてしまうと、パスワードを入力するのが面倒くさい。

指紋認証が欲しい

地味に高いんですよね、指紋認証。 最近、マウスコンピューターから安いユニットが出ましたけども、それでも5000円弱するし。
真皮まで読むような高級なヤツじゃなくてもいいので、ちょいっとつけておきたい。

富士通指紋認証ユニットを格安で

f:id:kana_yaz:20161124022623j:plain ここ最近オークションで出回ってる富士通製の指紋認証ユニットを店頭で見つけたので、調達してきました。パッケージ無しの新古Junk扱いで980円でした。店頭のPOPにはWindows10対応と書いてあるので、多分いけるな、と。
別にラクしたいがために必要であって、セキュリティをこうガチガチみたいなことは求めていないので、新古のパッケージなしでもいいんです。保証がなくてもいいんです。たぶんこれ、どこかの企業がリースパソコンと組み合わせて使ってたやつなんじゃないでしょうかね。
miniUSB接続って言うのが、そのものの古さを感じさせますね。メーカー希望小売価格は15000円だそうで、意外と安いなと。 www.fmworld.net f:id:kana_yaz:20161124023929p:plain

コイツ・・・Windows Helloに対応してるぞ・・・

f:id:kana_yaz:20161124024222p:plain サクっと挿したらサクッと認識しちゃったよね。WindowsUpdate経由でのドライバ適用で、すんなり認識してしまいました。
そしてWindows Hello対応デバイスとして認識しやがっています。

What's Windows Hello

Windows Hello とは
Windows Helloとは、Windows10が標準で対応している生体認証機能。OSに統合されています。指紋認証以外にも、コンピューター内蔵カメラを使った顔認証なんかもできます。
mouse USB顔認証カメラ Windows Hello 機能対応 CM01

ということでセットアップしましょう

Step.1

[Windowsの設定]→[アカウント] f:id:kana_yaz:20161124024215j:plain

Step.2

[アカウント]→[サインインオプション] f:id:kana_yaz:20161124024214j:plain

Step.3

[サインインオプション]→[指紋認証]→[セットアップ] f:id:kana_yaz:20161124024213j:plain

Step.4

指紋認証ユニットで指をスワイプし登録する。何回か繰り返す f:id:kana_yaz:20161124024220p:plain f:id:kana_yaz:20161124024221p:plain f:id:kana_yaz:20161124024219p:plain f:id:kana_yaz:20161124024218p:plain f:id:kana_yaz:20161124024217p:plain

Step.5

必要に応じて他の指もセットアップする f:id:kana_yaz:20161124024216p:plain

以上でセットアップは完了。次回以降のログオン時には指紋認証でログオンできるようになります。

せっかくなので

Windows10では生体認証がOSに統合されているので、以前に比べて敷居が下がりました。特殊なソフトを使ったりしなくてもいいですし、いちいち面倒なセットアップをしなくてもいい。
自分はログオンをラクにするためのデバイスとして使っていますが、もちろんセキュリティ強化にもつながるのではないかなと。
なによりいちいちキーボードで入力しなくてもよいので、サクッとログオンできますね。

いちおうパスワードも

生体認証でスムーズにログオンできるということは、デフォルトのパスワードは比較的難解なものにしちゃってもいいですよね。 普段は入力する必要がないですし。ただまぁ、パスワードの管理はしっかりやったほうがいいですね。
kana-yaz.hatenablog.jp

見慣れないUSB機器をパソコンにつないじゃダメだってばっちゃが言ってた

物理エスケープキーを作っていて

前回POSTの物理エスケープキーを作っていて思ったこと。
普通のHIDデバイスとして認識するんだから、簡単なセキュリティ対策ソフトだと、これ接続できるよなあ。。。と。

試しに作った

動画で見るのがわかりやすいかと


Digispark KeyInput and Shutdown Laptop Demo

なにをしているか

単純に、キーコードを送っているだけです。 [Win]+[R]を送り、[cmd.exe]とタイプして[Enter]、 DOSコマンドのシャットダウンを送っています。 あえてnotepadを開いたりしていますけども、それはデモとして。

コード

#include "DigiKeyboard.h"

void setup() {

  pinMode(1,OUTPUT);
  

}

void loop() {

  delay(1000);

  digitalWrite(1,HIGH);delay(250);
  digitalWrite(1,LOW);delay(250);
  digitalWrite(1,HIGH);delay(250);
  digitalWrite(1,LOW);delay(250);
  digitalWrite(1,HIGH);delay(250);
  digitalWrite(1,LOW);delay(250);
  digitalWrite(1,HIGH);delay(250);
  digitalWrite(1,LOW);delay(250);
  

  DigiKeyboard.update();
  DigiKeyboard.sendKeyStroke(0);
  delay(200);

  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
  delay(400);
  DigiKeyboard.println("notepad.exe");
  delay(400);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  delay(1800);

  DigiKeyboard.println("Have a Nice Day! XAXA!");
  delay(4000);

  DigiKeyboard.sendKeyStroke(KEY_F4,MOD_ALT_LEFT);
  delay(400);
  DigiKeyboard.sendKeyStroke(KEY_N,MOD_ALT_LEFT);
  delay(400);

  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
  delay(400);
  DigiKeyboard.println("cmd.exe");
  delay(400);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  delay(1800);

  DigiKeyboard.println("shutdown -s -t 5");
  delay(2000);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  delay(200);

  delay(100000);

}

200円でできる嫌がらせ

セキュリティ対策ソフトでUSB機器をブロックしてる企業も多いですけど、未知のストレージデバイスやイメージングデバイスだけ警告して、HIDデバイスとかは警告してくれないやつもありますしね。汎用ドライバーで動くUSBキーボードを果たしてブロックしてくれるんだろかな、と。そもそもコイツ、BIOSの段階で認識するしね。
これ、まだ剥き身なのでわかりやすいんですが、USBマウスとかの中に仕込んだら、ぱっと見わかんないですよね。

なので

未知のUSBデバイスを道ばたで拾っても、自分のパソコンには接続しないようにしましょう。

物理エスケープキーを作った

なんで[Esc]無くしちゃうん?

先日発表され、物理[Esc]や[Fn]キーがなくなって話題となったMacbookPro。
Proは仕事で使うものなんだし、それってどうよ?みたいに思いますが、TouchBarが採用されて、物理的なキーが一部なくなってますね。 f:id:kana_yaz:20161031122202p:plain

それはLenovoがX1 Carbonでやって大爆死したヤツじゃないですかーヤダー
[Esc]は一段下ながらも残したLenovo、全部取っ払ったAppleLenovoは一代限りで止めちゃいましたが、Appleさんはどうなんでしょうね。 [Esc]キーはよく使うキーなので、結構否定的な意見も多いTouchBar。実際にモノが出回ったら皆さんは受け入れるんでしょうか。

なければ作る

いやでも。物理的に[Esc]ほしいじゃん?って人のために、多分中華メーカーが外付けファンクションキーを出してきそうな気がします。
でも欲しければ作ればいいんです。 f:id:kana_yaz:20161031123306j:plain

必要なもの

今回もお手軽工作です。
手元にあったて使えそうなのがこれしかなかったので"DigiSpark"(Digispark USB Development Board - Digistump)を使って作ってみましょう。マイコン自体はATTiny85、USBはソフトウェア的に実装し、パソコンからはHIDデバイスとして見えるやつです。キーボード代替なんだし、丁度いいですね。 f:id:kana_yaz:20161031123309j:plain

  • DigiSpark
  • 何らかのスイッチ(今回はCherryMX黒軸)
  • 1/4W抵抗 10kOhm
  • 配線材少々
  • ユニバーサル基板

スイッチは好みに合わせていいんだと思います。 自分は入力キー=Cherry黒軸、みたいな感覚なので、在庫していたCherry黒軸を使いましたが、格ゲー好きなら三和のアケ筐体ボタンでもいいですし、普通のタクトスイッチでもいいと思います。男らしくジャンパピンやピンセットの先でちょいちょいでも。

ピン配列とか

ATTiny85自体のピン数が少ないことに加えて、V-USBで2ピン消費することもあり、使える入出力は4本しかありません。

ピン番号 役割
P0 IO-0,PWM
P1 IO-1,PWM
P2 IO-2,A1
P3 IO-3,PWM,A3,V-USB
P4 IO-4,PWM,A2,V-USB
P5 IO-5,PWM,A0

エスケープキーのみ実装するのなら足りるのですが、ファンクションキーを全部実装する場合は、入出力が多いマイコンを選ぶか、アナログ入力を使ってキーマトリクスを読むかになると思います。キーマトリクス読む云々は下記のサイトが詳しいです。
I/Oピン一つで読み取れるキーパッドの製作 - しなぷすのハード製作記

Digisparkを使えるようにする

詳細はDigiSparkのWiki(digispark [Digistump Wiki])に載っています。
Arduinoの[環境設定]にある[Additional Board Manager URL]に下記のURLを追加してあげます。

"http://digistump.com/package_digistump_index.json"

f:id:kana_yaz:20161031145016p:plain

コードを書く

コードってほどのものは必要ないです。Lチカに毛が生えたレベル。

P1はオンボードLED、P2はスイッチに接続されてます。
DigiKeyboradのWikiを見る限り、Escapeのキーコードはありませんでしたけども、"USB Implementers Forum, Inc.USB.org - Welcome"にある資料を見る限り、英語配列キーボードのコードは"41"で大丈夫なようです。

#include "DigiKeyboard.h"

void setup() {

 pinMode(1,OUTPUT);
 pinMode(2,INPUT);

}

void loop() {
 digitalWrite(1,LOW);

 int hi=digitalRead(2);

 if(hi==HIGH){
   digitalWrite(1,HIGH);
   DigiKeyboard.sendKeyStroke(41);
 }

 delay(200);


}

ちなみに

  DigiKeyboard.println("hogehoge");

とすることで任意のキータイプをPCに送ることができます。

回路図

ちょい待ち

でも結局

後付けの外付けFnキーバーみたいなのが、Kickstarterとかで出そうですよね。ぼくはくわしいんだ。

LAMY サファリ ローラーボールを書きやすくする

サファリっていいと思いません?

意識が低いので、20代の頃からずっとLAMYのサファリを使っています。 安いそこらへんのボールペンは絶対になくしてしまうし、誰かに貸すと戻ってこなかったり。 普通のボールペンを使っていたときは、ペンが手元になくなってしまい、文具屋やコンビニに走ることも度々。 ラミー サファリ | ラミー・LAMY

もっとペンを大切にしたい、でも高級だったり替えインクがなかなか手に入らないのもイヤだということでいろいろと試したのですが、ペン先がタフ、ラフに扱っても壊れない手軽さ、大型クリップでいろんなところにしっかり挟める、ということでLAMYのサファリに落ち着きました。

普段のメモにはサファリ万年筆のF字にブルーブラックインクを入れて使っているのですが、転写用紙を書いたり、誰かに貸すときなんかのために、ローラーボールも携帯しています。

そのローラーボール最大の欠点

万年筆は非常に優秀なのですが、ローラーボールは地味に・・・インクがダメなんですよね。 油性でどんな用紙にもそこそこインクがのるのはいいのですが、インクを全部使い切る前にダメになってしまうことが多々ありまして。 純正インク、微妙に高いですし、売っているところもあんまりないですし。

同じ悩みを持っている方も多いのか、「UNUS PRODUCT SERVICE.」という会社から、カスタム用のリフィルアダプターなんかも製品化されていたりしまして。 ただこれ、微妙に高価なんですよね、1000円弱くらいしちゃうので、地味に手を出しづらい。

ということなのでちょいと加工してみましょう

もう少し安くなんとかする方法は・・・と考えました結果。 LAMYにJETSTREAM用の替え芯をなんとか入れてみることにしました f:id:kana_yaz:20161022002251j:plain

どこのヨォドォバァシィキャメラァや文房具店にも大体置いてあるJETSTREAM替え芯、どこの一般的なご家庭にも在庫しているプラパイプなんかで加工します。 f:id:kana_yaz:20161022002256j:plain

用意する物

作り方なんてない

並べてみるとわかるのですが、どうやらペン先や固定部分のサイズはほとんどかわらないのです。 f:id:kana_yaz:20161022002253j:plain

JETSTREAM替え芯のほうが4mm程度短いですので、そこのところだけ解決してあげればOkayです。 自分は部屋に転がっていたプラパイプを使ったのですが、4mm程度軸を延長できればなんでも構わないと思います。

自分は適当な長さにプラパイプを切断し、マスキングテープを使って延長してみました。 少し長めにプラパイプを切断した意味は、単に目測で適当に切ったらそうなっただけ&短く切りすぎてグラグラになるのがイヤ、というだけです。樹脂の歪みがバネのような作用をし、問題無くサファリの軸に収まりました。 f:id:kana_yaz:20161022002302j:plain

JETSTREAMいいっすね

イライラが溜まりがちのローラーボールがサクサク筆記できるようになりました。 これで重巡プリンツオイゲンちゃんも大満足です。 国内メーカーのボールペン、やっぱりいいですね。 f:id:kana_yaz:20161022002235j:plain

三菱鉛筆のサイトを見る限り、ボール径やカラーが変わっても支持部やリフィルの長さはかわらないようなので、自分の好きな筆記幅や色でサファリをカスタムできそうですね。 油性ボールペン 替芯 | ボールペン | 商品情報 | 三菱鉛筆株式会社

自分は太めのペンが好きなので、次は1.0mm幅にしようと思っています。

カネはない。ネットワークの勉強はしたい。-OpenWrt-

学習にはカネがかかる

自分のネットワークに関する知識の無さに辟易として、ちゃんとしたネットワークの勉強をしようと思った。
ネットワークの勉強をするには、ちゃんとしたルーターが必要なのは理解できる。ただそんなものを買うお財布の余裕はない、と。
自らの業務範囲的にCisco製品は対象外。お布施高いのもあるんだけど。
そうするとYAMAHAとかを買うのが一番いいだろうと。実際問題、YAMAHAは業務でもちょいちょい触ってはいるんだけど、やはり自由に遊びながら使えるルーターはあってもいい。
RTX1200かRTX810の中古でも買おうかなとは思っているのだけど、如何せん先立つものがねえ、と。

ヤマハ ギガアクセスVPNルーター RTX1210

ヤマハ ギガアクセスVPNルーター RTX1210

 
ヤマハ ギガアクセスVPNルーター RTX1200

ヤマハ ギガアクセスVPNルーター RTX1200

 
ヤマハ ギガアクセスVPNルーター RTX810

ヤマハ ギガアクセスVPNルーター RTX810

 

 

なんかあった

と思いながら自宅をがさがさしていたら、使っていないルーターを発掘。
NetgearのWNDR4300。
・450Mbps 5GHz帯
・300Mbps 2.4GHz帯
・有線1Gbps x4
・USB対応
とまあそこそこ今でも使える性能なのですが、一昨年にファームウェアアップデートに失敗し、文鎮と化していた。
もったいないなとは思っていたので、今回はこいつで遊ぶことにする。

 

OpenWrtを突っ込む

ルーターなどに使われる、組込向け汎用Linuxディストリビューション
一般に販売されている家庭用ルーターでも大抵の場合は組み込み用Linuxが走っているのですが、こちらは有志により開発されているもの。所謂カスタムファームウェアと呼ばれる類のものです。

突っ込み方

ファームを落としてくる

リンク先よりダウンロードし、適当なところに展開する。
"C:\fw\"とかでいいんじゃないかね。デスクトップに展開しちゃうと、ディレクトリ深くてファイルパスを指定するのが面倒だし。
Netgear WNDR4300 [OpenWrt Wiki]
f:id:tam_sam:20160528192932p:plain
f:id:tam_sam:20160528192939p:plain
f:id:tam_sam:20160528192950p:plain


 

FFTPクライアントの準備

Windows標準のやつでいいと思う。
普通にインストールすると入ってないので注意。

[コントロールパネル]→[プログラムと機能]

f:id:tam_sam:20160528190757p:plain

[Windowsの機能の有効化と無効化]→[TFTPクライアント]

f:id:tam_sam:20160528190937p:plain

 

WNDR4300をリカバリモードに

ファームウェアを書き込むために、リカバリモードへ移行する。
焼いてしまうと元通りに戻すのが面倒なので、そこらへんは注意して。
裏面にResetピンがあるので、押しながら電源投入。
f:id:tam_sam:20160528191507j:plain
※リセットボタンが凹んでしまったので分解していますけど、本来は分解しなくてもOkay

ファームウェアを転送

OpenWRTのデフォルトIPアドレスは192.168.1.1なので、操作端末のIPアドレスを192.168.1.xに。接続するポートはWAN側の1番ポート。
FFTPクライアントで192.168.1.1を指定して、WNDR4300にファイルを転送。

Windowsコマンドプロンプトを起動して、

tftp -i "IPアドレス" put "イメージのパス"

f:id:tam_sam:20160528191555p:plain

 

しばし待つ

ファームウェアを転送すると、電源LEDが点滅します。
緑色の点灯になれば、ファームウェア書込が完了し、ブラウザからアクセスできるようになっています。

OpenWRTのスクショ

設定画面

設定に関しては個々の環境で違うと思いますので、
ほぼ初期状態のスクショだけ。

パスワードの設定

f:id:tam_sam:20160528192115p:plain

"Administration"画面

rootのパスワードやSSH設定など
f:id:tam_sam:20160528192307p:plain

"OverView"画面

現在のステータスなど
f:id:tam_sam:20160528192352p:plain

"Routes"画面

f:id:tam_sam:20160528192425p:plain

"Interfaces"設定画面

f:id:tam_sam:20160528192847p:plain

"Interfaces LAN"設定画面

f:id:tam_sam:20160528192747p:plain

"Interfaces WAN"設定画面

f:id:tam_sam:20160528192821p:plain



 

ところで

OfficeLensって便利

Microsoftが提供してる"OfficeLens"ってアプリが地味に便利でして。
こんな基板の写真も補正してくれるという。
シルクの確認なんかに便利かもしれない。
f:id:tam_sam:20160528193422j:plain

play.google.com

「めくら」「つんぼ」と言ってはいけない

「差別だ!」ということで、使える言葉がどんどん減っていくな、と感じている。
差別的表現だとして、漢字をひらがなにしたり、言い換えをしたり。

 

「障害者」を「障がい者」と表現すること自体に違和感を覚えるのは自分だけ?なんだろうか。
まずそもそも、漢字とひらがなを交ぜ書きすること自体に違和感を覚えるし、"害"という字が悪い意味を想像させると言われたところで、それでは残った"障"の字はどうなの?って話にもなる。

"障"の持つ意味。

「障」という漢字の意味(名前・名付けの意味)・成り立ち・読み方・画数

なぜ"障"という字を漢字で残したんだろう? なぜ「しょうがい者」にならなかったのだろう?と疑問に思う。

 

自分の子供のころ、当然のように周囲の大人は「めくら」だの「つんぼ」を使っていた。
それを差別用語だと認識をしていなかったのもあるだろうけども。
昭和生まれ、関西人でもなし、田舎者でもあるので、そこらへんはたぶん、都会に比べたら緩かったんだろう。

 

私の母親は障害者福祉施設で働いていた。福祉系の短大を卒業してから定年まで。
自分は片親だったので、小学校にあがる前から、親の仕事場に居させてもらうことも多々あったし、障害を持っている方の接点もたくさんあった。子供の頃から、障害者ってどういう人?っていう立場ではなかった。

ただ、学校でたまにやる「障害を持っている人は差別しちゃいけませんよー」っていう授業のときには、とても大きな違和感を感じていた(当時の自分にはそれを表現する能力はなかったけれど)。


母親やその同僚は、今で言う差別的表現を職場でも当然のように使っていたし、障害者の家族も同じくだった。
時期を明確に言い切れないけれども、90年代半ば以降になってようやく多少の言い換えをするようになった。
「別に自分たちはいいんだけど、上がね、」と。どうやら職場の上席に注意されるらしい。


言い換えが始まってしばらく経ってから、今度は身体拘束(暴れる障害者・高齢者をベッドに縛り付けること)ができなくなった。
身体拘束が禁止になってからというもの、腕や足の生傷が増え、仕事が終わったあとのストレスも増えていたようだった。
自分たちも他の利用者さんたちも危ないけど、拘束してはいけない規則だから、と。

 

話は脱線したけれども。
母親の言っていたことで、一つ印象に残ったことがある。

『足繁く見舞いにきたり、夏と冬にしっかり自宅外泊をしている家族は、そんな表現がどうのこうのみたいな事を言わない。こっちが呼ばないと来ないような家族に限って、そういう差別がどうこういう話をする。』


 

 

言葉の言い換えをしたところで、何になるというのだろう。
言い換えを推奨する=差別的意識を持っている、のではないの? と変に勘ぐってしまう。
言葉をかえただけで、人間の認識や意識がかわるわけもない。

 

言葉は生き物。時代によって変わり行くもの。
言葉には由来や成り立ちがあり、言葉がうまれるということは、言語として進化をするということ。

 

「障害者」という言葉が使われなくなり、「障がい者」という言葉がうまれた。
それは言語としての進化なんだろうか?

 

社会的弱者を守ることはとても大切だと思う。

ただ、差別的用語に関する言葉狩りをすることに関して、

「社会的弱者を守るため」ではなく「クレームや言い掛かりから組織や個人を守るため」

としか思えないときもあるな、と。

安くて高速なポータブルストレージが欲しい

基本はクラウドストレージ

あまり自宅にいない生活をしているので、普段使うデータはできる限り持ち歩きたい。
だけどメディアを持ち歩くのは面倒。デスクトップとラップトップの同期作業なんてもっと面倒。

ということで、普段はクラウドストレージを使っています。
メインはDropboxとOneDrive、あとは自宅NASのReadyCloudを併用する形で。

しかしながらどうしてもポータブル版XAMPP環境を持ち歩く必要がありまして。
さすがにクラウド経由で同期するのは面倒だ、と。


安価で大容量なポータブルストレージはないものか

以前はSandiskのExtremeシリーズを持ち歩いていたのですが、画像素材などを含めると32GBの容量では少々不足気味。かといって大容量なのは高いしな…と思っていました。
SanDisk Extreme USB3.0 フラッシュメモリー 32GB (無期限保証)[国内正規品] SDCZ80-032G-J57


安価に大容量を求めるとすれば、2.5インチのSSDをポータブルケースに入れるのが一番お手頃ではあるのですが、これも普段持ち歩くには大きすぎる。
一時期はmSATASSDをケースに入れて持ち歩いていたのですが、ケーブルを忘れてしまうことが多いのに加えて、NUCにmSATASSDをとられてしまいまして。
f:id:tam_sam:20160405015428j:plain
ProjectM MSATA用高速USB3.0ケース ブラック PM-MSATAU3-BK




時代はM.2ですよね

mSATASSDをもう一つ買い足そうかと思ったのですが、意外と新品を買うと高い。というのも、小型SSDの主戦場がmSATAからM.2へ移行しているので、メーカーが生産していないことによって全体的な相場が上昇しているのでした。
ということなので、価格が下がってきたM.2のSSDを使って、ポータブルなストレージを作ってみることにしました。

用意した物

f:id:tam_sam:20160405015941j:plain

M.2用USB3.0 SSDケース

秋葉原をふらふらしていて見つけました。
こういう変な部品はやっぱり東映さんですねえ。

ノーブランド M.2 NGFF SSD USB 3.0 CASE
パソコンハウス東映 \2,980-

ハードディスクケース 2ページ目 - パソコンハウス東映 東映無線株式会社


同等品はAmazonなんかでも売ってます。
M.2 NGFF SATA SSD TO USB3.0 外付けケース ケーブル不要SOKET 2 B+M KEY SATA ec_onlineshop



M.2 SATA接続 SSD

別にメーカーにはあまりこだわりがないのですが、こういうSSDSamsungでいいかと。
恐らくは組込流れ品だと思われ、購入したときの使用時間は3時間程度でした。
どうせ使い潰す前提なので、新品じゃなくてもいいんです。

Samsung MZNTE128HMGR
じゃんぱら3号店 \4,280-

じゃんぱら-SAMSUNG MZNTE128HMGR 128GB/SSD/M.2 2280/SATA/6Gbpsの詳細

こっちもAmazonに同等品がありますね。
ADATA Premier Pro SSD SP900シリーズ 128GB M.2 Type2280 SATA 6Gb/s 3年保証 ASP900NS38-128GM-C



使ってみた感じ

安上がりな割には、満足感は高いです。
大容量USBメモリもずいぶん安くなりましたけど、安いやつってのは大概遅いので。

組込はとても簡単

差し込んでネジ止めるぐらいですしね。30秒で組込完了。
ドライバとかも自動であたるので(Win10環境では)、特に面倒なこともないですね。
f:id:tam_sam:20160405015910j:plain
f:id:tam_sam:20160405015917j:plain

よいところ

そこそこの速度が出る

さすがに最新のUSBメモリよりかは遅いですけど、当初の目的であるXAMPPを入れて持ち歩いて使うという用途では全く困らない速度。

CDMで計測してみると、このぐらいの速度は出てますね。
f:id:tam_sam:20160404135311p:plain

ローカルディスクとしてマウントされる

いろいろとほら。リムーバブルで認識されると不都合とかあるじゃないですか。

わるいところ

でかい

Extremeも大柄ですが、こっちはもっとでかい。
直接ラップトップにさすのを躊躇うレベル。
f:id:tam_sam:20160405015523j:plain

発熱が気になる

熱をどこかで測っておけばよかったのですが、触れると熱いな、ぐらいには発熱しますね。



時代遅れだけど

持ち歩くこと自体が時代遅れではあるのだけど、
こうやってお手軽に高速なポータブルストレージが手に入るのはすばらしいですね。
今はSSDの価格が急落してますし、500GBクラスのSSDを突っ込んで使うのもアリなんだと思います。
SD8SN8U-512G-1122 [X400 SSD(512GB M.2(2280) SATA6G 5年保証)]