Thinkpad T480

購入した動機は、当時の私がThinkpadらしい機体はそろそろ打ち止めになるのかなという予想をしていて、4コア化による性能向上と、古き良きThinkpadの伝統的なスタイルとの折衷が実現されていると思ったからだ。実際、次世代のT490ではよりT480sやX1 Carbonに近づいたように思えるので、判断としては間違っていなかったはずである。

  • Intel Core i5 8350U
  • DDR4 SDRAM 32GB (16GB x 2)
  • 128GB PCIe SSD
  • 500GB HDD
  • Geforce MX150
  • WQHD LCD w/ IR Cam
  • Backlit Keyboard (US Layout)
  • Fingerprint reader / NFC / Smartcard Reader
  • Front 3 cell / Rear 6 cell battery (removable)
  • 3 year send back / accidental damage protection

この構成+αでタイムセール割引適用後で200k JPYしなかったはずである。安い。ともあれLenovoはセール価格詐欺をやめるべきである。

128GBのSSDは2242のM.2スロットに搭載されていて、16GBのOptane MemoryやWWANと排他になる。それならば128GBなんて中途半端な容量のSSDはつけずに、M.2 2242 SSDを買って換装すれば良い、と考えてしまうが、そうは問屋が卸さない。このM.2スロットにはSATAのラインが来ていない。よって、このスロットにSSDを搭載するためにはM.2 2242サイズのNVMe SSDを探さなければならないのである。私には無理そうだったので諦めてSSDを搭載した。WWANにする手もあったけど、WindowsでWWAN使うのってあんまりうまく行かない印象があるのでやめた。

主ストレージにSSDを選択すると、キャディを使ってM.2 2282 NVMeを2.5インチベイに搭載する形になる。私としては、SSDではあってほしかったけど、NVMeの速度は必須じゃなかったので、2.5インチのSSDを買い足して自分で換装することに決めた。実際に、到着後すぐHDDをSamsung 860 EVO 1TBへ換装。128GB SSDdebian stable、1TB SSDWindows 10をインストールして運用中。基本的には開発用(何の?)として買ったので、手元にあるボードの開発ツールをWindows側にインストールしてある。能力が低いとはいえ、NVIDIAGPUが搭載されているのでwaifu2x-caffeを高速に実行することも可能。

筐体はしっかりとしている。インタフェースも豊富で、USB-C充電、TB3、フルサイズのSSD、フルサイズのEthernetと一通り揃ってる。ただ、しっかりとしている分、大柄で重い。重さに関しては、持って外へ出ることはできるけど、外へ出るときに持つには軽さが足りない、といった具合。

リアバッテリーは大容量品を選択したが、下に出っ張るのはあまり好みじゃないので、その点は失敗したなと思う。ただし、バッテリーの保ちは圧倒的なので良し悪し。換装可能なバッテリーなのであんまり嫌なら買い足せばよし。

キーボードはすこぶる打ちやすい。Latitude E7270のキーボードもいいと思ってたんだけど、Thinkpadのほうが軽く打てる気がして良い。トラックポイントもあるし。ただ、デュアルブートにしているとOSを切り替えるたびにキーボードバックライトが消えてしまうので不便ではある。

結論としてはかなり満足している。そこそこの性能のPCが持ち歩けるパッケージに収まっているのはかなり高評価だ。Thinkpadらしく拡張性、整備性も優れている。PCが何台要るのかという話題をさておけば、とてもいい買い物だったと思う。

次は1kgを切るラップトップか超小型デスクトップPCがほしいな……。

TeXLive 2018とWindows 10 2018 October Update

Problem and Solution

Windows 10 2018 October Update (1809)から、フォントのインストール先が%USERPROFILE%/AppData/Local/Microsoft/Windows/Fonts/に変更された。より正確に言えば、フォントインストールのデフォルトがシステムワイドからユーザ固有のものへと変更された。たとえエクスプローラ上からC:/Windows/Fonts/にフォントファイルをコピーしたとしても、ユーザフォルダにコピーされる。各フォントファイルがどのフォルダに格納されているかはC:/Windows/Fonts/にある各ファイルのプロパティから確認できる。

その影響を受け、TeXLiveがユーザフォントを見つけられない事態が生じる。このfont not found問題を解決するためには、フォントをインストールする際に右クリックメニューからすべてのユーザに対してインストールを選択する。この操作によって、フォントは従来どおりC:/Windows/Fonts/へインストールされる。あるいはTeXの設定を変更し、ユーザフォントフォルダを検索対象とすることも可能であろうが、私はTeX素人なのでそのやり方がわからない。謝辞のtweetのやり方の意味がわかる人にはできると思われる。

