読者です 読者をやめる 読者になる 読者になる

狐の王国

人は誰でも心に王国を持っている。

絶望の国で若者は老害に殺されるとSMAPとホリエモンが証明した

くだらないゴシップだと思ってたら妙なことになったSMAP事案なのだが、こういう比較的若くて新しいことをやろうとする人たちが高度経済成長期に大儲けした老人たちに潰されるという場面をまた見ることになるのか、という感慨があったので少し吐き出しておく。

飯島マネ今月退職決定!でも恩知らずはメリー副社長のほうだ!SMAPだけでなくジャニーズが今あるのも飯島のおかげ という記事に詳しいのだが、80年代までで一度は滅びたアイドル文化を、バラエティ番組に適合する形で再構築して定着させた SMAP の功績は決して小さくはない。バラエティ適合アイドルの鏑矢になったのは萩本欽一プロデュースの CHA-CHA だったが、その候補者としても後の SMAP メンバーらをふくむ数人のジャニーズメンバーたちが送り込まれていた。

こうして男性アイドルの伝統が21世紀になっても続き、女性アイドルの文化はモーニング娘。による復活を待たねばならなかった。この差はとても大きいだろう。

人気アイドルのSMAP、ジャニーズ事務所に刃向かったらどうなるかを公共の電波を使って解説 : 市況かぶ全力2階建

それをこうして上の世代が潰しにかかるという構図は、以前にも見たことがある。

d.hatena.ne.jp

そう、ライブドア事件だ。

同時期の粉飾決算事件と比べても、極々小規模の違法性*1に過大な罰が与えられたあの事件は、たいへん衝撃的なものだった。

高度経済成長期までに利益を確定し安定の地位を得た世代は、その後の若者がどれだけ頑張ろうとも潰すのであるというメッセージを広く日本社会に伝えた事件であった。

実際、当時のライブドアはよく買収をしており、学生や他企業の作ったウェブサイトを高額で買い取るなど、当時のウェブ関係者にはそれで大きな利益を得たものもいたりするわけである。その買い取り手がなくなって出口がなくなってしまったというのは、その後アメリカのウェブサイト価格の高騰を尻目に日本のサイトがさしたる値段がつかなかったことを考えても非常に大きな損失をもたらしたと言ってもいいだろう。

アメリカのブログサービス Tumblr が11億ドルで Yahoo! に買収されたことは記憶に新しいが、これがいま台湾企業がシャープの買収に提示してる金額(3000億円程度と報道されている)の半分近いということを考えると、いかにアメリカでウェブサイトの価値が高いかはわかるのではないだろうか。

何も製造業がうまくいかなくなってきてるのは日本だけではない。アメリカだって製造業のGDP比率は下がっている。金融やITが伸びてきたから今でも成長し続けてるだけだ。

景気が良いというのはお金が太く流れ続けるということだ。若い世代が自動車や家を買わなくなるのも当然だ。新しい産業が伸びなければ新しい世代にお金が流れていくわけなんてない。子供だって作らなくなり、日本民族は滅びる。

その元凶を作ったのはこうして新しい世代を潰してきた老人たちだろう。

老人たちも戦後の混乱で理不尽な目にあってきた。だが何もなかったからこそチャンスはそこかしこに転がっていた。いつだって何だって足りなかった。そういう時代だからこそ理不尽を受け入れることで利益が取れた。

しかし今はどうだ。人間が生きるために必要なものなんてだいたい供給されてしまっている。そこで新しい産業を興していくというのは、新しい価値を提示していくことに他ならない。そして新しい価値とは何なのか、誰も知らないのである。無いものを作れば利益が得られた時代とはまるっきり状況が違う。

そんな状況で理不尽にさらされた若者たちに未来が見えるはずもない。手探りで価値を見つけ出すことは、片っ端から穴を埋める作業ではないからだ。作っては見たものの誰にも見向きもされないことなんていくらでもある。昨今メディア利用が盛んな Twitter だってそうだ。誰にも見向きもされなかったサービスを作っていた彼らが、気晴らしに作ったのが Twitter だった。その Twitter だっていまだに赤字が続いている。マネタイズに悩んでいるのである。新しい価値は提供できても、利益が取れないことだってあるのだ。

こうした時代の老人の役割とは、若者に対して関門として立ちはだかることではない。彼らが「新しい価値」を見出すための資金を提供することだ。多産多死モデルで新産業を興す新しい世代へ投資していくのである。当たる確率は1%でも当たれば100倍以上になる事業を100個走らせるのだ。何が正しいのかわからないときにはそうするしかない。

こうした投資によって金融産業が盛り上がり、金融が投資対象として振興産業を盛り上げる。かくしてこの20年日本が負け続けてきたような新産業が盛り上がってくるわけである。

日本では投資どころか潰してしまった。なんとかかいくぐって伸びてきた事業ソーシャルゲームくらいだった。

president.jp

日本は絶望の国だそうだ。若者の自殺率世界一という不名誉な事実がここにある。どんなに苦しい状況でも、1% 以下の確率でも、100回でも1000回でもサイコロを振ることができる希望さえあれば生きていける。しかし今の日本にはそれがない。それがないからこその閉塞感であり、世界一の自殺率なのだろう。

若者にサイコロを振らせろ。新しい世代にしか振れないサイコロがある。その出目次第では、日本という国、アジアという地域、地球という星を変えることすらできる。

急速な少子高齢化も、環境汚染も、エネルギー問題も、紛争も差別も飢饉も、すべて豊かな経済あってこそ解決の手が伸びるのだ。

絶望の国を希望の国に変えるために。サイコロを振るその手に、希望を託すのだ。

*1:しかもどうやら監査法人と相談の上で確認ももらってたようである。

日本人は性と健康をもっと真面目に考えるべき

