パスワードを忘れた? アカウント作成

m_nukazawaさんのトモダチの日記みんなの日記も見てね。 あなたのタレコミがスラドを支えます。さぁ、タレこめ!

13788039 journal
日記

m_nukazawaの日記: アンチウイルスソフトに対する2018年現在の個人的見解 17

日記 by m_nukazawa

無料ならWindows10がいいよね。(挨拶)(元ネタの会社名忘れたんです。ごめんなさい)(筆者はUbuntuユーザ)

この前、Skypeで友人から「新しいiPadを買うのだけれど、アンチウイルスソフトは何を入れたらいいか情報もってる?」と訊かれた。
私は「2018年現在の個人端末はアンチウイルスソフトを入れるべきではない」と答えた。

本稿は、適当なことを書くと詳しい人がツッコミしてくれる法則を期待している。
インターネットの出自の怪しい喧伝を元にして書いている上に詳細を省いているため大変雑である。

友人氏にはそれなりにリテラシがあるので、自分が胡乱なことを言っていたとしても大丈夫だろうと思ってる。

# TL;DR
以下の環境の変化から、アンチウイルスソフトを個人端末に導入すべきではない。
- ウイルスと攻撃の方法が変わったため、アンチウイルスソフトの有効性が減じた。
- 脆弱性情報の扱いが変わった。アンチウイルスソフト会社は脆弱性情報にアクセスすることはできない。
- 過去のアンチウイルスソフトが有効だった時代は副作用があってもメリットのほうが大きかった。時代が変わり、アンチウイルスソフトの有効性が大いに減じたことで、好ましくない副作用によるデメリットが相対的に大きくなった。
- 現代のOSは強固であり、ウイルス及びアンチウイルスソフトが動作できるような作りになっていない。

#
## ウイルスと攻撃方法の変化
過去、不特定多数へのいたずら的な行為が目的。インターネット上に広がる。
現在、個人や特定企業を攻撃することが目的。ウイルスの検体が手に入らない・存在しない。

攻撃方法も変わった。
例えば、次の方法は「ウイルス」なんて高度な技術っぽいものを一切使わないが、サイバー攻撃の一種とされる。
「ショルダーハック」:パスワードを撃ち込んでいるあなたの後ろから、あなたの打っているパスワードを覗き見る。

## 脆弱性情報の扱いの変化
過去、インターネットを行き交うウイルスをアンチウイルスソフト会社が発見し、情報は即座に世界中で共有された。
現在、政府や企業が発見した脆弱性は悪用されないよう、巨大IT企業グループの中で秘匿される。
アンチウイルスソフト会社に脆弱性情報へのアクセス権限はない。

- アンチウイルスソフトウェア会社がウイルスの検体を集めていた。検体が手に入ると、感染が広がるよりより先にアンチウイルスソフトによる対策を展開することができる。
- この時間差がアンチウイルスソフトの価値だった。

- 現代の脆弱性は政府(NSA、CIA)や国際的大企業(google、Apple、MS)が共有し、仲間内だけで秘匿され、修正が世界中に行き渡ってから存在が公開されるようになった。
        - 脆弱性は秘密裏に修正される。(ダークヒーロ物みたいだ)
        - アンチウイルスソフトウェア会社などという零細企業に、脆弱性情報へのアクセス権限はない。

## アンチウイルスソフトの副作用
過去、アンチウイルスソフトは有用だった。たまにOSが起動しなくなる事故を起こしても、ウイルス感染するよりはずっと良いため、皆、アンチウイルスソフトを入れていた。
現在、アンチウイルスソフトが原因でサービスが悪くなる・動かなくなるデメリットがそのまま残ったため、相対的にデメリットのほうが大きくなった。

- OSのDLLを誤検出で削除してOSが起動しなくなる
- 誤検出で必要なアプリケーションが動かない・見たいWebサイトが見られない
- ウイルスを探すためにマシンが遅くなる

## 現代的OS
過去のOSは何でもできた。ウイルスもアンチウイルスソフトも自由に活動できた。
現代のOSはそもそも脆弱でない。アンチウイルスソフトが活動する余地もない。

OSがアプリケーションへ、OS動作へのフック、OSを構成するファイルへの読み書きなど、高い権限を提供していた。
皮肉なことに、アンチウイルスソフトに必要な機能は、ウイルスが使う機能でもあった。

