てきとーになんか書きます

過去の記事はね,汚点.

2015年の振り返りと2016年の抱負

はじめに

新年が明けた.
2015年は自分の周りではなかなかに激動の年だったと思うし,ここで振り返りと,そして本年の抱負を書いていきたい.

2015年

1月・2月

明石高専での卒研に忙殺されていた.
元々自分が悪かったのだが,卒研開始日時が実質2014年12月10日頃であったため,それに追われていた.
7:00ぐらいに学校に行っては22:00に学校を出るといった生活をしていた.無事論文を書き上げ卒業することができ,担当の先生には感謝しか無い.

3月

3月20日には卒業式があった.無事卒業できて嬉しい限りである.
卒業アルバム(冊子)も配布されたわけだが

酷いものである.

翌日にはシラバスの印刷のために学校に行ったのだが「何故卒業式の翌日に学校に来ているのだ……」と思っていた.悲しい.

4月

晴れて岡山大学理学部数学科に3年次編入することとなった.
2年の科目を全て網羅していたわけでもなかったので,ここから始まる3年前期は,2年前期・2年後期・3年前期の内容を同時並行するという忙しさであった.しかし楽しくもあった.

学生番号は素数ではなかった.

5-12月

基本的に数学しっぱなしの大学生活だった.特に前期は2年次の遅れを取り戻す必要もあり毎日23時までは学校で編入生3人で数学をやり続けた.

細かいところを見れば,

楽しくもあり,また色々あった年でもあった.

2016年

新年が明けたわけだが,今年も暇なわけではない.
進学するため夏には院試があるからそれの対策もしなければならない.
4月からは卒業研究(研究じゃあ無いが)も始まる.基礎をきちんと固め直しつつ,自力を付けていきたい.

正直なところ大学院の専攻は未だに悩んでいる.
元々数学科に入った理由は「大学の工学部が楽しくなさそう」というのが一番大きかったし,それは正しかったと思うのでそこは満足している.
もう1つMotivationとしてあげるなら代数であった.量子コンピュータに興味を持って,アルゴリズム関連で代数の話題が盛んだったのでそこに興味を持った……が,実際数学科に入ってみると解析を楽しいと思いだし3年次の卒業研究の予行のようなものでも確率論のゼミに進んだ.たぶん4年次でも同様だと思う.

それはさておき大学院である.
元々は数学科に編入して学部レベルの数学を一通り学んだあとは工学に戻るつもりだった.特に筑波大学コンピュータサイエンス専攻に進みたいと考えていた.
しかし今はそのまま数学専攻でも良いのではないかとも考えている.その場合も進むとしたら恐らく確率論だろう.
どうしたものか.
唯,4月から数学科に編入しての自分の思考を思えば,純粋数学は楽しいがやはり工学への応用が好きなんだろうな,というところである.

おわりに

今は正月休みを満喫している.
果たして今年はどんな年になるか,楽しみである.何があるかは分からないが,楽しんでいきたい.

クリスマスの夜にひとりぼっちでカレーを作ったら美味しかったので備忘録とか.

はじめに

みんなも華麗なる食卓を読もう.

材料

名称
ジャワカレー 半箱
じゃがいも 2個
玉ねぎ 1個
牛すじ 200g程
赤ワイン 200ml程度
コンソメ 2個
インスタントコーヒー 小さじ1.5
ウスターソース 小さじ1
ピーナッツクリーム 小さじ1
ガラムマサラ 少々

カレー

牛すじの血抜き,21:30

血抜きはとりあえず流水でわちゃわちゃしたら良い.軽く押し出すようにすると良いかも.
写真のように結構白くなる.

牛すじのアク抜き

後に出てくる水:赤ワイン=8:1ぐらいの割合でここもやったと思う.まあ適当.

アクの写真は撮り忘れた.沸騰したらすぐ上げないと肉が固くなる.
ここも流水でアクを綺麗に洗い流して,フライパンもスポンジで洗っておく.

思ったより脂身が多かった.
本来なら入れるべきでないかもしれないけどとりあえず一口大にカットして入れることに.結構小さめにカット.

牛すじを煮込む,22:00

沸騰するまではちょっと強火で,沸騰後は弱火でやった.結局2時間煮こむことに成る.

30分煮込んだところ.
ちゃんとアク抜きしておけばアクが全然出てこない.

これで牛すじはOK.とりあえず脇においておく.

玉ねぎ,0:00

適宜水を入れながら,しんなりしてるぐらいの気持ちで.

この後じゃがいもも10分ぐらい中火で炒めた.
コンロが2口あれば良かったのだけれど,1口しかないので牛すじを煮込みながら玉ねぎを炒めるということが出来なかった.
それができていたら1時間以上短縮できただろうに…….

カレー,1:15