リプロダクティブ・ライツ、リプロダクティブ・ヘルス、という言葉がある。性と生殖に関する権利と健康という概念だ。どうも性と生殖に関する健康や権利はないがしろにされがちではあり、こと日本に置いてもだいたい笑いの種や抑圧の元となりがちである。

すぐに必要な時がある。緊急避妊薬ノルレボを市販薬に! というページがある。避妊の失敗や望まぬ性交があっときに、72時間以内に服用すれば81%の確率で妊娠を回避できるというお薬だ。現状ではノルレボは本人が医者にいって処方してもらうほかなく、その費用も1万5000円程度から2万円前後と非常に高額である。

本来ノルレボの価格は1500円程度である。これくらいの価格ならば貧しい人たちでもなんとか手が届くであろうし、市販薬であれば身近な人が買ってきてあげることもできる。良くも悪くも女性というのは弱いもので、避妊の失敗や望まぬ性交のショックで正常な判断力を取り戻すまでに時間がかかることも少なくない。本人が病院にいかねば処方されないようでは問題がある。他国ではとっくに市販化されてるようだ。

ところがどうも日本のフェミニズム界隈はノルレボ市販化には反対なようである。

togetter.com

法律を作る人たちへの圧力として機能するはずの権利団体のスタンスがこれではずいぶんと絶望的だ。

www.swissinfo.ch

上記のスイスでの事例など見ると、ノルレボの市販化がやはり奏功してるようで中絶件数が非常に低いという。10代の少女への手厚い対応も注目だ。の親に言えずに悶々としてるうちに妊娠が発覚し中絶するという事例がいかに多いかということでもあるだろう。

ecodb.net

おもしろいのが、2002年のノルレボ市販化後、スイスの出生率が底をうち、回復し始めたことである。他にも多様な要因はあるのだろうが、リプロダクティブ・ヘルスの推進も少なからず貢献してるのではないのだろうか。

さてリプロダクティブ・ヘルスは「性と生殖に関する健康」という概念だということは冒頭にも書いた。現在のところ国際的にも問題視されてるのは女性のそれであるが、もちろん男性にもリプロダクティブ・ヘルスはある。

俺は若年性男性更年期障害、いわゆるLOH症候群になり、男性ホルモン投与治療を受けていた。生活習慣の改善とともに今では投与がなくても、起きてられないほどの肩の痛みや不安定で鬱々とした精神に悩まされることもだいぶなくなってきた。

その治療の過程でつくづく思い知らされたのは、男性の健康と性が非常に密接であるということである。男性ホルモンというのは精巣で作られる。精巣が活発に活動するというのは、ありていに言えばなんらかに欲情していなくてはならないのである。

中高年のおじさんたちが妙にエロい週刊誌やグラビアを見たり、女性が横に座る飲み屋に行ったりするのは、加齢で減ってきた男性ホルモンを分泌させるためなのであろう。

自分でできる対処法を探して「魅力的な異性を見る」とか「頻繁に性行為をする」などがあったので、ガラにもなくグラビア写真など「治療だ、治療だ」と言い聞かせつつ見てたりなどしてたのだがさしたる効果はなかった。比較的効果があったのはやはりアニメで、アニメを見る量を増やしてたら食事改善の効果もあってだいぶよくなってきた。結局個々人にとっての「魅力的な異性」でなければ意味がないということである*1

こうした経験から、「ポルノは男性のリプロダクティブ・ヘルス」であると考えるようになった。もちろんポルノアニメを見ていたわけではないのだが、多くの男性にとって効果があるであろうものはおそらくポルノであろう。ポルノに用事のないアルファ・オスならともかく、ポルノでもなければ「魅力的な異性」を見る機会すら無いという男性も少なくない。なによりそうした性嗜好は人それぞれなので偶然の出会いなどに頼っては健康を維持できないのである。

欧米や韓国などのフェミニストたちは「ポルノグラフィティ防衛論」で有名なナディーン・ストロッセンを始め、ポルノ周りにも理解のあるフェミニストが多いらしい。

ポルノグラフィ防衛論 アメリカのセクハラ攻撃・ポルノ規制の危険性

ポルノグラフィ防衛論 アメリカのセクハラ攻撃・ポルノ規制の危険性

だが日本ではそうしたフェミニストたちは影を潜めてるのかそもそもいないのか、あまり声が上がることはない。代わりにあがってくるのは性嫌悪や男性嫌悪としか思えない罵倒の言葉ばかりだ。海外ではネットを通してそうした罵倒活動をする「フェミニスト」をソーシャル・ジャスティス・ウォーリアーと呼ぶそうだが、日本のフェミニストはそのほとんどがソーシャル・ジャスティス・ウォーリアーのようである。

どうか日本でもリプロダクティブ・ヘルス・ライツが深く浸透し、誰もが性と生殖に関する健康と権利を享受できるようになってもらいたい。そしてガラパゴスではないフェミニズムが浸透してくれることを切に願うものである。

そのためにもまずはノルレボ市販化へ向けて、微力ながら声を上げていきたい。

*1:どうも最近わかってきたのだが俺の場合は絵というより「物語」に対する性嗜好があるのではないかという気がしてきた。こういう非人間に対する性嗜好を持ち合わせる人たちをクィアと呼ぶそうだ。クィア理論としては性指向と性嗜好に区別をつけないんだとか。

外国人にわかりやすい地図記号は絵文字を使えばいいのではなかろうか

「卍」はナチス想起させるので「三重の塔」に 外国人向け地図記号、国土地理院が作成へ という記事。 ナチスを想起とかはさすがに敏感になり過ぎじゃないのかとは思うものの、外国人にもわかりやすい地図記号に変えようという動き自体はいいことだと思う。

しかし地図記号というのは「卍」や「〶」のように多くが文字としてコンピュータ上で使えるようになっている。新しい地図記号も既存の絵文字から使えるものが多いのではなかろうか、と思って 元の資料 で検討されてる文字が絵文字にあるか確認してみた。

