本を読む

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

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「Software Design」2010年8月号

 特集「クラウド時代のサーバ統合講座」で、いきなりVA Linuxの高橋浩和さんと山幡為佐久さんが登場。Xenについてインタビュー形式で話してる。反対に、「サーバ統合が失敗する理由」は、導入や運用あたりの計画の泥臭いあたりを解説。

 「Konoha物語」は、DTC(Direct Threaded Code)導入の試行錯誤の過程を紹介。「Ajax/JavaScriptハッカー養成講座」は、JSONPを説明するためにGIF89aクラスサイト通信ネタが登場。「業務に役立つPerl」では、正規表現での「\Q」と「\E」知らなかった。あと、「SD読者の集い」のレポートとか。

スポンサーサイト

MeeGo Seminar Summer 2010に参加

 携帯情報端末など向けのLinuxディストリビューションMeeGoについて、Linux Foundation主催のイベント「MeeGo Seminar Summer 2010」が7月26日に開かれたので、聞いてきました。

 今回さまざまなセッションで、MeeGoはネットブック、スマートフォン/MID、タブレット、車載機器(IVI)などのデバイスプロファイルに対応して同じアプリが動く、といったことが強調されていたように思います。

 以下、メモ。

基調講演:ユビキタス Linux: MeeGo と Linux はあらゆるものをつなぐ(ジム・ゼムリン)

 ジム・ゼムリンの基調講演は、前回と同様に、LinuxはPCの枠を超えていろいろなところで使われている、携帯などは高度化するいっぽうで開発サイクルが短くなっているため基盤はOSSベースで共同開発するメリットが大きい、MeeGoは完全にオープン(これは対Androidを想定?)、などと語りました。

 その中でも、特にスマートグリッドやIVIなどの機器どうしが通信する分野が今後期待できる、そうした分野はLinuxが使われるだろう、といった機器間通信とマルチデバイスの部分が強調されていたように思います。

 最近のトピックとしては、5月に1.0が出たことを紹介。ハンドセットやタブレット向けのUXも開発中、ということも語られて、試作機の写真もスクリーンで見せていました。ちなみに、MeeGoがタブレットPCなどで動いているところは、セミナーの展示会場でも実際にデモされていました。

Meego Seminar Summer 1

 最後に、来場したベンダーの人達に「Join us」というメッセージを送りました。

パネルディスカッション

 Linux Foundationの福安さんが司会となって、ノキアの道勇浩司さん、Linux Foundationのイブラヒム・ハダットさん、インテルのマーク・スカープネスさんという、MeeGoの中核となる企業・団体の3人に話を聞くスタイル。FAQ的な、よく聞かれる質問とその回答が話されました。