ここからはジャワカレーの箱裏通りに作っていく.
野菜を煮込んでいる時,コンソメを2個入れた.ブロックのやつ.

これ.

隠し味たち.この隠し味は,一旦火を止めてカレールーを溶かした後の弱火でもう一煮込みする段階で入れる.
特にガラムマサラは最後の最後にちょっとだけ.

完成,2:00

調理時間4時間半.長かった.

でも最高のカレーだった.

おまけ

プティサレ(豚の塩漬け)でも作ってみようと思ってカレーを煮込んでいる間に色々やっていた.

完成は元旦頃か.どうなることやら.

おわりに

D-DAYダイスの紹介

はじめに

本記事はボドゲ紹介 Advent Calendar 2015 - Adventarの21日目のものとなる.本記事ではD-DAYダイスを紹介したいと思う.
セミナー等が重なったため遅れてしまったことは申し訳なく思うところである.

画像は全てBoardGameGeekから引用した.

D-DAYダイス?

D-DAYダイスはその名の通りD-DAY*1を主軸としたダイスゲームである.特に基本セットではノルマンディー上陸作戦が軸と成る.

ノルマンディー上陸作戦

ノルマンディー上陸作戦とは第二次大戦末期に行われた,連合軍によるフランス・ノルマンディーへの侵攻作戦である.詳しい解説は ノルマンディー上陸作戦 - Wikipediaを参照されたい.

ノルマンディー上陸作戦は非常に大規模な侵攻,上陸作戦であり,多くの映像作品が存在する.
特に1962年の映画:史上最大の作戦(The Longest Day),1998年の映画:プライベート・ライアン(Saving Private Ryan),2001年のテレビドラマ:バンド・オブ・ブラザース(Band of Brothers)等は有名だろう.
この中でもプライベート・ライアンは少々凄惨なシーン(最初の上陸シーン)があることでも有名だが,未視聴ならばプレイ前に視聴することによって,臨場感が増すだろうと思われる.勿論血が苦手ならば見ない方が良い.

D-DAYダイス

D-DAYダイスとはそのようなノルマンディー上陸作戦を再現した1-4人用ボードゲームである.プレイ時間は約45分.
このゲームはノルマンディー上陸作戦をダイスゲームとして再現することに重きを置いていると思う.
ダイスゲームである以上どうしても運が作用するのが常である.しかしD-DAYダイスは,ダイス目の固定などで運が強すぎず弱すぎず良い塩梅になっている.筆者は戦争経験者ではないが,戦争で生き残ることは運が大きな要素であることは確かだと思う.
機関銃掃射が自分の分隊を避けるか避けないか,もちろん立ち回りが関わってくることもあるだろうが,やはり運は大きな要素の一つに違いないはずだ.もしかしたら死体を漁る必要もあるかもしれない.
D-DAYダイスはそのような厳しい前線の状況をダイスゲームで見事に再現している.その魅力を紹介したい.

なお拡張パックとしてAtlantikwall(大西洋の壁)に始まり13個あるらしいが,筆者は基本セットしか持っていないので基本セットだけ持っている人の目線で語りたい.

ところでゲームの紹介をする以上プレイ雰囲気がなんとなくでも分かる程度には説明しなければいけない.しかしD-DAYダイスは大箱ということもあり事細かに説明すると煩雑なのである程度の説明に留めたい.

プレイヤー

ここではプレイヤーたちのパラメータを紹介したい.
まずこのゲームでは各プレイヤーは1人の人間ではなく,各部隊(の指揮官)であることを認識しておきたい.プレイヤーが複数人いたら,複数の部隊が1つの戦地で,1つのゴールを目指すのである.
ゲームの勝利条件と敗北条件は至って簡単である. 全部隊がゴールに到達できたら勝利,1部隊でも全滅したら敗北である.極めて分かりやすい.
イメージとしては,上陸に際し消耗した部隊を,なんとか人員をかき集め目標を達成するといったところか.1部隊でも全滅したら敗北というのは,作戦遂行可能人数が本当にぎりぎりなのだと考えれば良いだろう.

https://cf.geekdo-images.com/images/pic1540207_md.jpg

プレイヤーには主要なパラメータが4つある.上から時計回りに兵士,勇気,工具,☆である.この他に装備や技術者,車両,勲章といったアイテムがある.順に軽く説明していこう.

  • 兵士
    • プレイヤーが指揮する部隊の全兵士数である.これが0になると全滅する.敵陣営の攻撃により毎ターン削られていく.
  • 勇気
    • 敵の懐に近くなるほど攻撃は苛烈さを増す.そのような全身はとても勇気のいる行動である.勇気がなくなればその部隊は前進が出来ず即ち全滅と成る.動かぬ的程狙いやすいものはない.
  • 工具
    • 戦場には特殊な装備が必要だ.
    • 専門技術者の配属のために必要(合流するイメージ).

