「Software Design」2013年8月号
技術評論社 (2013-07-18)
ようやく読み終わったので通読メモ。
第1特集が「3Dプリンタが未来を拓く理由」。3Dプリンタについて、背景と状況、方式と種類、3Dモデルの作り方、実際の出力、機種選びと、それぞれのフェーズについて解説している。しかも、概要だけじゃなくて、ハマりポイントなどを含めた実際に使うための話が書かれていて、けっこうな充実度だ。はんだづけカフェ連載も連動企画になっていて、作成した物の写真がカラーで載っていたりもする。しかし、3Dプリンタで3Dプリンタを作るというのが普通にやられている世界なんだな。
第2特集が、コードの中身と直接関係のないメトリックスから問題の兆候を知る手法について。そのほか、「ソースコードをソートして眺める」といった細かいテクニックも紹介している。
仮想ネットワーク復習&ツッコミの短期連載が最終回で、テーマはOpenFlow。今回のツッコミは、コントロールプレーンが分離されている(から途中が心配)、L1〜4を1つで扱う(からチューニングが不利になる可能性がある)、プログラマブルである(からプログラムしなくてはならない)、という、言われている長所と表裏一体のところ。
Debian連載は、Debian 7.0の特徴の続きで、デスクトップまわりや7.1、次バージョン、ISSでの採用について。Ubuntu連載が、LibreOffice 4.xに入ったLogo言語環境「LibreLogo」について。レッドハット連載は、Red Hatのサポートから見た導入先の「ウチの子」の話。
Linuxカーネル観光ガイド連載が、使われていないコアのタイマ割り込みを止める機構と、RCUの同期機構との関係について。ハイパーバイザー連載が、virtioの仕組みについて。シェルスクリプト連載が、CGIネタの続きで、QUERY_STRINGを利用する方法について。
Android連載が、ARM CPUとFPGAが入ったチップである、XilinxのZynqの紹介と、そこでのAndroidについて。こんなチップもあるんだな。
Riak連載は、高可用性のための仕組みとそのためのDistributed Erlangについて。内容はさておき、構成図のノードが“{ }”の文字で示されていたり、注がほとんど本文中にインラインで入っていたり、リードが長くて途中に箇条書きが含まれたりと、形式はちょっと独特。
そのほか、結城浩氏連載が「Consistent」と人間について。enchant連載が「一億総プログラマー計画」。キーボード連載が、キーのないキーボード2種。Jenkins活用連載が、容量やジョブの実行、通知などについて現場に合わせて工夫した点の紹介。セキュリティ連載は、標的型攻撃まわりについて。iPhoneアプリ連載は、画面のサイズを判別して画像を切りかえる処理の例。IPv6連載が、アプリケーションでの注意点。Hack for Japan連載が、「International Space Apps Challenge」ハッカソンのレポート。ハッカソンなのにDPZの林さんの名前が出てきてちょっとびっくり。
「鳥類学者無謀にも恐竜を語る」
技術評論社
売り上げランキング: 6,109
研究対象との間の時間が長いわりに恐竜の学説というのも変化が速いらしく、最近では鳥類が恐竜の子孫だというのがわりと定説らしい。
というわけで、恐竜と鳥を結びつけた四方山話を、鳥類学者の人が語ったエッセイ。体系的とか啓蒙とかの路線ではなく、ポピュラーサイエンスというより、もうちょっとゆるいサイエンスエッセイだと思う。
その特徴が最もあらわれているのが、第3章の「無謀にも鳥から恐竜を考える」だ。色とか鳴き声とか歩き方とか渡りとかの鳥の特徴をとり上げ、「恐竜でも同じようなことがあっただろうか」と想像してみせる。で、ちょっと科学的に考察してみて、結論がしばしば「それはナイ」だったりするのも面白い。
読者から見ると「恐竜を通して鳥類について知る本」だったりもする。ハヤブサはタカの仲間だと思われていたが、DNAによる分類の結果スズメと近縁だとわかったとか。
語り口はひょうきんで、毎ページぐらいの割合でジョークがはさまっている。ちょっとネット民っぽいノリ。イラストも、図鑑っぽくもあり、トボけた感じでもありというのがいい塩梅だ。絵の人は想像上のヨクナシヨクリュウが気にいっているみたい。
というわけで、春ごろに評判になっていた本をいま読んでみたら、なるほど面白かった。
「ヴィンランド・サガ」13巻
次々に人が死ぬだけだ
クヌートの策略により、ケティルの農場が戦火に。蛇が男前だなあ。
そしてアルネイズ哀歌。トルフィンとクヌートは、この先交差することがあるのだろうか。
Clojureでn進数を作るCodeIQ問題に勝手回答してみる
このあいだCodeIQでClojureの問題が出てました。
転職意思がない方の挑戦はご遠慮を、とのことだったので、“問題チラ見”を使って、チャチャっと手元で書くだけ書いてみました。受付期間が終了になったようなので、晒してみます。Clojure版とRuby(>= 2.0)版です。
もうチラ見できなくなってますが、与えられた文字の集合を使ってn進数で表した数の遅延リストを作るという問題です。上のencoded-num-seqは、問題文をそのままコードにしたような素朴な実装です。
で、nthマクロは本来不要なのですが、問題に以下の例があったので対策として追加しました。普通に実装すると、10000000(1千万)回、無駄な計算をしてしまうので。もろにチートです。
(nth (encoded-num-seq 0 "ABC") 10000000) → "CAACBBAABBACBAB"
Ruby版は、Ruby 2.0でEnumerator::Lazyが入ったので、ほぼそのまま移植してみました。さすがにnthは再現していませんが。
「八月十五日の神話」
筑摩書房
売り上げランキング: 160,363
日本では8月15日が終戦記念日とされる。日本政府もこの日を「戦没者を追悼し平和を祈念する日」と定めている。1982年制定だけど。
しかし、ポツダム宣言を受諾したのは1945年8月14日、大本営が全軍に休戦指令を出したのは8月16日、ミズーリ号で降伏文書に調印したのは9月2日。8月15日は、昭和天皇が14日付けの文書をラジオで読み上げた「玉音放送」の日である。
本書は、「8月15日=終戦記念日」というイメージは作られた物語であるという立場から、それにともなうさまざまな話を説明している。
たとえば、玉音放送を聞いて国民が皆、衝撃を受けるというイメージ。著者は、原文は難解であり、理解できなかった人が多かったのではないかという。実は直後にアナウンサーによる解説が付いていて、それを聞いてやっと理解した人が多かったのではないかと。それが、後からの刷り込みによって記憶が変質していったのではないかという指摘だ。まあ、本書の中ではいくつかの例を示すのみで、決定的にそうだというところまではいかないのだけど。
また、玉音放送を聞いてラジオの前に泣き伏す少年の写真についてヤラせという証言を紹介。泣き崩れる女子工員の写真などについても、ヤラせや流用写真、予定稿だという可能性が高いと主張している。
資料が詳細に研究されているのが第3部。教科書の記述を時代ごと・教科書ごとに検証していく。さらに、海外の教科書などにもふみ込む。
もともと章ごとに別々に雑誌に書かれた文章を元にしているため、必ずしも1つのテーマを追求していくという感じではなく、ラジオやお盆、甲子園野球大会など8月に対する心性なども語られる。そして、著者の見立ては、敗戦イメージを払拭したい55年体制保守派と、8・15革命論の左派による同床異夢、と。
「できるPRO CentOS 6サーバー」
インプレスジャパン
売り上げランキング: 18,146
編集の手伝いをした本が7月22日に発売になるので、宣伝しておきます。
Linuxディストリビューション「CentOS 6」を、ステップ by ステップのチュートリアル形式で解説する入門書です。既刊「できるPRO CentOS サーバー CentOS 5対応」の改訂版にあたりますが、全面的に作りかえてあります。
付属CD-ROMのCentOS 6.4 minimal版(64bit)のインストールや、その前の予備知識、初期設定、各種サービスの構築などを解説しています。KVMについても章を設けています。詳しい内容については、目次をご参照ください。
ステップ by ステップ形式で読者が再現できるように作っていますが、同時に、そこでやっていることを理解しながら進めるようにもしているつもりです。今回特に、ネットワークについての説明を、いろいろ見直しました。個々の技術やソフトについて、リファレンスのように深く掘り下げるものではないのですが、本書を入口にして、より深く知りたい部分はより専門的な書籍などで学んでいただければと思います。
なお、CD-ROMは64bit版ですが、32bit版を入手してCD-RやUSBメモリのインストールメディアを作る方法などもフォローしています。
というわけで、CentOS 6やRHEL 6、Scientific Linux 6などの初学者や初級者の方は、手にとってみていただければ幸いです。
「コミック 文体練習」
「冷蔵庫のところに行く途中で時間を尋ねられ、何を探していたのか忘れてしまった」という1ページのテンプレートを、99とおりのマンガにするという本。形態模写100連発というか。
たとえば、主人公の視点にしてみたり、声をかけた側の視点にしてみたり、窓の外からの視点にしてみたり。最後から遡ってみたり、回想にしてみたり。絵柄を濃厚にしたりシンプルにしたり音だけで表現したり。だれそれ風にしたり。セリフを入れかえたり、上野顕太郎場面を入れかえたり、西部劇にしたり、スペースオペラにしたり、タペストリーにしたり。
題名のとおり、レーモン・クノーの「文体練習」がやっていることをコミックでやっている本なんだけど、要はちょっと昔に流行した「爆発音がした」みたいな感じ。ただし、特定作家の模写をいかにそれらしくするかみたいな深さ方向ではなく、いかにバリエーションを広げるかのアイデアの幅方向を追いかけている。ひとりブレストというか、上野顕太郎や清水義範から形式だけを抽出したというか。ストーリーも、キャラも、お約束もなくても、コミックって成り立つんだなあ(おおげさか)。なので、万人向けというわけではないけど、そういうのが好きな人(私も含めて)には楽しめる内容だと思う。
ちなみに、99とおりのバリエーションの中には「マンガ(Manga)」というのもあった。右から左にコマが進み、部屋は畳敷き。そしてパンチラ。
「日経Linux」2013年8月号
付録「厳選フリーソフト150」の作成のお手伝いをしたので、宣伝しておきます。この付録は、ここ何年かの号のフリーソフト特集から、めぼしいアプリをピックアップして再編集(最新版でのチェックや画面キャプチャーを含む)したものです。私は約60本を担当しました。雑誌掲載されたときに目を通しているはずですが、けっこう知らないアプリがあって、発見がありました。休憩タイマー&休憩体操の「Workrave」とか。
自分関連はさておき、通読メモ。
新連載で「Google Glass用アプリを開発しよう」というのが始まった。自分では実際にMirror APIを使ってプログラミングできないけど、UIの構成などがわかる。
特集1は、Raspberry Piをはじめとする安くて小さいLinuxマシンで遊ぶ「激安Linux機が面白い」。Raspberry Pi + カメラモジュール + OpenCVで顔認識、BeagleBoneでBoneScriptや温度計工作、CubieboardをDebian化、Wandboard + Ubuntuで受付システム、CuBoxでMPDやGeeXboXにより音楽サーバー、NUCベアボーン + Apache OpenMeetingsでテレビ会議サーバーと、題材いろいろ。そのへん関連では、Raspberry Pi連載が、lighthttpd + FastCGI + CGI版PHP + MySQLでWordPress。旧型PC連載が、Pentium 3世代の液晶一体型PC + Arch Linuxでデジタルフォトフレーム。
特集2は「Linux超再入門」。月刊誌では案外やりづらい初級者向けノウハウ集で、シェル操作のノウハウ、FHSのディレクトリ構成、ネットワークの確認や設定、ssh、メモリを占有しているプログラムの特定と処理、パッケージや外部リポジトリーの利用、ドライバの導入、cron、バックアップ、ログチェック、リソース情報のグラフ化など。びぎねっとの宮原さんが銀次郎顧問と登場しているw。そのへん関連では、LPIC連載がvi/vimの操作について。
Matz氏の「言語の世界」の今回のテーマは「スクリプト言語」。“プログラミング可能性”をキーワードに、Perl登場のインパクトや、Tclの特徴と位置づけの変遷、Pythonの異文化性、そしてRubyについて。Ruby関連では、mruby短期連載の後編が、開発ボードenziからTwitterに投稿したり、Twitterの投稿を見て扇風機を制御したりする例。
特別企画「シェルスクリプト40」はUSP研究所の記事で、付録DVD-ROMに収録されたサンプル(主にOpen usp Tukubai)の紹介。
カーネル連載が、アウトオブメモリー(OOM)の起こるパターンやOOM Killerの発動条件、オルタナティブであるLow Memory Killerについて。
そのほか、巻頭のレポートでFedora 19やLinux Mint 15、Raspberry Piロボットなど。OSS開発者インタビュー連載は、LibreOfficeの吉田浩平氏。美女Linux連載がsftp。Samba連載がSamba 3からの移行について。Androidビジュアルアプリ連載が、球や乱数図形、雲などの描画。「#!シス管理系女子」はfor文によるループで、普段の行動を制御構文にあてはめるの、あるある。
「Software Design」2013年7月号
技術評論社 (2013-06-18)
発売されて半月以上たっているけど、ようやく読んだのでメモ。
第1特集が「ここからはじめるデータ分析学習」。データマイニングや機械学習について、技術そのものというより、学習の入り口を示す狙いだと思う。内容も、オンライン講義や書籍の紹介、ExcelやRを使った回帰分析のハンズオン式紹介、Mahautを使った機械学習のハンズオン式紹介、データ市場とデータジャケットなど。
第2特集が「ベンチマーク活用テクニック」。PC編とサーバー編に分け、さまざまな視点からのベンチマークソフトを紹介している。
新連載で「小規模プロジェクト現場から学ぶJenkins活用」。よく見るJenkinsの例とは違い、アミューズ系の動画作成にJenkinsを使うというのが新しく、しかもスタッフはシステム系リテラシーが高くないという出発点。
同じく新連載で「セキュリティ実践の基礎定石」。今回のテーマは、パスワードのしくみと、パスワードだけに頼るのはやめようという話。
同じく新連載で「分散データベース「未来工房」」。今回は、Riakを静的コンテンツのHTTPサーバーにしてNginxをLBにする話。今後、分散データベース全般の連載なのかRiakの連載なのかなどは不明。あと、typoが目立ったり、説明がちょっとアンバランスだったり(たとえば「tarball」を脚注で解説しているのに設定内容はマニュアル参照だったり)するのはちょっともったいない。
「仮想ネットワークの落とし穴」連載は、エンドポイントモデルのためのプロトコルである、VXLAN、NVGRE、STTについて。著者によるツッコみは、「MTU問題」のあたり。
Debian連載が、5月にリリースされたDebian 7(コードネームWheezy)の紹介と、日本を含むリリースパーティの様子、本誌発売後に開催されたイベント「大統一Debian勉強会」の告知。レッドハット恵比須通信は特別編で、ボストンのレッドハットに詰めている小崎資広氏による「レッドハットボストン通信」。Ubuntu連載は、Ubuntu上でのChromium OSのビルド方法について。
Linuxカーネル観光ガイド連載が、3.10の新機能として、仮想マシンのカーネルパニックをホストOSに伝えるpvpanicや、Android由来のSync Driver、mempressure、「#!」のモジュール化、randconfigの変更など。BHyVe連載が、I/Oエミュレーションのあたりのコードリーディング。シェルスクリプト連載が、CGIの仕組みや名前つきパイプについて。
そのほか、自宅ラック連載が、一般家庭の電源系統について。「結城浩の再発見の発想法」が、“スレッショルド”について、感情や商品のブレークなどまで。enchant連載が、研究部門ARCと、9leapの誕生について。キーボード連載が、エルゴノミクスタイプのキーボード。はんだづけカフェ連載が、ベイエリアのMaker Faireのレポート。なんか陽気でアメリカーンな感じ。iPhoneブックアプリ開発連載が、さまざまな解像度への対応について。Android連載が、安心安全なアプリのためのガイドライン。IPv6連載が、DHCPv6でIPv6アドレスを配る設定の解説。jus連載が、jusの30年の歩みについて。ITむかしばなし連載が6809やOS-9。Hack for Japan連載が、スタッフによるふりかえり座談会(後編)。
「Software Design」2013年6月号
技術評論社 (2013-05-18)
次の号がすでに出ているけど、ようやく読んだのでメモ。
第1特集が「ちゃんとオブジェクト指向できていますか?」。前半は、増田亨氏のスモールオブジェクトプログラミング論など、Javaあたりを想定したカッチリとしてオブジェクト指向プログラミングの話。なのだけど、後半がJavaScriptにPHPにPerlという、比較的正統派でないオブジェクト指向プログラミング機構の話になっていて、幅広い。
第2特集が「あなたの知らないUNIXコマンドの使い方」。主にインフラエンジニアの遭遇するケースを中心に、そこで使うUNIXコマンドとその使い方を紹介している。ディスク関係が多い。知らないコマンドがいろいろあった。
新連載(短期集中連載)で、伊勢幸一氏による「仮想ネットワークの落とし穴」が登場。カテゴリーごとに「仮想ネットワーク」の技術を紹介しツッコむ連載で、書籍「仮想ネットワーク入門」の続編みたいな感じ(重なる部分もあるけど)。今回は、“ファブリック”とも言われるL2のECMP技術であるTRILLとSPBについて解説。今回の著者によるツッコミは、仮想ネットワーク全般については必要な規模、TRILLについては互換性、SPBについてはMACアドレスの学習の問題のあたり。
ほかに新連載で「結城浩の再発見の発想法」が登場。技術用語を毎回1つとりあげて、その考え方を学ぶという連載らしい。今回のテーマは「バッファ」。
単発記事で、Twitterで開発されたリアルタイム型ビッグデータ処理フレームワーク「Storm」の解説あり。サンプルは毎度おなじみ単語カウント。もうひとつ単発記事で、Hadoop+Hiveの入門記事もあって、SQLっぽい例がいろいろ。
Ubuntu 13.04の紹介記事もあり。カーネルやUpstart、将来の計画など、コアに近い部分を中心に解説。あと、Ubuntu連載は「Ubuntu Touch」の解説。
Debian連載が、読者のリクエストということで、「ソフトウェアをDebian公式リポジトリに入れるには」について解説。レッドハット恵比須通信が、サン・マイクロシステムズ製品をよく売っていた会社にいた方による、UNIX、クラウド、オープンソースについての昔と今の話。
Linuxカーネル観光ガイド連載が、Linux 3.9のときに入ったSSDキャッシュ機能dm-cacheと、その前提となるDevice Mapperについて。BHyVe連載が、VMExitしたときのコンテキストなどの処理部分のコードリーディング。シェルスクリプト連載が、ncやsshによるリモート処理。
そのほか、「自宅ラックのススメ」第2回が、ラックの選び方や耐荷重について。enchant連載の第2回が、enchant.js開発の裏話。キーボード連載が、キーの構造が普通っぽいDvorakキーボードと、キー配列変換のUSBアダプター。はんだづけカフェ連載が、深圳のMaker Faireのレポート。iPhoneブックアプリ開発連載が、ステップbyステップ形式でのアプリ基本部分の作成。ITむかしばなし連載がMP/M。Hack for Japan連載が、スタッフによるふりかえり座談会(前編)。
「ウェブはバカと暇人のもの」
本書が2009年に発売されたときには、正直、狙いすぎな書名に鼻白んでスルーしていた。で、2013年のいま、油が抜けてきた頃に読んでみると、それなりにうなずけるところもある本だった。BOOKOFFで105円で買ったからというのもあるかもしれないけど。
基本路線としては“Webはバカばっか”という話ではなくて、「Web進化論」などの知的なWeb論に対抗して、実際のボリュームゾーンでは友達とダベるノリの“暇潰しコンテンツ”が主な使われかただ、と。具体的には、三面記事ニュースや有名人のゴシップ、叩きやすいネタ、など。いまだと、チャットとカードゲームとかパズドラとかも入るのかな。
本書が出た2009年より、ソーシャルなんとかがいろいろ流行っている今のほうが、より本書の内容がリアルかも。ただ、今となってはすでに共通認識となっていて、改めて本で読むまでもないかもしれないけど。