社内Wikiが古くて困る問題

仕様とかそのあたりを社内Wikiで管理しているといろいろな問題が発生するけど今回は社内Wikiが古くて困る問題について取り上げる。

社内Wikiが古くて困る問題といったが正確にはその情報が正確かどうか新しくジョインしたメンバーにはわからない問題といっていいかもしれない。

作成日や最終更新日や編集履歴といった情報はわかるがこのページに書かれている情報が正しいかどうかについての記述はどこにもない。

結局、プロジェクトの前任者や長く社内にいる人に問い合わせしなければならずこれではなんのためにWiki があるのかわからない(そして、問い合わせるときはたいていWikiの内容が正しくないときだ)。

解決策のひとつとして「Wikiを都度アップデートする」というのがある。 この解決策をどのように実現するかについてはここでは述べないが、もし常にWikiがアップデートされるようになったとしてもそれは誰かがこのWikiは更新が必要だぞと気づいた場合のみにおいてである。

つまり、更新がしばらくされていないWikiの記事があった場合その記事は次のうちのどれかである。

  • 内容が誤っているが誰もそのことに気づかないため情報が古いままである。
  • 内容が正しく編集する必要がないため誰も手をいれない。

このとき、問題になるのは後者である。 本来は正しい情報が書かれているのにも関わらず信頼度が低い。 これは情報の信頼性を担保するものが最終更新日くらいしかないからである。 新しくアサインされたメンバーは最終更新日という情報をもとにそのページの信頼度をはかるのである。

いずれにしろ、このメンバーは最終更新日という情報をもとに記事が信頼できるかどうか判断するために古い情報については古くからいるメンバーに問い合わせる必要がある。

解決案として思い出したのが、この情報は正しいという信頼マークのようなものを記事につけることができたらどうだろうか。

例えば、先輩社員が後輩社員をトレーニングするときにこのWiki を参照して作業をしてくださいという指示を出す際、事前にWiki の内容を確認するだろう。 そのときに、内容が正しいことを確認した際に信頼マークをつけられるようにすれば記事を更新しない場合に記事の信頼度を高めることができる。

なかなか個人的にはこのアイデアはいいような気がする。 ではそれをどのように実現するのだろうか。 この機能が実装されたWiki サービスがあればだれか教えてください。

TRUST 世界最先端の企業はいかに〈信頼〉を攻略したか

TRUST 世界最先端の企業はいかに〈信頼〉を攻略したか

同棲すると

バイリンガルニュースのどのエピソードか忘れたけど、こんなトピックがあったので紹介します。

同じパートナーと長年いっしょにいることで相手への性的欲求が減少し問題に発展することがありますが、相手への性的欲求を保つための要素ははっきりとはわかっていません。

今回 The Journal of Sex Research に掲載されたイースタンケンタッキー大学の研究において、パートナーとの性的欲求を保つ方法について書かれた記事においてシステマチックレビューを行った結果、それぞれお互いを魅力的だと感じることはもちろん、自分自身を魅力的だと感じている必要があることがわかりました。

研究では長期の関係において、性的欲求を保ち続ける要素を以下のように挙げています。

  • 性的欲求に対して現実離れした期待値を抱かないこと
  • 主体性を持つこと
  • ストレスをためこまないこと
  • 新しいことにチャレンジすること
  • お互い平等でいること
  • ステレオタイプを捨てること

日本人の回数は世界最低な理由ももしかしてこの辺にあるのだろうか。 相手を尊敬し、自分に自信を持つことからはじめよう。

VS Codeで利用状況やクラッシュレポートをマイクロソフトに送信しないようにする方法

VS Code ではデフォルトの設定では利用状況やクラッシュレポートをマイクロソフトに送信する設定になっています。
送信したくない場合、ユーザーの設定ファイルに設定を追加することで既存の設定を上書きして対処します。
ここではその手順について記述します。

1. 設定ファイルを開く

