本を読む

読書やコンピュータなどに関するメモ

「Software Design」2012年12月号

 第2特集が「Nginx構築・設定マニュアル」。ハートビーツの馬場氏と滝澤氏が、インストールや基本設定、リバースプロキシ + Unicornの例、php-fpm + WordPressの例、uWSGI + Movable Typeの例を解説している。なお、誌面の地(ページ背景)はキリル文字とロシア正教会っぽい屋根。

 第1特集が「なぜエンジニアは文章が下手なのか」。タイトルを一目見て想像する方向とは異なり、文章術というより、文章を書く「前」の心得を語る内容。特に、文章を介した異文化コミュニケーションを意識することや、論理構造を整理することについて解説している。末尾には、著名人4人による文章にまつわるショートエッセイが2ページずつ。ショートエッセイの誌面の地は、ノート。

 単発記事「エブリデープログラマの発想と実践」は、“四十の手習い”でプログラミングを始めた著者が、日常的な不便を解消するツールを作っている話をエッセイ形式で紹介している。

 連載「Linuxカーネル観光ガイド」は、Linux 3.7でのARMマルチプラットフォーム化で、特にブートでのATAGとDevice Treeそれぞれとその違いについて。

 「Ubuntu Monthly Report」は、12.04からデフォルトで/etc/resolvを管理するresolvconfについて、ポイントを解説。ここでは主にサーバーでの話だけど、デスクトップでのNetworkManager + resolvconf + dnsmasqの設定の関係なども機会があれば読みたい。

 新連載「IPv6化の道も一歩から」、第1回は、現在の時点でIPv6に対応しないリスク面と、組織での対応ロードマップについて。

 インタビュー連載「Software Designer」は、教育活動シリーズ第2回で、Girl Develop ItのVanessa Hurst氏。「米国でさえ、ほとんどの企業がいまだに学位の有無で採用の判定を行っています」とのこと。

 ほか、「Mahaut勉強会レポート」は、Grant Ingersoll氏来日により開催された勉強会のレポート。連載「ハイパーバイザの作り方」は、I/OでのVMExitのあたりについて。「Emacs 64bit化計画」は、DLL呼び出し機能の実装編。シェルスクリプト&USP連載は、Maildirの整理にxargsを使う話。Android連載は、マルチプラットフォーム開発環境として、言語や、PhoneGapのようなプラットフォーム、Monacaのようなクラウド開発環境、Unityのようなゲームライブラリを紹介。iOS連載は、「App Storeで成功しているアプリは2人組で開発したものが多い」という視点から、著者(たち)自身の2人組開発の経験を語る話。レッドハット連載は、ベンダーじゃない構築運用側がRed Hatやupstreamにパッチを投げて取り込んでもらうOSSスタイルについてUNIX連載は、Webセキュリティテストのためのスキャンツールの紹介。Hack for Japan連載は、岩手で開催したOSMの復興マッピング活動について。はんだづけカフェ連載は、ARMマイコンのプログラムを作る開発環境eXodusino。

「Webサービスのつくり方」

 アイデアひとつでWebサービスを作るうえでの心得を、先輩が後輩に向けて語りかけるような感じで解説している本。といっても、スピリチュアル系でも技術リファレンスでもなくて、タイトルやスタイルの元になっているんじゃないかと思われる「アイデアのつくり方」のような感じで、企画・設計・開発・運用・プロモーションまでの各段階での“著者なりのやり方”を具体的に説明している。

アイデアのつくり方
アイデアのつくり方
posted with amazlet at 12.11.29
ジェームス W.ヤング
阪急コミュニケーションズ
売り上げランキング: 607

 なので、ここで語られている“やり方”や“道具”をマネしてでもまずは始めて、少しずつ経験値を積んでいく中で“著者はなぜそのやり方を選んだのか”という面を自分なりに消化していき、“自分なりのメソッド”をつかんでいく、というのが理想的なんじゃないかと思う。

 一方、すでにばんばん開発している人も、著者はこう考えてこういうやり方をとっているんだ、というあたりを横目で見たりするといいんじゃないかと思う。よくわからないけど。

Disclaimer:私はちょっとだけ関係者ですが、発売後は利害関係はありません。読むにあたっても普通に書店で買いました。

写真に撮ったスライドを四角く切り取る

 講演やトークイベントでスライドを写真にとると、遠近感で台形になることがあります。この補正とトリミングを、GIMPを使って一発でやってみます。Photoshopなどでもたぶん同じことができると思います(持ってませんが)。

 元の写真はこれ。「LinuxCon Japan 2012」でのBdale Garbeeさんの発表より。