Acknowledgements and References

gist.github.com

サーバ導入以前にまつわるあれこれ

自宅サーバ、それは永遠の憧れ。

今までのあらすじ

既報の通り、Dropboxの無料プランは同期する端末を3台までに制限した。これは大きな問題である。我が家にはPCが複数台存在し、さらにタブレットスマートフォンを加えればあっという間に3台など超過してしまう。急いでストレージ方策を検討しなければ!

――と思っていたところ、ソースネクストDropbox Plus 3年版の販売を再開した。これは、Dropbox公式から契約するよりも安価に契約することが可能なバウチャーである。ここ数ヶ月はずっと売り切れで、購入する機会を逃した私が悔しく思っていたものだ。マネタイズが苦しいということは3年持たないのでは? というリスクが脳裏をよぎりつつも、これを逃す手はない! と私は即座に購入。ストレージ問題はこれにて解決した。

のであるが。

問題は自宅にも何らかのサーバが欲しくなってしまったという点にある。

もともとの計画では、SynologyのIntel CPU搭載NASを購入する計画であった。この製品は高機能なため、単体で仮想マシンを動作させることが可能なのだ! 仮想マシンで何をするって? わからん! でもなんかかっこいいじゃん!!

じゃあサーバ何買うのよ

HP Enterprise ProLiant Microserver Gen 10

世間一般的にも、TLでも評価の高いサーバ。昔流行ったキューブ型PCにも似たスタイルにHDDが4本搭載可能。コストはそこそこかかるけど、ECCメモリのちゃんとしたサーバが手に入ると考えれば悪くない。問題は、HPEのポリシー上、保守契約を結ばなければドライバ等のアップデートができないことにある。さすがにこれはきつい。そこまでして動かすようなマシンではないはずなのだ。

FUJITSU PRIMERGY T1310 M3

各種通販サイトにてかつてのNEC Express5800サーバの位置にあるサーバ。安い。とにかく安い。なんてったってNASを買うより安い。CPU次第だけど一番安いモデルでは2万円を切るのだ。騒音もそんなに大きくないらしい。けど、デスクトップ然としたケースは私の用途に対して大きくて大げさな気がしてくる。

とまで考えたところでそもそもの話として

自宅でサーバを立てていったい何をするんですか、ということを考えなければならない。

私はラップトップにLinuxを入れて日常的に使っているので、その点で目新しさはない。もちろんサーバとしての運用はしていないわけだから、その点で学びはあるだろう。というか公開サーバを作るのが怖い。 ストレージサーバも、ストレージ自体はすでにDropboxで実現できてる。オンプレミスでNextcloudを立てればプライバシー万全ですよという話くらいで、セキュリティに関しては自分で管理しなければならない分逆に不安。

そもそも現状部屋の配置から言ってサーバは枕元に設置しなければならず、この距離だとハードディスクが回っているだけでも真夜中には気になってしまう。

まずはRPi2Bで様子を見つつ、最大でもNUCあたりを導入する、という方針で行こうかねという結論に至った次第。

Got Me Lost / Driving In L.A.

www.youtube.com

tl;dr

たまにはエモいことが書きたいときもあるんですよ。

はじめに

新たに労働市場へ投げ込まれたみなさんへ。なるべく高速道路や抜け道を作ったり覚えておいたりするので、どうかみなさまは私と同じ過ちを繰り返すことのないよう、この知識でみなさまの物事がうまく運びますよう、祈っております。

いきなり何

最近は、社内で海賊――とまではいかないか、密漁者くらい?――になるべく、配布する武器を考えている。ここで言う海賊というのは「海軍に入るより海賊であれ」という言葉を意識していて、Steve Jobs のことはよくわからないけどこの言葉はけっこう意識してる。“It's more fun to be a pirate than to join the Navy.”

別にこれはヘイシャのウリアゲにコウケン!! みたいな話ではあまりなくて、どちらかといえば非効率な機械は嫌いだという理由で博物館のSLを爆破した(らしい)深井零少尉の気持ちに近い。まあ今どきの若者の皆様方はとても優秀なので英語も数学も物理も化学もバッチリで、機械電気情報制御計測 Matlab/Simulink LabVIEW Python C C++ マルチメータ オシロスコープなんでも使えるくらいの認識でいます。なので、そういう彼らの能力をスポイルしてフリーホイールしてしまうようなことだけはどうしても避けたいなと思う所存。馬鹿げた制約のせいでスローダウンするの本当に馬鹿げてる。

The End Where We Start

