2010年12月31日

2010年を振り返る

今年も一年を振り返るエントリーを。

今年印象に残っていのは

世間は狭い

な出来事が多くあったこと。

  • twitterでフォローしている人の中に、会社がらみで父と会った事がある人がいたり
  • twitterでフォローしている人の中に、先輩の転職先で一緒に働いていた人がいたり
  • twitterでフォローしている人の中に、同じ高校の同期がいることが判明したり

悪いことはできない。

運動不足を解消すべく、1月にコナミスポーツクラブに入会した。最近は、、、、行けていない。ここは来年心を入れ替えてもっと行くようにしようと思う。

運動といえば、「フリスビール」なるものに何度か参加した。フリスビールとはフリスビーで遊んでビールを飲むという大人な遊び。ただフリスビーは侮れない。結構な運動になるし、その分余計に美味しくビールが飲めるすばらしい遊び。これは来年も続けてみたい。

来年はもう少し健康的にいきたい。お酒はやめないけど。

2010年12月27日

iPod touchを購入した

iPhoneを買わない理由はみんな持っているからなんだけども、docomo回線で使うことができれば買ってやらんでもない、そう思っていた。
そんなdocomoからモバイルWi-Fiが発売されている。これを使えばdocomo回線でAppleのオモチャが弄ることができる。
ということでiPod touchとBF-01Bを購入した。自分へのクリスマスプレゼント。

自分にとってはこれがはじめてのApple製品だったりする。

2010年12月21日

第53回CLR/H勉強会に参加してきた

2010/12/18はCLR/Hの第53回勉強会が開催されたので参加してきた。今回は仮想化デイということで仮想化の話やAzureの話など。

クラウド?が語るPDC10で発表したAzure新機能が導く「約束の地」

  • 「クラウド」とは、
  • シャアと迷った
  • 今日のマテリア
ぜんたいか: Azure復習
  • 「安い」「簡単」「スケールアウト」
  • 安い=無駄が無い
  • 無駄なく使用できるパターン(OnとOff・予測不能な使用増・急速な成長・周期的な使用増)
  • AzureはPaaS
    OS・ミドルウェア・ランタイム(アップデートなども)Microsoftが受け持つ
    利用者はアプリケーションとデータに注力できる
  • AmazonはIaaS
    OS・ミドルウェア・ランタイムも利用者が受け持つ
  • Azure SDK 1.3からVisual Studio 2008はサポート外となった
  • データセンター、アジア圏が安くなった。香港がお得
  • Smallより小さなExtra Smallができた
  • サポートについては他のMicrosoftと同様に
チョコボよせ: Social
  • ケータイ向けサイトで1日当たり約1億PVに耐える
  • すべてではなく一部をAzureに構築する手もある
  • PHPも動作させることができる
  • Toolkit for Facebook
  • ソーシャルなサービス提供で注目
みやぶる: RDT
  • リモートデスクトップ接続に対応した
  • アプリケーションのインストールや設定などをリモートデスクトップ上ですべきではない
    →すべてのインスタンスに行う必要がある
    →クラウドの利点が損なわれる
  • デバッグには有効
  • VM Role
ぶんどる: Marketplace
  • さまざまなデータを提供
フルケア: Full IIS
  • startupで起動時に実行
  • VMRoleではなくstartupを使う
ぜになげ: キャンペーン
  • ITベンチャー向け

「クラウド」の仮装でクラウドの話をしていた。似合っているからまた面白い。

Azureはちょうど1年前に環境を構築しようとするも、うまくインストールできずにいた。Extra Smallというのも追加されたとのことなのでもう一度挑戦してみようと思う。

マイクロソフトの仮想化と運用管理はどう進化するか?

  • 「本当の」仮想化の話
  • Microsoftの仮想化
    サーバー仮想化
    デスクトップ仮想化
    アプリケーション仮想化
    プレゼンテーション仮想化
    データ・プロファイル仮想化
サーバーの仮想化
  • Hyper-VがVMwareを上回った
  • DynamicMemoryが Windows Server 2008 R2 SP1に追加される
  • ゲストOSへメモリを動的に割り当てる
  • Hyper-V Cloud: Hyper-Vを運用する際に必要となる「ドキュメント」
  • Self-Service Portal 2.0
  • プライベートクラウドへ向けた動き
デスクトップの仮想化
  • MED-V 2.0
  • XPモードの集中管理
アプリケーションの仮想化
  • App-V
  • クラウドサービスを開始する企業がでてきた
  • 年賀状アプリなど期間限定なアプリなどに有効なのでは
  • Server App-V
VDI
  • RemoteFX
  • サーバーに高機能なグラフィックボードを搭載
  • 描画したデータを圧縮して配信
  • 現時点ではグラフィックボードを搭載できるサーバー機が少ない

