料理の失敗

なんだろな、昼は包丁で千切りにしていたら、親指の関節を切ってしまい、
(そもそもちゃんとした持ち方していれば、そんなところ切るはずもないんだが…)

夜は鍋敷きの上においてあった鍋をコンロに移動して、火をつけてから
鍋敷きがくっついたままのことに気づいたり…。
(鍋敷きは焼けてしまってダメになりました…)

何か変な一日でした。

それ以外は、AR.DroneのSDKが気になって少し下調べしたり、
料理の科学的な裏付けが気になってこちらも調べてみたり、
資料を読んだりするのがほとんどだったかな。

Posted at : 2015-01-18 22:47:25 / Category : none

酒々井のアウトレット

服買うときは、ちょこちょこと買うのではなく、まとめて買ってしまうようにしている。
そのほうが、時間もかからないし、服全体の統一感とか組み合わせがやりやすいよね。

ここ1,2年はほとんど冬物を買ってなかったので、久しぶりに服を買いに行ってきました。
場所は酒々井のプレミアムアウトレット。東京駅からバスが出てて、片道1時間ぐらい。

最初はGarrettのポップコーン、酒々井は穴場のようで15分ぐらいで買えました。
その日、何度か店の前を通りかかって見てた感じ、必ず並ぶ必要はありそうだけど、
概ね15分ぐらいで買えそうな感じでした。東京駅で1時間、2時間待ちより良いよね…。

その後は服探し。いつも買う系統の店3店舗ぐらいを回って、目星をつけてささっと購入。
上下合わせて合計8点ぐらい購入。結構良いのが見つかって良かった。

Posted at : 2015-01-18 12:58:34 / Category : none

最近の昼ごはん

ちょっと前までは家に帰って昼ごはんを食べていたけど、
それも移動するのが面倒だなと思い始めて、弁当を作って会社で食べてます。

弁当っても、手軽に済ませたいので、スープとおにぎり2つにしてます。
スープはAmazonの「THERMOS 真空断熱フードコンテナー 」ってのに入れて、
二日おきぐらいにレシピを変えたものを入れてます。
このフードコンテナだとかなり保温がきくので、その点も非常に良いね。

おにぎりはまだ試行錯誤中。
ほとんど力を入れずに握ると、ふっくらした感じに仕上るところまではできてきた。
ただ、味付けとか、ふっくらさ加減とか、まだまだ改良の余地はありそうなので、
毎日試行錯誤してます。

こうやって料理作ってると、いろいろと考えて改善できるところが多いので、
やっぱり楽しいなと思うね。

Posted at : 2015-01-14 22:34:45 / Category : none

仕事始め

今日から本業に復帰
長い休みでよい気分転換になったと思う
やることもたくさんあるので、ちゃちゃっと終わらせてこう

Posted at : 2015-01-13 08:58:53 / Category : none

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

読もうと思ったきっかけは、普段書くコードが他人から見て見にくいな、と思ったこと。
決して見せられないほどひどくは書かないけど、頭にスラスラと入ってくるぐらい良いコードを書けていないので、
この機会に見なおそうと思いました。

Amazon

http://www.amazon.co.jp/dp/4873115655

内容

タイトルの通り、コードをいかにしてより良いものにするかというがメインです。
コメントや変数名の付け方などの基本的なものから、
1関数1機能にすること、をどう徹底するかなど、ちょっと踏み入ったものまであります。
普段コードを書く人からすると、すでに身についているものも多いですが、
文章として書かれると、意外と知らず知らずにやっていたことが「そうなっていたのか」と納得できることもありました。

感想

僕としては、以下の内容が良かったです。

  • コメント
    • 曖昧な代名詞は避ける。曖昧な部分を排除することで、よりコメントが読みやすくなる
  • 変数
    • 説明変数・要約変数を用意して、処理フローや関数の引数をわかりやすくする
    • 例えば、関数の引数にbooleanを渡す場合は、その意味を表す変数で代入する。isforce = true; delete(“.”, isforce); など
    • 時間の変数などは、_msなど単位をつける
    • 他の意味と間違えられないように、変数名は何度も検討をする
    • 例えば、listのsizeを求める関数がある。この関数が要素を一つ一つカウントするのであれば、countとする方が良い。直感的に計算量が違うことがわかる
  • 条件式
    • あまりにも大きな条件式ができてしまった場合、問題を一度整理してみる。複雑すぎるとバグのもととなる
  • 関数
    • 無関係の下位問題は別の関数としてくくりだす
    • 関数内の各段落(コード単位)で一つのタスクを行う(実際に本の例を見るとわかりやすい)
  • テスト
    • (行数が)最小のテストを作り、読みやすいテストにする。新しいコードを追加しときに、テストをしやすくなる

