Hatena::ブログ(Diary)

西尾泰和のはてなダイアリー

2017-02-28

未踏会議と未踏ナイトの違い

未踏会議のデジタルサイネージがあちこちの駅で見られるようで、話題になっています。この機会に混同されやすい未踏会議と未踏ナイトについて改めて説明して置くことにします。

未踏会議は、完全招待制のイベントで、招待状がない人は参加できません。ニコ生で中継されるのでオンラインでなら誰でも見ることが出来ます。サテライト会場でパブリックビューイングという選択肢もあるようですが僕は参加したことがないのでわかりません。

IPAの公式ページ: https://www.ipa.go.jp/jinzai/mitou/2016/mitoukaigi2017.html

未踏ナイトは同日同会場で未踏会議終了後に行われる、未踏卒業生を中心とした交流イベントです。未踏関係者と未踏会議に招待された人が参加することが出来ます。

Facebookページ: https://www.facebook.com/events/1025361637607737/

申し込みページ: http://eventregist.com/e/vSvNCjdP4KS5

2017-01-03

猫ルアーフィッシング

猫ルアーフィッシングの動画を公開したら何というおもちゃか聞かれたので。

Austrakeというやつです。

Da Birdというやつです。

うちの猫のウィッシュリストに替え羽を入れておいたけども、結構高いので羽素材を買って自作しようかなぁと考え中。

2016-05-13

レジ「972円です」客、支払う。レジ「104円のお返しです!」

ビジネス街のレストランで972円の昼ごはんを食べている僕。聞くとはなしにレジのやり取りが聞こえていくる。


レジ「972円です」

レジ「104円のお返しです!」


……えっ、何が起きたんだ?


出題編

しばらく考えて、客もレジも間違ったコインを渡したり、渡さなくて良い余計なコインを渡したりしていなくても成立しうるストーリーを思いついた。これを考えるのは結構面白かったので、ブログ記事にすることにした。(間違いを許容すると別解がある)

ヒント編

僕の思考の過程を追いながら一歩ずつ回答に近づいていこう。


僕「100円がお釣りとして返ってくるということは、客は100円玉は出していないということだろう」

僕「仮に客が1000円を出していたら、お釣りは28円だ」

僕「客が104円のお釣りを受け取るには、1076円払う必要がある。76円払うには1円玉を出す必要があり、お釣りに1円玉が返ってきているからこれはおかしい」

僕「仮に客が1500円出していたとしたら、528円返ってくる。これもおかしい」

僕「レジが972円だと言ったが、実際に支払われたのは972円ではないのでは?」

僕「このシチュエーションでそんなことが起こるには…」

僕「今僕が食べているランチも972円」

僕「回りを見渡すと、僕みたいに一人で食べている人も、複数人で食べている人もいるな」

僕「複数人で972円のランチを食べてレジに向かえば、レジが『一人あたり』972円と言って、客が複数人分まとめて異なった額の支払をするケースはありえる」

僕「2人分払って2000円出すとお釣りは56円、3人分だと84円、4人分だと112円」

僕「実際のお釣りは104円だった」

僕「4人だとオーバーするし、2人だと48円足りない」

僕「3人だと20円足りない」

解答編

僕「つまり、こうだ」


客、3人でレジに向かう。

レジ「(一人あたり)972円です」

客、3020円払う。

レジ、それを見て3人分だと理解する。

レジ「104円のお釣りです」


客の暗算能力が低くても、レジには計算機があるから問題無いだろう。


レジ「(一人あたり)972円です」

客、3000円取り出す。

レジ、それを見て3人分だと理解して計算機に3人分と入力する。

計算機に、2916円と表示される。

客、それを見て、財布にあった10円玉を2枚追加する。

レジ、受取額として3020円と入力する。

計算機に104円と表示される。

レジ「104円のお釣りです」


別解

コインの間違いを許容する場合「客がお釣りを100円にしたくて1072円支払おうとしたのだけど、1円玉と間違えて5円玉を出してしまい、1076円支払ったことになり、お釣りが104円になった」という別解がある。「4円」が「1円と5円の差」だという解釈だ。

2015-10-21

Paho-MQTTでUnicodeDecodeErrorが起こった話→bytearrayを使う

 File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1693, in _send_publish
  upayload = payload.encode('utf-8')

UnicodeDecodeError: 'ascii' codec can't decode byte 0xaf in position 0: ordinal not in range(128)

なぜかペイロードをASCIIとみなしてUTF-8に変換しようとするので、整数値をstruct.packでバイナリにしているようなケースに「運悪くASCII以外の文字になった時だけ実行時例外が起こる」という罠にはまった。

---

# single('\xfe')  # NG
single(bytearray('\xfe'))  # OK

なるほど、bytearrayにすればOKでした。

2015-09-14

トランジスタでNOT回路とNAND回路を作った

ArduinoやRaspberry Piのデジタルピンはどういう仕組で読み書きをするんだろうと疑問からどんどん掘り下げていって、ちょうど手元にトランジスタがあるからこれで論理回路を作ってみよう、まずは一番簡単なNOTからやろう、と思ったらNOTだけで週末が終わってしまいました。

何につまずいていたかというと、データシートでどの足がゲートなのか確認したのだけども、図が「下から見た図」なのに「上から見た図」だと勘違いしていたのでトランジスタの向きが逆、というところでした。

↑このツイートの時点ではまだ上から見た図だと思い込んでいる。