[3662] その記事は「社会的に」正しいか?

投稿:  著者:  読了時間:23分(本文:約11,100文字)


《HD容量16TBだがもう足りない》

■データ・デザインの地平[39]
 その記事は「社会的に」正しいか?
 薬師寺 聖

■クリエイター手抜きプロジェクト[382]Adobe Photoshop CS4〜CC編
 レイヤーごとにファイルに書き出す
 古籏一浩

--PR------------------------------------------------------------------
★DTP・印刷専門のデジタルコンテンツ販売サイト「印刷の泉」
 ≫≫≫ https://www.ddc.co.jp/estore/ ≪≪≪
 ●セミナー・勉強会を撮影した動画・スライドも好評販売中!
 ●“無料”のPhotoshopアクション・Acrobat用プリフライトもあります!
 ●編集作業の味方! PDFの違いを発見してくれるソフトを販売(体験版あり)

★電子書籍 PDF フォント 素材 スクリプト 動画を販売したい方を募集中!
-----------------------------------------------------------------PR---


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■データ・デザインの地平[39]
その記事は「社会的に」正しいか?

薬師寺 聖
< http://bn.dgcr.com/archives/20140324140200.html >
───────────────────────────────────

●賢く記事を読んで利用する

いまや、ネット上のテキストにおいては、情報の公開速度のほうが、表現の精度よりも、重視されがちな時代です。論文でもニュース記事でも製品レビュー記事でも技術解説記事でも、時代を先取りした(あるいは時代に並走した)公開のタイミングが非常に重要になっています。

その弊害でしょうか、「日本語による文章の手本」であるはずのニュース記事でさえ、目を皿にして本文の中に5W1Hを探さなければならないことがあります。

技術解説記事の場合は、動作環境や開発環境という条件が絡んでいるため、現バージョンの間に公開することが、なにより優先されがちです。このような時代には、ライターが時代に合わせた執筆姿勢を身に付けるだけでなく、読者側にも賢い記事の読み方を身に付ける姿勢が必要になります。

サンプルプログラムを含む技術解説記事の場合は、次の2点に気を付けて、解説文を読み、コードを利用するとよいでしょう。

(1)変数とリテラルの扱い

変数の名付けが明確か、不使用の変数が放置されていないかをザッとチェックして、変数の表すものを理解します。そのうえで、自分が知りたい処理の中の、着膨れしている部分(たとえば表示|非表示の切り替えのような表現に関する部分)を取り除き、シンプルな形にしたうえで、ロジックを理解します。

処理への理解なく、コピペして適当な変数名に変えて流用することは避けるべきです。バグの原因を特定しにくくなります。

また、コード中の、整数リテラルや実数リテラルにも注意します。たとえば、速度、角度、高さ、幅、範囲などを表す値が直接コード内で指定されている場合、それらの値の根拠を、コメントや記事から読み取る必要があります。根拠を理解しないまま利用することは避けましょう(★1)。

(2)一次情報か、n次情報か

どのような記事も、言語仕様やクラスライブラリなど、何らかのリソースに基づいて書かれています。リソースには、一次情報からn次情報まで、いろいろなものがあります。

一次情報とは、たとえば、W3Cの仕様書やmsdnのクラスライブラリなどのドキュメントです(★2)。そして、「W3Cやmsdnのドキュメントを読み解いて書かれた記事」は二次情報です。さらに、「『W3Cやmsdnのドキュメントを読み解いて書かれた記事』を参考にして書かれた記事」は三次情報になります。

伝言ゲームのように、n次情報のnの値が大きいほど、仕様の解釈のズレは拡がりがちです。一次情報についてきちんと触れられている記事を選択するか、n次情報を基にした記事を読んだ後で、一次情報にもあたるとよいでしょう。

●プロを名乗るには、高い壁を超える

技術解説記事は、対象となる読者のレベルを想定したうえで、執筆されています。おおまかには、次のような設定です。

・入門者向け:技術者の裾野を拡大する「敷居は低く」
・プロ志願者向け:プロの壁を乗り越えさせる「壁は高く」
・プロ向け:高度な技術情報を提供する「雲を超えて」

入門者向けの記事は、「真似するだけでよく、すぐに動く」即効性のあるコードを中心としたものに傾きがちです(★3)。

プロ志願者向けの記事は、即効性はありませんが、しくみが理解できるように書かれています。そして、プロ向けには、先輩技術者ならではのノウハウも掲載されています。読者は、自分の目的に合った記事を読むことが重要です。