www.youtube.com

今の私がいる場所は、個々人の能力や人間性が劣悪というわけではない、と思う。しかしながら、少なくとも組織としてうまく回っているとは到底言い難い。

マネジメントが現実を見ていないという人もいるけれど、それ以上にしくみが破綻していると感じている。種を蒔き、育った果実を刈り取るというモデルであればそもそも種蒔きをしていないのに果実が実るはずがない。ベンチャー的に既存技術を組み合わせたワンアイディアで勝負するならば、深い洞察と徹底したマーケティングなしにそんなことができるはずがない。

固有技術と呼べるようなものも新しい飯の種になるような技術の研究や開発もなく(でもマネジメントはそれがあると――少なくともあるかのように――振る舞っている!)、明確なマーケティング、ターゲティング、要件定義、仕様策定、ドキュメンテーションもなしに、誰にでもできるありものの組み合わせとそして何より過去の経緯を踏襲の御旗のもとで走り出して、何度もつまずきながら、出来上がるのは歪な形。それでも過去の経緯と遺産のおかげで生きながらえている。

そんなのは いやだ!

突然の自分語り

とはいえ私に何かができるというものでもなくて、むしろ自分の手を汚していないから具体的なことを何も言えない。抽象的な批判ばかりが得意だ。だから上の文章も偉そうなことを言っておきながらお前が言うかという話でしかない。

口先から生まれた口先だけ太郎らしくこいつはできるヤツだというふんいきを偽装できるらしいことがわかってきたけど、その実概論しか知らない必要で実用的で具体的な知識経験が全然なくてまったくもって使えない具体性ゼロ人間なので人を欺いていることに申し訳なさがあるし失望されるのが怖い。私はニセモノ。

有能でも優秀でも実用的でもないし少なくとも実態ベースでは意識高くも勤勉でもないんだけど、有能で優秀で実用的なわかってる人々のことをすごいなあと思うし彼らに失望されたくないしそれ故に彼らの意識高い発言を肯定しがちという機構がある。もっとも、実態は伴わないし言葉は右から左へと流れていくのだけど。つまりただの反動。

おわりに

ままならねーっす!

P.S.

大学生だか働き出した後だかに、並行して高校に通っていて、みんなが真面目に受験(何の? 博士課程?)の勉強してるのに私は講義に出席しないレベルでサボっててたしかに今働いてるんだからそれでいいじゃんと思いながらも自分はだめなやつだ、自分の今の身分がわからなくなってしまう、と思う夢をよく見る。現実世界で何者でもないという事実の表れなんでしょうね。

ヘッドフォンアンプつくった

我が家には電子工作グッズが多少あるのですが、全然活用できていません。 これではいかんと、まずは手慣らしに秋月のヘッドフォンアンプキットを組んでみました。

akizukidenshi.com

回路図を見ればすぐ理解できる程度の、オペアンプをつかった単電源の交流結合非反転増幅回路です。教科書通りといった感じ。 十年くらい前にChu Moyアンプが流行りましたが、あちらとは仮想GNDの使い方が違います。だから向こうは直流結合ですね。

というわけでサッと組み立て。白光 FX-600のちからがあればなんのその。一時間くらいで終わったはず。スルーホール実装の基板なんて全然簡単ですね。私の仕上がりはひどいものでしたが……。

白光 ダイヤル式温度制御はんだこて FX600

白光 ダイヤル式温度制御はんだこて FX600

さて、せっかく測定器がありますので特性を測ってみましょう。

f:id:squeuei:20190324220136j:plain
測定環境

Analog Discovery 2 のネットワークアナライザ機能をつかって周波数特性を見ます。

akizukidenshi.com

f:id:squeuei:20190324220141p:plain
ボーデ線図(とおまけのナイキスト線図)

筆記用具もMS Excelもなし、完全な手放しでこれができるのはとても便利ですね。

増幅回路のゲインは(1+47k/10k)=5.7、20 log (5.7)はだいたい 15.1 [dB]なので、まさしく教科書通りの結果が得られているということになりますね。いわゆるオーディオ帯域ではゲインも位相もフラットという、まあそりゃそうでしょうという結果。

さて、アンプとしてはというと、ちゃんと音がでます。それ以上の感想がない……。いや、音量はでてるなーと思いますが、普段がUSBオーディオインタフェース経由で聞いてるのであんまり差を実感できないという。実用上は可変抵抗が左右独立なのが扱いづらいですね。ポータブルするなら9V電池を使うのが楽そうですが、ケーシングはどうするのがいいんでしょうね。