検討されてる記号 Unicode 絵文字 備考
ホテル 🏨
レストラン 🍴
ショッピングセンター/百貨店 🏬
トイレ 🚻🚽🚾
寺院 仏教のマークがない
神社
温泉
博物館、美術館 🏛
教会
モスク 🕌☪
鉄道駅 🚃🚇🚉
空港
観光案内所 💁 Information Desk Person で代用
郵便局 🏣
銀行(ATM) 🏦
コンビニ/スーパーマーケット 🏪 スーパーの絵文字はない
病院 🏥
交番 👮 Police Officer で代用

こうしてみると以外なことに仏教寺院の絵文字がないことに気づく。モスクやユダヤのシナゴークなどはあるのだが。ちなみに礼拝堂の絵文字も Unicode 8.0 で追加されている。

もうひとつ問題なのがコンビニとスーパーマーケットを区別する絵文字がないということだろう。

絵文字は日本の携帯電話キャリアが考案したガラパゴスな代物であったが、その後 GoogleApple により国際規格 Unicode に採用され、世界的に使えるグローバルな文字となった。そこではもちろん国際性や意味の検討などもされており、非常にこなれたものになっていると言えるだろう。

このへんの事情は以下の記事を読むとよくわかる。あんまり勝手な規格を作るとあとが大変という事例でもあるけれども。

japan.cnet.com

Unicde の絵文字をベースに独自に地図向けの絵文字フォントを作るなどの対応はあってもいいと思うのだが、独自の文字が増えるような状況は避けてもらいたいなあと思う次第。

問題に上がってる温泉の絵文字にしたって、すでに Hot Springs として Unicode に登録されてたりするのだ。むやみに変更すると混乱を招くだけだろう。スーパーマーケットと仏教寺院の絵文字を追加するように Unicode コンソーシアムの方で議題にあげてもらうなどの対応はあってもいいと思うけれども。

Bootstrap で手抜きしながらオシャレなはてなブログのデザインを作る方法

というわけではてなブログに移行しようと思ったんだけれども、どうも気に入ったデザインがない。はてなダイアリーでもそれなりにカスタマイズして作ってたのだが、そのまま使えるわけもないしデザイン自体も古くなってしまってる。かといってゼロからデザインを起こす暇など……ってマテ、俺達には Bootstrap があるじゃないか!

Bootstrap ってなに?

いわゆる CSS フレームワークです。Twitter が作って自分たちで使ってるやつです。

なにができるの?

HTMLにクラス属性をいろいろ足してやるだけでいい感じに見た目を整えてくれるいい奴なんです。

example

例えばこんな感じ。

ボタンとか
<button type="button" class="btn btn-default">btn-default</button>
<button type="button" class="btn btn-primary">btn-primary</button>
<button type="button" class="btn btn-success">btn-success</button>
<button type="button" class="btn btn-info">btn-info</button>
<button type="button" class="btn btn-warning">btn-warning</button>
<button type="button" class="btn btn-danger">btn-danger</button>

こんな感じに書くだけで、

こんな感じになっちゃうんです!

これはてなブログで使えるの?

えっといろいろ問題はありますが一応使えます。というか使えました。

何事も先人というのはいるもので、以下のサイトを参考にしました(感謝)。

blog.sfpgmr.net

blog.manaten.net

せっかくなのでどうやって使うかというのをここで共有しておく。

カラムの設定

上記サイトにあるように、カラムを作るには less で書く必要がある。Bootstrap 自体が less で書かれてるからなのだが、そのうち sass に移行するとかなんとか。とりあえず現時点の最新版である 3.3.6 は less で書かれてるので less で書いていく。どうせあとから sass に変換もできるはず。

getbootstrap.com

Bootstrap のサイトからソースコードを zip でダウンロードしてきて、適当なディレクトリに展開。

$ wget https://github.com/twbs/bootstrap/archive/v3.3.6.zip
$ unzip v3.3.6.zip
$ touch hatenablog.less
$ ls
bootstrap-3.3.6 hatenablog.less

bootstrap-3.3.6 というディレクトリ以下に展開されたソースコードと、hatenablog.less(名前は何でもいい)が見えます。 この hatenablog.less を編集していく。

@import "bootstrap-3.3.6/less/bootstrap.less";
#main {
    .make-md-column(9);
}
    
#box2 {
    .make-md-column(3);
}

#footer, #bottom-editarea {
    .make-md-column(12);
}

これで2カラムでサイドバーが本文の1/3、フッタは全体幅の構成になる。

@import "bootstrap-3.3.6/less/bootstrap.less";
#main {
    .make-md-column(9);
    background-color: blue;
}
    
#box2 {
    .make-md-column(3);
    background-color: yellow;
}

#footer, #bottom-editarea {
    .make-md-column(12);
    background-color: green;
}

とでもして色分けされてることを確認するといい。

そして less ファイルを css ファイルにコンパイルする。

$ gem install less
$ lessc hatenablog.less > hatenablog.css

動作確認

さて便利な Bootstrap なのだが、どうもはてなブログCSS 貼り付けは容量制限があるようで、Bootstrap を含めた CSS をアップロードすることは難しいようだ。

というわけで以下のサイトを参考に Google Drive を利用する。

wedges.hatenablog.com

アップロードしたら、はてなブログのデザインCSSには、

/* Responsive: yes */
@import url('https://www.googledrive.com/host/0Bxp6_1slWwEfNlhPY1N5MmpPZGM/hatenablog.css');

とだけ書いておく。 URL の途中にある謎の文字列は人それぞれ違うので上記サイトを参考にして欲しい。

さらに一部の機能は JavaScript を使うので、CDN で配布されてる bootstrap.js を使う。Bootstrap は jQuery 必須なので、それも CDN のものを使う。

はてなブログのフッタあたりにでも、

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>

と入れておく。

ついでに Bootstrap で使うアイコンフォントも CDN から import してしまおう。