仮想の話だけど仮装はしていなかった。

アプリケーション仮想化は今後注目されていく分野かもしれない。

この後もセッションは続いたが、別の用事があったためここまで。今回の勉強会でわかったのはMicrosoftは仮想も仮装も本気だということ。

参考:仮装かセミナー in 札幌 ~仮想化のつもりが~ - 高添はここにいます

2010年12月15日

第5回北海道セキュリティ勉強会に参加してきた

2010/12/11は北海道セキュリティ勉強会の第5回勉強会が開催されたので参加してきた。

今回はチームチドリのTessyさんを招いての「CTFはじめの一歩」。

CTF概要

  • CTFとはCapture The Flagの略
  • 「旗取りゲーム」のシューティングゲームを模したコンピュータ全般の知識を駆使したゲーム
  • 世界各地で開催されている
  • 日本では最近セキュリティ&プログラミングキャンプで開催された
    →オープンな場では最近開催されていない
  • ジョパティ方式(予選・オンライン)
  • いくつかのジャンルと難易度を組み合わせて問題が出題される
  • ジャンルは[バイナリ解析・リモートexploitなど]
  • Root Fu(本線・オフライン)
  • 自サーバのサービスを守りつつ、他チームのサーバーを攻撃する
  • 参加するには「登録する」それだけ
  • 予選は48時間の長丁場
  • 目grep
  • 韓国はいつも日本の数歩先を行く。政府からの支援もある。
  • 世界につながっているCTF

CTF具体例

  • 「find the key」
    →提供されるファイル内に存在するkeyを回答する
  • 回答者の意図を読むのがこつ
  • 有効なツール
    findコマンド:ファイルの内容を知る
    hexdumpコマンド:バイナリ表示
    ncコマンド:ネットワーク解析
    gdb:デバッガ→メモリの情報をファイルに出力して答えの文字列を探す
  • 有償のツールは有効だが必須ではない
  • 「hack the planet」
  • 映画やドラマをネタにした問題も出題される
  • モールス信号やDTMFを使用した音声問題→audacityで解析
  • 動画問題
  • 暗号問題
  • 音符問題→マタハリ暗号
  • zipファイルはコメントにヒントがある場合も
  • 「ここはどこ?」という画像問題→埋め込まれた位置情報から

会場には問題サーバーも設置されており、PCがあれば問題に挑戦することができた。自分はPCを持っていかなかったが、隣の方が見せてくれた。まったく分からなかった。

「セキュリティ・プログラミングキャンプ」のご紹介

  • 当初はセキュリティコースのみだったが、2008年からプログラミングコースが追加された
  • 2010年はCTFが開催された
  • 当日までにWikiで自己紹介やTwitterで他参加者をフォローなどをした
  • 架空の図書館のサーバーがダウンさせてしまい逮捕される場合という架空の話をもとに、どうすればよいかなどの話
  • \爽快セキュリティ!/

セキュリティ・プログラミングキャンプについては、以前にセキュリティ・プログラミングキャンプ・キャラバンに参加して聞いていたが、これは本当に学生にとっては貴重すぎる体験だろう。興味ある人は是非挑戦してもらいたい。

2010年12月9日

Rock N Roll / John Lennon

今年2010年はジョン・レノンの生誕70年、没後30年という年。そんなわけで今年はジョン・レノンのCDのデジタル・リマスター作品が発売されている。

その中のRock N Rollに注目した。

以前から欲しいと思っていたが、いつかのタイミングでCCCD(コピーコントロールCD)になってしまっていて、しばらく買えないでいた(CCCDを買う気は無い)。それが今年のリマスターではしっかりと「CD」規格として発売してくれた。これは買わないわけにはいかない。と思ったはずなのだが10/6発売から2ヶ月たっても買っていなかった(理由は自分でも知らない)。

そんな事も忘れかけていた今日(12/8)、タワーレコードに寄った。せっかくだから何か買おうと思ったときにふと思い出した。

今日12/8はジョン・レノンの命日だ

今日こそRock N Rollを買う日なのだ。というわけで買ってきた。

Amazon.co.jp: Rock N Roll: John Lennon: 音楽
http://www.amazon.co.jp/Rock-N-Roll-John-Lennon/dp/B0002X4TRA

一番聞きたかったのは1曲目の「Be-Bop-A-Lula」。ポール・マッカートニーが歌ったのを聞いたことがあったがジョン・レノンも良い(どこかの本で、2人が初めて出会った時にポール・マッカートニーがこの曲を歌っていた、とあった気がする。本当かどうかわからないが)

(2010/12/8現在)キリンのFREEのCMで使われている「Stand By Me」も2曲目に収録されている。

今日も世界中でジョン・レノンの歌が歌われているのだろう。

2010年10月22日

最終更新日付を更新するPythonスクリプト