Meego Seminar Summer 3
  • MeeGoとは何か、MoblinやMaemoとの違いは
    • MeeGoはLinuxベースのオープンソースプロジェクト。8000以上のコントリビュータ
    • いくつかのデバイスにそれぞれ最適化しつつ、1つのアプリをいろいろなデバイスで動かせる
    • MeeGoはMaemoとMoblinを統合したもの。2社のリソースを共有して投資が大きくなった
    • コードだけでなくビルドシステムなどでも両者から提供された
  • MeeGoがターゲットとする端末は
    • さまざまなハードウェア。デバイスタイプごとのバージョン
    • デバイスごとに差異はある。そのカテゴリーで人がなにを求めているかが違うため
    • コアは1つ。共通APIによるアプリケーションの互換性
  • オープンソース。どのように参加するのか
    • 100%オープンソース
    • Linux Foundationがリポジトリ等をホストしている
    • 参加はサイトにログインするだけ
  • 誰が開発しているか
    • インテルやノキアを中心に、そのほかの人も増えてきている
    • 誰にもどの企業にも開かれている。コントリビュートにサインや書類は不要
    • meego.com登録はオープンで無料。バグの報告や修正など活発。IRCも参加できる
    • アップストリームのプロジェクトも開発者のうちといえる
    • MeeGoからアップストリームに還元したりもしている
  • MeeGoの開発に参加する利点は
    • 方向性や仕様の決定に関与していける。まさにオープンソース
  • 必要とされている分野は
    • デバイスを作っている側が参加して意見を出してもらえると嬉しい
    • MeeGoの90%ぐらいのコードはアップストリームのプロジェクトが作ったもの。アップストリームのプロダクトをよくするとMeeGoもよくなる
    • Linuxカーネルの省電力の機能など、MeeGoのパッチをアップストリームに統合し、次バージョンのカーネルでまた再開発するのを防ぐ
  • Intel、Nokia、Linux Foundationの役割は
    • Intelは、開発(UX、アプリケーション)、ビルドシステムなど提供。検証エンジニアがアップデートごとに検証したりも
    • Nokiaは、ソフトウェアコンポーネントの多くをMaemoから提供。また、機器メーカーなので、MeeGoベースの製品を今年下半期に出す
    • Linux FoundationはMeeGoを重要なプロジェクトと考えていて、自分はMeeGo専任。翻訳、バグシステム、リポジトリのホスティング、マーケティング、開発、WG、ガバナンス、コンプライアンス、商標、ビルドシステムのサポート、アーキテクチャへの最適化のサポートなどいろいろやっていて、列挙できないw
  • MeeGoの強みや競合との違いは
    • 真にオープンである
    • 使う側にもオープンで、マーケットを作ることもできる
    • プラットフォーム間でソフトウェアが共通で使える
    • オープンに参加でき、官僚主義ではない、オープンなプロセス
    • fastbootはアップストリームのLinuxに貢献した
    • 最新のアップストリームの技術を利用できる
  • MeeGoのライセンス体系は
    • OSSはそれぞれライセンスがあり、ひとつのライセンスではない
    • (会場から)LinuxがGPLだとアプリもGPLという誤解がある。AndroidがApache Licenseという誤解によって伸びた部分もある
  • MeeGoの商標はLinux Foundationが持っているが、企業はどう使えばいいか
    • Linux Foundationが公開しているガイドライン
    • ガイドラインに従えば許可が出る
    • 移植可能でポータビリティがあること、など
  • MeeGo用のアプリケーションはどこから入手できるか
    • NokiaのOvi Store
    • IntelのAppUp Center
    • そのほか、アップストアを作ることもできる。特定のアップストアに限定されない
    • デバイスの種類が限定されないので、アップストアも限定されない
  • 現状は
    • 5つのデバイスカテゴリー
    • それぞれごとのWGで、要件収集や実装l
  • (会場から)IVIなど新しい市場に参入するときに、ライセンスなどの戦略は考えているか
    • オープンソースでは、実際のプロダクトを作る会社がコンプアイアンスなどを担う
    • 手続きを複雑にはしたくないというのがMeeGoの考え。弁護士とか

GENIVI Alliance with MeeGo(Alexander Koher)

 MeeGo採用を発表したばかりのGENIVI AllianceのAlexander Koherさんが、IVI分野でのMeeGoについて説明しました。GENIVIは、IVIのプラットフォーム(ミドルウェア)をオープンに共同開発する業界団体で、自動車メーカーや部品メーカーなどが参加しているそうです。

Meego Seminar Summer 4

 背景にあるのは、携帯電話などと同じく、IVIも高機能化していくと同時にコストや開発期間を削減する必要があること。また、比較的新しい分野でコンテンツやアプリを提供する必要があり、「いまや1社でシステムやコンテンツを構築できない」ことが上げられました。

 一方で、IVI独自のものとして、安全性などの自動車産業特有のニーズが上げられました。また、自動車の世界はソフトの世界に比べて製品のライフサイクルが長く、15年の保守サポートが必要になったりするため、両方の世界の間に立つ役割(つまりGENIVI)が必要ということも語られました。