例えばこんな機能があった:OS上のアプリがファイルにアクセスする度に、そのファイルの中身をすべて読む。
  アンチウイルスソフトがウイルスを探すのに使えるが、ウイルスがファイルからクレジットカード番号を抜くのにも使える。

これらの機能と自由は、セキュリティのために大いに削除された。すべてではないが。
iOS、Androidはアンチウイルスソフトが動作できるように出来ていない。
Windowsもアプリケーションに渡す権限と情報を制限する方向でセキュリティ的に進歩している。

現代のOSの上では、ウイルスと同じように、アンチウイルスソフトも活動できない。
(つまり、もし現代的OS上で動く「アンチウイルスソフト」を自称するアプリがあるならば、それは実際には"何もしない"か、それ自体があなたを何かしら騙すための偽アンチウイルスソフトである可能性がある。)

# 最後に
最後に、あなたがアンチウイルスソフトを使う理由としては以下が考えられる。
- どうしてもダウンタイムを減らしたい何らかのPCを使った作業があり、その作業が『2台目以降の予備PCをコストを払って実際に確保している』ほどに本当に重要で、かつアンチウイルスソフトによってそのPCが使えなくなる時間のほうが長いということ等々を許容できる、そんな理由があなたにある場合。
- 世界中が未知のサイバー攻撃に晒されて他の人たちのPCスマホが軒並み壊滅し、世界経済と文明が破滅していくのを渦中で眺めながら、スタンドアロンのPCでどうしてもやりたいことがある場合。(そのシチュエーションではインターネットは使えないのでPUBGはプレイできないし、youtubeも見られない。艦これすらできないので注意。)
どうかよく検討されたい。

※本稿はあなたのPCスマホを保護するものではありません。あなたのPCスマホはあなたが守るものです。

13754895 journal
日記

m_nukazawaの日記: 坂崎嘉穂の名前

日記 by m_nukazawa

XP時代にMicrosoft IMEの変換候補で1番に出てきて、いかにも坂崎嘉穂らしい名前だなと思っていた。
(コンピュータとのちょっとした親和性というか。統計的な処理により現状そうなっているだけだけれど、そういう特別な理由でないことも含めて。)

今日、UbuntuでGoogle IMEで姓名それぞれ個別に変換入力してから、スペルを調べ直してみたら、Google IMEでも合っている。
マイナ作品のキャラクタ名がIMEの統計情報に影響を与えているとは思えないので、どうやら昔からこの氏名の出現率は変わっていないらしい。

なんだか懐かしいような、そうでないような気持ちが、ちょっとだけ。

13743730 journal
日記

m_nukazawaの日記: マザーボードを買い換えなければならない、という文句は筋違いなのでは 8

日記 by m_nukazawa

TL;DR;
実は私たちはCPUではなくバスを買っている。

- ここ10年ほどCPUはそれほど早くなっていない。
- 一方で記憶装置は高速化した。(ex. HDD->SSD)
- CPUは記憶装置との接続に「バス」を用いる。古いCPUはバスが遅い。
- 新しいCPUは、古いCPUより早いバスで記憶装置から巨大なデータを高速に読むことができるため処理が早く終わる。
- 私たちが新しいCPUに買い換える時、実はCPUを交換しているのではなく、バスの高速化にお金を出している。

// 『私はAMD派だけれど、Intel CPUに対して毎回マザーボードを買い換えなければならない、という文句は筋違いなのでは』
...という話を以前友人としていて思いつき、文章に起こそうと思ったのだけれど上手く行かなくて寝かせている。
なお私は価格を理由にAMDユーザです。

13720964 journal
日記

m_nukazawaの日記: 技術書典5にクロスプラットフォームな本で出ます (原稿一部公開)

日記 by m_nukazawa

技術書典5は 2018/10/08 (月) 開催です。興味がある方はもうそろそろ予定を空けておきましょうということで。

技術書典5に「クロスプラットフォーム・デスクトップアプリケーション・フレームワーク・クロスレビュー本(仮)」で出ます。
GTK,Qt,Electron本です。興味があればどうぞ。
https://techbookfest.org/event/tbf05/circle/29300002