@import "bootstrap-3.3.6/less/bootstrap.less";
@icon-font-path: 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/fonts/';

としておけばテストでも本番でもそのままフォントファイルを読んでくれる。

デザイン設定画面にあるスマートフォン向けのタブに「レスポンシブデザイン」のチェックボックスがあるので、それをオンにしておくとスマホ向けにも同じデザインで表示される。

ちなみに markdown を使いたいのではてなブログのサンプルエントリーmarkdownに書き直してちょっと付け加えたものを置いておいた。

デザイン開発用のtips

さて less は以上のようにコンパイルしないといけないので動作確認が面倒くさそうだが、実は less コンパイラJavaScript で書かれている。若干遅いが充分実用的だ。

というわけで上のサンプルエントリーを放り込んだ記事をそのまま wgetcurl でダウンロードして、

<link rel="stylesheet" type="text/css" href="http://blog.hatena.ne.jp/-/blog_style/13208692334729909600/2cf1108ea98e4d24edaf9abdb60ae1d97e804f1d"/>    <script>    </script>

というようなところを、

      <link rel="stylesheet" type="text/less" href="hatenablog.less"/>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.3/less.min.js">    </script>

と書き換える。これでこのファイルをブラウザに読ませれば表示されるはず。あとはエディタで保存したら自動でブラウザをリロードする設定でもしておけば非常に捗る。 作り始めた頃は記事も少なくてサイドバーのデザインなどがうまくいかないので、他人の記事をダウンロードしてデザインに使うなどするとさらに捗る。

ナビゲーションバー

さてせっかくヘッダにいろいろ追加できるので、ナビゲーションバーを追加することにしよう。

はてなブログのデザイン設定からヘッダのところを開き、うちでは以下のように入力してみた。

<nav class="navbar navbar-default" style="border-radius: 0px;">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button"
              class="navbar-toggle collapsed"
              data-toggle="collapse"
              data-target="#navbar-collapse-1"
              aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="http://www.foxking.org/"><span class="glyphicon glyphicon-king"></span> 狐の王国</a>
    </div>
    <div class="collapse navbar-collapse" id="navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="http://koshian.hateblo.jp/"><span class="glyphicon glyphicon-link"></span> Blog</a></li>
        <li><a target="_blank" href="http://koshian.hatenablog.com/"><span class="glyphicon glyphicon-link"></span> Tech Log</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li role="separator" class="divider"></li>
        <li><a target="_blank" href="http://tumblr.foxking.org"><i class="fa fa-tumblr"></i> Tumblr</a></li>
        <li><a target="_blank" href="http://twitter.com/koshian"><i class="fa fa-twitter"></i>
 Twitter</a></li>
      </ul>
    </div>
  </div>
</nav>

Twitter/Tumblr のアイコンは font awesome を使用している。これも less ファイルに、

@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');

と CDN から import してある。

配色

Bootstrap のナビゲーションバーを配色するツールになってる TWBSColor というサイトがあるので、そこを使うと簡単。

work.smarchal.com

テーブルを Bootstrap らしく

さて細かいデザインは自力でやるとしても、table なんかの表示は Bootstrap を使ってラクがしたい。

.entry-content {
    table {
        &:extend(.table all);
        &:extend(.table-striped all);
        &:extend(.table-hover all);
        width: auto;
    }
}

こんな感じで table クラスを table タグに継承してやればうまく行く。そのままだと width が 100% になっててウェブアプリならともかくブログには向かなそうだったので width を auto に上書き設定した。

配色は変数があるのでそれを使う。

@table-bg:                      transparent;
@table-bg-accent:               @accent-bg;
@table-bg-hover:                @accent-color;
@table-bg-active:               @table-bg-hover;
@table-border-color:            @heading-color;

他にも bootsrap-3.3.6/less/variables.less を見るといろいろな変数があるので、boottrap 本体を import した後にそれらの変数を書き換えてやるといろいろとカラーを変えられる。

検索フォーム

さてこれでだいぶ Bootstrap を活用できてる感じになってきたのだが、検索フォームのボタンに Bootstrap のスタイルがうまく適用できない。

#box2 {
    .search-module-input {
        &:extend(.form-control);
    }
    
    .search-module-button {
        &:extend(.btn);
        &:extend(.btn-default);
    }
}

としてしまえば一応適用されるのだが、フォームの横に検索ボタンが行かない。 しょうがないので提供されてる検索フォームを使うのをやめて、サイドバーに HTML を直接放り込むことにした。

<form class="search-form" role="search" action="/search" method="get">
  <div class="input-group">
    <input name="q" class="search-module-input form-control" value="" placeholder="ブログ内検索" required="" type="text">
    <span class="input-group-btn">
      <input value="検索" class="search-module-button btn btn-default" type="submit">
    </span>
  </div>
</form>

こんな感じで input-group をまとめてやれば綺麗に配置される。

サイドバーのリスト

アーカイブやらなにやらは、やはり Bootstrap の list-group を使ってうまく処理したい。

#box2 {
    .hatena-urllist,
    .urllist-with-thumbnails {
        &:extend(.list-group all);

        li,
        .urllist-item {
            &:extend(.list-group-item all);
        }
    }
}

こんな感じで綺麗に表示された。

だがここで問題が。はてなブログのアーカイブのリスト表示は、その年や月に書いた記事の数が出るのだが、これが括弧でベタ書きされてて Bootsrap らしくない表示になってしまってる。数字を badge クラスの span で囲んであげれば綺麗に表示されるのだが……。

しょうがない、ここは JavaScript の出番といこう。

しかし、どうもこのアーカイブは JavaScript で読み込まれるようになってるようで、その処理の後にやってもらわないといけない。しょうがないので load イベントで実行するようにしてみた。

window.addEventListener("load", function(){
    $('.hatena-urllist li').each(function() {
        var r = $(this).html().replace(/(\()(\d+)(\))(.*)/g,
                                       "<span class=\"badge\">$2</span></li>");
        $(this).html(r);
    });
}, false);