独自手法を用いたMeeGo製品開発サイクルの短縮(パシ・ニエミネン)

 Nomovok社のパシ・ニエミネンさんが、MeeGo向けの開発について、同社の方法を紹介しました。Nomovok社は、「組み込みオープンソースのパイオニア」「No.1 MeeGo Company」だそうです。

 まず紹介したのが、Qt 4.7(現在β)から使えるQMLによる開発。XMLとJavaScriptによってアプリを開発できるということで、今後Nomovokでは全面的に移行していくとか。「おおざっぱにいうと、Qtネイティブアプリの3倍の開発スピード」で、実行速度もネイティブアプリにほぼ遜色ないという話でした。

Meego Seminar Summer 6

 続いて話したのが「どのようにしてクロスコンパイルをなくすか」。これについて、Nomovok社が提供するビルドのホスティングサービス「NOMOVOK Linux Build Service」を紹介しました。さまざまなターゲットアーキテクチャ(ARM)向けに最適化され、VPNで通信路のセキュリティも確保しているそうです。

 3つ目の話が、サプライヤー探し。これについても、Nomovokが提供する「ZCOCO.netコミュニティ」が紹介されました。MeeGoな企業の集合体で、ZCOCO.netがハブとなって最適な企業を探せる、との話でした。

SplashtopやMeeGo向けの地域別コンテンツとサービス(クリフ・ミラー)

 元ターボリナックス社長のクリフ・ミラーさんが登壇。今はDeviceVM社にいるということで、Splashtopについて説明しました。ジョークを多数まじえて、会場を沸かせていました。なお、プレゼンもSplashtop上でやってました。

 Splashtopは高速起動のLinuxで、PCのマザーボードに組み込んだりしてメインのOSとは別にWebなどをさっと使える、クイック起動OSです。7社のPCメーカーが採用していて、数千万台のPCに入っているとのことでした。

 現在はMeeGoに対応した「Splashtop MeeGo Remix」を開発中。主な理由は、アプリケーションの共通なプラットフォームということで「われわれだけではアプリが足りない」と語っていました。実際に、Intel AppUpの簡単なゲームをデモしてみせました。

 また、Dockに登録されるアプリやサイトをパーソナライズするConfiguration Management Systemもデモ。アプリを組み合わせたパックも用意されていて、そのへんはSplashtopの言語によってアプリやサイトが変わるというのも見せてました。

 その流れで、ベクターの人が登場して、ブラウザゲームを8月2日からSplashtop対応するとアナウンスしました。

Meego Seminar Summer 9

Meego&Nokia(Jussi Kahtava)

 NokiaのJussi Kahtavaさんが、「NokiaにとってのMeeGo」について語りました。NokiaはIntelとともにMeeGoを推進している企業です。

 上げていたのが、オープンソースであること、最先端のLinuxであること、何千ものQtアプリが使えること、1つのAPIでさまざまなカテゴリのデバイスで使えること、Maemoの開発がそのまま使えること、アップストアを自由に立てられること。

 また、MeeGo Core 0Sが1つで、そこにNetbook UX、Tablet UX、Handset UXなどのさまざまなUXが乗るということもメリットとして上げていました。

 Nokiaでは、MeeGo 1.1 Handsetベースの最初のデバイスを、今年のいつかにリリース(ただし日本ではない)するとか。また、1.1に対して独自のextensionを出す予定も語られていました。

Meego Seminar Summer 10

 ノキアといえば携帯電話ですが、それだけではなくてIVIの取り組みも紹介しました。Terminal Modeというもので、モバイルデバイスのアプリを車のスクリーン(IVI)に表示して操作するものだそうです。

 Symbianなどと比べたNokiaでのMeeGoの位置づけとして、能動的なユーザーに向けたハイスペックな端末ということが図で紹介されました。