gimpperspective01.jpg

 これをGIMPに読み込み、「遠近法」ツールを選んで、「逆変換」を選びます。

gimpperspective02.png

 写真の四隅それぞれをドラッグして、写真の中のスライドの隅に合わせます。四隅とも合わせたら「変形」をクリックします。

gimpperspective03.png

 できあがり。

gimpperspective04.png

 変更後の縦横比は元の写真と写真のままなので、スライドと縦横比が違う場合は、「画像の拡大・縮小」で変形します。

 どうしても光の加減などが不自然にはなります。自然さより情報を伝えることにプライオリティを置いているときなどにどうぞ。

「新仮面ライダーSPIRITS」7巻

新 仮面ライダーSPIRITS(7) (KCデラックス)
村枝 賢一
講談社 (2012-11-16)

 冒頭でストロンガーが、ストロンガーらしく活躍。4月に亡くなった、荒木しげるさんの追悼だよね。巻末にも、岡田さん&中屋敷さんの対談や、読者イラストのストロンガー特集コーナーが。

 本編では、スーパー1編が決着。梅花二段蹴り、魅せるねぇ。後半はさらに元子供たちが。

 あと、俺もフレイアさんに治療されたい(←馬鹿)。

「ヴィンランド・サガ」12巻

 つくづく、誰にも正義のない、あるいは誰にも正義がある話。

だから死んでも気にしねェってのか てめェら

「レッツゴーなまけもの」1巻

 「根こそぎフランケン」の世界線上の話で、竹井が再登場。フランケンを弱くしたようなセレブ女子高生を、竹井がおもりする。で、なまけるために努力するという悪戦苦闘のお話。

Linuxの日本語manで歴史的仮名づかいが混じっているのは仕様との話

 Linuxの日本語manで、ところどころに「いづれ」という表記があるのに気付いた。

$ grep 'いづれ' manual/*/release/*/*
manual/GNU_findutils/release/man1/find.1:照合する。いづれの判別式でも、コマンドラインで指定したファイルは、
manual/GNU_grep/release/man1/grep.1:のいづれかです。
manual/GNU_grep/release/man1/grep.1:入力ファイルがデバイス、FIFO、ソケットのいづれかである場合に、
manual/sudo/release/man5/sudoers.ldap.5:次のうちのいづれか。ユーザ名、
manual/sudo/release/man5/sudoers.ldap.5:次のうちのいづれか。ホスト名、\s-1IP\s0
アドレス、ネットワークアドレス、
manual/sudo/release/man8/sudo.8:いづれにしろ、プライマリ・グループが \fIgroup\fR

 「広辞苑」などの国語辞典を見ると、「いずれ」に対応する歴史的仮名づかいが「イヅレ」とある。そこで、Linux JM Projectのメーリングリストで報告した。

 該当部分の訳者の方の返事によると、これは意図したもので、バグではなく仕様とのことだった。理由は「好み」とのこと。

 読む人が意味を間違うこともないので、指摘のみとした。