というような JavaScript を書いて css と同じように Google Drive に置いてみた。フッタの jquery の後ろに script タグを配置。

f:id:KoshianX:20160104214548p:plain

おお、かわいく表示されてる!

しかしどうもなあ……。本来この badge は右端に表示されるはずなのだが。ああ、そうか、数字が a 要素の内側にあるからか。これは兄弟要素にしてあげなくてはならない。

しかも三角マークで内側の要素を表示非表示を切り替えたり、現在開いてる記事の年月のところは開くなど細かい処理がある。要素を移動した後でもう一度その設定をしてあげなくては動作しないのだが、現在の日月などを把握するのがめんどくさい。

というわけではてなブログがデフォルトで読んでる hatenablog.js からそのへんの部分をパチってきて以下のように。

window.addEventListener("load", function(){
    /* from hatenablog.js (official) */
    function detectDate() {
        // archiveのとき, 一番上の日付から年を読む
        if (Hatena.Diary.data('page') === 'archive') {
            var $entry = $('section.archive-entry:first');
            if ($entry.length > 0) {
                var year_month_day = $entry.find('div.date > a > time').attr('datetime');
                var year_str = year_month_day.split('-')[0];
                var month_str = year_month_day.split('-')[1];

                return { year: year_str, month: month_str };
            }

            return null;
        }
    }

    function setupCalendar($archive) {
        var $selector = $archive.find('.js-archive-module-calendar-selector');

        var updateCalendar = function updateCalendar() {
            var $date = $selector.find('option:selected');
            var year = $date.data('year');
            var month = $date.data('month');
            $.ajax({
                type: 'get',
                url: URLGenerator.user_blog_url('/archive_module_calendar'),
                data: { month: month, year: year }
            }).done(function (res) {
                // days object
                $archive.find('.js-archive-module-calendar-container').html(res);
            });
        };

        $selector.change(function () {
            updateCalendar();
        });

        // 表示ページに合わせてカレンダーを初期化
        var date = detectDate();
        if (date) {
            $selector.val(date['year'] + ' ' + date['month']);
        }
        updateCalendar();
    };

    function setupDefault($archive) {
        var $open_year;
        var date = detectDate();
        if (date) {
            var year = date['year'];
            if (year) {
                var $year = $archive.find('li.archive-module-year[data-year="' + year + '"]');

                $open_year = $year.length > 0 ? $year : null;
            }
        }

        $open_year = $open_year || $('li.archive-module-year:first');
        $open_year.removeClass('archive-module-year-hidden');

        $archive.find('.archive-module-button').click(function (e) {
            e.preventDefault();

            var $year = $(this).parent('.archive-module-year');
            $year.toggleClass('archive-module-year-hidden');
        });
    }
    /* end hatenablog.js ( official ) */
    
    $('.hatena-urllist li').each(function() {
        var r = $(this).html().replace(/(\()(\d+)(\))(.*)/g,
                                       "<span class=\"badge\">$2</span></li>");
        $(this).html(r);
    });

    $('a .badge').each(function(){
        var p = $(this).parent()
        $(this).insertAfter(p);

    });

    $('.hatena-module-archive').each(function(){
        var archive = $(this);
        if (archive.data('archiveType') == 'calendar') {
                setupCalendar(archive);
            } else {
                setupDefault(archive);
            }
    });
}, false);

detectDate、setupCalendar、setupDefault の三つの関数をコピーさせてもらい、数字を badge クラスの span 要素に書き換え、badge クラスは単純に親クラスの兄弟要素に。そしてアーカイブの表示非表示を切り替える設定を施す setupDefault を実行し直す、という感じ。

f:id:KoshianX:20160104214547p:plain

これで見事に右側によってくれた。

そんな感じでできあがったうちのはてなブログ用デザインは、github に置いてあるのでもしよければ参考にしてくれたりツッコミ入れてくれたりするとうれしい。

github.com

え? 出来上がったデザインがタイトルと違って全然オシャレじゃないぞって? えーといやその、すみません……。

enjoy!

正しさは教わるのではなく、対話の向こう側にある

伊藤園「還元性水素水」へのコメントという記事。Web黎明期から似非科学批判を展開されてきた水商売ウォッチングさんの記事で、内容は大企業たる伊藤園が「水素水」というなんの効果もない水を売りだしたことに対するコメント。どうもわかったうえでやってる商品のようで、これに手を出さざるを得ない伊藤園に同情的なスタンスだ。

よく言われることだが、「人間は自分が本当に欲しい物を知らない」というものがある。お客さんが欲しいと言ってるものをそのまま作るとだいたいお客さんも満足しないものだ。

「顧客が本当に必要だったもの」という有名な画像があるが(オリジナルがどこだかよくわからない……)、世の中だいたいそんなもんだよなあと思う。

水素水のようなものを買う顧客が欲しいものは、健康や美容であろう。似非科学や偽医学は、本物の科学や医学が提供してくれない「健康」「美容」といった価値を欲してるのである。

もちろんそんな都合のいい話はない。健康は日々の生活習慣から生まれるものだし、美容というのも価値観次第で何を目的としたものかが判然としない。それらは顧客が説明できるものではないのだ。健康的な生活習慣など、そういう習慣を送ってる家庭で育たないとわからない。人々が無意識に、当然だと思ってやってることだから、もちろん説明もされない。そうした健康の上に美容もある。

消費者主導型の市場と言われるようになって久しいが、ここにきてずいぶんそれも極まったものだなと思う。

消費者主導で商品が選ばれるなかで、科学の知識を持たない消費者が区別つかないように科学の後ろ盾があるという詐欺を働く連中がいる。冒頭の「水商売ウォッチング」さんは昔からそういう怪しげな商売を批判してこられた。