Closing(ジム・ゼムリン)

 閉会の挨拶では、ジム・ゼムリンが再び登場。今後のイベントとしてLinuxCon Japan 2010とMeeGo Seminar Winter 2010(12月)を紹介しました。

Yokohama.pm#6×PerlCasual#3に参加

 PerlのコミュニティであるYokohama.pmとPerlCasualが合同開催したイベントに参加してきました。すごい人気で、オシャレな会場にぎっしりと人が集まってました。PerlCasualの芸風なのか、勉強会やコミュニティに参加したことがない人でも参加しやすそうな感じでした。

 内容も、Yokohama.pmトラックによる新ネタ紹介と、PerlCasualによる初級者もやってみたくなる親切な説明とがそれぞれ並んでて、ちょっと独特の雰囲気でした。中でもいちばん盛り上がったのは、sugyanさんの全裸botライブコーディングかな。あとやっぱりUSTRICTかw

 以下、メモ。

Yokohama.pmトラック

Introduction to CloudForecast(kazeburo)

 ライブドアに転職したkazeburoさんが、リソース監視のツール/フレームワークであるCloudForecastを紹介しました。

 サーバー監視は死活監視とリソース監視に分けられて、CloudForecastは後者のほう。特徴は分散処理と高速動作で、ライブドアでは実際に3000個ぐらいのサービスを監視してて15秒ぐらいで一周できるとか。構成としては、GearmanでFetcherやupdateのworkerを非同期で動かしていて、遅いサーバーの監視に他のサーバーの監視が待たされたりすることがないそうです。

 あとは、YAMLの設定とかプラグインの拡張とかグラフの定義とかそれぞれ紹介。「Perlが書けてrrdtoolが使える管理者には使いやすい」という話でした。

iPhone Programming for Web Developer(typester)

 iPhone開発はWebプログラマにもやりやすい、ということで、twitterクライアントのサンプルで解説してました。出力はまにあわなくてログ出力だけとのことでしたが。

 HTTPアクセスやJSONパース、XMLパースのライブラリがいろいろある中で、これはハマる、これが使いやすい、などを紹介。さらに、iOS4限定でいいならBlocks構文とGCD(Grand Central Dispatch)が最強に楽とのことでした。Blocks構文はObjective-Cの無名関数みたいなので、GCDは処理をキューに突っ込んで非同期(や同期)で動かすものの様子。確かにLLっぽい感じでした。

Any::Moose入門(gfx)

 MouseメンテナのgfxさんがMooseというかAny::Mooseを紹介しました。Any::MooseはMouseまたはMooseのラッパーで、以降の話で「ムース」はAny::Mooseから使うMouseのこと、とw Mouseの互換性は、クラスビルダーとして使うぶんには違わないとのことでした。

 話の中心は、Mooseの紹介。Mooseはコンストラクタやアクセサを作ってくれるクラスビルダーで、「Mooseは使うべきかという質問に対しては、便利なので、使ったことがなればまず試してみる価値はあると答える」とのことでした。アトリビュート指定を中心に、オプションとかデフォルト値とか遅延評価とかを解説しました。あと、MooseX::StrictConstructorおすすめ、と。

(Yappo)

 HTML5のGeolocation APIを使ってライブドアのロケタッチとマッシュアップする、というストーリーで、Yappoさん作のGeo::Coordinates::Converterを紹介してました。測地系の違いとか、緯度経度からiAreaへの変換とか。

PerlCasualトラック

PerlでWeb API、Web APIでPerl(yusukebe)

 yusukebeさんが、「LWP::*を使ったことがない人向け」に、Web APIにアクセスするプログラムの作り方を易しく解説しました。やることは、GETメソッドでアクセスして、JSON形式で情報を取得、それをパースする、の3つ。Twitter Search APIを題材に、まず、WebブラウザでURIを叩いてみて、URIモジュールでURIを組み立てて、LWP::UserAgentモジュールでアクセスして、JSONモジュールでパース、というのを順番に説明。また、WebAPIを楽にgetしてパースできるというWebService::Simpleモジュールも紹介しました。ちなみに、「APIを使うには公式ドキュメントを読むことが重要。利用規約も書いてあるし」とのこと。

 なお、この内容は、今度の「WEB+DB PRESS」vol.58に掲載予定だとか。