ネット上のリソースが充実した現在では、入門者がまたぐ敷居は低くなりました。エンジニア育成には、「敷居は低く、壁は高く」が基本です。敷居が低くなったぶん、技術者の裾野拡大やプログラミングの教養化は進むことでしょう。

ところが、敷居が低くなると、それに合わせて壁まで低くなる傾向にあります。プロ志願者の読者は、自分が「壁」だと思うよりも上のレベルの記事も読む必要があります。

昔は、プログラマとはソフトウェア・エンジニアであり、エンジニアの一種でした(★4)。壁を超えなければ、ノン・エンジニアのプログラマにとどまってしまいます。社会基盤を堅実に支えるエンジニアになるには、「高い壁」を超える必要があります(★5)。

●ロジックよりも、コンセプトに着目する

記事の着想と内容と表現のクオリティは別物です。表現は拙いけれども着想の優れた記事もあれば、その逆で、着想や内容はありきたりか、あるいは問題点があるけれども、正確無比なロジックで固められた記事もあります。

読者には、着想の部分にあたる、記事の本質を見抜く姿勢がもとめられます。

着想は、それが立ち現れるときには、言葉やコードの形を成しておらず、包括的で俯瞰的な、コンセプトでしかありません(★6)。

そのコンセプトを表すイメージは、ただちに言語やコードといった記号に置き換えられるものではありません。著者は、記号を当て嵌め、なければひねり出し、変換して、ロジックを積み上げていくのです。

もしロジックに破たんがあったとしても、だからといって、コンセプトそのものが否定されるものではありません。逆に、ロジックが正しくても、コンセプトが誤っているなら、積み上げたロジックは足元から崩れてしまいます。

重要なのは、(ヒトでなく計算機でも積み上げることができる)ロジックよりも、(ヒトならではの気付きである)コンセプトの方です(★7)。

すばらしいコンセプトの記事が、ロジックの検証に時間がかかりすぎるために、生煮えのまま公開されることもあるでしょう。

そういった記事に遭遇した時、コンセプトのクオリティをスルーして、表現のクオリティにこだわりすぎると、気付きの瞬間を、インスパイアされる機会を逃すことになってしまいます。それは、実にもったいないことです。

未来の社会を作るのは、ロジックの根底に、新しいコンセプトがある記事です。

●「社会的に」正しい記事を受け入れる

スタンドアロンから社内サーバへ、そしてISDNから、常時接続へ。PC間の境界は消え、情報はゆるやかに接続されるようになりました。

著作物の引用、n次利用、まとめ、要約は増えています。オリジナルからの派生情報が増えれば、誰もがそうしているからという理由で、流用は常識化していきます。

自他境界が曖昧で情報を共有していた時代から、所有の概念のある時代へ、そして再び自他境界がゆるやかに崩れて情報が接続される時代へ移り変わると、著作権の扱いは大きく変わります。それに伴い、もはや限界にある商標とドメインの扱いも変わります。

各個体の脳は集合知のひとつのノードにすぎないものとなり(★8)、脳機能センシングは脳内だだもれ社会を正当化します。

(現在の)盗用は(未来には)利用と言われるようになり、誰が考えたのか、誰が作ったのか、誰が発表したのかは、重要ではなくなります(★9)。未来の社会で歓迎されるのは、生成過程を問わず、社会に利益をもたらす記事です。

「社会的な」正しさは変遷します。この10数年でサンプルプログラムの二次利用は当たり前になり、敷居は低くなりました。そして、今度は、情報がフュージョンする時代を迎えようとしています。

読者には、そのときどきで、「社会的に」正しい記事を受け入れ、読みこなしていく姿勢が、もとめられています。


★1 筆者は、自動的に値を取得する処理を記述できるケースでは、リテラルの使用は最小限にとどめたほうが、読者には利用しやすいのではないかと考えています。

★2 筆者は、これまで、XMLをテーマとする多数の書籍や記事を執筆してきていますが、それらは一次情報(W3Cの英文仕様書)に基づいて書かれています。

W3Cの英文仕様書を読んで書かれた記事と、W3Cの英文仕様書の日本語訳を読んで書かれた記事と、「『W3Cの英文仕様書の日本語訳を読んで書かれた日本語の記事』を読んで書かれた記事」では、仕様の解釈が微妙に異なる可能性を否定できません(もちろん同じである場合もあります)。