本書、原稿の草稿を書き上がり次第公開というのをtwitter上でやっていました。宣伝目的半分であわよくば指摘等反応が欲しかったわけなのですが、執筆の折り返しあたりで草稿が箇条書き以下の虫食い状態になってしまい、それがいつのまにか入稿原稿に化けて、草稿公開のタイミングが失われてしまいました。
で、もう草稿ではなく入稿原稿なのだけれど、あの話やこの情報はWebに公開しておきたいという気持ちがあるため、ここでは「はじめに」章を公開する次第です。
今まで草稿は自分のブログで公開していたのですが、(自分の中での)使い分け的に本章はスラドの日記に貼り付けるのが適当だと考えた次第。

というわけで以下、印刷原稿より「はじめに」章。

# はじめに
今や私は、GTKのことをそれほど愛していないと思う。
yatteiki.fmに影響されて技術書典にエントリしたくなり、本を書くためにテーマを考えた。本書はテーマ未定でスタートした。
今をきらめく機械学習について書くことができたらどんなによかったかと思う。売り上げとキャリアを考えるならば間違いなくその方が良い。だが現在取り組んでいる課題『任意のキャラクタ画像を鳩羽つぐへ変換する』はまだ成功していないし、書く価値のある有意な知見をまだ得られていない。筆者は情けないことに金欠で、両親にせがんで得た貴重なAWSレンタル料は今のところ、西荻窪人のイデアをサルベージすることに失敗しGPUサーバとオレゴン州を少し温めただけに終わっている。
私が技術同人誌として書けるテーマは何だろうと考えた時、GTKとの出会いをきっかけに始まる、クロスプラットフォーム・デスクトップアプリケーション・フレームワークを使ったアプリケーション開発経験に思い至った。
本書がGTKだけでなくQt,Electronを扱う最大の理由は、預金通帳を見て印刷代を回収しなければと痛感したからだ。
今や死に体のGTKについてただ書いても需要がないことは明らかだ。デスクトップアプリケーション全体が下火であることに変わりはないが、今を輝くElectronを話に混ぜておけば少しは売上もマシになるだろうと考えた。
しかしそんなことより私にとって何より憂鬱だったのは『クロスプラットフォーム・デスクトップアプリケーション・フレームワーク』というムヤミに長い題材名を、どうやって表紙デザインに押し込んだものかというレイアウト上の問題だった。
それにテーマを広げると書かなければならない文章量が増える。

「デスクトップアプリケーションは死んだ」というのは、もう10年も前にジョエル・スポルスキが書いて終わった話だ。キャッシュフローと主戦場はAjaxなWebサービスに移り、今はSPAとモバイルアプリケーションが主役の座を争っている。アルミ削り出しのクールなMacBookはちかごろの若者の目にはオッサンがみんな持っているダサい仕事道具に映ると言う。パソコンなんて重くて不格好なものは変人のギークだけが持つアイテムに回帰していくのだと語る人もいる。

ではなぜ今さらデスクトップアプリケーションについて書くのか。
タイトルが長いと文句を言いながら、『クロスプラットフォーム』の単語を削ろうとしないのは何故なのか。

デスクトップアプリケーションについて書くのは、単にそれが個人的な憧れとノスタルジーの対象だからだ。他の何者でもなく、Joel on Softwareが私をソフトウェア開発者にしてくれた。大学の図書館で、メモリを128MB乗せた小さなIBM Thinkpadの狭く荒い画面でWebを開き、トラックポイントを指で押さえながら何度も読み返した小気味良いJoelの語りを、今でも懐かしく思い出す。これから自分が大人になってどんな仕事をするのか、どのように仕事を進めるべきかを、あのブログ翻訳が教えてくれた。

クロスプラットフォームの題目を削らないのも同じような理由だ。ただしこれは、本当には私の望みではなかった。
Windows陣営の勝利が盤石となった時代に、オペレーティング・システムが普及するか否かを決めるのはプラットフォーム自体の良し悪しではなく、擁するアプリケーションの豊かさであることが判明した。クロスプラットフォーム・デスクトップアプリケーション・フレームワークは、Windowsが持つ豊かなデスクトップアプリケーション資産に対する、UNIXデスクトップ界隈の憧れを背負っていたと、私は勝手に思っている。
かつての私もまた、フリーソフトとオープンソースのアジに乗せられてWintel連合崩壊の日を夢見る愚かで若く感化されやすいコンピュータ・サイエンス学科生だった。いずれつまらない職業プログラマになってつまらないプロプライエタリ・ソフトウェア開発をする未来が来ることを予感していたが、LinuxデスクトップアプリケーションOSSを書く自由ソフトウェア戦士に憧れていた。