(sugyan)

 sugyanさんは、全裸bot相当のプログラムをほぼゼロからその場でライブコーディングで作ってみせました。だいたいこんな(↓)流れだったはず。

  1. cpanmでNet::Twitter。使い方はperldocで
  2. まずpublic_timelineをとってみる。warnで表示。あれ、arreyref、じゃYAMLでDump
  3. mentionsをとる。認証エラー。認証情報をConfig::Pitで。Net::TwitterのtraitsでoAuthを指定
  4. テキストを改変するために形態素解析。Yahoo!の日本語形態素解析APIをWebService::Simpleを使って呼ぶ
  5. 動詞のときだけ前に「全裸で」を入れる。use utf8。改変できた
  6. 関数にする。zenrize関数w。statusの内容にzenrizeをかまして@repliesにpushして後で1つ取る
  7. 改変したテキストをtwitterでつぶやく。update()
  8. 動詞が入っていないポストは除外する。zenrizedフラグ

LT

use Encode;(xaicron)

 みんな大好きEncodeということで、Encodeの基礎を説明。結論は「decodeしていじってencodeする」と。「これでみんな幸せになれる」とのことでした。

use strict fast;(piarra)

 「use strict」とタイプする時間を計るUSTRICTを紹介してウケてましたw。twitterに結果を流す機能もあって、さっそくLT中から#yokohamapmに結果が続々と。

夏コミ新刊Perl同人誌の宣伝(まかまか)

 ダラク本の新版「Acme大全2010」の紹介でした。Acmeな364ディストリビューションをすべて解説。LTでは、Mooseを使いたくない人のためのモジュールAcme::Erc(Mooseをインポートしてるだけ)などを紹介してました。さらに今年は用語集とかcpanmの使い方とかlocal::libの使い方とかperlbrewの使い方とかも充実しているとか。欲しい人続出の予感。

Fedora 13でPython 2系と3系の共存

 Fedora 13のリリースノートから。

Fedora に既存の Python 2 ランタイムと並列インストールが可能な Python 3 ランタイムが含まれるようになります。

 というわけで、Fedora 13でyum install python3してみる。インストール後の/usr/binの下。

$ ls -li /usr/bin/python*
937487 -rwxr-xr-x. 2 root root 6088 2010-06-05 03:20 /usr/bin/python
941592 lrwxrwxrwx. 1 root root    6 2010-07-19 14:41 /usr/bin/python2 -> python
937487 -rwxr-xr-x. 2 root root 6088 2010-06-05 03:20 /usr/bin/python2.6
931011 -rwxr-xr-x. 2 root root 5356 2010-04-01 12:21 /usr/bin/python3
931011 -rwxr-xr-x. 2 root root 5356 2010-04-01 12:21 /usr/bin/python3.1

 /usr/bin/pythonは/usr/bin/python2.6のハードリンクで、/usr/bin/python3は/usr/bin/python3.1のハードリンク、そして/usr/bin/python2は/usr/bin/pythonへのシンボリックリンク、と。

 あと、Python 3用ライブラリのパッケージは、python3-*みたいな名前になってるらしい。

Graffiti for Androidすごい

 Graffiti for Androidすごい。クローンでもGraffiti2でもなくて本物だし。軌跡が少しの間見えるのもちょっとカッコいい。

 10年ぶりぐらいにGraffiti使ってみたけど、けっこう覚えてるもんだな。あと、いまスマートフォンを使ってる中のある程度の割合は、元Palmユーザーなのね。