はい、というわけで、一応は動作するものは出来上がりましたが、これでも技術的な事柄でお金を頂いている身の上ですので、この出来は流石にまずい。もっと手を動かして学びを得なければならないと痛感した次第です。

オープンソースハードウェアの持続可能性について

tl;dr

ルールとライセンスとモラルとお気持ち忖度を守ってみんなでなかよくオープンソースハードウェアしましょう。

Disclaimer

私は法律の専門家ではなく、本稿は法的助言ではない。求む、リーガルアドバイス!!!

Preface

オープンソースのハードウェアというものが存在する。その名が示す通り、設計ファイルがオープンなライセンスで公開されているハードウェアだ。有名な例としてはArduinoやBeaglebone Blackなどが挙げられる。
今挙げた二つの製品は、共にCC BY-SA(クリエイティブコモンズ 表示 - 継承)の下で公開されている。しかしながら、オープンソースハードウェアに対してCC BY-SAを適用するのは不適切、具体的に言うと派生物に加えられた変更が広く共有されない恐れがあるのではないか、という疑問がある。本稿ではその疑問点について述べる。

Arduino

まず、ArduinoのFAQにある文言を取り上げる。

What do you mean by open-source hardware?
Open-source hardware shares much of the principles and approach of free and open-source software. In particular, we believe that people should be able to study our hardware to understand how it works, make changes to it, and share those changes. To facilitate this, we release all of the original design files (Eagle CAD) for the Arduino hardware. These files are licensed under a Creative Commons Attribution Share-Alike license, which allows for both personal and commercial derivative works, as long as they credit Arduino and release their designs under the same license. The Arduino software is also open-source. The source code for the Java environment is released under the GPL and the C/C++ microcontroller libraries are under the LGPL.

まだ、下記の文言にも注目する。

Can I build a commercial product based on Arduino?
Yes, with the following conditions:

(中略)

Deriving the design of a commercial product from the Eagle files for an Arduino board requires you to release the modified files under the same Creative Commons Attribution Share-Alike license. You may manufacture and sell the resulting product.

ArduinoはEAGLEファイル(電子回路基板のCADファイル)がCC BY-SAで公開されている。このファイルから個人または商用の派生物を作る際は、クレジットを表示するのと同時に、派生物をCC BY-SAで公開することが求められている。CopyleftGPL-likeなオープンソースソフトウェアではおなじみのアイデアである。

Creative Commons Attribution-ShareAlike

CC BY-SAは大雑把に言えばGPLをはじめとするコピーレフトライセンスの非ソフトウェア版である。被許諾者は、クレジットの表示と、派生物に同じライセンスを与えることを条件に、自由な共有と翻案が許される。
ここで注目すべきはライセンスの条文、第3条において、表示および継承はライセンス対照物および作成した翻案物を 共有(Share) する場合に従わなくてはならない、と記されていることである。
共有の定義は以下の通り。

「共有」とは、複製、公開の展示、公開の上演・演奏、頒布、配布、通信または輸入のような、ライセンスされた権利に関する許諾を必要とするような手段または手法により、公衆に対しマテリアルを提供すること、および、公衆がマテリアルを利用できるようにすること(公衆の各人が、自ら独自に場所および時間を選択してマテリアルにアクセスすることができる方法を含みます)を意味します。

Copyright

現行法において、著作権の対象は以下のように定義されている。

(定義)
第二条 この法律において、次の各号に掲げる用語の意義は、当該各号に定めるところによる。
一 著作物 思想又は感情を創作的に表現したものであつて、文芸、学術、美術又は音楽の範囲に属するものをいう。

平たく言えば、下記は著作権の保護対象とならないということである。

  • 単なるデータ
  • 単なる事実
  • イデアや機能
  • 工業製品

また下記の対象には著作権が及ばないこととされている。

(イ) 憲法その他の法令(地方公共団体の条例、規則を含む。)
(ロ) 国や地方公共団体又は独立行政法人地方独立行政法人の告示、訓令、通達など
(ハ) 裁判所の判決、決定、命令など
(二) (イ)から(ハ)の翻訳物や編集物(国、地方公共団体又は独立行政法人地方独立行政法人が作成するもの)

なお、計算機プログラムは著作物として扱われる。オープンソースライセンスは著作権に立脚しているので当然ではある。