久しぶりのPython

Pythonでファイルの最終更新日付を更新するにはos.utimeを使用する。

   os.utime(path, times)

pathはファイルパス、timesは(最終アクセス時刻, 最終更新時刻)の形のタプル指定する。それぞれの時刻にはエポックからの経過時間を指定する。

エポックからの経過時間を取得するには、time.mktimeが使える。

   time.mktime(t)

tはstruct_timeという9つの整数からなるシーケンス(Python ライブラリリファレンス 14.2 time -- 時刻データへのアクセスと変換 参照)。

struct_timeを取得するには、time.strptimeが使える

   time.strptime(string, [format])

まとめると

  1. time.strptimeでstruct_timeを取得する
  2. time.mktimeで1.で取得したstruct_timeから経過時間を取得
  3. 2.で取得した経過時間を使って(最終アクセス時刻, 最終更新時刻)のタプルを作成
  4. os.utimeでファイルと3.のタプルを指定

となる。

コードにすると以下になる。

import os
import time

filename = 'A:\重要な証拠.txt'
t = time.strptime('2004-6-8', '%Y-%m-%d')

times = (time.mktime(t), time.mktime(t))
os.utime(filename, times)

このプログラムを使用して逮捕されても責任は負いかねます。

2010年10月10日

10月10日

10月10日は以前「体育の日」だった。

1964年10月10日に東京オリンピックの開会式が行われた為、この日を国民の祝日として「体育の日」と定めた。東京オリンピックの開会式は東京地方の天候は晴れが多いという理由で10月10日を開会式にしたという。
(本日2010年10月10日の札幌は雨)

もともと「体育の日」は上記のような経緯があった。10月10日であることに意味があった。

ところが2000年から「ハッピーマンデー制度」の導入で10月10日固定ではなくなった。観光需要の拡大をねらって定めたと思う。連休が増えることはサラリーマンにとってはうれしい部分もあるが、体育の日の意味が薄れてしまったと思う。
大げさに「東京オリンピックから日本が急成長した」という歴史を振り返るきっかけを失った、と言ってしまおうか

2010年現在、また観光需要拡大を狙って休日を見直そうという「祝日分散法案」がでてきた。
僕は休日にはその国の歴史や文化も存在すると思う。そんな休日を国民で共有しないなんて。

観光需要拡大を狙ってのことのようだが、そもそも祝日分散して観光業界が潤うのかどうかも疑問なのだが。

そんな10月10日に結婚式を挙げる友人がいるので、これから祝ってくる。

2010年10月5日

SURYA FUJINO SOUPCURRY & NEPAL CURRY

石山の奥、藤野にあるスープカレー&ネパールカレーの店。札幌中心街からは大分離れていて車でないと行くのは厳しいかも。駐車場はまぁまぁ広い。

写真のときはスープカレーを食べた。ネパールカレーもあるからもう一度行かねばならない。


大きな地図で見る

2010年9月27日

JUNK!JUNK!JUNK!2010に行ってきた

2010/09/19にJUNK!JUNK!JUNK!2010が開催されたので北海道倶知安町へ行ってきた。

JUNK!JUNK!JUNK!は北海道倶知安町出身のロックバンド「SPARKS GO GO」が中心となって行われているロックフェスティバル。ここ2年は関東で行われていたが今年はSPARKS GO GOの結成20周年。倶知安に帰ってきた。

SPARKS GO GOはちょっとバンドでコピーしたことがあって知っていた。そして参加アーティストが豪華。ユニコーンやPuffyと僕の好きなところが出るとなったら行かないわけには行かない。

どうせ現地でビール飲むことになるだろうからJRで移動したが到着するまでに結構体力を消費してしまった。

ライブはもう楽しい。野外ライブが楽しいのはなんでだろね。天気も始まるまではあまりよくなかったけど、徐々に青空もでてきて気持ちが良い。時折パロディなどもやって倶知安のジャガイモなどを歌っていた。

現地で食べ物などが売られていたのだけど、そのジャガイモが見当たらなかった。ここはジャガイモ推しとくべきだろうに。もったいない。

今回一番の収穫はトップを飾った「detroit7」というバンド。特に女性ギターボーカルの方のパフォーマンスがすごい。写真みたら結構かわいい顔しているからこれまたびっくり。近いうちに札幌でもライブあるようだ。

SPARKS GO GOのステージは期待通りというか、やはりライブバンドなんだと痛感した。アンコールでは参加アーティストが全員でてきての「LET'S GO」は感動。

また来年行きたいと思うフェスだった。

2010年8月30日

-菜-もっきりや

札幌中心部にある居酒屋。10年位前にフラッと一人で行ってから気に入っている。見上げると古い映画のポスターが貼られている。レトロな雰囲気で落ち着いてお酒が呑める。