本書はもしかすると、輝かしい過去の巨大IT産業文明が後方互換性という汚染物質を撒き散らしながら崩壊した後に墓所として建立された、というのはどうだろう。
Wintel連合とUNIX戦争がソフトウェア業界という大地につけた深い傷を癒やすためにgoogleという攻撃的な生態系が生まれ、開発者がゆるやかな世代交代を終えた時、Microsoftはデベロッパーフレンドリーなプラットフォーム・ベンダに生まれ変わり、ウォーターフォールを知らずアジャイルプロセスとCIテストによる穏やかな開発だけを楽しむ新たな開発者たちで地上は満ちる。
本書に書かれている文字を読み未来へ伝えるのだ開発者たちよ、ここには旧世代の知恵が書かれている。いつなのかは言えぬ、だがいずれ闇は終わり輝かしい新時代がやってくる。本書はそのために必要な知識を胎内に宿している。
閑話休題。最近ナウシカ読み返したんですよ。

墓という比喩はあながち間違いでもない。デスクトップアプリケーションを書き続けたいと望んでいても、さすがにそろそろ周回遅れでもいいから機械学習に本腰を入れろという無言の空気を感じる。(ところで機械学習に必要なAWS代はその空気ではなく両親が出している)

本書を書きながら私は、まるで別れをテーマにしたつまらないフランス映画を見ている気持ちに襲われた。冒頭のシーン、別れの手紙を書きながら男は色あせた過去の日々を思い出す。当時顔を真っ赤にして怒った彼女の悪ふざけも、今にして思えば俺は心の何処かで楽しんでいた、といった風に。
しかし別れの手紙にしては、本書は丁寧さに欠けると言わざるを得ない。
私はソフトウェアドキュメント中のソースコードはすべてユニットテストされているべきだという意見に賛成だが、本書ではソースコードの検証をしていない。人の記憶は信用ならないものだが、出典確認もほとんど出来ていない。昔はてなブックマーク経由で読んだ記事をソースに書いてみたものの、同じ記事を再び見つけることができなかったという箇所がままある。本書はポエムおよびエッセイを自称しているのだけれど、「要出典」でページが埋まってしまわないための言い訳としての要素が大きい。

そもそも本書、書いてもわりと良いことがないのだ。テーマに対する網羅性と正確性に欠けることが明らかになるだけだ。テーマに対する熱意不足が端々で漏れ出ている。印刷費回収のメドは最初から無い。間違いに対してマサカリすら飛んでこないマイナジャンルの悲しみを身に沁みて感じる羽目にもなるだろう。機械学習の本を書いて出せば箔が付いて良いのかもしれないが、GTKについて書くことは、預金通帳と今後の人生に対して良いことが何もない。
趣味というのは心,身体,生活すべてにおいて良くないものだと書いたのは森博嗣だったか。
AWS代を出してくれた親のことと自分の将来のことを考えるならば、技術書典5のサークル当選をブッチして今すぐ全力で給料の上がる転職先を探すべきだ。今の職場、わりと居心地良いから好きなのだが。日頃両親には感謝していると言っておきながら、2ヶ月かけて本書を書くのはとんでもない親不孝だ。

それでも、本書を書きたいと思った。

インターネットには特定のテクノロジに対する入門記事が乱立している。入門記事に価値がないわけでないのだけれど、クイックスタートとAPIリファレンスマニュアルだけでは、私のような未熟者にExcelのような本物のソフトウェア製品を開発することはできない。
そのテクノロジを使って本物のソフトウェアを開発した開発者の知見が必要だ。Joel on Softwareは私が求めたものを浴びせるように与えて私をソフトウェア業界へ導いてくれたが、Joelがブログから去った後、私は新たな師を見つけることが出来なかった。今日もはてなブックマークをリロードして空振りに嘆息する毎日を送っている(はてブにそれを求めるのは間違っておりせめてhacker newsを読め、という指摘は正しい)。