★3 上級技術者が、入門者向けの記事やプロ志願者向けの記事を読んで、得るものがない低レベルの記事であると評価するのは間違いです。上級技術者は、自分の身の丈を超える記事を選択すべきです。

★4 筆者はプログラミングを受注したり、プログラミング本を執筆しており、顧客からはプロのプログラマだと思われています。が、自分ではプログラマを名乗ったことはありません。デザインのプロですから、他の分野のプロの壁の高さを分かります。プログラマの壁は、まだ登っている途中だと思っています。

★5 たとえばXMLでいえば、ウェルフォームドなXML文書を作成できることは、敷居をまたぐことにすぎません。XMLのデータ・デザインを業務として行うには、一次情報のW3C仕様書を理解する、という壁を超えなければなりません。

その壁を超えたうえで、対象とするデータの意味を理解し、あらゆる角度から構造を検討し、未来の運用期間終了日までの社会を俯瞰できなければなりません。入門者の定義したスキーマが増えれば増えるほど、再利用しにくい構造の文書が蓄積されるようになり、後々問題を引き起こします。

★6 ──アダマール自身もこう書いている.私が実際に思考しているときには,頭のなかには言語はまったく存在しないと私は主張できる.……私は,「思考は,言語で具体化されるとき死滅する」と書いたショーペンハウエルにまったく同意する.(ロジャー・ペンローズ「皇帝の新しい心」P.479、林一訳)

★7 このコンセプトのイメージを操る思考方法は、言葉を持たない乳幼児の思考の発展形です。しかし、言語を使う機会が増えるほど、衰えていくようです。

筆者は乳児のときから20代後半までイメージで考えていました。広告コピーやマニュアル原稿といった言葉を扱う仕事が増えてから、言語で考えるようになってしまいました。これにより、思考速度は大いに低下しました。言葉による思考速度には限界があります。人類は、言葉を超えた高速思考へ進化していくでしょう。

★8 「データ・デザインの地平[03]子ノード化する脳」参照。
< http://bn.dgcr.com/archives/20110214140400.html >

★9 いま問題視されている、作曲家の事件も論文事件も、未来には問題視されないものとなる可能性すらあります。

----------------------------------------------------------------------

■【重要】
2014年4月9日(日本時間)に、Windows XP、Microsoft Office 2003、Internet Explorer 6 のサポートが終了します。
「Windows XP、Office 2003サポート終了の重要なお知らせ / よくあるご質問」を参照してください。
< http://www.microsoft.com/ja-jp/windows/lifecycle/xp_eos/faq.aspx >

■de:code
マイクロソフト テクノロジの方向性と最新情報が分かる、今年度最大のテクニカル イベント。
< http://www.microsoft.com/ja-jp/events/developer/default.aspx >

----------------------------------------------------------------------

【薬師寺聖/個人事業所 セイザインデザイン】
個人事業所 < http://www.seindesign.net/ >
< infosei@seindesign.net >

絵・音・詩・文・コードを扱うフリーのクリエーター、思索家。
エンジニアリング会社を経てデザイン事務所に勤務後、XML1.0勧告翌月に退職して開業。科学論文や電子カルテを扱うXML案件を手がける傍ら、XMLやRIAに関する書籍や連載を多数執筆(主にPROJECT KySS名義)。
現在は、受託業務から独自開発にシフト中。
Microsoft MVP for Client Development (Oct 2003-Sep 2014)


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■クリエイター手抜きプロジェクト[382]Adobe Photoshop CS4〜CC編
レイヤーごとにファイルに書き出す

古籏一浩
< http://bn.dgcr.com/archives/20140324140100.html >
───────────────────────────────────
Photoshopには標準でレイヤーごとにファイルに書き出す機能があります。CS4以降ではファイル>スクリプト>レイヤーをファイルへ書き出し..を選択することでレイヤーごと保存されます。また、書き出す際にはPNGやPSDなどのフォーマットも選択することができます。

それなら、今回のスクリプトはいらないのでは? と思う人がいるかもしれません。ところが、標準のレイヤーごとの書き出しは、サブフォルダがあるとそのフォルダも書き出されてしまいます。単純にレイヤーだけを書き出したいのに、サブフォルダなどよけいなものも書き出されてしまうと困ります。

また、Web上にはレイヤーごとに書き出すスクリプトもありますが、フラットな場合のみの書き出しだったりするため、複雑なレイヤー/レイヤーセットで構成されている場合、期待する結果になりません。