例えば専門技術者は:

https://cf.geekdo-images.com/images/pic1589654_md.jpg

のような感じであって画像では左から順にメディック(衛生兵),狙撃兵,斥候である.マップごとに使用できる専門技術者が定められている.

サマリー

ゲームの手順は:

  1. ダイスロール
  2. 1の結果に依る補給
  3. 専門技術者の配属や装備の獲得
  4. 移動
  5. 戦闘

である.

ダイスロール

D-DAYダイスでは毎ターンダイスロールをして資源を獲得する.

https://cf.geekdo-images.com/images/pic1637739_md.jpg

ダイスロールでは画像手前の赤白青色のダイスを用いる.手順は:

  1. 赤白青各2個計6個のダイスを振る.
  2. 1で振った結果から2個固定し残り4個を振り直す.
  3. 2で振った結果から好きな数(0-4個)だけ振り直す.

といったところである.運のみならず細かな判断が求められる.
赤白青のダイス3個で目が同じだった場合特別ボーナスを得られる.これは通常の結果にプラスされるもので置換ではないので非常に嬉しい.

https://cf.geekdo-images.com/images/pic2262173_md.jpg

画像だと兵士2ボーナスと工具ボーナスが得られる.
髑髏の目は通常だと他の目を打ち消すというマイナス効果である.つまり髑髏が1つだとダイス4つ分の効果しか得られなく成る.愚図1人の失敗で結果がプラマイ0どころかマイナスになってしまうようなイメージだろうか.
しかし髑髏ボーナス*2は髑髏のマイナス効果を打ち消した上20装備ポイント(パラメータの工具マーク)を得られる.志半ばで斃れた味方の死体を漁って使える道具を持っていくのだ.

マップ

基本セットには8つのマップが存在する.

  • タイガー演習
  • オマハ・ビーチ
  • ユタ・ビーチ
  • ゴールド・ビーチ
  • ジュノー・ビーチ
  • ソード・ビーチ
  • ポワント・デュ・オック
  • メルヴィル陣地

である.特に有名なのはタイガー演習とオマハ・ビーチだろうか.

https://cf.geekdo-images.com/images/pic1979716_md.jpg

画像はユタ・ビーチのマップであるが,多少の差はあれ大体マップはこのような形式をしている.なお移動は左右or前であり退却は出来ない*3.正しく「勝利か死か,他に道はない」を体現しているかのようである*4(D-DAYダイスは勿論のことながらプレイヤーは連合国軍兵士であるが).もしくは「祖国か死か」だろうか*5

またこのゲーム,同じ戦区には最大3ターンまで(戦区によっては1ターンまで)しか留まることが出来ない.上陸作戦は多くの部隊が参加している.ぼさぼさしていると後ろから上陸した別の部隊に踏み倒されてしまう.必死で前に進むしかないのだ.

ゲームの勝利・敗北

こうしてなんとかしてリソースを獲得しながら敵地を進軍し,バンカー(敵陣地)に全部隊が到着すれば勝利である.途中で一部隊でも脱落すると敗北と成る.

感想

総じてリソースの管理に困るゲームである.
しかしこれは戦地での厳しい戦況をうまく表現出来てると思う.
やはりダイスゲームではあるので,戦略が全てではないがそれもまた戦争らしさが出てて良いのではないかと思う.

Lest we Forget

D-Day Dice is dedicated to all the young men who went above and beyond the call of duty on that fateful morning.

D-Dayダイスを、あの運命の日の朝、任務の求める以上の戦いに身を投じた全ての若者たちにささげる.

ルールブックにLest we Forget(追悼)という言葉と共に書かれている文章である.

*1:重要な,攻撃または作戦開始日時

*2:名称はDEAD MAN'S GIFT(死者の贈り物).この名称が好きだ.

*3:但し左に行って次に右,と言ったように同じ戦区に戻ることは出来ない

*4:エルヴィン・ロンメルアドルフ・ヒトラーのやり取りとして有名なこのセリフであるが,ザッと探してみたところ原文が確認できない.

*5:チェ・ゲバラのこのセリフは演説の一部なので原文がきちっと残っているだろう.

Twitter空間上で認識される概念としての友利奈緒

はじめに

本記事は友利奈緒 Advent Calendar 2015 - Adventarの9日目のものとなる.
筆者はCharlotteを一切視聴していないため,アニメの情報なしにTwitter空間上で認識出来る友利奈緒についての私見を述べる.

友利奈緒