ところで、私には信じる神様が3柱居る。その内の一人はこう言った。
『無いんだったら、作ればいいのよ』[^haruhi]

[^haruhi]: 『涼宮ハルヒの憂鬱』(著:谷川流)より

Joel on Softwareには「ロード・パーマストン問題」という記事もある。その中に、Webサーバ言語を選定するとき候補となるPHP,Java,ASPのすべてを熟知した人間はいない、なぜなら本物のソフトウェアを開発した数年の経験が必要だからだ、という話が出てくる。
私の開発経験は人気とは決して言えないフリーソフトウェアで、複数人による大規模商用ソフトウェア製品ではない。経験年数も十分長いとは言えないかもしれない。
しかし、GTK,Qt,Electronで、実用アプリケーションを実際に書いたことがある開発者はそれほどいない。
たぶん。
もしかしたら結構居るのかもしれない。どうだろう。
しかしデスクトップアプリケーションというジャンル自体が下火な2018年現在、クロスプラットフォーム・デスクトップアプリケーション・フレームワークをテーマに本を書く行為は正気とは言えない。特にGTK。
筆者本人が情熱喪失をどれだけ強調したとしても、このテーマに情熱を注ぎ本を書くことにスノッブは今や他に誰もいない。

というわけで本書は、神の言葉に従い、いつか夢見た希望あふれる未来への墓標として、だが確かに本物の実用クロスプラットフォーム・デスクトップアプリケーション開発を経験した技術者により、GTK,Qt,Electronを渡り歩いて得た知見を惜しげもなく織り込み書かれた。
2018年現在、クロスプラットフォーム・デスクトップアプリケーション・フレームワークというテーマで書かれ、手に入れられる中で最良の本が本書であることを、ここに約束する。

Written: Michinari Nukazawa @ project daisy bell (2018)

13673960 journal
日記

m_nukazawaの日記: P10LiteにAndroid8.0が降ってくるらしい 3

日記 by m_nukazawa

huaweiのP10Lite、今日来たアップデートをダウンロード中なのだけれど、説明によるとAndroidが7から8.0へアップデートされるらしい。
一般論としてソフトウェアアップデートが良い結果をもたらすとも限らないのだけれど、安価な端末なのであまり期待していなかったし、正直嬉しい。

13671925 journal
日記

m_nukazawaの日記: サマータイム関連

日記 by m_nukazawa

サマータイム導入騒動を背景に、時刻データ取扱についての知見がQiita等へUpされているようす。
不謹慎(?)かもしれないけれど、個人的には、そういった知見の話は大好物なので嬉しい。

13602491 journal
日記

m_nukazawaの日記: 1050TiでMUNITが動かない

日記 by m_nukazawa

機械学習をやっていこうということで、次はMUNITを動かしてみようと思って学習を実行したところ、メモリ不足エラーで落ちる。
NVIDIAの本家MUNITがそんな調子だったので、外部のMUNIT-tensorflow実装を試したのだけれど、こちらも同じ理由で落ちる。
アルゴリズムは同じはずだから、まあ同じメモリ量を要求するのは当然といえば当然なのだけれど。

1070くらいなら無理すれば買えるかと思っているのだけれど、GitHubのissueによると、GPUメモリが11GBあっても落ちるという報告がある。
(参考:1070/1080は8GB、TitanXは12GB搭載)
https://github.com/NVlabs/MUNIT/issues/15

なので(その報告者については)ライブラリバージョンでバグを踏んでいるとかなのではないかという線も疑いつつ、1070購入しても動くとは限らないと思うと足踏みする次第。
誰か、MUNIT動かしたことがあったら環境を教えてください。
(あと学習にかけてみた時間と効果の所感も。)

AWS使おうかな、と思っているところ。でもAWSは最小構成が12GBからだから、1070で動かせるかどうかの確認には使えない。

と、ここまで書いてから気分転換に出かけてみたところ、とりあえずCPU版を試す(本当にGPUメモリが問題か、CUDAより手前のライブラリバージョン等が切り分けできる)という手を思いついた。
やってみると、メモリ食いではあるけれど、MUNIT-tensorflowの動作確認はとれた。本家MUNITも試してみるつもり。