写真は2009年に食べた牡蠣。


大きな地図で見る

2010年8月16日

RISING SUN ROCK FESTIVAL 2010 in EZO に行ってきた

8/13~14にRISING SUN ROCK FESTIVAL 2010 in EZO が開催された。
初めて行った昨年の2009年は2日目のみの参加だったが、今年は1日目から参加。

13日(1日目)

11日・12日と雨が降っていて会場は水浸し。会場移動には長靴が必須な状態。まずは水をかきだす為にビールを一杯。

KAN
ちょっと遅れてKANのステージへ。前半は一人でピアノでの弾き語りだったが途中からバンドメンバーも加わってロックな曲も。ノリノリで踊るKANさん。

愛は勝ったー #rsr10 4:08 PM Aug 13th
LOVE PSYCHEDELICO
RED STAR FIELDに残ってLOVE PSYDELICOも。あのサウンドをライブでも聴けてうれしい。ヴォーカルのKUMIさんのリズムの乗り方がかわいい。
あっはー #rsr10 6:07 PM Aug 13th
聖飢魔II
年内限定に再集結している聖飢魔IIの黒ミサ。演奏は当然すばらしいけどMCが面白い。
ロウにんぎょうにされたー #rsr10 9:01 PM Aug 13th
スチャダラパー
PUFFYを観ていたけど後日また観る予定なので、途中からスチャダラパーへ。いろんなゲスト参加もあって盛り上がっていた。
よくなくなくなくよかったー #rsr10 10:55 PM Aug 13th
奥田民生
最近発売したCDを買ってはまっている。セットリストにも最新CDからの曲も何曲か。
僕らに自由をー #rsr10 12:23 AM Aug 14th
この後、一緒に行動している方々は一旦帰宅。一人でテント番。一気に疲れがでてきて1杯焼酎を飲んだらもうねてた。

14日(2日目)

朝、送迎バスで元札幌テルメ(?)のフェアリー・フォンテーヌへ行った。生き返る。生き返って帰ったら飲みたくなる。

矢沢永吉
2日目の会場はスーツ姿の方々がちらほら。YAZAWAのタオルがちらほら。開始前から「永ちゃん」コールが。いや本当に矢沢永吉はカッコイイ。
タオルが翔んだー #rsr10 1:05 PM Aug 14th
エレファントカシマシ
ちょっと気持ちよく酔っ払ってきて、後ろのほうで座って聴いていた。このカラッとしたギターの音は大好きだ。
でっかく生きようぜー #rsr10 3:40 PM Aug 14th

pupa

山下達郎を観に行きたかったけど、こちらも気になったから行ってきた。すごい心地よい音なんだけど、心地よすぎて一気に眠気が。僕はこのとき立って寝る術を手に入れた。
原田知世かわいかったー #rsr10 5:56 PM Aug 14th
EGO-WRAPPIN'
焼肉を食べてちょっとマッタリした後に。そろそろ体力的に厳しい状態だったので後ろで見ていようと思っていたけど、気がついたら前のほうにいた。スカなリズムが始まると皆飛ぶ飛ぶ。僕もつい飛ぶ飛ぶ。
チェリー! #rsr10 1:48 AM Aug 15th
ASIAN KUNG-FU GENERATION
テントでちょっと仮眠をとって、ラストのASIAN KUNG-FU GENERATIONへ。
終わったー #rsr10 5:47 AM Aug 15th
日の出は残念ながら雲に隠れてしまったけど、雲の後ろから赤く染めて綺麗だった。

帰宅してストラップをカット。

2010年8月3日

レストランバー BUDDY BUDDY with The DOOR

札幌創生川通り沿いにあるアメリカンな建物の1FにあるレストランバーBYDDY BUDDY

メニューもアメリカンでいろんな種類のビールが楽しめる。GUINESSの樽生もある。夜は店内でライブやることも。

上の写真は2009年に食べた「チキンガンボ」。ガンボというのはアメリカのルイジアナ州から発祥した料理らしい。これは美味しい。

iPhoneを買わないたった一つの理由

僕がiPhoneを買わないたった一つの理由がある。それは

みんな持ってるから

 

まじめな話をすると、docomoではないからというところになるんだけど。

2010年8月2日

デジカメを購入した

もともと写真にはあまり興味はもっていなかったのだけど、数年前に海外に行ったときにせっかくだからと携帯電話のカメラでいろいろ撮った。その時にちょっと写真も面白いと思った。その頃からデジタルカメラを買ってみようと密かに思ってはいたがなかなか購入する機会がなかった。

最近勉強会やTwitter関係の方と会うようになったが、そこにカメラ好きが多いこともあってまたデジカメ購入したい気持ちが沸いてきていた。