友利奈緒は,2015年7月5日-9月27日に放映されたアニメCharlotteの登場人物であり,銀髪で可愛い*1キャラクタであることぐらいしかTwitter空間上では把握できない.Charlotteのストーリーを知らなければ,友利奈緒の立ち位置もまた知らないのであるから分かるのはその程度である.
但しTwitter空間上での人間は,特定のキャラクタについて仔細述べることはまずないが,友利奈緒の画像はそれなりの頻度で投稿するため,それを観測することによって容姿はきちんと認識できる.
斯様にTwitter空間上で友利奈緒に関するツイートの観測を繰り返すことによって,徐々に友利奈緒と,Twitter空間上の友利奈緒を好きな人間の友利奈緒に対する認識を把握することができる.
唯一つ言うとしたら友利奈緒が好きな人間の友利奈緒に関する発言の多くは「可愛い」であるが.

人々の友利奈緒化

いつからかTwitter空間上の人々が友利奈緒を名乗るようになった.
そう,Twitter空間上の人間の友利奈緒化のはじまりである.

8月15日に@mzyy94氏の観測範囲で5人の友利奈緒が見られたらしく,正確な日時は分からないが恐らく8月上旬即ちCharlotte放映開始1ヶ月後程から人々の友利奈緒化が始まったのではないかと思われる.この時期は友利奈緒と相成るTwitter空間上の人間は少なく,多くの人間は「可愛い」と,そう言うばかりであった.しかし,これが始まりだったのである.

はじめは極少数の人間たちであったが,次第に友利奈緒化する人間の数は増えていった.人々は次々に友利奈緒化していく.

鳴らされる警鐘

Twitter空間上に友利奈緒が溢れていく.
その折に,8月31日に発表されたのがフォロワーから友利奈緒を探す友利奈緒発見器である.3日後の9月3日にWebサービス化もされた.

この時点での友利奈緒は@mzyy94氏の観測範囲で40人.数は増えていく.

そしてまた一人の人間へ*2

Twitter空間上の友利奈緒がいなくなっていく.
これは友利奈緒化したある人間が,逆友利奈緒化しまた元の人間に戻ったのである.逆友利奈緒化する人間が増える,即ち友利奈緒が減少していく.9月30日頃の話である.
9月30日頃はなんであろうか.そう,Charlotteが放送終了したのである.そしてこれを皮切りにして一人,また一人と逆友利奈緒化するのである.

友利奈緒化とアイデンティティの付加

Twitter空間上で人々の友利奈緒化が進んでいたわけだが,そうすると友利奈緒が氾濫し区別がつかなくなってしまう.そこで友利奈緒化した人々はアイデンティティを求めた. f:id:spark6251:20151208231214p:plain
それが(多くの場合)【<文字列>】による差別化である*3.友利奈緒でアカウント検索をかけてみれば良く,様々な表現による差別化が見られる.検索結果のスクリーンショットなので特に加工はしなかった.
斯くして友利奈緒化した人間は友利奈緒でありながら,また別の友利奈緒との差別化を成すことが出来たのである.

全人類友利奈緒化計画

Twitter空間上で人々の友利奈緒化,逆友利奈緒化が繰り返される中,新たな発展が11月19日にあった.

発表自体は以前からされていたが,星ノ海学園の制服の発売である.
Twitter空間上の友利奈緒はこれを求めた.そして再び友利奈緒化の興隆があるのである.

友利奈緒化再考

よくよく考えて見れば,今まで友利奈緒化と言っていたことは,Twitter空間上で友利奈緒と名乗るに過ぎなかった.
人々は星ノ海学園の制服を手に入れ,そしてそれを着用し,友利奈緒と相成った. 友利奈緒 Advent Calendarの1日目の記事が参考に良い.
1日目の記事では星ノ海学園の制服を手に入れた@mzyy94氏が友利奈緒化し,そして友利奈緒という個についてその特徴付けを行った.
この特徴付けは非常に重要であり,これは即ち友利奈緒の性質を示したことになる.
If it walks like Tomori Nao and talks like Tomori Nao, it must be Tomori Nao.である.

概念としての友利奈緒

然して友利奈緒は概念となった.
そこで少しばかり例を見たいと思う.
本記事のタイトルは「Twitter空間上で認識される概念としての友利奈緒」であるため,このセクションがメインとなるはずなのだが蛇足感があると思う.

写像*4としての友利奈緒

ここには数学的要素がそれなりに含まれているので,分からない人は飛ばしてもらっても良い.
友利奈緒が概念じみてくるわけであるが,その一例としてCharlotteのキャラクタとしての友利奈緒以外に,この友利奈緒化という現象を写像にして,写像としての友利奈緒を考えたい.
つまり,友利奈緒化を写像 友利奈緒,逆友利奈緒化を逆写像 友利奈緒^{-1}とすれば,Twitter空間上のある人間 Hに対して写像 友利奈緒は:

\begin{align} 友利奈緒(H) &:= 友利奈緒 \\ 友利奈緒^{-1}(友利奈緒(H)) &:= H \end{align}

