タグ

ブックマーク / shinh.hatenablog.com (10)

  • 20%ルールについて - 兼雑記

    20%ルールという仕組みの雑談になって色々考えていたことを思い出しました。 僕はこう、20%ルールがあまり好きじゃない。まず、時間が細切れになって効率が悪い問題というのがある。「20%ルールのおかげでイノベーティブなプロダクトが生まれた」というのは、イノベーティブなアイデアにも関わらず100%の時間をそこに費やすことができなかった、ということなんじゃないか、と思ってしまう。1ヶ月で実現できたはずのアイデアに、単純計算で5ヶ月かかるわけで ここで、僕の好きじゃないスタイルの20%ルールは、金曜日は20%、他はメインのプロジェクト、というスタイルのやつに限定している 好きなスタイルとして、 http://shinh.hatenablog.com/entry/2016/03/11/142748 に書いた「半年メインプロジェクトに集中してた僕ですが、なんかやってみたいことができました、1ヶ月時間こ

    20%ルールについて - 兼雑記
    YAA
    YAA 2019/04/12
  • kati について - 兼雑記

    https://github.com/google/kati kati について、ドキュメント書こう…と思っていたのですがなかなか進まないので、とりあえず日語で書いてみることにしました。何書くかがあまり明確じゃないテーマなので、何書くか考えるのと英語考えるのを両方同時にやるのが少し大変で。 動機 kati は GNU make のクローンです。いずれ完全なコンパチになると嬉しいですが、なかなか難しいだろうと個人的には諦めています。用途に対して実用的ならば良いかなと。 動機としては、 Android platform のビルドシステムが、なかなかシュールな GNU make 黒魔術で構成されていて、 make が実際になんかしはじめるまでが遅かったので、そこを高速化したいというものでした。 ビルドシステムが遅いという時、まずだいたいヌルビルドとフルビルドの2点を考えます。ヌルビルドてのは生

    kati について - 兼雑記
    YAA
    YAA 2015/09/24
  • ppencode 2 - 任意の Perl コードを予約語だけの Perl コードに変換する - 兼雑記

    @TAKESAKO さんが ppencode を作ってから 10 年経って、私が任意の Perl コードを小文字だけに変換するスクリプトを書いてからでも5年経つらしいですが、なんか任意の Perl コードを予約語だけの Perl コードに変換するスクリプトができました。 http://shinh.skr.jp/obf/ppencode.html オリジナルの ppencode に敬意を表していろいろ雰囲気を似せておきました。割と色んな予約語が使われるようにしてみたりとか。 これは Perl が予約語だけあれば Turing complete ということなので、副産物として Quine もできました。 http://golf.shinh.org/reveal.rb?Quine/shinh+%28keywords%29_1431106882&pl なんというか、 ppencode があれば後は

    ppencode 2 - 任意の Perl コードを予約語だけの Perl コードに変換する - 兼雑記
    YAA
    YAA 2015/05/10
  • puyoai AI vs AI 動画 - 兼雑記

    http://www.youtube.com/watch?v=kk97-SQhkwA http://www.nicovideo.jp/watch/sm20002331 適当に上げてみました。私の AI (cpu/hamaji/lps.sh) がたまたま綺麗に勝ってる感じで気分が良いです。ただ連鎖発火検出ミスってるのはおかしな話ですね内部状態使ってるモードなので… 左の AI は私の lps という AI で、 let's puyo sho-bu の略です。ネクネクまでの盤面探索した後の評価値が高いものを採用するっていう普通のものです。連鎖数以外の基的な評価値は人間のぷよ譜からボナンザの方法を参考にして学習するようにしていて、それに手動で足した調整が少し入っている感じです。 連鎖埋めちゃうのがこわくて折り返しが作れない臆病な子なので、連鎖尾ばっか増やして飽和連鎖数が少ないです。あと序盤のム

    puyoai AI vs AI 動画 - 兼雑記
    YAA
    YAA 2013/04/30
  • puyoai - 2013-02-03 - 兼雑記

    有志でやってた、ぷよ AI 作ったりして遊ぶコードを github に起きました。 TODO やおかしいところがたくさんありますが、キリがないので、まあとりあえず置いておこうという… https://github.com/puyoai/puyoai 人類最強を実際のゲーム機上で倒すことを目標として作られてますが、脇道として色んなコードがごちゃごちゃ入っています。 LinuxMac で動作するものが多いです。 duel/duel トップレベルで make してうまくいくとできる duel/duel は AI vs AI をシミュレータ上で戦わせることができます。例えば $ ./duel/duel cpu/hamaji/lps.sh cpu/shinyak/run.shなどとして AI 同士で戦わせることができます。 $ PUYO_REALTIME=1 ./duel/duel cpu/h

    puyoai - 2013-02-03 - 兼雑記
    YAA
    YAA 2013/04/30
  • 正規表現の文字クラス - 兼雑記

    Perl は正規表現とか " ではさまれた文字列の中にある変数とか配列を展開してくれるんですが、これは明らかに正規表現の文字クラス ([abc] とか書くヤツ) とブツかるわけです。 以下のコードは @a に 0-999 まで "x" っていう変数をつっこんでから s/$a[...]/y/; 的なことを実行して、 $_ に入ってる x を y に変えようとするコードをいくつか。 #!/usr/bin/env perl for ($i=0; $i < 999; $i++) { $a[$i] = "x"; } $_ = "x"; s/$a[12]/y/; print "12: $_\n"; $_ = "x"; s/$a[123]/y/; print "123: $_\n"; $_ = "x"; s/$a[-2]/y/; print "-2: $_\n"; $_ = "x"; s/$a[-22]

    正規表現の文字クラス - 兼雑記
    YAA
    YAA 2013/03/08
  • ICFPC 2011 - 兼雑記

    http://www.icfpcontest.org 問題は例年通り面白い…とかいう次元じゃなくて無茶苦茶よくできてるなーと思った。感動的に。 L:tG とかいう対戦型カードゲームAI を書く。 M:tG に名前似てるけど、デッキとか作る感じではなくて、15枚のカードをいつでも使える感じ。カードは256個のスロットに置いていって使う。256個のスロットはそれぞれ HP を持っていて、 HP がゼロになると死ぬ。相手のスロットを全部壊せば勝ち。15枚のカードはそれぞれすごい細かい機能しか持ってない…っていうか関数型ミニ言語のオペレーション一個分しかないので、かなりの枚数を組み合わせて強い効果のある魔法を作っていく感じ。 このへんのバランスが絶妙で、相手を全滅させるような強力な魔法を作ろうとすると、それを作ってる間に殺されたり邪魔されたりするかもだし、かと言ってメラを連打してても相手は死な

    ICFPC 2011 - 兼雑記
    YAA
    YAA 2011/07/20
  • ゴルフ場のなかみ - 兼雑記 (2009-09-29)

    最近ゴルフ場を新しいマシンに引越そうとしていて、ついでなのでシステムをもうちょっと丁寧にパッケージ化しようとしてます。そのついでとして、現在のゴルフ場について内部がどうなってるか、ということを少しまとめてみようと思いました。 結構似たようなことをするサービスもあるんですが(codepadとかllevalとか)、そのへんのコードとかは全く参考にしてないので、そういうのを見た方がいいかもしれませんし、あとゴルフ場固有の事情も色々あったりするかもしれません。まぁでも日語でそのへん書いてるのはあんまり見たことがないので、多少参考になる部分もあるかもしれません。 今作業中のコードは github に入れていっています。 apt で入らないパッケージの処理以外はだいたい入ってるはずですが、まだ足りないものとかあるかもしれません。 http://github.com/shinh/ags システム自体は

    ゴルフ場のなかみ - 兼雑記 (2009-09-29)
    YAA
    YAA 2009/09/29
  • sevilwm 0.9.9 - 兼雑記

    数ヶ月前にいただいた変更だのバグ指摘だのを取り込み… http://shinh.skr.jp/sevilwm/ 特にバグの方はぶっちゃけ SRM 的な理由で自分が困っていたのに修正しないとか困ったものです :-(((((((((

    sevilwm 0.9.9 - 兼雑記
    YAA
    YAA 2008/10/11
    >sevilwm 0.9.9
  • sevilwm-0.9.0 - 兼雑記

    なんか最近欲しいなーと思っていた、 window の位置を記憶するとかそのへんをやろうかという試みを。色々適当なところ多いんで今度なおす。 http://shinh.skr.jp/tmp/sevilwm-0.9.0.tgz やりたいことはまぁ色々あったんですが、とりあえずランタイムに window の位置やらキー設定を変えたい(こっちは未実装)というのがありました。しかしまぁスクリプト言語組み込むとかは sevilwm 的に好みじゃないので以下のようなものになりました。 /tmp/sevilwm_$DISPLAY というディレクトリを作って、その下に unix domain socket を配置してあります。こっから情報が取れます。 % ruby unixclient.rb /tmp/sevilwm_$DISPLAY/info % ruby unixclient.rb /tmp/sevil

    sevilwm-0.9.0 - 兼雑記
  • 1