コンピューティング

このページは英語版(English)もあります。

全般的なコンピューティング環境

  • 個人的な通常環境はLinux
    • 現在のデスクトップ環境はXfce
    • 結構細かいところをいじったりするのが好きなのでLinuxが一番適切だったり。
    • Windowsラップトップは所有している。
  • Firefoxがメインのブラウザ
  • 周りの人が考えているほどアンチマイクロソフトではない、ただ、歴史的な文句はあるけど……。長くLinuxユーザーであるので、以前のマイクロソフト以外のユーザーに対するポジションに関連する問題を直接受けてきた、というのが原因。どちらかというと主義的な話とそれに起因する方針に関する問題。ただし変化は見えてきている感じがする。マイクロソフトは大きな会社であるため、部門によっては違う方針で動いていたりする部分がある。1
    • 最近のマネージメントの刷新で変わってきているものの以前の問題はまだそのDNAとして残っている感じがする。
    • とくにブラックボックスを作る指向性がある。問題が起こった場合にその問題の調査が困難な場合も多い。2
    • ただ、全てを否定しているわけではない。例えば、Visual Studio Codeは常用しているソフトの一つである。
    • たとえば、.NETPowerShellAzureは良い方向に動いている感じがする。
      • 実際に.NET CoreやPowerShellは現在一番好きな開発プラットフォーム。
    • マイクロソフト・オフィスなどの製品にはニュートラルな感情3
      • 「使える」、「使えない」というよりもどちらかというと志向性の問題でもある。
    • クラウドソリューションを使ったことはまだないものの、使ってみたい。
  • 製品での統制が強すぎる場合、腹が立つ。
    • これは一般的なコンピューティングにおいて「安全」や「ユーザーフレンドリー」の大義名分においてユーザーから自由を奪うようなもの。ソフトウェアに何ができる、できないかを指示されるのが嫌い。マイクロソフトやアップルはこの方向に進んでいる。4
    • だからといってグーグルの方向性に完全支持するわけではないが、少なくともグーグルはそのサービスを多数の環境で使えるようにするという目的があり、これはあまり利益相反を抱えていない。マイクロソフトやアップルはいくつかの製品に関しては複数のプラットフォームに展開しているものの、本質的に自分のプラットフォームで囲い込んでしまったほうが得、という構図がある。グーグルにおいては基本的にビジネスモデル上、違っており、プラットフォームを超えて広く使用可能にしたほうが有利。
      • 例えばAndroidは複数のOSと問題なくインターフェースできる。(基本的に使用にPCは必要ないが、開発用のsDKはマイクロソフトやアップルと違い、Linuxでも機能する。)
      • 多くのソフトウェアがLinuxにも提供している。
      • 音楽やビデオサービスは最近のブラウザではすべて動作する。一部のプラットフォームでしか走らないソフトウェアは必要なし。5

プログラミング

  • いくつかのプログラミング言語でプログラムを書いている。
    • C#
      • 現在主力。.NET Coreを主に使用。
      • Blazor
      • ML.NETも面白そう。
      • このサイトもWyamという.NETベースの静的サイトジェネレーターを使用して作成している。
    • PowerShell。こちらはLinuxとWindows上で、インタラクティブな使用に加えて、スクリプト、バイナリモジュールと広く活用しています。
    • C/C++(最近はあまり使ってないけど)
    • ウェブ系(JavaScript, PHPなど)
    • Go, Dart, Rustなどのプログラム言語も試したことがある。
      • 感想としては、Goはあまり好みの言語ではない。全般的なデザインやベンダリングにいろいろと問題があるが、一番の問題はその押し付けがましさにある。とくに、未使用の変数やインポートが存在する場合、コンパイルさえ成功しない。これは試験的なプログラミングを行う時に非常に面倒くさいコーディング体験になってしまう。
      • Rustは同種のプログラミング言語としては(個人的には)より適切で、楽しいプログラミングであると考える。
      • Dartはいまいちうまくいかなかったのが残念。TypeScriptよりもいい感じだったのだが。
    • Python. TensorFlowのリリースによってPythonはもっと使いたい。
    • C/C++を習得していれば他の言語を学ぶのはそんなに難しくない感じがする。EmacsのカスタマイズにLispも使ったり。
    • JetBrainsのツールを使用。

翻訳支援ツール

  • memoQに関してユーザー方面およびプログラム方面から詳細を把握しています。
  • OmegaTのユーザーでもある。

モバイル

  • Android
    • アップルに恨みを持っていることはないけど、プラットフォームが閉じすぎていると感じる。
      • スマフォはPCの延長として考えているので、6たとえばソフトをプラットフォームのオーナー(Appleなど)の許可なしに読み込めないのは大問題。
      • 「審査プロセス」も主観的なアジェンダが入りすぎている。
        • たとえば、アップルのプラットフォームにおいては自由なウェブコンポーネントを使用できず、アップル提供しているSafariより遅いものしか使用できない。
          • 信じられないことにデフォルトのブラウザの変更でさえできないし……。

インターネット

  • I work for the Internetというスタンスを指示しておりインターネットのコミュニティに対し、できるだけ多くの貢献をしたいと考える。
    • たとえば、Wikipediaにおいては利用者にとって不利益になる、利害が発生する項目の編集は行わないポリシーを厳密に実践。

メール

  • 基本的には一番手っ取り早くメールにアクセスできるのはGmailInbox