まず、設定ファイルを開きます。 WindowsでVS Code の設定ファイルを開くには以下のようにします。

  • ファイル > 基本設定 > 設定 を選択する。
  • または、Ctrl + , でも設定ファイルが開かれます。

設定ファイルの右側のほうがユーザーの設定ファイルです。 このファイルに設定を追記していくことで既存の設定を上書きすることができます。

2. 設定ファイルに追記する

以下の設定を追記することで利用状況やクラッシュレポートをマイクロソフトに送信しないようにすることができます。

2-1. 利用状況データとエラーを Microsoft に送信しないようにする

利用状況データとエラーを Microsoft に送信しないようにするには以下を追記します。

"telemetry.enableTelemetry": false,

2-2. クラッシュ レポートを Microsoft に送信しないようにする

クラッシュ レポートを Microsoft に送信しないようにするには以下を追記します。
※VS Code の再起動が必要

"telemetry.enableCrashReporter": false,

3. まとめ

これで設定は完了です。

上記の設定だけ追加した場合は、以下の通りになっているはずです。
※すでに追加している設定がある場合はこの通りにはなりません。

{
    "telemetry.enableTelemetry": false,
    "telemetry.enableCrashReporter": false,
}

ほかにもいろいろな設定を追加/変更することができますのでいろいろ試していきたいですね。

イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるWeb技術の基本

ハードウェアハッカーなど気になった書籍

Amazon を覗いていたら面白そうな書籍がたくさん紹介されていていくつか気になったものをここにメモする。

ハッカー関連

gihyo.jp

ハードウェアハッカー ~新しいモノをつくる破壊と創造の冒険

ハードウェアハッカー ~新しいモノをつくる破壊と創造の冒険

第2部は欧米と中国の知的財産の扱いの話から,山寨携帯や中国特産インチキSDカードやLSIをこじ開けてその偽造ポイントをつきとめる話。そして第3部ではクラウドファンディングでハードウェアを設計製造し出荷するまでの苦労話,さらにリバースエンジニアリングを扱う第4部では,LSIのシリコンをむきだしにしてその中身まで書き換える話に,HDMIの映像信号を復号せずに改変する異様な技,はては遺伝子組み換え話まで……。

遺伝子組み換えとかまでいくのか。肉体というハードウェアの設計図までハックするのが本物のハッカーだ。

だったら、合成生物学をはじめるしかないでしょ。

バイオビルダー ―合成生物学をはじめよう (Make: PROJECTS)

バイオビルダー ―合成生物学をはじめよう (Make: PROJECTS)

アート関連

アートとサイエンスの違いは再現性があるかどうかだけで本質的に違いはない。
アートがコンピュータを用いることによって再現性が高まってきているためサイエンスとの親和性が高くなっているのかな。

ART SCIENCE IS. アートサイエンスが導く世界の変容

ART SCIENCE IS. アートサイエンスが導く世界の変容

プログラミング関連

こういう大規模サービスだと普段自分が扱っているアプリケーションとは比べ物にならない途方もないデータ量を普段の業務として扱っていてすごいなーと思う。

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏

スクレイピングの書籍、定期的に出ていて一定の需要があるのだろうな。
ただ、どうしても出版してある程度たつとサンプルプログラムが動かなかったりしてそのへんの課題を解決する仕組みみたいなのが出版にあるといいな。

Puppeteer入門 スクレイピング+Web操作自動処理プログラミング

Puppeteer入門 スクレイピング+Web操作自動処理プログラミング

会社をつくりました

ひょんなことからツノウサラボという会社を立ち上げた。

まさか自分が社長になるとは思わなかった。

まだなにもない。

なにをするかはこれからゆっくり考える。

なにせ株主は自分だけだし、融資なんてどこからも受け取っていない。

取締役も自分一人だけだ。

上司もいなければ部下もいない。

嫌になれば畳んでしまえばいいだけの気楽な身分だ。