そこで科学の知識を持ってる人間が「それはウソだ、騙されてはいけない」と言ったところでさしたる効果はないのだろう。専門家を見分け、専門家の発言を咀嚼できる程度の知識があればそもそも騙されないからだ。

今年はオリンピックのエムブレムが剽窃であるとしてネットで騒動が広がり、取り下げることになるという事件もあった。デザインや著作権の知識があれば、あれを剽窃とは考えないだろう。実際そのような解説も出回っていたが、人々はそれを信じなかった。構造としては似非科学と同じことだ。

パターナリズムという言葉がある。Wikipedia には「強い立場にある者が、弱い立場にある者の利益になるようにと、本人の意志に反して行動に介入・干渉することをいう」と解説されている。専門知識を持ち合わせてる人間は「強い立場」にある。持ち合わせてない人間は「弱い立場」だ。似非科学批判というのは、パターナリズムに陥ってしまいがちな側面がある。似非科学で商売をしてる企業を批判してるつもりが、その消費者を批判してしまってることもままあるのだ。

こうした現象は似非科学批判だけにあるものではない。パターナリズムを批判する立場にあるフェミニズムが、性産業従事者の女性に対してその商売から足を洗わせようとするパターナリズムに陥った、などという現象もあるようだ。欧米ではこれも性の自己決定として本人の意志を尊重する方向に切り替わりつつあるようではあるが。

こうしたパターナリズムは「古臭いもの」としてずいぶん批判されてきたのではあるが、冷静に考えてみれば、自分が弱い立場にあるとき、より強い立場の人間に判断を委ねることは割と正当な側面もある。例えば自殺者を引き止めるために本人の意志に反して体を一時拘束するなど、非常にパターナリスティックだがこれが不道徳だと考える人はそうそういないだろう。

とはいえパターナリズム批判というのは一度細かいところまでことごとく粉砕されるものではある。たとえば医療においても医者から患者に一方的に治療を施すのではなく、患者の自己決定を重視する方向に切り替わりつつある。そんなことはそっちで決めてくれと思うようなことまで決断させられるくらい自己決定を重視されるようになるまで粉砕されなくては「正しいパターナリズム」に回帰できないのである。

日本において、インターネット、とりわけ SNS の発達がそうしたパターナリズム批判を盛り上げていると考えてみると、これはこれでまた実にうまく行ってるようにも見えてくる。愚行権なんて概念もあるが、とにかく自己決定し間違い続けることでしか「正しさ」には行き着かないものだ。

そう考えれば果てしない居酒屋談義のようなネットバトルにも社会的な意義が見いだせる。一人ひとりが自己決定の末に発言し、またそれが誰かの自己決定の末に反論される。そんなことを繰り返して「もうめんどくさい、嫌だ、誰か決めてくれ」となって始めて「正しいパターナリズム」に回帰できるのではないか。

そんなネットバトルも昨今は「発言者の身元をネットに晒す」というような議論の枠組みから大きく逸脱した行為に発展してるようだ。こうした行為は2chの鬼女板の得意技ではあり、それゆえに既婚女性の略称としての読みを合わせた「鬼女」という呼び名が受け入れられてきたのだろうと思うが、彼女らが非常に賢く振る舞ってたのに対して昨今はずいぶん安易な行動が目立つ。こんなことをしていてはそもそもネットでの議論が成立しなくなってしまう。

議論のルールブック(新潮新書)

議論のルールブック(新潮新書)

議論のしかたというサイトがある。議論のルールブックとして本にもなっており、古いが今でも充分に参考になるネットを前提とした議論のハウツーである。人と対話し、知識を深めていくためには必読といっていい。

どうか議論から逸脱しないよう、そしてより多くの人々がよりよいネット議論を体験し、よい本に出会い、よい見解を得られることを期待したい。インターネットに救われ、ネットで人と出会い成長してきた人間の一人として、切に切に願うのである。

徴兵以下のIT奴隷制度を作るよりマネジメントを学ぶべき

安保法制デモなんかで「徴兵制が!」「戦争に行かされる!」みたいなのがあってバカじゃねーの徴兵なんて今時やるわけねえだろと思ってたのだが、やあもしかしてサイバー戦争うんたらで俺らITエンジニアを徴兵するとかはあり得るかもよ? みたいなヨタ話をしてたことがある。

もちろんヨタ話なので「可能性があるかないかで言えばある」というだけにすぎなくて、まさか本当にやるなんて思っちゃいなかった。ところがガチでそんなことを言い出す人物が現れたのである。

前提として考えてもらいたいのは、これからのサイバー攻撃は、まさに戦争を仕掛けられているのと同じだという点だ。
(中略)
国の重要インフラを破壊されるのは、戦争と言わずに何というのか。これは最悪のシナリオであることには違いないが、日本の政府や業界、企業は、それに対する危機意識が低すぎる。

 そして、これを守るためのエンジニアが不足しているのは明らかだ。そのためには人材を育成しなければならない。それが4万人。今から教育をしなくては間に合わない。だが、国はそれに対して費用を出す計画がない。
(中略)
そこで育成されたエンジニアが2020年に開催される東京五輪の開催期間中の1カ月間でもいいから、ボランティアで働くという仕組みを提案した。

「五輪にはボランティアで働けるエンジニアが必要」発言の真意を聞く - ZDNet Japan

この場合のボランティアというのは原義の自発的な兵士という意味ではなく、予算がないからタダ働きさせようという話である。徴兵したあげくに給料ゼロとかぶっちゃけ徴兵制度よりひどい奴隷制度を「IT業界をひとつにまとめて政策提言する」という立場にいる人物が発してるのである。

確かにITエンジニアというのはそもそも人材が不足してるし、一級品の技術を持った人間を雇い入れるとなると最低でも年間2000〜3000万円程度の雇用コストがかかるものではある。ただ給料が高いとは限らなくて、先日もブラックIT企業勤めの人のまとめで出向先の大手メーカーは所属会社に毎月250万円払ってるけれども月給は20万円残業代無しボーナス無し、なんて話があった。