分散システム

  • 分散システムに深い興味を持っている。
  • 匿名化以外にもアクセス有効化の手段として分散システムは大きな可能性を持っていると感じる。
    • これらのシステムではポート転送なども必要がない。
      • 世界に向けてコンテンツを配信することができる。7
      • このサイトも秘匿サービスを提供中。
      • 秘匿サービスをリモートマネージメントのためにも使用。
        • リモートサーバをフォワーディングを使用することなしに実現可能。(SSHなど)
        • 簡易のVPNとして使用することも可能。
    • Freenetはデータをアップロードすると接続を切っても配信が続く。まさにクラウド。8
      • 自分のサイトのインデックスは [email protected]~IjFGbUffAS0uYdJKAurTY,9ExSLC4l-KtQnXnqvCSVDhrt0b9jmf3Nv6EA509qG7g,AQACAAE/Hideki%27s%20Voice%20Node%20List/-1/
      • 最近あまり活動していないので、もしかして動かなくなっているかもしれません。

テキストエディター

  • Emacs
    • Atomも使おうとしたけど問題が多くてやめた。

3D制作

  • Blenderをサポート。
    • Blenderのすごいところは3D制作、ビデオ編集やコンポジティングを広く民主化したこと。
    • Blender Instituteによるオープンムービーはソフトウェアの向上にとどまらず広く自由に使えるアートリソースを世界に提供している。
    • Blender自体は無料であるにも関わらず、個人的には一番お金を払っているソフトの一つだったり。
      • Blender Cloudは画像共有、プロジェクト、設定の同期など非常に良くなってきているのでオススメ。

ボーカロイド

音楽を参照。

オーサリング

  • 基本的にはオフィスアプリよりもスクリプティングの方が好き。
    • TeXの方が使いやすい。
      • セットアップこそ時間がかかるが、その後は快適で、出力は高品位。
    • Org-modeも面白い。
      • Org-modeの大きな特長はその多彩な出力オプション。(TeX, ODT, HTMLなど)
      • 唯一の問題としてその文法は日本語などの言語をうまく扱わない。
  • オフィススイートでよく使うのはLibreOffice

フリーソフトウェア・オープンソース

  • 選択肢がある場合はOSSを使う。
  • 基本的にはそっちの方が便利だから。複数のマシンを使っているため、複数のデバイスで使用する場合、ライセンスコスト自体が高くなる。
    • プロプライエタリソフトウェアはそのライセンス形態が納得できるようなものであればいいが、例えば一台にしかインストールできないようなものは問題外。どちらにしてもLinuxで使用できるプロプライエタリソフトウェアは少ないけど。
    • 必然的にベンダーロックインには気をつけるようになる。
    • リチャード・ストールマン氏ほどではない。
      • ただ、その理想に即した生活をしている氏は尊敬しているし、多くの点で納得できる点も多い。
      • 過去に失笑を買うような発言も今になって実際の問題として取り上げられるようになってきている。
  • 選択肢は少なくなってきているのが事実。Windows 10も信用できないらしいし。

DRM

  • これはテレビゲーム業界で働く自分にとってはセンシティブな話。
  • DRMは反生産的であると感じ、また不必要なものとも感じている。
  • そのチャンスがあり、また、ステークホルダーである場合はDRMを無くす、というスタンスを取る。
    • 現在のところ、PCタイトルに関わったことはない。個人的なスタンスとしてはSteam以上のDRMに関してはサポートできるものではない。
    • テレビゲーム機において何らかのDRMを装備しているが、個人的には何もできないのが現状。
      • なので、DRMが原因でゲーム機を買わないのであれば仕方がないと言うしかない。
  • 理想の世界としてはすべてDRMフリーなのが一番で、それは深く思っている。しかしながら、自分も食っていかなければいけない。
    • たとえば、DRMにより強硬でいることに対して対価を得られるのであればそういう態度でいられるけど、そうでなければ難しい。

暗号化

  • 日本語での恐らく一番古株のGnuPG情報サイトを持っている。
  • 暗号化は重要。GnuPGSignalなどの質が高い暗号を使おう。
    • Surveillance Self-Defenseのページでは安全に通信するための情報が掲載されている。
    • WhatsAppはSignalでも使用されているSignal Protocolが採用されているがソースコードは公開されていないのでそれが本当かはわからない。ただし、よりポピュラーなソフトを使う必要がある場合は有力な選択肢であるといえる。
    • Facebook Messengerは同じくSignal Protocolが採用されているらしいが、特別な会話モードに入らないと使えないのでそれほど強力ではない。
    • Google Alloも暗号化(Signal Protocol)を使っているらしいが、これも特別なモードのみ。
    • LINEは「レターシーリング」なる暗号化方式が使用されていてグループチャットにも使えるが2019年11月時点で画像やビデオなどテキスト以外のメッセージに置いては使用されないため、画面上に鍵のマークを表示するのは非常にミスリーディングであるといえ、これは修正される必要がある。(現状、「すべての通信」が暗号化されないのであればあのような表示をするべきではない。)

  1. 究極的には仕事にあったツールを使うだけのこと。

  2. Microsoft Outlookはときどきメールが送れなくなったりとかする、イベントビューワーに問題の本質が解説されていないなど。理解しがたい問題が多数ある。いくつかのWindows 10においては実質再インストールが必要になる場合も。

  3. それが実現されるかはまた別の問題。

  4. たとえばLinuxでrm -rf /を実行できる、など。コンピューター側がユーザーに対して何ができないかを言うべきではない。

  5. 例えばiTunesはリリース当時には意味があった。2016年の今、特定のプラットフォームのみで実行可能なソフトの使用を強要される事自体、間違っている。

  6. 対比としてテレビゲーム機、こちらはゲームプレイするもののみとして使っている。例えばPS3で仕事はしない。PCほどではないにせよ、スマートフォンはある程度の生産活動に使っている。

  7. こちらは見る側に安全を提供しない。各自Torを使ってアクセスすべきである。

  8. こちらの欠点はインタラクティブなコンテンツをユーザー側の負担なしに実装するのが難しいという点。