「日経Linux」2012年12月号

 特集1「世界のLinuxディストリビューション100」の執筆に参加したので、報告と宣伝をば。私は主に、比較的知名度が高くないディストリビューションのあたりで19本書きました。

 図鑑とか博物館とか情報バラエティ番組とかのようなノリで楽しんでいただければと思います。私はこの並びで特に、XBMCのメディアセンターとか、レスキュー用とか、ルーターやファイアウォールとか、あるいはGNOMEやKDEの最新版のデモとかいった、「特定のソフトを動かすためにLinuxのカーネルや既存ディストリビューションを利用しているもの」に興味を持ちました。

 特集のほか、巻頭レポートのコーナーでUbuntu 12.10について3ページほど書きました。自分に直接影響するところでは、USBメモリなどのマウントポイントが「/media/ユーザー名/hoge」に変わったのが影響が大きかったかなと。

 自分関係はさておき、以下そのほかの記事。

 特集2が「自分で作る究極のサーバー」で、Part 1がNASを改造して省電力の音楽サーバーにする話、Part 2がOpenBlocks AX3とRaspberry PiでそれぞれWordPressのサーバーを作ってベンチマークを比較。で、Part 3がいきなり、Hartbeat+Pacemaker+DRBDでフェイルオーバークラスターを組むという本格的な話だったりする。

 特集3が、スマートフォンとLinuxデスクトップの間で、MTPプロトコルやファイル同期サービスなどを使ってデータをやりとりする話。

 gumiのソーシャルゲーム「FIFAワールドクラスサッカー」の負荷対応事例の後編は、リリース7日目〜17日目で、MySQLをシャーディングして対応。トラブル対応では慣れてない最新機能を狙わず、使い慣れた方法でシンプルに、というのも教訓と。

 中井悦司氏のサーバー構築連載は、iSCSI。fallocateコマンドで作ったディスクイメージをiSCSIターゲットに指定して、iSCSIイニシエータ側ではそのデバイスをLVMのPVとし、LVを切り出して使う話。

 サーバー構築管理系ではほかに、LPIC連載が、ファイアウォール(iptables)のGUIでの設定や、SELinuxのsetseboolの設定や無効化、パッケージのインストールについて。美女Linux連載がusermodやdeluser。PaaS連載がRed HatのOpen Shift。

 アシスト社のUbuntuへの移行事例第2回は、ユーザー認証(Active Directory)まわりと、アプリの対応まわり。Webベースだから安心していたらIEに依存してた、など。AD関係では、問題点としてグループポリシーにも言及しているけど、そこはあきらめたのかな。

 デスクトップ系ではほかに、Linux活用超入門連載が、UbuntuのUnityデスクトップや、Nautilus、LibreOffice、geditについての解説。旧型PC+ディストリビューションの連載が、特集1と連動して、Ubuntuの萌え化。

 Matz氏のmruby連載は、プログラムからmrubyのVMを呼び出す方法について、VMを示すmrb_stateと値を表すmrb_valueを中心に解説。あと、巻頭の開発者インタビュー連載もMatz氏の回だった。

 巻頭レポートでは、インテルによるCの並列記述拡張がgccに採用されるかもしれないという話も。

 そのほか、シェルスクリプト連載が、メールからtwitterに画像つきでツイートするゲートウェイの作成。Androidハイブリッドゲーム連載が、クライアント側のTitaniumで、サーバー側のNode.jsと通信する処理のあたり。カーネル機能連載が、oom_adjやoom_score_adjによるOOM Killer対策。

Ubuntu 12.10のibus-skkでローマ字ルールをカスタマイズする

 Ubuntu 12.04のibus-skk(1.3.9)までは、~/.config/ibus-skk.jsonでローマ字ルールをカスタマイズできた。

 Ubuntu 12.10のibus-skk(1.4.1)では内部構成が大幅に変更されて、変換エンジン本体がlibskkというものになっているようだ。で、~/.config/ibus-skk.jsonが読まれなくなって、かわりに~/.config/libskk/rules/hoge以下で、hogeというタイピング方式を定義する。

 以下、メモ。

デフォルトのローマ字ルールに、"z "→全角スペースというルールを追加する例

(ここではemasakaというタイピング方式を定義)
$ mkdir -p ~/.config/libskk/rules/emasaka/rom-kana
$ cd ~/.config/libskk/rules/emasaka
(キーマップはデフォルトをそのままもってくる)
$ ln -s /usr/share/libskk/rules/default/keymap .
(メタデータをこんなふうに記述)
$ cat metadata.json
{
    "name": "emasaka",
    "description": "Typing rule for emasaka"
}
(ローマ字ルールの追加をこんなふうに記述)
$ cat rom-kana/default.json
{
    "include": [
      "default/default"
    ],
    "define": {
        "rom-kana": {
            "z ": ["", " "]
        }
    }
}

 ibusをメニューから再起動すると、ibus-skkの設定で、「動作」タブの「タイピング方式」から「emasaka」を選べるようになる。

参考文献

「〈起業〉という幻想 アメリカン・ドリームの現実」