IT業界と一口に言ってもそれは幅広くて、いわゆる多重請負構造が蔓延してるような大手メーカー周辺のIT業界と、Web系と言われるようなネットでエンジニアの顔が見えるIT業界、さらには通信インフラを支えてるようなIT業界はほとんど別業種といってもいいくらい離れてたりはする。

だからこういう全然知らないところが「IT業界をまとめあげる」みたいなことを言い出してびっくりするということが起きたりもするんだけれども。

そもそもIT業界の人材不足なんてのは大嘘であって、技術者が足りないからなんとかならないかなんて話を聞くと予算が「人月60万円」なんて話がザラにある。60万円は給料ではないので、税金やら経費やら引くとだいたい1/3になると思っていい。昔からフリーランスの年商1000万円はサラリーマンの年収400万円と同じくらいと言われるけれども、実際税金やら保険やらがあるので、人間を雇用すると給料と同じくらいの金額がぽいぽいと出て行くもんなのである。そこに経費がのっかるわけだから年商1000万円=年収400万円程度となるのだ。

タイの一般労働者の給与は9000バーツ(およそ3万円)程度、大卒初任給も14000バーツ程度だが、大学を卒業して技術を身につけたITエンジニアを雇おうと思ったら最低でも3万バーツ(およそ10万円)程度はかかる。

技術者というのは勉強にものすごいコストをかけてるので、一般の倍くらいの給与がでないと割に合わないのだ。なんせ通信インフラを学んでる人たちは数十万円の機材を私費で購入して実際にいじってたりするし、5000円以上する専門書を数えきれないほど読んでたりする。広めの家に住んで1部屋まるごとサーバルームみたいになってる人もいたりする。実際うちでもコンピュータを10台位稼働させて電気代が6万円突破したこともあった。

そういう情報技術者たちを平均年収以下の給与で雇おうとするのはそりゃあ無謀である。勉強するにも金がかかるのだ。情報技術者を育てたいと思ったらまずは金を出す必要がある。人にもよるが情報技術者の娯楽は情報技術を学ぶことなので、お金と時間さえあれば勝手に勉強してたりするのである。そして情報技術を学ぶというのは本当に本当に楽しいことなのである。

それを20万円程度の給与と長時間労働で縛り付けようとしたらそりゃ学ぶお金も時間もない。育つわけがないのだ。

よく「日本は技術立国だから技術者を育てることが重要」なんてことを言い出す人たちがいる。それは大間違いだ。日本の技術者は他国に比べてもとても優秀で、個々人の力は他の国々の一般エンジニアを見てきた人たちからは信じられないレベルにある。日本語の書籍も充実してるし、ネットでの意見交換も活発だ。日本のプログラマ、情報技術者のレベルはかなり高い。

ではなぜ日本はITで世界に太刀打ち出来無いのか。70年前の敗戦を思い出してみるといい。日本の航空エンジニアも船舶エンジニアもとても優秀だった。なのになぜ勝てなかったか。マネジメントができてなかったからだ。

ザ・ゴール

ザ・ゴール

日本に足りないのはマネジメントなのである。思い出してみるがいい。LINEは日本のエンジニアが作ったがマネジメントは韓国だ。そしてLINEは驚異的なスピードで世界に広まっていったがサーバが落ちて使えないなんてことはほとんどなかった。あんな速度でユーザーが増えたのにである。Twitter が拡大期にしょっちゅう落ちてたことを思い出すとこれは本当に驚異的な技術である。おそらくライブドアを買収したのもよかったのではないか。ライブドアも以前のトップがテレビで派手な発言をしてアクセスが集中するなどしてたが一度も落ちたりしなかった。日本の情報インフラ技術はまさに一級品である。

そしてそうした技術をまとめあげるマネジメントこそが日本に足りないのである。

マネジメントの基礎を学ぶのにドラッカーもいいのだが、ザ・ゴールという本もいい。小説仕立てで読みやすいがその基礎がよくわかる。物事の見え方が変わる本である。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

それからITシステムを受注発注する人たちは「アジャイル」という考え方を学ぶべきであろう。アジャイル・サムライという本がわかりやすく説明している。ITシステム開発における「計画」とは建築のようにはいかず、行ったり来たりしながら試行錯誤のような状況が必要だ。それをどのようにうまくまとめて行ったらいいのかかがわかる本だ。

それから重要なのはUNIXという考え方という本である。この本はITに関わるすべての人にとって必読だ。コンピュータはどのように使ったら上手に扱えるのか、ということがわかる本である。これを理解してないと無理筋のシステムを考えだしてひどいことになってしまう。

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

どうもITシステムを発注する人たちというのは「言った通りのものを作ってくれればいい」くらいに考えてる人たちが多いようだ。ソフトウェアというのはそういうものではない。いいですか、あなたの会社にシステムを導入するということは、ソフトウェアを使うということではないんですよ。

システムとはITである必要はない。ホワイトボードと付箋紙でもシステムは作れる。そしてそのシステムとは経営そのものなのだ。

だから経営者のみなさん、まずはITとマネジメントを十分に学んだ人材を年棒1000〜2000万くらい出して雇ってください。そしてその人物を役員会のメンバーにするのです。さらにその人物に権限を移譲し、エンジニアを数名雇い入れてください。そしてできあがったチームから、全部署に人員を派遣し業務を実際にやらせて改善案を出させるのです。それがシステム設計の第一歩です。

業務を十分に理解し、会社という組織をどこへ導いたらいいのかわかる人材を内部に抱え込むのです。そうしてシステムを作り始め、ITシステムが必要になったら十分なスキルを備えたソフトハウスに発注してください。内部に作ったチームはアジャイルでいう「顧客」になります。彼らが外部のエンジニアたちを正しく導いてよいシステムを作ってくれることでしょう。開発が終了したらメンテナンスは内部チームがやれます。協力会社にとっても手離れがいいのはよいことです。

