yaneuraoのブックマーク (302)

  • 美しすぎるプログラムを解読せよの巻 - やねうらおブログ(移転しました)

    #include <iostream> #include <cstring> using namespace std; long long dp[18][4][4][4][4][4][4][4][4][4][4]; #define FORN( n ) for ( int i##n = 0; i##n < 4; i##n ++ ) int main() { memset( dp, 0, sizeof( dp ) ); FORN( 0 ) FORN( 1 ) FORN( 2 ) FORN( 3 ) FORN( 4 ) FORN( 5 ) FORN( 6 ) FORN( 7 ) FORN( 8 ) FORN( 9 ) dp[0][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] = 1; for ( int r = 1; r <= 17; r ++ ) { FORN

    美しすぎるプログラムを解読せよの巻 - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/10/13
    棚瀬さんに「すごい」と褒めてもらった記念。
  • 3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)

    なんかさ、3回に1回出力するだけの簡単なプログラムのお仕事ってあるじゃん。 if ( (++counter % 3) == 0) printf("Fizz\n"); これって意外と難しいんだよね。 ……なんてことを言うと「おいおい、天下のやねうらお、ついに頭おかしくなったか」とか言われるだろうけど、これ実際うちの仕事であった話で、このコードが原因でお客さんと大きなトラブルになった。 あまり具体的には言えないので、ちょっと別のものに置き換えて話すけど、それは、ひよこの餌やりプログラム(仮)だったわけ。 上のプログラムは、3回に1回だけど、このソフトには、N時間に1回、餌をやるロジックが書いてあった。 if ( (++counter % N) == 0) printf("餌やるでー\n"); なんかこんな感じな。それでNの値は、UI(ユーザーインターフェース)で調整できる作りにしてあった。一度

    3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/10/10
    自戒
  • 長いパスワードが安全とは限らない - やねうらおブログ(移転しました)

    なんか最近はセキュリティの強化のためか複雑なパスワードが好まれるようになってきた。 12文字以上にしてくださいだとか、大文字と小文字を混ぜてくださいだとか、数字も入れてくださいだとか。 大文字と小文字を混ぜたパスワードなんてなかなか覚えておけない。 おまけに数字も入れろだと? どう考えても Masahiro19821026 ↑おなまえ。 ↑生年月日だと思われる。 みたいなパスワードになってまうやろ!! 全然安全じゃないよ!!私は、とある会社のサーバーの管理者アクセス権があるんだけど、そこの社員のパスワード、1/3ぐらいの人が↑の形式だったよ!!駄目だよ、駄目。全然安全じゃない。まだ5文字ぐらいのパスワードのほうが安全なぐらいだ。5文字のパスワードなんてBrute Forceでattackされたら一瞬で突破されると言われるかも知れないけど、いまどき連続して入力に失敗したら一定時間IP ban

    長いパスワードが安全とは限らない - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/10/08
    自戒のためにもブクマ
  • ニュースに地図が出てくるサービス - やねうらおブログ(移転しました)

    Yahooニュースで住所が書かれていると自動的に(?)周辺地図が出てくる。 ニュースなので逮捕された人の住んでいる周辺地図の場合もある。ニュース内容から会社名がわかっている場合は、その地図でピンポイントでその会社の場所がわかることもある。そんなのがワンクリックですぐに見れていいのかと思ってしまう。 どうも私は「ここに凶悪事件の犯人が住んでるけど、放火とかすんなよ?絶対すんなよ?絶対だぞ?」みたいな2ch臭さを感じるんだけどな。 悪いことをした人は法によって裁かれるのは当然だとしても、周辺住民や面白半分なネット住民の手によって裁かれるようなことは決してあってはならない。メディアがそういうのに加担してはならないと思うんだけどな。 そもそもニュースに住所が必要なのだろうか。犯人が逮捕されていない事件であれば、どこそこで起きたという情報は周辺住民への注意を喚起するためにも意味があるとは思うが、犯人

    ニュースに地図が出てくるサービス - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/10/02
    こういうWebサービスってあってはならない気がするんだけどな…。
  • インターネットは全自動おもろー - やねうらおブログ(移転しました)

    突如「インターネットは全自動おもろー」だとお告げがくだった。 そんなわけで↓↓↓コメント↓↓↓に、超おもろーなことを書いて俺様を喜ばせてみてくだされ。

    インターネットは全自動おもろー - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/09/30
    いまから出かける( 2010/09/30 11:00) ので帰ってきたら超おもろーなコメントがいっぱいついてますように…。
  • C#のvarとtry〜catchが糞すぎる - やねうらおブログ(移転しました)

    C#3.0からはvarと書くと型を明示的に指定しなくても済む。 var hoge = new HogeClass(); しかし例外処理をするためにこれをtry〜catchで囲みたいとする。 try { var hoge = new HogeClass(); hoge.XXX(); } catch { if (hoge!=null) hoge.YYY(); } このプログラムはコンパイルが通らない。catchのなかでは変数hogeにアクセスできない。try節が終わっているため、hogeのスコープが終わってしまうのだ。仕方ないのでhogeを外部のブロックに出す。 var hoge; try { hoge = new HogeClass(); hoge.XXX(); } catch { if (hoge!=null) hoge.YYY(); } しかしこれまたコンパイルが通らない。var hog

    C#のvarとtry〜catchが糞すぎる - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/09/29
    解決策求む!!
  • われわれは100倍、速く書けない - やねうらおブログ(移転しました)

    西川 ええと……(笑)。受注生産って、人数に比例してもうけるじゃないですか。でも、われわれは人の100倍は速く書けると思っている。じゃあ、その人に1カ月、その分を払ってくれるのかというと、受注じゃ絶対、無理でしょう。でも、ソフトウェアだと可能。 (中略) 西川 同じ「エンジニア」という職種でも、生産性は100倍くらい違いますよね。コードをその人がただ書くという部分だけじゃなくて、例えばチューニングされたコードをすぐ書けるなら、結果的にシステムが速く動く。遅いコードを書いて100台マシンを使用するとなると、いろいろな人がシステム構築にかかわらないといけない。でも同じ条件で100倍速いコードを書けば、1台のマシンで済む。運用も圧倒的に楽になる。だから、生産性はそのくらい変わってくると思います。 第5回 「われわれは100倍、速く書ける」――PFI 西川徹 http://lab.jibun.at

    われわれは100倍、速く書けない - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/09/27
    100倍は無理だけど、まあ5倍ぐらいなら現実的な範疇だとは思う。
  • 彼女と二人で「C」体験! - やねうらおブログ(移転しました)

    なんかライトノベルらしいんですけど… 彼女と二人で「C」体験! (MF文庫 J い 2-7)の内容紹介。 伊沢令人、高校一年生。無趣味。ある日、失踪した姉の残したメモを片手に「マイコン部」なる部活に顔を出した令人は、同じく訪ねてきた織姫葵と出会う。シュガー・ブラウンの髪が輝くような美少女だ。そこで、なぜか強引に入部させられそうになる二人。どうやら姉の残したメモには、100万円の価値があるらしい――。織姫に、そして“プログラム”という未知のツールに出会った令人の運命は、「新しい世界」へ向けて大変動を遂げる! 「わ、わたしぜんぜん経験ありませんっ」「未経験でもいい……俺に“C”を教えてくれ!」高校生プログラマ×ラブコメディ登場!!

    彼女と二人で「C」体験! - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/09/23
    あとで買わない。
  • 僕らが殺したホームレス - Everything You’ve Ever Dreamed

    恋に似ていた。缶ビールを飲みながら夜道を歩いていて、ふと、そう思った。あの化け物あつかいされ忌み嫌われた男と相対したのも、こんな月の綺麗で風がさらさら吹く夜だった。 二十数年前、僕の通っていた中学では一人のホームレスの男が話題の中心にいた。男は学校の周りを鎌を持ってうろついている、いってみれば危険人物で、ユゲ、と呼ばれていた。酒を飲んでいていつも身体から湯気が立ち昇っているから、というのがアダ名の由来だった。ユゲが学校の門の前にやってきて大声をあげるのを見たことがある。湯気はのぼっていなかった。誰かが牛乳パックをユゲに投げつけた。警官がやってきてユゲを連れていった。僕が煙草を一灰にするくらいの、ほんの僅かな時間の出来事だった。 ユゲは《や犬を捕まえては鎌で殺している》ともっぱらの噂だった。首チョンパにした、犬の両目に指を突き刺してコーラの瓶をピン代わりにボーリングをしているとも。《ボ

    僕らが殺したホームレス - Everything You’ve Ever Dreamed
    yaneurao
    yaneurao 2010/09/22
    『ザナドゥ・シナリオ?』のシナリオIIのIIが外字だからだと思うのですが、化けてます。でも、化けてるのではなくて意図的に '?' なのかな…。
  • ぬるぬる動くドールの動画を制作中 - やねうらおブログ(移転しました)

    そんなわけで、世間ではCEDECで盛り上がっているさなかに、ぬるぬる動くドールの動画をひっそりと作っているわけである。ひとりCEDECである。(←寂しい) ここで言う「ぬるぬる」とは「滑らかに」という程度の意味だ。それでは、ひとりCEDECの名に恥じぬよう技術的な部分を詳しく書いていく。 ★ 何故、突然ドールの動画? ニコニコ動画にupされているMMD(MikuMikuDance)/PMDで作られた動画は完成度が高いものが多い。いまや特殊で高価なアプリなしに、フリーソフトだけでこれだけのものが作れるというのは驚くべきことだ。 書籍のほうも充実していて、キャラクターをつくろう! 3DCG日和。 vol.2 - MikuMikuDanceで踊る、ユーザーモデル制作 を見ればモデルの作り方がわかるし、MMDの使い方や動画作成の手引きなら、MikuMikuDanceスターターパックやMikuMik

    ぬるぬる動くドールの動画を制作中 - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/09/01
    萌えダンスドール動画制作のとても長い道のり
  • 2010-08-14

    WWWサーバーって最近聞かない。聞かないどころか、WWWサーバーって書いてあるのを見ると、WWWの部分がネットゲーとかでよく目にする爆笑を意味する文字列に見える。 ____ /_ノ  ヽ、_\ ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒) | / / /     |r┬-|    | (⌒)/ / / //  WWWサーバーだっておwwwwwwwwwwwwwwwwwww | :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/    WWWサーバーwwwwwwwwwwwwwww |     ノ     | |  |   \  /  )  / ヽ    /     `ー'´      ヽ /    /     バ |    |   l||l 从人 l||l

    2010-08-14
    yaneurao
    yaneurao 2010/08/15
    てすと
  • 人生はゲームだ - やねうらおブログ(移転しました)

    ときとしてゲームプログラマーの間でも紙芝居型のノベルゲームゲームに属するのかどうか議論の対象となったりする。 私は広義の「ゲーム」を次のように定義すればどうかと思うんだ。 与えられた制約条件を満たす解を求める行為のこと。 この意味において、「x + 1 = 2 のときの x の値について求める行為」は紛れもなくゲームである。 「先月は外をしすぎたから今月は費は3万円以内でやりくりしなきゃ」も間違いなくゲームである。 このように考えていくと我々の生活シーンで見られるほとんどの行為が実は広義の「ゲーム」に属することがわかる。人生はミニゲームの集合体なのだ。 また、この制約条件が厳しいほどゲームとしては難度が高く、難度が高いほうが脳をより動かさないと解けないので、高度なゲームである。一般的に言って、適度に高度なほうがゲームとしては面白い。 すなわち、 「先月は外をしすぎたから今月は費は

    人生はゲームだ - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/07/27
    "人生はミニゲームの集合体"
  • vhd×復元ポイント - やねうらおブログ(移転しました)

    復元ポイントの問題点として対象がドライブまるごとになってしまうということが挙げられる。Windows Live Syncで共有しているフォルダだけ大きな復元ポイント用の容量を確保したいのである。 Windows 7/Windows Server 2008 R2以降は、vhd形式という仮想ドライブが標準でサポートされている。vhdドライブからブートさせられたり、なかなか便利な機能ではあるのだが、ネイティブのドライブとの違いがいくつかある。 私が最初考えたのは、Windows Live Syncでバックアップのために共有させるドライブはvhdで用意した仮想ドライブにすればどうかということであった。それならば、そのドライブだけ復元ポイント用の容量を大きく確保することも可能だし、物理ドライブまるごとBitLockerを使って暗号化するより効率的なはずだ。 そもそもBitLockerで2TBのHDD

    vhd×復元ポイント - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/07/09
    これは凄くない。
  • レベル255のプログラマになる方法 - やねうらおブログ(移転しました)

    KLab×はてな エンジニア応援ブログコンテストというのをやっているらしいので、私もちょっとした小話を書いてみる。 もうかれこれ10年近く前の話なのだが、そのことはいまでも鮮明に覚えている。 私は当時学生だったA君に、とあるプログラムの修正の仕事をお願いしたのだ。A君はとても優秀なプログラマだった。しかし正直に告白すると私は彼がどれくらい優秀なのか、その時点はあまり正しく理解していなかった。 A君はすぐさま与えられたソースコード上のバグをいくつか見付け出した。そのバグの一つは、私の部下のT君が書いたコードに存在していた。そのバグを修正したついでにA君は「なんでこんなことするんだ!こうなってると×××が○○○になったときにバグるじゃねーか!この大馬鹿野郎!」みたいな罵声混じりのコメントをプログラム上に追記した。 そのコメントを見て、その元のコードを書いたT君はいたく感情を害した。T君は「もう

    レベル255のプログラマになる方法 - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/06/27
    プログラムの世界に自己を没入させる
  • 有料会員から無料会員でオワタとならないために - やねうらおブログ(移転しました)

    いまどきにのWebサービスにおいて、ニコニコ動画、DropBox、GMailなど有料会員だとアップロード容量が増えるサービスは枚挙いとまがない。 例えば、DropBoxでは無料会員は2GBだが有料会員は50GBだ。では、課金して50GB使っている状態で、課金をやめ無料会員に戻った場合、アップロードしてあった50GBのデータはどうなるのだろう?(再度課金するまで)凍結か?削除か?読み取り専用か? 課金によって一時的に容量の増えるWebサービスはあまねくすべてこの問題を抱えている。 もし、このケースでデータが読み取り専用のまま残るなら最低期間だけ課金→ファイルを限界までアップすれば、オンラインストレージとして使えるかも知れないので、普通は無料会員になった時点で凍結なんだろうなぁ…。 ニコニコ動画とかどうなってるんだろう。 ここで挙げたWebサービス以外についてもいろいろ情報をコメント欄↓でお願

    有料会員から無料会員でオワタとならないために - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/05/23
    ↓わぁー。戀塚さんから!?ブクマ&コメントありがとうございます
  • 僕はゲームセンターで暗記することの重要性を学んだ - やねうらおブログ(移転しました)

    「僕はドルアーガで頭がおかしくなった」(→ http://d.hatena.ne.jp/yaneurao/20090108 )のようなおかしなゲーム人生をスタートさせた私は、中学1年のとき(25年ぐらい前)には全国スコアラーの仲間入りをしていた。 当時の私の一ヶ月のお小遣いは、2,000円であり、1ゲーム100円ならば20回。50円でも40回しかプレイできない。1日2プレイが限度だ。学校は16時ごろに下校して、そこから24時までゲーセンに入り浸りなので、時間は8時間近くある。当時のゲームは1プレイ10分ぐらいが普通だったから、乏しい軍資金に対して、時間が圧倒的に有り余っていた。 当時といまとでは100円の(個人的な)価値は全然違っていて、当時の100円は、いまの私にとって、3万円か5万円ぐらいの価値があった。それはもう大金だった。100円を入れてゲームを1回プレイすると私は緊張のあまり手が

    僕はゲームセンターで暗記することの重要性を学んだ - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/02/18
    一度見たものすべてを暗記できる程度の能力(がゲーマーには必要だという話)
  • mixiアプリ グラディウス1000万点への道 - やねうらおブログ(移転しました)

    「僕はグラディウスで頭がさらにおかしくなった」(→ http://d.hatena.ne.jp/yaneurao/20100122 )で書いたように狂ったようにグラディウスをやった一人として、mixiのグラディウスも攻略しないわけにはいくまい。 とりあえず、1000万点(26周目)に達したので、編集して動画をいくつかアップする。 コツとしては、いかに安定してクリアできるかにある。JoyStickだとレスポンスが悪いので、キーボード操作を私は選んだ。フレームレートが低いので、SPEEDは1にしておかないと壁に激突しやすくなる。SPEED1でクリアするためには、敵の出現位置をすべて覚え、出現同時にやっつけるというのが基的な攻略方針である。あと、stage 1〜7のすべての箇所で安定して復活できる必要がある。すべてのstageのすべての場所の復活パターンが完成していなくてはならない。 また、安

    mixiアプリ グラディウス1000万点への道 - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2010/02/07
    mixiアプリグラディウス攻略動画(自作)
  • やねうら王 公式サイト

    サイトのメインコンテンツ やねうら王 — 棋力的にトップ集団の将棋ソフトに比肩する将棋ソフト やねうら王オープンソースプロジェクト — やねうら王miniから最新のやねうら王までのソースコードと思考エンジン体 ふかうら王 — Deep Learningを採用した新しい時代の将棋ソフト たけわらべ — 利きだけを理解している新しい感覚の将棋ソフト Stockfish完全解析 — コンピューターチェスの強豪ソフトStockfishの完全解析 将棋電王戦  — 株式会社ドワンゴ主催の将棋電王戦。やねうら王は4年連続出場 コンピューター将棋全般 — コンピューター将棋全般の話題 プロコン — CODEVSなどプログラミングコンテストの話題 なお、この記事のここから下には新着記事が表示されています。

    yaneurao
    yaneurao 2010/01/09
    サイトリニューアルしました[2014/12/17]
  • サンタさん、ひゃくおくまんえんください(当方切実) - やねうらおブログ(移転しました)

    ※ これはとある目的のために別のブログに投稿した文章です。4人しか見てくれなかったのが悲しかったのでこちらに転載しておきます。なお、内容は一応フィクションです。 子供のころ、私の家では、サンタさんにお願いするためのプレゼントは、クリスマスの1週間前までにアンケート用紙に記入して母にそれを渡すとそれがクリスマスの日に届くという習わしになっていた。 「どうして一週間前がプレゼントの締め切りなの?」と私が母に尋ねると「サンタさんかて、プレゼント買う金をおろすのに銀行行かんとあかんやろ。年末になると銀行混んでるんや。ほやから早い目に銀行行かんとあかんねん。」と答えた。このとき私は初めてサンタも普段は家にはあまり現金を置いていないのだと知った。 「どうして、アンケート用紙には第三希望まで書かないといけないの?」と私が母に尋ねると「サンタさんかて、予算っちゅーものがあるんや。今年のサンタさんは冬のボー

    サンタさん、ひゃくおくまんえんください(当方切実) - やねうらおブログ(移転しました)
    yaneurao
    yaneurao 2009/12/30
    姉を消してくれるのはサンタではなくサタンだった。
  • やねうらお−よっちゃんイカを食べながら年収1億円稼げる(かも知れない)仕事術

    日々、新しい言葉が生まれ続けている。そのこと自体に私は異存はないのだが、現代において当に言葉の意味が変遷するようなことがあるのだろうか。 例えば、「役不足」の意味をいまだに間違えて使っているような人がいるのだろうか?インターネットだと掲示板などでさんざん「来の意味は〜」なんて書かれており、私はインターネットを始めてから、もうすでに何十回もそういう書き込みを見た。インターネットならば国語辞典だって調べることが出来、どちらの意味が正しいのかぐらいすぐに確認することも出来る。 インターネットにアクセスできない人たちならともかく、インターネットにアクセスできる人たちが間違った意味で覚えたり、使い続けるなんてことはあり得ないんじゃないかと私は思うんだが。 私は、小学生のころ、「夫婦喧嘩は犬もわぬ」という表現を友達に使って、友達はそんな言い回しは知らず、「そんな日語ないよねぇ」と寄って集って馬

    やねうらお−よっちゃんイカを食べながら年収1億円稼げる(かも知れない)仕事術
    yaneurao
    yaneurao 2009/11/05
    いつか日本語parserを作りたいなぁと思っている今日このごろ。