誰にも知られず、森のなかでひっそりと暮らすツノウサギのようにここにいる。

会社は大きいほうがいいなんて幻想だ。今日では誰でも自分のアイデアをもとにビジネスを始められる。高価な広告枠、営業部隊、オフィス、いや、会議も事業計画もいらない。昼間の仕事をしながら、初めは週末の数時間を費やすだけで十分だ。小さな所帯で、シンプルに、迅速に、臨機応変に―それで僕らは成功している。

小さなチーム、大きな仕事 働き方の新しいスタンダード (ハヤカワ文庫NF)

小さなチーム、大きな仕事 働き方の新しいスタンダード (ハヤカワ文庫NF)

順番は逆になってしまったけど、あとはアイデアを形にするぞ。

HPはAWSのS3で配信していて、メールアドレスなんかはG Suitesで、会計ソフトや会社設立はfreee を使っている。

誰も雇う必要がないし、なにか機材を購入する必要もない。

本当に、身一つとクラウドだけあればはじめられるのだと身をもって体験することができた。

さてこれからどこに行こう。

コードを知っているのはわれわれである

機械好きな人々が、機械的な人生観を持つのはまったく論理的なことだ。
革新を背後で推進するものはしばしば、ノーバート・ウィーナーの言葉によると、「歯車が回るのが見たいというガジェット好きの欲望」である。
そしてそうした人々が現在、社会の動きを支配または媒介している、複雑なシステムやソフトウェアのデザインや構築をコントロールしているのも、同様にまったく論理的なことだ。
コードを知っているのは彼らである。
社会がさらにコンピュータ化されていけば、プログラマーは知られざる立法者となる。
ヒューマンファクターを周縁的な関心だと規定することで、テクノロジー主義者は、自身の欲望の実現の主たる障害物も取り去ることができ、テクノロジーの進歩の飽くなき追及は自己正当化される。
テクノロジーを、主にテクノロジー的利害に基づいて判断することは、ガジェット好きに白紙委任状を与えるようなものだ。

オートメーション・バカ -先端技術がわたしたちにしていること-

オートメーション・バカ -先端技術がわたしたちにしていること-

ニコラス・カーについてもっと注目すべきだった。
読み直すたびに新たな発見があるタイプの本だ。
週末、ゆっくり彼の著作を読もう。

われわれは知られざる立法者になれる(た)か。

puppeteer でviewportを指定するとスクリーンショットのfullPage: true が効かなくなる問題

これで解決!

await page.setViewport({
  width: 320,
  height: await page.evaluate(() => document.body.clientHeight),
});

なにが問題なのか

puppeteer でscreenshot をフルスクリーンで撮るにはscreenshot()のオプションにfullPage: trueを指定します。

await page.screenshot({
  path: `${outdir}/test.png`,
  fullPage: true
});

これでばっちりだと思いきや、なぜかsetViewportwidthheightを指定すると無効化されてしまいます???

await page.setViewport({
  width: 320,
  height: 3000,
});

ならばと、widthだけを指定してみたところ怒られます。。

await page.setViewport({
  width: 320,
  // height: 3000,
});

なんでや。。

Protocol error (Emulation.setDeviceMetricsOverride): Invalid parameters height: integer value expected

どうすればいいのかと悩んでいたところ、単純にコンテンツの高さを取得する方法で解決できました。
それが冒頭のコードです。

await page.setViewport({
  width: 320,
  height: await page.evaluate(() => document.body.clientHeight),
});

古典的な解決策ですね。

2017年の8月に起票されてるけどいまだにOpenのままです。
Chrome seems to have a hard limit when taking screenshots of tall pages · Issue #359 · GoogleChrome/puppeteer · GitHub

作って動かすALife ―実装を通した人工生命モデル理論入門

作って動かすALife ―実装を通した人工生命モデル理論入門

  • 作者: 岡瑞起,池上高志,ドミニク・チェン,青木竜太,丸山典宏
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/07/28
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る