「WEB+DB PRESS」vol.57

WEB+DB PRESS Vol.57
WEB+DB PRESS Vol.57
posted with amazlet at 10.07.21

技術評論社
売り上げランキング: 841

 へー、WEB+DB PRESSでAndroid特集なんだ、と思ったら、cho45さんがWebプログラマから見たAndroidプログラミングとかデバッグとかハマりどころとかを解説していて面白かった。

 ほか、ミックさんのSQL入門特集とか、JITエンジン時代のJavaScriptの高速化ノウハウとか、レコメンドエンジンのアルゴリズムとか、AjaxなUIの先読みとか、PHPの計算精度と浮動小数点とか。

 細かいところでは、山本陽平さんのインタビューで、RESTは一期一会という話が面白かった。さすが傭兵さん(←字が違う)

「日経Linux」2010年8月号

日経 Linux (リナックス) 2010年 08月号 [雑誌]

日経BP出版センター (2010-07-08)

 「国産無線ルーターをLinuxサーバーにする」は、プラネックスコミュニケーションズCQW-MR1000をOpenWrt化して、Sambaやらradiko録音サーバーやらを動かす話。「Android携帯を改造する」は、Nexus OneをUbuntu化したり。

 Matzさんの連載は「SQLデータベースの逆襲」としてSpiderとVoltDBを紹介。VoltDB過激やな。CasandraをAmazon EC2で使う記事もあり。

 「Fedora 13徹底解説」特集は、Fedora 13の新機能まわりを紹介。yumのfs-snapshotプラグイン、面白そう。

「Software Design」2010年7月号

 もうすぐ次号が出る時期だけど一応メモ。

 特集「最新ストレージ戦略」を読んだら、いきなりInternet Archiveインタビューのパートがあって驚き。あと、はてなフォトライフのストレージ構成の試行錯誤とか。

 「電子書籍のこれから」では、あの古籏一浩さんがEPUB作成の実際を解説してた。

 そのほか、ソーシャルアプリとか、JSONのハマりどころとか、0xdroidとか、スタックマシンvs.レジスタマシンとか。

Ruby 1.9のSimpleDelegatorの挙動が変わっていた

 Rubyの開発版を使っている人には周知のことなんだろうけど、リリース版のRuby 1.9.1をp378からp429にアップデートしたらSimpleDelegatorの挙動が変わった。

# hoge.rb
require 'delegate'

class Foo < SimpleDelegator
  def initialize
    super({})
  end

  def hoge
    puts 'hoge!'
  end
end

Foo.new.hoge
$ ruby hoge.rb
hoge.rb:14:in `<main>': undefined method `hoge' for {}:Foo (NoMethodError)

 delegate.rbやChangeLogを見る限り、SimpleDelegatorを継承したクラスにはメソッドを追加できなくなっているようだ。対策として、SimpleDelegatorをDelegateClass()に置きかえる。

4c4
< class Foo < SimpleDelegator
---
> class Foo < DelegateClass(Hash)
$ ruby hoge.rb
hoge!

修正2010-07-06:タイトル誤記修正 SimpleDelegate→SimpleDelegator

「新クロサギ」7巻

新クロサギ 7 ECO詐欺 (ビッグコミックス)
黒丸 夏原 武
小学館 (2010-06-30)

 今回は追いつめる話中心で、詐欺ネタは少なめ。ところで、結末をオビに大きく書くのはいかがなものか。

 今回の手口メモは、ネタバレなので「続きを読む」で。

続きを読む »

「未来歳時記 バイオの黙示録」

 生物の遺伝子が入り混じった未来社会でのさまざまな悲劇を諸星流で描く短編連作。

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

 荒んだねぇ。兵隊嫌いのエイナルはタナベ的な位置になるか。

「宇宙兄弟」10巻

 鬼教官登場。そして、ここにも兄弟の物語。

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

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

Monthly


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。