周りはデジタル一眼レフを持っている方が多いが、僕は今の携帯電話のカメラのように気軽に持ち運べてさっと撮りたいので、コンパクトなデジカメを探した。ほぼ見た目のデザインが気に入ったという理由でCanon IXI 400Fを選択。なんといってもCanon史上最薄なのだとか。これは僕の気軽に持って歩くという欲求にぴったりだ。

IXI 400F IXI 400F

早速、何枚か撮影してみた。

花

夕日
夕日(ちょっと前)

公園
公園

他の写真はこちらにアップした。今回はFlickrにアップしてみた。設定はすべてAUTOで撮った。設定ではジオラマ風とかもあるらしいので、次回はそのあたりいじってみよう。

2010年6月29日

オープンソースカンファレンス 2010 Hokkaidoに行ってきた

2010/06/26にオープンソースカンファレンス2010 Hokkaidoが開催されたので行ってきた。

今年も大盛況で、来場者数は地方開催の記録を抜いたとか。

寝坊&二日酔いにより会場入りしたのは14:00。だめな大人になってしまった。

【出張!Mozilla 勉強会@北海道】イチから始める Firefox 拡張機能開発

  • 講師の方は文系でプログラマではない。それでも作れるFirefoxの拡張機能
  • 北海道の天気をステータスバーに表示する「天気はどう?/tenkiwado」を作る
  • アドオンの開発用に設定をする必要がある
  • Extdev Preferencesを使うと良い
  • Firefox自体もXULとjacascriptで書かれている
  • アドオンはそのXULにオーバーレイする、というイメージ

実際にその場で作って動作が見れたからわかりやすい。本当に簡単にできてしまっていた。Firefoxの拡張機能は以前から興味はあったからちょっとこの機会に触ってみようと思う。電源オフとか。
確か最新バージョンでは拡張機能については新しい仕組み「Jetpack」が備わっている。それについてはこの次のセッションであったらしい。

jQuery と MVC で実践する標準志向 Web 開発 ~ Power of Visual Studio 2010 ~

  • WebPI(Web Platform Installer)でWeb開発環境を簡単にインストール
  • WordPressやPHPも対象
  • Web Developper 2010 ExpressでWeb開発
  • コードスニペットが便利。(「div」と入力してTabキー押下すると「<div></div>」と補完される)
  • ソリューションエクスプローラからCSSファイルや画像ファイルをエディタにドラッグすると、そこに対応したタグ(linkタグやimgタグ)が補完される
  • Visual Studio 2010でjQuery1.4.1が搭載されている
  • MIX10でjQueryの本格的なサポートを発表した
  • jQueryのスクリプトファイルはcdnを使用するとよい
  • cdnとはMicrosoftがScriptなどを配信しているコンテンツ・デリバリ・ネットワーク
  • ASP .NET MVC はCodePlexでソース公開している
  • Ezotter
  • 「次の一歩」:Microsoftもオープンソースへ貢献していく

cdnについては名前だけ聞いたことがあったがこんな便利なものがあったとは。だれでも無料で利用できるらしい。
Visual StudioのHTMLエディタは自分の想像以上に進化していた。これはASP.NETでなくてもHTMLエディタとして使用しても十分価値のあるものではないだろうか。

今年は北海道開発オフのブースの中に入ってお手伝いもさせていただいた。といっても座って店番をしているだけだが。その間にも何人か声を掛けていただいて興味をもった方がいた。
ノートPC持っていない、という方もいたが僕自身も最初はノートPCなしで参加した身である。今は本棚プロジェクトという名で、いくつか本もあるし自分が読みたい本を持参して読んでも良い。
次回開催は2010/7/3なので、是非参加してみて欲しい。何かしらの共通の趣味がある人と出会うのはとても貴重な体験だ。

「次の一歩」

こういったカンファレンスや勉強会の存在を知らない人はまだまだいるだろう。知っているのに参加できないでいる人もいるだろう。そんな方たちへ「次の一歩」を踏み出せるような動きができるような、僕の「次の一歩」を考えてみようかと思う。

2010年5月31日

第4回北海道セキュリティ勉強会に参加してきた

2010/05/29は北海道セキュリティ勉強会(おもに札幌)(通称:セキュポロ)の第4回勉強会が開催されたので参加してきた。
今回はマイクロソフトの砂金さんを迎えてのガンダムWindows Azureスペシャル。

Windows Azureとそのセキュリティ(前半)

  • Windows AzureはPaaS(Platform as a Service)
  • OSとしてはWindows Server 2008
  • エンタープライズ用途に強い(スケーラビリティ・運用自動化・オンプレミスとの連携)
  • SQL ServerとSQL AzureとをSync Freameworkで同期
  • 特定の時期(年度末など)に集中して稼動するようなシステムでコストダウンが狙える
  • データセンターは地域を選択できる
  • 速度を重視する場合はアジアを選択。ただしネットワーク料金が他地域より高い
  • 料金を重視する場合は北米を選択。ただし日本からは速度が遅い
  • ファブリックコントローラがAzureの肝となる技術
  • 非MS製品のほうがインストールが用意
  • 日付時刻データの扱い、日本語の扱いに注意が必要