全然本の内容とは関係ないけど、本文中の以下の言葉も納得。

「エンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を組み立てることに他ならない。」

普段のコードにも取り入れてみて、より良いコードを書いていきたいね。

Posted at : 2015-01-08 16:16:47 / Category : book

12日までお休み

11月、12月と仕事がたてこんでいたこともあり、
年末年始休みと合わせて、今週もお休みをもらった。
普段時間取れなくて進められていなかったこととか、
こういう機会に進められて良い感じ。
明日もまたがんばろう!

Posted at : 2015-01-06 21:45:18 / Category : none

今年もよろしくお願いします!

あけましておめでとうございます。今年もよろしくお願いします!

年末から1週間ほどかけてAndroidのアプリケーションを作っていまして、
三が日も親戚周り以外はカタカタとコーディングをしています。
その傍ら、突然始めてみたSimcityが面白くて、アイテム作っては
市場で売ってお金を手に入れたりなど、まずまずはまっています。
まぁ、iPad版だとなのか、時間の流れが遅いので、そろそろ飽きそうですが…。

そんな感じで、今年も技術的な部分、それ以外の部分合わせて、
頑張っていきたいと思いますので、よろしくお願いいたします。
5年先、10年先に役に立つものをしっかりと考えてかないとね。

Posted at : 2015-01-03 06:11:45 / Category : none

2014年もありがとうございました!

2014年もありがとうございました! みなさまお世話になりました。

今年はいろいろと動きの多い、一年だったなと思います。
特に技術的な面だと、仕事でやってきたことがようやく形になってきました。
個人では「将来的にこういうものがあると良いのでは?」という長期的な視点で、やっていく方向性が決まってきました。
まだまだ学んだり、考えたりすることは多いですが、実際に形にできるようにがんばっていきます!

来年は(仕事も個人も)基本的な部分をおさえつつ、5年・10年先の未来がちゃんと描けるような基盤を作っていきます。
仕事はファームウェアやドライバの開発が一気に来るので、実装を頑張るというよりは、
道筋をしっかりと考えて、無理のない期間で終わらせられるようにやっていきたいです。
あと、個人的なところでも大きな節目となるので、そちらも進めていかないとな。

来年もがんばっていきます!

Posted at : 2014-12-31 13:18:29 / Category : none

Rails 4.2.0で外部からHTTP接続できず戸惑った

調べてみると、こういうことみたいです。

http://www.techscore.com/blog/2014/09/12/rails4-2beta1%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E6%9C%80%E5%88%9D%E3%81%AB%E3%81%AF%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8/

-bオプションで「0.0.0.0」を指定する。
いつかからかデフォルトが127.0.0.1のループバックアドレスになったみたい。
コンテナ使うことが多くなってきて、直接接続することが少なくなったからかな?

Posted at : 2014-12-31 09:09:25 / Category : none

愛知県の味がおかしいと言われる意味がわかった気がする

昨日から実家に帰ってきました

久しぶりに実家で外食してみて、何か味が変だなぁと
朝のホテルでのブッフェと言い、昼に食べた豊橋カレーうどんと言い

「なんだろ?」とよくよく考えてみると、どれも塩分が多い
何となくだけど、その辺りの塩気に関する調味料の変なのかなぁ…と思いました
それと同時に、「あ、東京の人間になったんだな」とも(笑)

Posted at : 2014-12-30 08:09:35 / Category : none

今日で最終営業日

もう最終営業日。。。早いなぁ
時間がすぎるのが惜しい気もするけど、
充実した1年だったと思うので、あまり後悔はないかな

今回の仕事休み、いろいろとありまして17連休となりました
ということで、仕事のことは一旦忘れて、やりたいことをいろいろとやろうかなと