〈起業〉という幻想 ─ アメリカン・ドリームの現実
スコット A シェーン
白水社
売り上げランキング: 162679

 「起業」というと、ITでベンチャーでイノベーションでカリスマ、みたいなイメージがある。でも身のまわりで考えてみると、ITベンチャーで起業する人より、ラーメン店を開く人とか、レストランで修行して自分の店を持つ人とかのほうが多そうな気がする。

 本書は、米国の経営学の教授が、米国での起業の「神話」を否定するデータを並べて論じた本。たとえば、次のように。

  • アメリカは昔に比べて起業的でなくなっている
  • アメリカは世界の中で起業的な国ではない。ペルーはアメリカの3.5倍の割合で新たにビジネスを始める人がいる
  • ハイテク産業より、建設業や小売業で起業する人が多い。
  • 典型的なスタートアップ企業は、革新的ではなく、何らの成長プランを持たず、従業員も自分1人で、10万ドル以下の収入しかもたらさない
  • 典型的な起業家は、40代既婚の白人男性で、誰かの下で働きたくないから自分でビジネスを始め、日々のやりくりをしている、「お隣りさん」のような人
  • 典型的な起業家は、ほかの人よりも長い時間労働し、雇われてていた時よりも低い額しか稼いでいない
  • ビジネスを始めるときに、自分がなにをやろうとしているか、はっきりしたアイデアを持っている人は少ない
  • 平均的には、45〜54才で始めたビジネスは、35才以下で始めたビジネスより業績がいい
  • アメリカでもっとも速く成長した企業の90%は、企業を対象にしたビジネス

 これらはイノベーティブな起業を否定するものではなくて、著者は、「神話」に目を曇らされずに正しく判断するための材料だと書いている。また、上のような平均的な起業を肯定しているわけでもなくて、もっとしっかりビジネスプランを考えたほうがいいというようにも書いている。もちろん、米国なので層や土地などによって大きな開きがあるし、平均値で語れるものでもない。

 でもまあ、「起業」について考えるには面白い本だと思う。こういうのを読んでもヤル気をそがれない人が起業するのだと思うし。

「Software Design」2012年11月号

 発売から20日ぐらいたってるけど、ようやく通読したのでメモ(って書いてばかりだけど)。

 第1特集は「もし、OpenFlowでやれと言われたら?」。OpenFlowの意義だけでもなく、OpenFlowのディテールというわけでもなく、OpenFlowでできること・できないことなどOpenFlowの実像を、インフラエンジニアに近い人たちの声で解説しているのが、今の状況に合っていて参考になる。特集タイトルのとおり、第2章Part 2のNくんのような人にいちばんフィットする記事だと思う。

 第2特集が「Muninが手放せない理由」で、サーバーのモニタリングツールのMuninの解説。筆者さん自身がMuninとNagiosを併用していて、「Muninはリソース推移を知るためのツールで、合間合間にグラフを眺める」というユースケースなども。

 単体記事で、高速転送プロトコロルSkeedSilverBulletの解説。OSのTCPやUDPのプロトコルスタックは汎用的なものなので、長距離高速転送にはアプリレイヤーから専用で処理するのが有利、という話。

 Ubuntu 12.10の新機能と変更点の解説記事も。雑誌の発売日がちょうどUbuntu 12.10のリリース日だったと思う。あっ、Photo Lensもあったっけ。あと、「Ubuntu Monthly Report」は、Ubuntu上でWindows版VLCをビルドする方法。

 ほか、連載関係では、開発者自身による「JSX入門」の後編が、開発環境まわり。「Linuxカーネル観光ガイド」は、checkpoint/restoreの続きと、gccのLTO(Link Time Optimization)をLinuxカーネルに適用する試み。「ハイパーバイザの作り方」は、Intel VT-xのメモリまわりの仮想化機能。シェルスクリプト連載が、「Dropboxもどき」のinitスクリプト作成と同期タイミングの変更。レッドハット連載が、SA(プリセールス)担当の平氏による、仕事内容とRHTC 2012 Beijingの紹介。iOS連載がXcodeを支えるclangの機能。Android連載が、MicroBridgeの電子工作とプログラミング。はんだづけカフェ連載が、ARMマイコン入門。Hack for Japan連載が、高校生を対象にした「石巻bootcamp」などの「石巻ハッカソン」のレポート。「Software Designers」が、repl.it→CodeacademyのAmjad Masad氏で、きっかけはSICPと。

dcで完全数

1~n(nは引数で指定)の自然数の中の完全数を全て求めるシェルスクリプトを書いてください。

http://www.usptomonokai.jp/PAGE=20121027OGIRI7

 dcでやってみた。

$ ./pn.sh 500
6
28
496

 書き始めてからdcの仕様を調べたので、もっと効率いい書き方があると思う。

 応募するならもっとまともなバージョンでと思うので、これはブログのネタに。

Markdownの処理系による解釈の違い

$ cat hoge.md
profile_image_url

Text::Markdown(Perl)の場合:

$ Markdown.pl hoge.md
<p>profile_image_url</p>

Redcarpet(Ruby)の場合:

$ redcarpet hoge.md
<p>profile<em>image</em>url</p>

 後者もMarkdown.newでno_intra_emphasis: trueを指定すれば前者と同じになるけど、デフォルトの挙動が違って最初びっくりした。

$ redcarpet --parse-no-intra-emphasis hoge.md
<p>profile_image_url</p>

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad