ToDo:
https://plus.google.com/+golco30/posts/WTBX6AJq78m
を見て、自由度の高いゲームに本来の楽しみ方とか言うのはロクなことにならないよなあ、とか思ってたらコメントで指摘されてて健全だった。
たまーに開いてポチポチ、みたいなのも許容する懐があるところが Ingress のいいとこっていうか、まあ逆にその自由度無ければ単純にゲームとしてはかなり微妙だしな。。
「C++らしい書き方」とかと通じるものがある。
(00:54)
プロジェクタつきのタブレットというクレイジーなコンセプトに参って買ってしまった。
店頭で触った tab 2 pro から想像してたよりプロジェクタがまとも。。明るいときついけど
https://goo.gl/photos/LBh9ZrDhmKMeZJF19
夜なら普通にゲーム見るとかに使える感あって良い
https://goo.gl/photos/eVSFpy4toShn4pUW9
(20:53)
シミュレータ上で putchar を連打するような C プログラムが動いたので、実機で動かしてみた…ところおかしい。エンディアンをいろいろやってるとシミュレータで壊れたが実機で期待通りの動きをするようになる。
元々シミュレータで動かしてた段階で2つのエンディアンに関する間違いがあって、片方がロードするデータ片方が命令の処理。でロードする部分が実機用のシリアルから受け取るやつになったからバグった、てことかな。
つーかリトルエンディアンの PowerPC を作っていたことになる…気がする。エンディアンとか難しすぎてつらいよ。。
あと配線いつも忘れるので写真撮っておいた。これも RX と TX を逆につないだりしてですね。。
https://goo.gl/photos/XzKck3w65ySqmP6b9
混乱しまくっていたので、情報をダンプする方法が欲しくなって、レジスタと RAM の内容ダンプする機構を作ったりした。よく見るとリセットに使ってるボタンの隣にボタンあるので、それをダンプボタンとして使えば良いのであった。。
まあ軌道に乗ってきた感あるので、 FizzBuzz くらいなら数日で動くようになる気がする。 IO をつなぐのがさっくりできればいいんだけど、実機使ってこのへん書くとここもハマるかもしれない。
あとそれと OS ていうか sc の行き先の実装をソフトで書けるようにした方がいいかな。今のところ write(1, ptr, 1) と exit(0) だけコアが実装してるみたいなことになってる。
(01:42)
やっとこさテスト書きつつ進められる環境を整えた。 当たり前だけどテスト書くと格段にバグ取りやすくなった…もっと早くやるべきだったのだろうか。 まあこれで空いた時間にチマチマ進められるんじゃないかな
(01:36)
https://twitter.com/kadongo38/status/671007951612702720
を見て、前者は知らんが後者そうなのかと思った。当たり外れはともかく、とりあえず騒ぐ人が少しいるのは、全くいないより少しマシだと思ってるからかな。
でケンカしてたのはこれか。
言われてみれば見た記憶もあるけど、どっちかというと
の方が一枚上手感が
(20:27)
http://simanman.hatenablog.com/entry/2015/11/19/203517
via http://d.hatena.ne.jp/Ozy/20151123#p1
完敗だなー。でもこれはRubyゴルフ裏定石(命名適当)で縮む(132B)
n,h,w,*f=*$< puts eval"z=w=#{w} f=f.map{|l| l.gsub(/./){ (?*+$&+?.*z+=1)[(0..8).count{|e|(f*2)[~-z/w-e/3][(z-e%3)%w]<?.}-3] } };"*n.to_i
指摘されてる通り、 @rotary-o さんのやつの方を使うと(131B)
n,h,w,*s=*$< s*='' $>.<<eval"i=w=#{w} s.gsub!(/./){ (?*+$&+?.*i+=1)[(0..8).count{|j|(s*2)[(i-j%3)%w-(~-i/w-j/3)*~w]<?.}-3] };"*n.to_i
こういう技知ってても10B近くの大差つけられて負けるわけで、やっぱゴルフはアルゴリズムなんですよね…
(01:16)
https://github.com/google/kati/issues/38
homebrew パッケージが HEAD を参照してるのは気持ち悪いから、リリースタグ打ってくれない?て話。言ってることわかる。
でも kati て Android 以外の何かに役に立つとは思えなくて、 Android は既に kati リポジトリをトラックしてるんでユーザがインストールする必要ないんだよな。
というわけで homebrew から消してよ、て言うと破壊的な変更はしないポリシーがあるとのこと。言ってることわかる。
今タグ打ってやるのは簡単だけど、その後誰も使わないもののためにタグをメンテする意思などゼロだろうし、万が一誰から homebrew でインストールすると、単にすげー古いバージョンを使わされることになる。つーわけで HEAD 使っといて…ということにした。
元々パッケージを突っ込んだ人が実際には使ってないのはほぼ間違いないと思ってて、 github/google だし誰かの役に立つだろー的に適当に入れたんでないかなと思う。それ自体は良いことかと言われると疑問もあるけど、まぁ悪いことでもないように思う。
なんか特に悪いことをしてない悪気のない人達によって、使い道の無いものをメンテする必要ができたり、僕の方でもそれの対処を考えたり、無駄な時間使う必要ができて…みたいなせつない話
ああというか homebrew パッケージについてドキュメントに書く、って PR 送ってきたのもこの人か。
https://github.com/google/kati/pull/12
この時に homebrew から消して欲しい、てお願いするのが良かったのかな
(01:11)
https://twitter.com/shinh/status/663715003690692608
とか
https://twitter.com/shinh/status/663723143849054208
の話をしてて、詳細な解説があると教えてもらった
http://8-p.info/perl-interpolation/
(12:25)
Ruby ででかいデータ流し込んででかい結果を喰うのは相変わらず open3 が正解なのかな。
require 'open3' out = Open3.capture3('cat', :stdin_data=>'x' * 999999) p out[0].size
spawn がよろしくやってくれるという話があった気がするけどあまりそういうものでもない気がした。
実装読め系
Python だとインタラクティブなケース、つまり stdin に print でががっと流し込んで(この間に OS の pipe のサイズはあふれる)、でもブロックせずに結果を少し読んで、そんでまた流して…みたいなことができた気がしたけど、どうも気のせいぽいな。
スクリプト言語側で仮想的に pipe が無限サイズあるみたいな感じにすることはできると思うんだけど、まあ既にいろいろありそうだな
(20:25)
前 | 2025年 4月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。