Windows Azureとそのセキュリティ(後半)

  • オンプレミスと同等の管理は向かない
  • 個別に特別な対応は技術的にも不可能
  • 監査を必要とするデータをAzure上に載せるリスクは今はとらないほうが良い
  • 物理的に膨大な量のサーバーなので管理も自動化→悪意のある監視コードがあるかどうかは信頼の問題
  • Admin権限を持つ人も存在するが、すべての操作は記録されている
  • クラウドに向けてのセキュリティ対策は、今までのインターネットに公開する際の対策とほぼ同じ
  • パフォーマンスについての名言「今日のパフォーマンスが明日出るとは限らない」
  • データ保全の為のバックアップは不要
恒例のおやつは北菓楼のシュークリーム。2つも食べてしまった。
シュークリーム
photo by tsukacyi
もちろん懇親会にも参加。そして帰宅したのは朝だった。

2010年4月20日

第47回 CLR/H 勉強会に参加してきた

2010/04/17に第47回 CLR/H 勉強会が開催されたので参加していた。
今回は「並列」がキーワードだろうか。人間の脳はマルチタスクは2つまでが限界と研究結果が発表されたらしいが、最近のCPUはどんな状況だろうか。

最新CPUの紹介と並列プログラミングの概要

  • インテルマイクロアーキテクチャー「Nehalem」
  • 目標は「電源効率に優れたプロセッサー」
  • ハイパースレッディングテクノロジーが復活
  • キャッシュをいかに有効に使用するか、がアプリケーションのパフォーマンスに影響する
  • 3次キャッシュ:占有か共有か
  • インテルコンパイラ、VisualStudio2010
  • Core2Duo向けのアプリをQuadで動かすとパフォーマンスが上がらないケースがある
  • 2010年、すべてのCPUが並列プロセッサになった。
  • Intellが提供するツール:Parallel Studio
  • ハイパースレッドとターボブーストがチューニング作業では邪魔となる
    →チューニング中はOFFにするとよい

マルチコア時代の並列プログラミング - Visual Studio 2010 による並列化・最適化技法

  • 並列化は

    • 今から「意識」するべき
    • どこに使うかを考える
    • モジュール化プロファイルは現在のプロジェクトにも効果的(並列に限らず)
  • 並列化で苦労は増える
  • 並列と同時実行は別
  • CLR4.0でスレッドプールの仕組みが変わった
  • UMS(ユーザーモードスケジューラ)はC++のみ。64ビットのみ。
  • 並列プログラミングの考え方(タスク・データ・順序)
  • キャッシュを意識したプログラミングが必要
  • .NET Framework 4.0ではタスク並列ライブラリ(TPL)を使用
  • C++では並列パターンライブラリ(PPL)を使用
  • Threadを自分で作成するのはやめるべき(一つのThreadは高価)
  • ラムダ式を使用すると並列化しやすい
  • スレッド数の調整:IOに対しては制限したほうが良いかもしれない。CPUに対してはある程度自動に最適化されるが、一概には言えない
セッション1でもセッション2でも「キャッシュを意識したプログラミングが必要」とのこと。

F#入門 ~関数プログラミングとは何か~

  • OCamlをベースに設計された言語
  • F#の魅力としてマルチパラダイムがある(言語指向型プログラミングなど)
  • 見た目の美しさ(lightweight syntaxをOnにすることで、インデントによるブロックの表現)
  • デメリット

    • Express Editionが存在しない
    • IDEの機能が現時点で不完全
    • インテリセンスの品質
    • 日本語情報が不足
  • 環境は3択

    • Visual Studio 2010 Pro以上
    • Visual Studio Shell (IronPythonなどもある)
    • F# CTP
  • 関数は第一級の扱い(変数などと同等)
  • 値は変更できない(参照透過性)
  • 関数は常に一つの引数を受け取って、一つの値を返す
  • 複数の引数を扱うには、タプルを使用、または関数の中に関数を定義
  • カリー化と部分適用
  • Measureで単位を定義
  • Active Pattern
  • Quotation
  • アクター
途中で練習問題があり、参加者に実際にコーディングしてもらう、というシーンも。僕はカリー化あたりで理解不能となってしまった。カレーライスは好き。
今回は全体的にわからない単語が多く、ほとんどついていけなかった。ただ今後は業務アプリケーションでも並列を意識したプログラミングが必要になるケースも出てくるだろう。その時に備えて今から準備は進めて行きたい。

2010年3月27日

ナニコレのビールプレゼントに当選した