Posted at : 2014-12-26 06:30:51 / Category : none

Cognitive Computingの紹介(システム系論文紹介 Advent Calendar 2014)

はじめまして(の方が多いと思うので…)yasuharuと申します。
普段は組み込み関係、特にファームウェアの開発やLSI検証のお仕事をしています。よろしくお願いします。

半年ぐらい前の記事になりますが、こんな記事が発表されました。

IBM、新型「SyNAPSE」チップを発表--認知コンピューティングの可能性を広げる - CNET Japan
http://japan.cnet.com/news/service/35052072/

記事を見た時「脳型コンピュータチップってなんだろう?」という感じでした。
最初はちょっと目新しいだけなのかな…と思っていましたが、読み進めていくとこれはいけるんじゃないか?と思いました。
特にLSIの開発に関わっていると、LSIの微細化の問題などにより性能の頭打ちは顕著に感じられます。
これなら近い将来もさらに計算機の性能があげられそうです。

ということで、今回は上記の記事の全容を見るべく、Congnitive Computingがどういうアイディアを
元にしているか・どういう世界を描こうとしているか、論文とともに紹介をしていきたいと思います。

研究の概要

IBMのCognitive Computingに関する研究は、最初にサルの脳の情報伝達の考察から始まり、Neurocynaptic Chipの設計、
スパコンを使った性能シミュレーション、ASICでの試作、アプリケーションへの展開と着実に進化を遂げています。
これらの研究は2011年頃から発表されており、IBMのresearcherであるDharmendra S. Modha氏が中心となって進めているようです。

今回はこれらのうち、サルの脳の情報伝達の考察、ASICでの試作の部分を取り上げて行きます。

サルの脳の仕組みを追って

まずはNeurosynaptic Chipの目標とするアーキテクチャを見ていきます。
発想の原点となるのは、サルの脳の仕組みです。

Network architecture of the long-distance pathways in the macaque brain
http://www.pnas.org/content/107/30/13485.full