ここで友利奈緒^{-1} 友利奈緒の逆写像なのであるが,同一の人間に戻すため,作用させるのは友利奈緒(キャラクタ)ではなく,人間に友利奈緒(写像)を作用させたものに作用させることに注意したい*5

写像が存在するためには写像単射( H_1 \neq H_2 \Rightarrow友利奈緒(H_1) \neq 友利奈緒(H_2))である必要がある*6写像友利奈緒は友利奈緒化であり,友利奈緒化した人間は友利奈緒となるため,写像友利奈緒は単射ではなさそうだが,ここでは 友利奈緒(H)は友利奈緒ではなく,友利奈緒となった元 Hと無理矢理定めて,単射性を成り立たせたい.
友利奈緒化すると友利奈緒になるが,その友利奈緒化した元の人間の情報は失われないということである.

友利奈緒は線型写像

友利奈緒に近い概念として二階堂マリ*7がいて「二階堂マリは線型」や「二階堂マリは非線型」という発言が見られる.そこで,ここで写像としての友利奈緒が線型写像であるかを考えたい.
友利奈緒が線型写像であるとは,人間 H, H_1, H_2 a\in\mathbb{R}に対して:

\begin{align} 友利奈緒(H_1+H_2) &= 友利奈緒(H_1)+友利奈緒(H_2) \\ 友利奈緒(aH) &= a友利奈緒(H) \end{align}

を満たすことである.

1つ目の式について見てみるとまず人間同士の加算という演算を考えなければいけないのだが,これは人間が2人いるということとしよう.つまり Hならそこに1人の人間がいるだけだが, H_1+H_2なら2人の人間がそこにいるというわけだ*8
すると 友利奈緒(H_1+H_2)=友利奈緒(H_1)+友利奈緒(H_2)を日本語に直すと,「人間2人を一気に友利奈緒化した結果と,人間2人を1人ずつ友利奈緒化した結果は等しい」ということである.これは式を満たしている.

では2つ目の式についても見てみよう.これは人間に実数*9を掛けるという演算を考えなければいけないのだが,これは現実的な問題に落としこむと非常に厄介である.そのため形式的に人間が a人いるということにしたい.そうすると aHなら人間 H a人いることになる*10.人間 Hは1人の人間なので aHとすると,同じ人間が a人いるという意味合いになるが,理想的な空間なので問題ないとしよう.
すると 友利奈緒(aH)=a友利奈緒(H)を日本語に直すと,「人間 a人を友利奈緒化した結果と,友利奈緒化した人間を a人にした結果は等しい」ということである.これも式を満たしている.
この時左辺も右辺も人間 Hを友利奈緒化させたという情報を保つということに注意したい.

以上から友利奈緒は線型写像であると考えることができる.

拡張子としての友利奈緒

つまり友利奈緒.pngからfileName.友利奈緒へ.

チームとしての友利奈緒

SECCON Team TomoriNao - HackMD
SECCON 2015にはチームTomoriNaoが現れた.

おわりに

本記事はCharlotteを1ミリも視聴したことのない筆者がTwitterの情報*11から友利奈緒像を推察し,それについて考察を行ったものである.
これを以って友利奈緒 Advent Calendar 9日目の記事としたい.

*1:これ自体は主観ではあるが,Twitter空間上で観測し得る範囲では多くの人間もまた可愛いと発言している.

*2:こう書くと友利奈緒が人間でないかのように思えるかもしれないが,意味するところは友利奈緒化したある人間がまた元の自分に戻るということである(実際友利奈緒は人外かも知れないが,それは未視聴なので存ぜぬところである).

*3:但しこの画像は2015/12/08現在のもの

*4:写像が分からなければ関数と考えて良い.

*5:当たり前ながら恒等写像であるし全く無意味に見えるかもしれないが都合上仕方ない.

*6:日本語で言えば「友利奈緒化する人間が別なら,友利奈緒化してもそれは別の友利奈緒である」という意味合いである.

*7:アニメ対魔導学園35試験小隊より.

*8:「そこ」という表現が曖昧であるがここでは無視する.

*9:実数が分からなければとりあえず数と思ってもらっても大体良い.

*10: \sqrt{2}人なども含んでしまうが,まあ理想的な空間を考えて無理数人は許容するとしよう

*11:但しCharlotteの放映日をWikipediaから参照した.

ThinkPad X201の液晶のバックライトが死んだので交換した

はじめに

2015/11/9

以前からThinkPad X201を(再)起動すると,ThinkPadのロゴはうっすら見えるがそれ以降は真っ暗という現象に陥っていた.
この日まではたまに発生するという程度で,その時は放電すれば解決した……が,今回はそうも行かず.
起動時間とかを体感で測って,パスワード入力→ログイン→[Winキー,→,ENTER]でシャットダウンも確認できたのでマザーボードの異常ではないなあと.
F1キーでBIOSを起動しても「それっぽいのがうっすら見える」という状況.