ということで、レイヤーだけを書き出すスクリプトが以下になります。スクリプトは二段階の処理を行っています。というのも、レイヤーをチェックして、そのレイヤーだけを書き出すとうまくいかないためです。仕方ないので、レイヤーをフラットな状態にした後で、順番に書き出すという手間のかかることをしています。PhotoshopもIllustratorのように他のドキュメントにレイヤーをコピーする機能があればよいのですが。(copy(), paste()だとうまくいかない)


// Photoshopのレイヤーをレイヤー毎にファイルに書き出す
#target "Photoshop"
// 階層状態のレイヤーをフラットな状態にする
function flatLayer(docObj){
for(var i=0; i<docObj.artLayers.length; i++){
// レイヤーを先頭に移動させる。背景の場合は移動できないので無視する
try{
docObj.artLayers[i].move(activeDocument.layers[0], ElementPlacement.PLACEBEFORE);
}catch(e){}
}
// レイヤーセットは再帰を使って処理
for(var i=0; i<docObj.layerSets.length; i++){
flatLayer(docObj.layerSets[i]);
}
}
// artLayerの数を調べる。最初の階層以外に存在するならばtrueを返す
function checkLayer(docObj, level){
if((level > 0) && (docObj.artLayers.length > 0)){ return true; }
// レイヤーセットは再帰を使って処理
for(var i=0; i<docObj.layerSets.length; i++){
level = level + 1;
return checkLayer(docObj.layerSets[i], level);
}
return false;
}
// 一番上のレイヤー以外のレイヤーを全て削除する
function deleteLayer(){
for(var i=activeDocument.layers.length-1; i>0; i--){
try{
activeDocument.layers[i].remove();
}catch(e){}
}
}
// メイン処理
(function(){
// 保存先のフォルダを選択する
var baseFolder = Folder.selectDialog("保存先のフォルダを指定してください");
if (!baseFolder){ return; }
// ドキュメントを複製する
var baseDoc = app.activeDocument.duplicate(app.activeDocument);
// レイヤーをフラットな状態にする
while(checkLayer(baseDoc, 0)){
flatLayer(baseDoc);
}
// レイヤーセットを全て削除する(不要になったため)
for(var i=baseDoc.layerSets.length-1; i>=0; i--){
baseDoc.layerSets[i].remove();
}
// レイヤーを書き出す
for(var i=0; i<baseDoc.artLayers.length; i++){
var saveName = baseFolder.fsName+"/"+baseDoc.artLayers[i].name+".psd";
var dupDoc = app.activeDocument.duplicate(app.activeDocument);
// 保存すべきレイヤー以外を削除する
for(var j=0; j<dupDoc.artLayers.length; j++){
if (i == j){
// 保存用に複製する
try { // 背景の場合は移動できないのでエラーになる。このエラーは無視する
// レイヤーを先頭に移動させる。背景の場合は移動できないので無視する
dupDoc.artLayers[i].move(activeDocument.layers[0], ElementPlacement.PLACEBEFORE);
}catch(e){}
// 先頭のレイヤー以外を削除する
deleteLayer();
break;
}
}
// PSD形式で保存し不要になったドキュメントを閉じる
var fileObj = new File(saveName);
activeDocument.saveAs(fileObj);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
// 複製したドキュメントを保存せず閉じる
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
})();


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

ハードディスクの容量がもう不足気味。いつも使っているMacProは内蔵HDDだけで16TB(4TB HDD×4)あるけど、もう空きは1TBもない。

1TBあれば、何年分も入ってしまうというのは楽でいいなあ。4K映像とかになると、1TBというのは2〜3回分の撮影で終わっちゃうほど少ない容量だったりします。

せっかくなので、5K映像もやってみようかと思っているけど、一体どのくらいの容量になるのか。4K RAW映像だと90秒で4GB。1TBだと23040秒=384分≒6時間半。5K RAW映像だと多分4時間くらいな気がする……。

1980年代中頃は、640Kのフロッピーディスクとか大容量だったのに、ものすごい増え方をしてきたなあ。HDD容量が不足している人は結構多いみたいで、40TB HDD(RAID)も出てました。東芝は5TB HDDなので日立の6TB HDD積んだのを待つのがよさそう。

・8ベイRAID 40TB
< http://www.akibakan.com/search.html?operation=search&keyword=8ベイRAID+40TB >

・JavaScript逆引きハンドブック【増刷中】
< http://www.amazon.co.jp/dp/4863541082 >

・D3.js例文辞典
< http://www.openspc2.org/reibun/D3.js/ >

・Dart例文辞典
< http://www.openspc2.org/reibun/Dart/ver1.1/ >

・Adobe CS2〜CS6,CC JavaScriptリファレンス&ライブラリ
< http://www.openspc2.org/reibun/AdobeJS/index.html >

・Adobe JavaScriptリファレンス(検索できないのはKindleのバグらしい)
< http://www.amazon.co.jp/dp/4844395955 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集後記(03/24)

●あなたもデジクリで書いてみませんか。「締切のある生活」って充実してますよ。いや、ほんと。「デジタルクリエイターズ」というタイトルにこだわりは、ありません。まったく。どんなジャンルでもOKです。投稿はinfo@dgcr.com まで。


●我が戸田市の市長選挙が行われた。5期目を目指したじんぼくんと、新人の元県議・みねぎしくんの一騎打ち、そろって姓をひらがな表示とは、小1の学級委員選挙かい。予想通り、じんぼくんが圧勝した。投票率は過去最低とまったく盛り上がらなかったが、それでも大阪市長選よりはマシな数字だった。

新人候補のサイトを見ると、この人に目立った実績はない。立候補にあたり「(市長)初当選時に多選を批判していた現市長が、5選を目指すのは問題だ。長期政権から生じた弊害も目立つ」と述べているが、自身は1998年の県議補選で初当選し4期務め、3年前に5期目を目指して落選。5期が問題なら自分の5期はどうなんだと思うけど。また、長期政権から生じた癒着や不正があるなど激しい誹謗・中傷をやらかして、市長から名誉毀損で告訴されている困ったお方であった。

選挙活動を見ていたら、だめだこりゃーを確信させることばかり。キャッチフレーズの「正義を貫く」を聞いて耳を疑った。漫画のヒーローかい。普通自ら言わないでしょう。さらに、「今、一番仕事ができるひと」と自画自賛。また、現市長の「公平・公正・公開の市政」に対し、「真の公平・公正・公開を実現する市民の会」という名称の後援組織で戦っていたのもなあ。運動員は黄色いジャンバーで胸の「絆」の文字。東北の被災地を利用するようなやり方が正義なのか。ほとほと情けない。

現市長のサイトを見るとすばらしい実績が並ぶ。東洋経済新報の「都市データバンク」によると、平成25年度の市の財政健全度は全国5位である。待機児童解消のための保育所定員108%増、特養老人ホーム定員を312%増員、市の財政を13.5%削減、土地開発公社の債務保証残高を81%減、犯罪発生率は57%減、市の職員を13.5%減。比較する年度がまちまちなので、数字のトリックとも言えるが、行財政改革は全国トップクラスなのは間違いない。政権公約の達成率98%とは驚異的だ。日本経済新聞社の行政経営革新度調査で、戸田市は全国で8位・埼玉県1位になるまでになった。わたしはここに住んで満足している。

センバツの開会式をちらっと見たら、各校のプラカードの文字がえらく不揃いだと感じた。この文字は「書の甲子園」といわれる国際高校生選抜書展で、地区優勝に選ばれた10校が担当したのだという。半紙に一文字ずつ清書したものをデジタルデータ化してつくるという。第80回からこうなったようだ。しかし、あれが楷書か? フリースタイルじゃないの。ハッキリ言って美しくない。かつてはゴチックのフォントだったのかな。あのほうが遥かにきれいで読みやすかった。それにしても、男子高校生の君が代独唱みごとだったな。(柴田)


●大阪市長選挙。対抗馬を出さないものだから、不信任票の行き場がない。せいぜい白票。他の候補者が弱すぎて、現市長の当選確実だからと投票に行かない。そりゃそうでしょう。それで投票率が最低だなんだと言われましても。行きましたけどね。

続き。他にも勝手に勘違いして(説明やスペックを読まず)、思っていたものと違うからと星が1つとか、発売前に星5つとか。「参考になった」人の数が少なくて、そうよねぇと思ったりはする。

何度か話題になっているスマホアプリのレビューもひどいよね。英語だから星1つ、思っていたものと違うから星1つ(こっちもか!)、使えません(環境言わない、どう使えないのか書かれていない)、説明文を読まずにわかりません、本体側に起因するものなのにアプリに文句など。頼むよ、義務教育!

あとは、ゲームの仲間が欲しいからとIDやメールアドレス公開する人もいるよね。出会い系や広告っぽいのと混ざり合ってカオス。(hammer.mule)