では基板の回路図、ガーバーデータなどの設計図は著作物か。
インターネット上には様々な意見が述べられており、明確な答えは存在しないようであるが、最も安全な側に倒せば「各種設計図はアイデアを表現したものであり、著作権が発生する可能性がある。ただし、ごくごく当たり前の回路(とは???)は創造性がないため保護されないし、回路図の回路構成もアイデアなので保護されない」になるのではないだろうか。
実際、産業界において自社の権利を守るために用いられるのは特許権だ。各社が必死になって特許を出願しつづけるのはこのためである。
なお、半導体の設計についてはこの限りではない。著作権とは異なるが、回路配置利用権という知的財産権が登録により発生する。

Question

これらの情報を統合するとどうなるか。
まず、ArduinoのEAGLEファイルには著作権が発生すると仮定する。著作権が存在するので、EAGLEファイルにCC BY-SAライセンスが適用可能となる。
次に、CC BY-SAでライセンスされたArduinoのEAGLEファイルから、派生した設計を作り 共有した 際には、その派生EAGLEファイルを同じCC BY−SAで公開しなければならない。
ArduinoのEAGLEファイルから製作された電子基板がEAGLEファイルの派生物であるか否かは判断がつかないが、どちらにせよ著作物としてはみなされないため、CC BY-SAは適用されない、というより適用し得ない、ものと考えられる。

ここまではよい。

では、Arduinoの派生物を製作するために作成した派生EAGLEファイルを公衆がアクセスできない形で利用して基板を内製(あるいは基板製作業者に委託する)したらどうなるか。
まず、製作した基板は著作物ではないため、CCが適用され得ない。次に、ライセンスを受けた人間と基板製作業者の間でやり取りされるファイルは、公衆へのアクセスを与えたことにならないと考えられるだろう。その場合はEAGLEファイルを 共有 していないので、派生EAGLEファイルはCC BY-SAの制約を受けないはずである。つまり、ArduinoのFAQに記されている「派生EAGLEファイルをCC BY-SAでリリースしなければならない」という制約が発生しないことになる。

Copyleft的な類似する理念に基づいたライセンスとしてGPLと比較する。GPLではライセンスされたソースコードによって生成されたバイナリに対し以下のような制約が課されている。

GPLv2の第3節とGPLv3の第6項によると、事前コンパイルされたバイナリとして頒布されるプログラムは次のいずれかを満たさなければならない。
1. ソースコードの複製の直接の添付
2. 事前コンパイルされたバイナリと同一の手段でソースコードを頒布するという書面での提案の添付
3. GPLのもと、事前コンパイルされたバイナリを受け取った場合に得た何かを、ソースコードを提供する旨の文書で提示

これをArduinoの例になぞらえると、「派生Arduino基板を手に入れた人がEAGLEファイルを入手可能であるようにしなければならない」ということになるだろう。これは非常にうまく考えられた仕組みだ。
対して、Arduinoのようなオープンソースハードウェアでは、基板と設計図の間にライセンス上での結びつきが存在しない。Arduino派生物の設計ファイルを 共有 する場合にはCC BY-SAで公開されなければならないが、基板を製作し販売したからといって設計ファイルを 共有 しなければならないという仕組みが存在しない。
共有 さえしなければ、設計ファイルはCC BY-SAの制約を受けない。つまり、フリーライドが成立してしまうのではないだろうか。

Best Practices for Open-Source Hardware

Open Source Hardware Associationがオープンソースハードウェアのためのベストプラクティスという文書を公開している。
その中に、以下の記述が見られる。

Note that copyright (on which most licenses are based) doesn’t apply to hardware itself, only to the design files for it – and, then, only to the elements which constitute “original works of authorship” (in U.S. law) and not the underlying functionality or ideas. Therefore, it’s not entirely clear exactly which legal protections are or aren’t afforded by the use of a copyright-based license for hardware design files – but they’re still important as a way of making clear the ways in which you want others to use your designs.

結局は作者のお気持ち表明を忖度して大事にすることが大事だよ……っておい!

Conclusion

わからん……なんも……。

もちろん、現実的にはちゃんとArduino派生ボードを作ったらCC BY-SAで設計ファイルを共有しましょうね〜という話でしかないんだけど、それにしてもそれっぽい団体のそれっぽい文章がお気持ち忖度エンドというのはしょんなぁ〜感ある。

References

beagleboard.org

www.arduino.cc

www.arduino.cc

creativecommons.org

www.cric.or.jp

https://pf.bunka.go.jp/chosaku/chosakuken/naruhodo/outline/4.1.html

ja.wikipedia.org

copyright-npo.or.jp

https://system.jpaa.or.jp/patents_files_old/200601/jpaapatent200601_027-030.pdf

www.oshwa.org

ja.wikipedia.org

Acknowledgement

本稿を執筆する上で@murashit氏の発言を参考にさせていただきましたので、ここに感謝の意を表します。