2015/11/10

外部ディスプレイで映ることは確認.液晶のバックライトが死んだということが(恐らく)確定(インバータが死んでたら最悪だったが).

救世主の登場

交換作業

よくよく考えればThinkPad X201は過去2回分解済みだったので非常に楽だった.2回ともCPUにグリスを塗るやつだったので,全部バラさなきゃいけなかったし,それに比べれば今回のはキーボードとパームレストを外すだけだったので非常に楽だった.
初めての人は保守マニュアルに従おう.

天板ごと交換したのでこいつはさようなら. f:id:spark6251:20151122123239j:plain

注意事項

液晶からコードがどう接続されているかはちゃんと控えておく必要がある. f:id:spark6251:20151121232624j:plain

おわりに

実を言うと,Fキーの爪が折れて右下のCtrlで代用しているのでキーボードも交換したい.

謝辞

交換用の液晶はじとめすきーさんから着払いの代金のみで頂きました.本当にありがとうございました.

YAPC::Asia Tokyo 2015 2日目に参加してきた.

はじめに

2日目や! 祭りや! 祭りやで!
改めて記載するがYAPC::Asia自体は昨年に続き2回目の参加である.

基本的に敬称は略す方針である.

書いてる途中に気付いたが,感想というよりはまとめ・備忘録に近くなってしまったのでここで記しておく.

聞いたトーク

ISUCONの勝ち方

素晴らしい講演だった.例えるなら知見の集合体.聞くこと聞くことが新しい知識だった.
……これ資料アップされ(て)るのかな,もう1回ゆっくり学びたいところ.驚愕の連続だったし,ISUCONに限らず,物事に対しての心構えなども再確認できた.

Perl 5.22 and You

Perl 5.22における変更点(削除・追加)と一部Perl 5.24についての話があった.
今年度に入ってから忙しく,僕はPerl 5.22を追っていなかったのでこれは非常に助かった.妥当な変更に感じた.順当,良かった.正規表現周りが大分クレイジーだったが,Perlだし,いやむしろPerlだから良いよなあと感じた.Hex floatも最高だった.
Perl 5.22がリリースされました - 数学関連の機能強化、メソッドのパフォーマンスの改善、正規表現の改善 - サンプルコードによるPerl入門あたりが日本語で分かりやすいまとめになっている.詳しくはperldeltaを参照のこと.
Perlは思想として後方互換性を大切にしている.diamond演算子(<>)はパイプとか通すとやばいことになるのだが,diamond演算子を修正するのではなく,double diamond演算子(<<>>)を導入することによって後方互換性を保ちつつバグフィクスを達成した.

Perl 5.24では更にバグフィクスや機能の追加がある.特に興味深かったのはシフト演算子(<<,>>)の修正だ.いや,正確に言えばPerl 5.24以前におけるシフト演算子の挙動だ.

2 <<  2 #=> 8
2 << -1 #=> 0
2 << -2 #=> 9223372036854775808 = 2^63

やばい.ちなみにPerl 5.19.2で実行した.これに関して講演者であるRicardo Signesは

と述べている.Perl 5.24ではこれを修正しa << -b == a >> bに統一された.恐らくCのシフト演算子の未定義領域……?

Perl 5.24でもう1つ興味深いのはUnicode 8.0への対応である.PerlUnicodeへの対応が早い.perl 5.22でUnicode 7.0に対応した.最高だ.僕はUnicodeが好きだ.当然それへ素早く対応するPerlも大好きだ(いやPerlはそう言うの関係なしに好きなのだけれど).ついでに過去の記事を載せておこう.

spark6251.hatenablog.com

spark6251.hatenablog.com

ランチセッションA

株式会社Fusic様がスポンサーのランチセッション.美味しい弁当だった.

Fusicは様々なサービスを開発する会社である.講演では自社のサービスで「どういうものが生き残り」,「どういうものが消え去った」かを述べていた.自(社)サービスの開発の強みは当然ながら「自身たちに最適化されること」である.要するに,必要な機能が丁度良く,不要な機能は付加する必要がない.
生き残るサービスは(無理矢理にでも)仕事上使うようにするなど色々言っていた.これはサービスに限らないことだと思う.生きていく上での取捨選択を考える際に重要かもしれない.

Adventures in Refactoring

特にこの部分は完全に備忘録だ.

GitHubの中の人によるリファクタリングに関する講演.最高のものの1つだった.この講演はもしかしたら当たり前のことが多かったかもしれないが,それを,影響力のある人間が声を大に語ることの重要さよ.