ナニコレってナニソレ? ナニコレとはは札幌の飲食店情報のフリーDVDマガジン。 ナニコレ!?札幌発の食事やお酒が50%!?フリーDVDマガジン

その中でtwitter連動プレゼント企画があった。応募はtwitterでつぶやくだけ。

サッポロビール好きだし面白そうなので応募してみたら、見事に当選した!

そのビールがついに届いた。

ドーンと一ケースいただきました。ありがとうございます。

ナニコレのtwitterアカウントもゆるーい感じで面白い。

2010年3月23日

スープカリー軒チャチャ

札幌二条市場の向かいにあるスープカリー軒チャチャ。ちょっと奥に入らないと入り口が見つからない。中に入ると石の壁に囲まれたちょっとおしゃれな雰囲気。
スープはあっさりしていているけどコクがあって美味しい。写真はだいぶ前に撮ったものなのでメニューがわからないが、おそらく日替わりか何かだったと思う。

スープカリー軒 チャチャ[食べログ]


大きな地図で見る

2010年2月14日

第14回北海道開発オフに行ってきた

最初に第15回北海道開発オフのお知らせ。
日時 / DATE : 2010/02/20 09:30 to 17:00
定員 / LIMIT : 18 人
会場 / PLACE : 札幌市産業振興センター セミナールーム5(技能訓練棟3F) (札幌市白石区東札幌5条1丁目1-1)
http://atnd.org/events/3063
2010年最初の開発オフだ。そんな開発オフの第14回目が2009/12/26に開催された。もう2010年2月だけどかまわずレポート。
今回も前回に続いて強制シャットダウンアプリを開発。今回新しくWindows7ノートPCを買ったのでVisual Studio Express Editionを使用して開発ができる。
前回作成したメインフォームではラベルをひとつ置いて、残り秒数を表示するつもりだったが、ちょっと味気ないと思っていたので、事前準備として秒数表示に利用できる画像を探した。ちょうどブログDeveloper @ ADJUSTライトニングトークタイマーを公開されていたので画像をいただいて使ってみた。カッコヨイ。でもちょっと小さい。ライトニングトークタイマーなので当然か。しかたないのでPaint.NETを使って人気海外ドラマ風な画像を作ってみた。

開発オフ当日は、この画像を基に指定された数値に該当する部分のみのImageを取得するメソッドを用意して、そのメソッドを利用して指定されたDateTimeの値を表示するコントロールを作成するところからはじめた。

''' <summary> ''' デジタル時計風表示のコントロール ''' </summary> Public Class DigitalClock Private Const OneNumWidth As Integer = 80 Private Const OneNumHeight As Integer = 120 Private Const SeparaterWidth As Integer = 40 Private _date As Date Public Sub New() InitializeComponent() Me.DoubleBuffered = True End Sub ''' <summary> ''' 表示する時間を取得・設定する ''' </summary> Public Property Value() As Date Get Return _date End Get Set(ByVal value As Date) _date = value End Set End Property ''' <summary> ''' Paintイベントを発生させる ''' </summary> Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(e) Dim x As Integer = 0 '分 Dim minutString As String = _date.Minute.ToString("00") Using img As Image = GetNumberImage(Integer.Parse(minutString.Chars(0))) e.Graphics.DrawImage(img, x, 0) End Using x += OneNumWidth Using img As Image = GetNumberImage(Integer.Parse(minutString.Chars(1))) e.Graphics.DrawImage(img, x, 0) End Using x += OneNumWidth '区切り Using img As Image = My.Resources.sep e.Graphics.DrawImage(img, x, 0) End Using x += SeparaterWidth '秒 Dim secondString As String = _date.Second.ToString("00") Using img As Image = GetNumberImage(Integer.Parse(secondString.Chars(0))) e.Graphics.DrawImage(img, x, 0) End Using x += OneNumWidth Using img As Image = GetNumberImage(Integer.Parse(secondString.Chars(1))) e.Graphics.DrawImage(img, x, 0) End Using x += OneNumWidth End Sub ''' <summary> ''' 指定数値のImageひとつを取得 ''' <summary> ''' <param name="number">
取得するImageの数値</param> Private Function GetNumberImage(ByVal number As Integer) As System.Drawing.Image Using nums As Bitmap = My.Resources.numbers Dim recF As RectangleF = nums.GetBounds(System.Drawing.GraphicsUnit.Pixel) recF.Width = OneNumWidth recF.X = number * OneNumWidth Return nums.Clone(recF, Imaging.PixelFormat.Format24bppRgb) End Using End Function End Class
また、カウントダウンクラスにTimeUpイベントを追加。残り時間が0になったら発生させる。

Public Class CountDown Private _period As Integer Private _remaind As Integer Private _timer As Timer ''' <summary> ''' コンストラクタ ''' </summary> '''
<param name="period">タイマの間隔</param> ''' <param name="remaind">タイマの残り時間</param> Public Sub New(ByVal period As Integer, ByVal remaind As Integer) Dim callback As New TimerCallback(AddressOf TimerCallback) _timer = New Timer(callback, Nothing, Timeout.Infinite, period) _period = period _remaind = remaind End Sub
''' <summary> ''' カウントダウンを開始する ''' </summary> Public Sub Start() _timer.Change(0, _period) End Sub
''' <summary> ''' カウントダウンする ''' </summary> ''' <param name="state"></param> Private Sub TimerCallback(ByVal state As Object) _remaind -= Me._period If _remaind >= 0 Then '残り時間あり OnTick(New TickEventArgs(_remaind)) Else '残り時間なし OnTimeUp(New System.EventArgs()) End If End Sub
''' <summary> ''' Tickイベントを発生させる ''' </summary> Protected Sub OnTick(ByVal e As TickEventArgs) RaiseEvent Tick(Me, e) End Sub
''' <summary> ''' TimeUpイベントを発生させる ''' </summary> Protected Sub OnTimeUp(ByVal e As System.EventArgs) RaiseEvent TimeUp(Me, e) End Sub
''' <summary> ''' 指定のタイマ間隔が経過したときに発生 ''' </summary> Public Event Tick(ByVal sender As Object, ByVal e As TickEventArgs) Public Event TimeUp(ByVal sender As Object, ByVal e As System.EventArgs) End Class
これで必要なクラスはそろった。これらのクラスを以下の作戦でシャットダウンアプリを完成させる。
  1. カウントダウンクラスのオブジェクトを作成
  2. TickイベントとTimeUpイベントのハンドラを追加してカウントダウンスタート
  3. メインフォームをダイアログ表示
  4. Tickイベントハンドラではイベントデータの残り時間をフォームに渡す
  5. TimeUpイベントハンドラではメインフォームを閉じる
  6. メインフォームが閉じたらシャットダウンを実行