// 手習いに画像生成系のモデルは重すぎるというのには同意。でも楽しそうだし。

13585857 journal
日記

m_nukazawaの日記: qiitaに投稿してみた/バージョン管理のモチベーション

日記 by m_nukazawa

git、というか最新のバージョン管理を使うモチベーションの話です。
3人のgit初心者 - The git beginners of three -

技術文章というよりは小説のような気もしますが。
qiitaへのポエム投稿が流行した(?)のは、もう1年以上前の話だとも思います。
たぶんその頃に(それとはまったく無関係に)書いた文章が、ファイルの整理の際に見つかり、読んでみるとまあまあ良かったので、そのまま投げました。

書いている途中で放置したものなので、諸々不満や不足があると思って公開していなかった文章です。実際、書きかけの断片がテキストファイルの末尾に付いていて、本文中に挿入されるのを待っていました。しかし、話題を網羅しようとすれば、いつまで経っても書き終わらないので、リリースしてしまうことにしました。

13581230 journal
日記

m_nukazawaの日記: 技術書典4 1

日記 by m_nukazawa

行ってきた。
事前に、スマホによる専用の決済アプリ(後日決済)があるとのことで導入。PayPalからの引き出しどうしようと思っていたのでちょうどよかったのもある。

今回は頼まれものもあったので午前中に出発。

整理券の列に並んでいる途中で会場の拍手が始まる。

整理券と、あと手の甲に見えないスタンプなるものを押された。
結局、この見えないスタンプを何に使ったのかは不明。

入場券の整理番号は11xx番で、これは「~1100」までは早かったのだけれど、その後はしばらくかかって。(そうは言っても午前中に入れた)

混んではいるものの、コミケットと違って会場は見て回れる規模なので、今回もそうした。
全冊把握できるわけでないのもあって、サークル一覧をチラッと確認した程度だったのだけれど、目的のサークルがきちんと見つけられてよかった。

頼まれものは午前中に間に合わなかったそうで、お昼を食べて再入場して確保。
(会場でまごついて『「全部二部ください」で済ませるはずだったんですけど...』とか言い訳言っていたのはわたしです。はい。)

あと狙っていた別の本は頒布終了してた。(電子版が出るとのことなので確保予定)

前回は2~3冊くらいしか確保しなかったのだけれど、今回はけっこう行った。
出典されている同人誌の傾向によるのかそれとも自分の嗜好が変わったのかはちょっと不明。
// 思いがけず「ことのは」を扱った同人誌があったので中身も見ずに「これください」と言ってしまい、それで弾みがついてしまった説がある。

/*
ところで、会場を後にして、秋葉原をぶらついていたとき、いつも怪しい(?)イベントをやっているビルで技術同人誌のイベントをやっていたのだけれど、あれはもしかしてtwitter上で発案された際に一瞬だけちょっとざわついていたあのあれなのだろうか。
(そこでは何も買わなかったけれど、以前に別の場所で確保した、わりとしっかりした内容でけっこう良かった同人誌が、そこで頒布されていた)
*/

13574528 journal
日記

m_nukazawaの日記: Adobe flashを覚えていますか? 3

日記 by m_nukazawa

Flashなんて過去の遺産、覚えているのは人はスラドにもう私くらいしか残っていないと思いますが...。

ちょっと、安いフォトブックの印刷会社の発注(前の編集)ページがAdobe flashだったので、「まだ生きていたのかflash!」と思いながら、Ubuntu18.04 alphaにflashを突っ込むことに。
// 結局flash版はきちんと動かなくて使い物にならず、後にスマホアプリ版があることが判明し、そちらで発注した。

Ubuntuを使い始めた頃は、Webであれこれするのに、というかニコニコ動画で流星群とかを見るのにFlashが必須で、インストールの方法もいろいろ面倒でけっこう失敗して試行錯誤した記憶がある。

そして現代。Ubuntu18.04ではパッケージを入れるとパートナーリポジトリからFlashのバイナリが落ちてくる形式だけれど、aptで一発でインストールされる。
Flashインストールはとても気軽になったようなのだけれど、(ニコニコとか見に行かないし、YouTubeはFlash不要だし)私の暮らしではインストールされていないことにすら気づかなくなっていて、時代は変わったというか、インストーラが進歩していても今更というか。

はい。

typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...