Macaqueは「東南アジア、日本、北アフリカに分布するオナガザル科マカク属(Macaca)のサルの総称 」です。
(引用元:http://eow.alc.co.jp/search?q=macaque
CoCoMacというneurosynaptic database(脳の部位ごとの情報伝達などを扱っているデータベース)を元として解析・考察したものがこの論文です。

ざっくり言うと、この論文から以下の知見が得られたようです。

  • 前頭葉が脳のネットワークの中心となること
  • 各部位はある特定のコアを中心としてサブネットワークを構成する。そのコアを通して、全体のネットワークを構成する

このアイディアを元として、Neurosynaptic Chipの設計がされているようです。重要なのは、

  • 特定の部位に処理が集中すること
  • 複数のコアからなるサブネットワークが構成される。それらは階層構造を持つ

という2点です。

ちなみに、この論文、普段読むようなシステム系論文とは異なり、脳神経系の単語がバンバン出てきます。読むのが大変でした…。

ASIC化してみる

ASIC = Application Specific Integrated Circuit、つまり特定用途に特化したLSIです。
実際にLSIを作ってみましょうという話ですね。
一体どれだけのお金が…と言っても、自社のファブだから関係ないのかもしれません。

前置きはさておき、このASIC化について述べられた論文が以下のものです。

A 45nm CMOS Neuromorphic Chip with a Scalable Architecture for Learning in Networks of Spiking Neurons
http://www.modha.org/papers/013.CICC2.pdf

論文の前置きとして、一般的な脳の情報伝達はどうなってるのか?というのが少し書かれています。
これが肝になるアイディアなので、ちゃんと書いておきます。
(ただし、図はWikipedaから持ってきたもの、文章は論文からのものなので、図と文が一致しない部分があります。すみません、手を抜きました…。)

  • 図は一つのニューロンを表す
  • スパイク(spike、図中には記載なし)は、あるニューロンの軸索(axon)から発生され、他のニューロンの樹状突起(dendrite)に作用する(図は単一のニューロンですが、左右にニューロンがつながっていると思ってください)
  • 軸索から樹状突起の接合部分をシナプス(synapse)と言い、スパイクを伝達するかどうかを決定する
  • 各ニューロンは膜電位(membrane potential)膜電位を持ち、ある一定のスレッショルドを超えるとスパイクを発生させる

neuron
引用元:Created by Quasar (talk), http://ja.wikipedia.org/wiki/%E7%A5%9E%E7%B5%8C%E7%B4%B0%E8%83%9E#mediaviewer/File:Neuron_Hand-tuned.svg

このニューロンの構造を使って、Neurosynaptic Chipが作られました。このチップの特徴は以下のとおりです。

  • 45nmプロセス
  • 256のニューロン
  • 64kbitのシナプス

この回路は次のブロック図で表されます。
先の図で言うところのシナプスに相当するのが256x256のSynapse Array、これを中心として、
軸索からシナプスを通って樹状突起に作用する一連の流れを表します。

block
引用元:http://www.modha.org/papers/013.CICC2.pdf

外部からのスパイクを受けて、学習を行い、出力をします。特徴として、同じ構成のチップをたくさんつなげることで、スケールアウトが簡単にできます。

細かいニューロンの動きは今回は説明を省略させていただくとして、一番興味をもった部分は、Synapse ArrayのSRAMの構造です。
一般的なSRAMのトランジスタの構成は以下のとおりです。

sram
引用元:http://ja.wikipedia.org/wiki/Static_Random_Access_Memory#mediaviewer/File:SRAM_Cell_(6_Transistors).svg

しかし、今回の研究で使われているSRAMは以下の構造になります。
(図を読み解くヒントとして、下の図では値の記憶部分をインバータで表現していますが、上の図はトランジスタで表現しており、
これらは等価なものです。その点だけ気をつければ、違いは大きく一箇所のみです)

sram2
引用元:http://www.modha.org/papers/013.CICC2.pdf

要はrowとcolumn両方ともからread/write可能なSRAMになっています。
こうすることで、軸索(axon)に対応するrowの読み書き、樹状突起(dendrite)に対応するcolumnの読み書きを高速に行うことができます。

まとめ

ざっくりとした話で、サルの脳から始まるアイディアとASIC化について書いてみました。
まだまだアプリケーションレイヤーの話などもありますが、一つの記事には長すぎるのでこの辺りでいったん終わりとします。

最後にまとめようと思ったのですが、実はこれだけの論文を読んだだけだと「サルの脳」と「ASIC化」の関連性がさっぱりとわかりませんでした…。
サルの脳の話はなくても…?という感じがしますが、もう少し読み進めてみないとわかりません。

ということで、ちゃんと物語としてまとまっているのか? あるいは、試行錯誤の中で(サルの脳の話は)うやむやになっているのか、
この続きは(反応があれば)リアルな場で発表したいと思います。

それではみなさん、良いお年を!

Posted at : 2014-12-19 08:18:47 / Category : none

システム系論文紹介 Advent Calendar 2014 やります!

Advent Calenderの詳細はこちら:

システム系論文紹介 Advent Calendar 2014 - Adventar
http://www.adventar.org/calendars/440

実は18日担当だとずっと思い込んでいて、さっきちょうど記事が書き上がった。
1日余裕ができたので嬉しい誤算。
明日も明後日も飲み会なので、はやめにやっておいて正解だった。

Posted at : 2014-12-17 23:31:44 / Category : none

どうにも眼の調子がよろしくない

眼がすごく乾燥して、充血したり眼がゴロゴロする感じがひどい。
コンタクトをつけているのが辛くなってきたので、早めに会社を上がって
家で仕事をすることにした。
家だとメガネがあるので多少は楽というのもあるんだけど、一番の問題は
社内の湿度が20%台まで下がることがあり、とてもじゃないけど眼に良くない。
(ちなみに、家の室内は40%〜50%に保つようにしている)

簡単に言ってしまえば、ドライアイ。
原因がパソコンとか普段の仕事にあると言われれば、そうですねとしか
言いようがないんだけど、ちょっと気になっているのが同時期に
左目の見え方に違和感が出てきたこと。
かかりつけの医者にも相談したけど、
「様子見てみて、とりあえずはコンタクトの度数を調整しますか〜」とそれだけ。
僕自身の感覚としては、それ以降、見えづらくなった分、眼を見開くことが
多くなったせいか、だんだんと眼の乾燥がひどくなった気がする。

一時期はドライアイの専門のところに行ってみたけど、
ヒアレインなどの点眼薬で対処療法のみ。
結局、根本的な原因がいまいちわかっていない。

まぁそんなこともありまして、ちょっと大きめの病院に行ってみようかなと。
「普段の生活が悪い、以上!」って言われるのでも構わないんだけど、
ちゃんと検査をしてみて欲しい。僕自身も何が起こっているかがわかっていない。
ということで、水曜日の午前に行ってきます。

Posted at : 2014-12-15 21:29:01 / Category : none

今日の一枚

晩ご飯のシチュー、ワインが大当たりで良い感じ。銘柄ちゃんと覚えておかないと

シチュー

Posted at : 2014-12-14 21:24:14 / Category : none

お歳暮2014

毎年恒例のお歳暮、主に親とか祖父・祖母に送っています。
毎回毎回1時間ぐらい悩んで(探して)買うのですが、今回はこれにしてみました。

前者は洋菓子、後者はソーセージ。
特に後者は普段食べるにはお高いので、こういう時にこそ食べてもらって、
本当の味を知ってもらいたいというところ。

WITTAMER Online
http://www.wittamer.jp/shopping/index.html

METZGEREI KUSUDA
http://shop.metzgerei-kusuda.com/

喜んでもらえるといいなぁ。

Posted at : 2014-12-11 23:27:48 / Category : none

29.97fpsの理由

NTSCの規格について調べていて、カラーの搬送波をどう配置するかとか、
細かい部分についても気になって調べていた。
まぁ仕様については調べてそのままなのでおいておくとして、
1つ気になったのはここで29.97fpsの理由がわかったこと。

今までなんでだろうなぁとずっと思っていたけど、
(簡単に言うと)モノクロ信号のみの時代から、カラー信号を乗せるようになった時、
電波障害を起こさないように帯域をずらした結果、元々は30fpsだったものが29.97fpsになってしまった、ということ。
詳しくはこの辺りを参照:

NTSC のフレームレートはなぜ 29.97fps なのか
http://www.kagami.org/diary/2004-12-07-1.html

こうして29.97なんていう不思議な数字が出てきたわけですね。。。
何かどうにかならなかったのかなぁと思っちゃうけど…。

アナログ放送も終わった現在、NTSCの規格なんて知っても意味が無いのだけど、
まぁ気になったので調べてみた次第です。

Posted at : 2014-12-10 21:34:55 / Category : none

知識と思考

本や伝聞などで得られる情報は「知識」、それを組み立てて結論を導き出すことが「思考」
これはお互いに両立が必要なもので、どちらも十分に存在する必要がある
また「知識」は「思考」のショートカットであり、他の人が考えた「思考」を
一気に理解したり、「思考」のヒントになったりする。
このお互いの協調を繰り返すことで、知能は形成されると思うな。

教育をする上でどうするべきか考えると、もちろん書籍などで「知識」を得ることは
必要であると思う一方、「思考」のほうが鍛えられていないのではないか?
そんなことをふと思うことが多い。自分自身もそうだったと思うけど。
環境がそうさせたのか、教育制度の問題なのか、どちらも原因としてありそう。

Posted at : 2014-12-08 22:51:27 / Category : none

スカイツリーに行ってきた

先週の日曜日、はじめてスカイツリーに登ってきた。
見晴らしが良い…どころでもなく、やっぱ人多くてごちゃごちゃ。
あと自分が眼があまり良くないのもあって、何となくしか見られない。
双眼鏡があると良かったのかなぁと思った。
もうちょっと人が少なくなってから、ゆっくりと見たいね。

Posted at : 2014-12-08 22:39:59 / Category : none

ようやく英語をそのまま読めるようになってきた

ようやく英語をそのまま読めるようになってきた。
頭のなかで日本語に訳さなくても読めるのは非常に快適。
ある時を堺にして意識が変わったので、突然スラスラと頭の中に入ってくるようになって、自分でも驚きだった。
気のせいか、左脳のあたりが動いているような感じがして、ちょっと気持ち悪い。
普段よっぽどか言語的なところを使ってなかったのか…。

Posted at : 2014-12-03 22:59:00 / Category : none