なんとか開発オフ中に実装することができたので、成果発表にもお見せすることができた。成果発表の時にも話したが、カウントダウンする秒数は設定ファイルで指定することができるようにした。5分に設定すればライトニングトークタイマーとしても使えると思う。
完成したものを公開したいが、公開場所などを整えてからにする。

2010年2月12日

居酒屋BAR バニアントゥリー(その2)

前にも紹介したバニアントゥリー。他にも紹介したいメニューがあるので追加エントリー。

まずは「若鶏のサクサク焼き」。ビールにぴったりの人気メニュー。

2つ目は比較的新しいメニューの「クリーミーなピラフ(ポーク)」。カレー風味なので一瞬カツカレーと勘違いしてしまいそうな。あ、またビール飲んでるね。

3つ目も新し目のメニュー。とろとろしたチーズの「プチ・プレジール」。これはワインと一緒に頂きたい。でもこのときもビール飲んでた気がする。


大きな地図で見る

2010年2月3日

東京ぶらり旅してきた

2009年の話なんだけど。

Guns 'n Rosesのライブに行った翌日、せっかくだから東京ちょっとぶらり旅した。

まず最初は浅草寺へ。雷門

12月なので正月な飾りもあった

本堂は修復中

お昼にそばを食べて、新東京タワー「SkyTree」を見に行った。

想像以上にでかかった。このときは235mだった。

小道を歩いていると地面に寝て写真に撮っている人が。近くに行ってみると確かに、下から上まで全部をフレーム内に納めるにはもう寝ないと入らない。僕も寝るまではしなかったけど、座ってできる限りカメラを下の位置でがんばって撮ったのが下の写真。

最後は秋葉原へ。特に目的は無いからぶらぶらと。噂に聞いた「天皇メイド」も拝見することができた(今はマネキンになってしまったようだ)。

ケバブが売っているのを発見しおやつに。いつの間にか秋葉原名物になっていたようだ。

その他の写真はここからどうぞ。
振り返ってみると、2008年に東京行ったときと似たようなコースな気がする。

2010年2月2日

スープカレー SHO-RIN

札幌すすきのの中にあるスープカレー屋「SHO-RIN」。飲んだ後のラーメンの替わりにスープカレーはいかが?

普段は飲んだ後にラーメンを食べたいと思うことがないが、この日はちょっとお腹が空いていたから、試しに行ってみた。

正直なところ、個人的に「しめに食べたいスープカレー」と思うスープではなかった。飲んだ後となると、あっさりした「しょっぱい系」のスープが欲しいところだが、ここのスープはちょっとこってり系だった。

スープカレー自体は美味しい(はず。酔っ払ってたのではっきり言えない)。昼食べるときはこってり系の方が好みだから、今度はお酒飲む前に行ってみようと思う。


大きな地図で見る