そうして作られたシステムは、想像を遥かに超える生産性を叩きだすだろう。マネジメントというのはそういうものである。

いいですか、日本に必要なのは「マネジメント」なのです。技術者は十分に育ってるのです。マネジメントがクソだからみんな逃げ出したり死んじゃったりしただけなんですよ。

そう、あの葬式で若くて優秀でみんなに期待された息子が早世した母親の顔を、俺は二度と忘れない。殺したのは、あいつらだ。

運動会の組体操とブラック企業の「感動」「チャレンジ」「一体感」は捨て去るべき

「安全な組体操」の実現に向けて ―馳浩文部科学大臣に組体操の段数制限を求めますという署名活動が行われていたので賛同してきた。

最近どうも子供の運動会で行われる組体操がいろいろと話題である。


10段ピラミッドの組体操などという正気の沙汰とは思えないことをやらせる教員がいるというのが本当に驚きではあるが、さほど不思議でもない。実際のところ教員というのは「でもしか教師」などと言われた時代があり、90年代まで教員というのは他に仕事のない人がやるものであり、その質というのはたいへん低いものであった。よく大学を出て教員免状を取れたものだと思うような人たちがごろごろしてるのである。それからたかだか20年、「水からの伝言」や「江戸しぐさ」などの似非科学や偽歴史の蔓延とともに学校教員というものがいかに学ばずものを知らない人物たちであるかを象徴するのがこの運動会における組体操であろう。

そもそも10段の人間ピラミッドは7メートルもの高さになる。Facebook である人がコメントしていて知ったのだが、労働安全衛生規則第435条「はいの上における作業」で2メートル以上の高所での作業にはヘルメットなどの保護帽の着用が義務付けられている*1。そうした法規制のさらに高い場所に保護帽もなしに子供たちを立たせるなんてどう考えてもおかしな話だ。

もちろん下段の人間にかかる重量も問題である。大阪経済大学の西山豊教授のホームページに Human Piramid という項目があり、そこで10段ピラミッドの荷重計算をされているので引用してみよう。

人間ピラミッドの荷重計算

非常にうまく分散されてはいるものの、最大で3.9人分もの重量がかかることがわかる。安全を取るなら最大でも1.5人分の荷重である5段が限度であろう。それだって子供たちには十分な「チャレンジ」であるはずだ。これは151人でやった場合だが、137人という事例もあるらしい。

どこをどう抜いたのか、軽量化の方向で工夫されてるなら良いのではあるが……。この記事に興味深い言葉がある。

木下誠校長(60)は「一歩間違えれば大変な事故になるが、安全性を高めるために工夫をすれば、実現できる。生徒たちが感じた代え難い感動や達成感は、その後の人生に必ず生きると信じている」と話している。

asahi.com(朝日新聞社):できた!10段ピラミッド 137人で組み体操 兵庫 - 朝日新聞プラス

「感動」と「達成感」。既視感を覚えると思えば、これはいわゆる「ブラック企業」の経営者がよく言う言葉である。

そりゃあ無茶な仕事をやり遂げたときの感動や達成感というのはある。だからといって常に無茶なことをやらせる必要はない。できるかどうかわからないチャレンジを常に続けるなんて「仕事」ではないのだ。普通に考えて客の方も迷惑であろう。それを常態化するから「ブラック企業」などと呼ばれるのである。そんな感動は一生に一度あればいい。

もちろん子供たちには教育上困難にチャレンジすることも必要だろう。それを成し遂げる感動を味わってもらいたいという気持ちもわかる。だからといってそれが人間ピラミッドなどというスキルも知識も残らない代物である必要はないし、たった一人で牛丼店を一晩中まわすなどという無謀である必要もないわけである。

困難というのは自らの意思で挑戦し、知識と知恵をもって乗り越えるからこそ意味がある。そうでなければただの我慢大会だ。心身を傷めつけるだけで何も残らない。残るのは傷跡だけである。

ブラック企業経営者や学校教員は、知識や知恵を使わせず、ただの我慢大会を乗り越えることで「感動」と「達成感」だけを抽出しようとしてる。それは洗脳の技術だ。教育でもなければ仕事でもない。

知識と知恵で乗り越えた困難は、技能になる。その困難は二度と困難にはならないだろう。1度見た技は通じないのである。

そして知識と知恵で乗り越えられない困難は、とっとと逃げるべきだ。そんな困難に付き合う必要はないし、付き合ってたら心身を痛めてしまう。下手をすれば二度と回復しなくなってしまうことだってある。乗り越えられるはずだった困難すらも乗り越えられなくしてしまうのである。

人生には困難がつきものだ。その困難を乗り越えるのは我慢することではなく、知ることと考えることだ。正しい知識と冴え渡る知恵は、たいていの困難を乗り越える技術になる。それを磨くことこそが困難に立ち向かうすべを身につけるということなのだ。

「時には我慢も必要」だって? じゃあその我慢は何分続ければいいの? 我慢をやめる条件は? それもわからず我慢だけさせるから大怪我するんでしょうが。どんな素材も一定以上の圧力をかければ折れるんだよ。どこまでやったら折れるかを知ることが「知識」でしょう。そして折れてしまった素材は二度と戻らないのだ。

ブラック企業と学校教員は、そうして二度と戻らない若者という素材を折り続けてきた。そろそろどこまでやったら折れるか学んだっていいんじゃないですか。折れたら要らないとポイ捨てしてきたツケを社会に押し付けてきた結果が年間3万人という自殺者と急増する鬱病患者、そして年間200万人以上生まれた団塊世代のわずか半分以下しか子供の生まれない少子化社会でしょう。

未来を食いつぶすシノギやシバキを、ビジネスや教育とは呼ばないのです。

Sugano `Koshian' Yoshihisa(E) <koshian@foxking.org>