リファクタリング(に限らず物事には)良し悪しがある.リファクタリングは「振る舞いが同じであること」と「in/outputが同じであること」が条件である.そのため,リファクタリングの根幹を話すならばサンプルコードの言語は何でも良い.この講演はリファクタリングテクニックマニュアルではない.
重要ことの1つは「一貫性」,「DRY」,「抽象化」を目的にリファクタリングをすることはいけないということである.これはリファクタリングの結果これらが満たされることを禁止する意味ではない.目的にしてはいけないというだけである.これらを目的にするとリファクタリングの成否を判断できなくなる.
では判断基準は何かといえば行数が良い.例えば10行コードを削減すれば,10行分エラーが起こり得る箇所を潰したことになる.講演者であるBen Lavenderはご褒美の包丁!(:hocho: on GitHub).テストカバレッジが上がることも判断基準にして良い.もう1つ,Benの造語でTest Expressability(テストの表現性)がある.これはつまり,テストが何をやっているかがどれだけ分かりやすいかの指標だ.
もう1つ重要なことはデベロッパー(自身)の幸福度である.自分が幸福かどうかはコードを見れば分かる.幸せになろう.
一番需要なことは将来の作業に対しての自信を増やすこと.過去の負債を返済しよう.
グループ開発においてはリファクタリングは重要な教育の一環となる.大切にしたい.
また大きなリファクタリングはリスクを伴う.小分けにして適宜テストしていくべきだ.重要なのはテストありきで考えないこと.そうするとコードがテストに引っ張られてしまう.良いテストは良いコードの結果であるべき.

スタイルガイド(コーディング規約)は大切である.ここで重要なのは「スタイルガイドが正しいことが大切なのではなく,スタイルガイドが存在することが大切」なのである.$ go fmtは……いや,Goはサイコーだ.

リファクタリングには罠が存在する.特に大きいのは既存のバグだ.もしリファクタリングをしている最中にバグを発見してもfixしてはいけない.もし挙動が変わったらどうしようか? リファクタリングバグフィクス,悪いのはどっちだ.但しこれは質疑応答の際に補足されていたが,場合によってはバグフィクスを優先する.大きいバグの場合はリファクタリングの前にfixしよう.但し同時に行ってはいけない.気を付けよう.

この講演で重要なのは「教科書的内容を教科書的に説明した」ことにある.模範解答集だ.絶対に認識しておきたいことばかりだった.

Parallelism, Concurrency, and Asynchrony in Perl 6

Perl 6におけるParallelism(並列),Concurrency(非同期),Asynchrony(並行)(全部違う! 注意!)についての講演.聴講者が少なかったのが残念.やはりPerl 6だったからなのかそうなのか!
残念ながら僕はこの講演をあまり理解できなかった.半分ほどだろうか.これに関しては詳しくはtogetterを参照されたい.

togetter.com

ただひとつ言えることはPerl 6は画期的な進化を遂げるということ.
特に感動したのは.raceでいい感じにパイプラインを構築してくれること(僕の認識が間違っていなければ,だ).これは素晴らしい.オプションを設定しなければPerlが良しなにしてくれる.もちろんN個のデータをM個のworkerで処理すると書くことはできる.所感ではPerl 6の並列処理はサイコーだ.Perl 6自身の早さも肝要であるが.ちなみにこの講演中僕の後ろにLarryがいたのでLarryに「Perl 6は早くなるのか」を尋ねた.結果は「Yes」だった.

ちなみにPerl 6にはactorが入るようだ.期待し続けよう.僕の期待値はこの講演中上がりっぱなしだった.

Profiling & Optimizing in Go

Goは良い言語だ.好きな言語は何かと問われたならばPerlC++と答えるが,良い言語は何かと問われたならば僕はGo(他Python等)と答える.

悪魔合体が成されてしまった.

Goの内部データ構造の話を懇切丁寧に説明してくれた.Goに積極的には触れない僕でもかなり理解出来る内容だった.正直言うとこれで理解できない人は理解できないのでは? というほどの分かりやすさだった.英語もかなりゆっくりだったし聞き取りやすかった.

Lightning Talks Day 2

全体的に面白い内容ばかりだった.

www.slideshare.net

一番実学的だったのはこれだろうか.だが講演者の勢いと罠の内容(即死級のものもあった)のせいで大爆笑だった.いや笑い事ではないのだが(まあ僕もずっと笑っていた).テンポって大事だなあ.

誰かの言っていたセリフだと述べていた記憶がある.僕はこれは尤もだと思う.名は体を表す.やることを決めさせれば実装は自然に出来上がるはずだ.

最後の方で発表内容がインターネット→電話→モールスと退化していったのは面白かった.

ところで今年の会場のネットワークCONBU様が担当してくださった.LTで設営と撤収のデモ(ライブ設営!)を行っていたのだがその早さたるや驚くばかりであった.

クロージング

なんとYAPC::Asia Tokyo 2015は2130人の来場者を数えたらしい.凄まじい数字だ.スタッフの方々には感謝しか無い.

And more...?

builderscon.io

どうやら牧さんが色々と画策しているらしい.書いている通り全てが未定だし,会場でもそう発言していた.YAPC::Asia TokyoはYAPCの名を冠しながら事実上の技術カンファレンスであった(去年に至ってはベストトーク賞にPerlの文字もなかった).もしかしたら思うところがあったのかもしれない.
ちなみにYAPC::Asiaはfreeらしいのでいつでもどこでもだれでも,である.

ところでモダンPerl入門 増補改訂版(仮)はどうなったんでしょう,牧さん(小声).

おわりに

今年はPerlの講演を良く聞いたなあと実感する.PerlPerl 5.24になっても,Perl 6になってもPerlとしての面白さが損なわれることはないと思う.
来年Beaconが開催されたとしたら,やはり,行きたいなあと思う.YAPCじゃないからPerl主体ではないけれど,やっぱり楽しい技術カンファレンスの予感がある.

最後に改めてスタッフの方々への感謝を.

YAPC::Asia Tokyo 2015 1日目に参加してきた

はじめに

1日目,睡眠不足のため眠かったのがつらかった.
改めて記載するがYAPC::Asia自体は昨年に続き2回目の参加である.

会場

今年もありましたDeNA水.

Permission Deniedな扉.

聞いたトーク

メリークリスマス!

Larry Wallの講演.
なんか改めて聞いているとLarryはトールキンがすごい好きなのだなという感じ.トールキンは一般常識.
僕は指輪物語ホビット程度は読破しているので問題なかったのだけれど,Larryの例えはトールキンをふんだんに用いていたので,分からない人にとってはちょっと楽しめなかったの……かも? とは思うけど,まあ,一般常識だろうしいいだろう,という感じ.
Larryが途中で,言語の構築と世界の構築の話をしていた.トールキンの物語は正に世界を構築する.言語の構築にも通ずるところはあるのだろう.トールキンを読んだことがない人間は是非に読むべきだ.

ところでLarryはaliasを色々設定していた.perlはp,git checkoutはgco,特にperlをpにするのは流行ってほしい.

Larryは講演で,トールキン言語学者であり,それを受けて自分もまた言語をという流れがあったことを話していた.Larryはトールキンを愛している.Perl5をホビットに,Perl6を指輪物語に例えるほどにもだ.もしもトールキン指輪物語を執筆していなければ,Perlはこの世に存在しなかったのかもしれない.奇妙な因果関係だ.

講演の最後の方では灰色港の話を交えてきた.
指輪物語のネタバレになるため詳しい言及は避けるが,指輪物語の最後のフロド達に,Larryは自身の物語の最後を重ねたように思えた.講演は感動的であった.このくだりはとても感動的であったので,Perlが好きであって,またトールキンに詳しくない諸兄は是非とも指輪物語を読破してからこの講演の動画を見てほしい(Youtubeに投稿されるだろう).

また講演の途中でLarryは「2015年のクリスマスにPerl 6をリリースする(もちろんできない可能性もある)」ことを宣言した.
クリスマスにリリースすると言っているが,いつのクリスマスかは言っていない(リリースされない)……というのがいつもの流れであった.しかし今回Larryは初めて年度について言及した.これはもしかするとあるのかもしれない.

DeepLearning の前に知っておくことがある! 再帰型のニューラルネットワークや自己組織化マップについて語ろう

大学の半期でやる講義を30分で話そう,という試みを感じた.
残念ながら時間が足りなかった(たぶんこの分野にそれなりに詳しい諸兄は発表途中で間に合わないことを予感したと思う).1時間でももしかしたら厳しかったかもしれない.

どうしてもPerlでドローンを飛ばしたい人のためのハードウェアハック概論

開幕「まあ僕今ならGo使って書きますねwww」から始まった.ドローンの(ハードウェアの)ハックについて語っていてなかなかに面白かった.飛行原理なども交え興味深い内容であった.

Yet Another Perl Cooking

聞きたかったのだけれど聞き逃してしまった講演.とてもつらい.

Lightning Talks Day 1

やっぱりPHPに関する発表て最高やな!

懇親会

懇親会会場はDeNA様及びエン・ジャパン様の提供だった.多謝.本社に向かってお辞儀をしよう.
恐らく無限ビールだった.左手にグラス,右手に瓶ビールで徘徊して色々な人と喋っていたら皆々様に学生に見えないなどと言われた.悲しい.

Larryに一緒に写真撮って頂いた! とても嬉しい!

おわりに

そして2日目へ.早く寝ないといけない.
楽しい1日目だった.