タグ

ブックマーク / shyouhei.tumblr.com (13)

  • ruby/ruby#495日本語解題

    三行で卜部って口だけ野郎でどうせたいしたもん書けないんでしょ? [1] [2]→ 見せてやんよゴラァ→ ごらんの有様教訓: 陰口は人に聞こえない所で。さすがに名指しはまずい。 どういうパッチかRubyのオブジェクトサイズを変更(大きく)する。そのことにより第一義的にはCPUキャッシュミスヒットが削減される。副次的作用として大きくなった余剰の領域にデータを詰め込めるので中間構造体を減らしてメモリアロケーションが最適化される。それらの総合的な結果として全体に高速化する。 前史とはいえこのアイディア、べつに最近涌いて出たものでもない。というか、俺がまだ大学院でNetBurstと戯れてたころの発想だから、かれこれ7~8年物だな。しかもこの間べつに秘密にしてたわけでもなくて、Rubyのオブジェクトって素数幅でいくなくね?ってのは、わりと口頭では折に触れて言ってたので、聞いたことがある人もいるはずか

    ruby/ruby#495日本語解題
    rin51
    rin51 2014/01/10
  • #rubykaigi バイヤーズガイド '13

    #rubykaigi バイヤーズガイド ‘13 あえてアマゾンのリンクは貼らないので会場で会おう たのしいRuby 第四版これを買うべき人: 全員ひとこと: ついにRuby 2.0の時代が格的に始まったことを宣言する決定打的一冊であり、必携。今後「情報がないから2.0は不安」などとうそぶくことはこれで不可能になった。テストから見えてくるグーグルのソフトウエア開発これを買うべき人: テストを日常的に書いている人と、テストを書く習慣がない人ひとこと: これはずばり俺が読みたいので買います。こちらからは以上です。白と黒のとびらこれを買うべき人: 「記号と再帰」がおもしろかった人ひとこと: まあなんていうんですかね、形式言語とか好きな人って結局そっちに道を踏み外しちゃうきっかけってテングワールだったりするわけじゃないですか。だからこういうふうに攻めてくるのって変化球のようでいて実はど真ん中だと思

    #rubykaigi バイヤーズガイド '13
    rin51
    rin51 2013/05/30
  • #naruhounix について

    どうなんですかねえ。まあぶっちゃけ、このにツッコミを入れることが容易な種族はいる。たとえば「プロセスがfork(2)するときにPOSIX semaphoreをsem_wait(3)してたらそのセマフォはどうなってまうの?」とかそういうの(実際書いてない)ね。けど、それって、そういうの目ざとく気がついてしまう人、はっきりいって対象読者じゃないというべきだろうなあ。LinuxとBSDのカーネルコミッターの皆さん、セプキャン講師陣の皆さん、未踏スーパークリエーターの皆さん、お疲れさまです。おまえらはお呼びじゃない。 でね。俺もどっちかというとお呼びでない側っぽいので、色々考えた。昔はCで書くしかなかったサンプルコードがRubyで書いてあるというのはよいですね。なにがよいかってCほど煩瑣じゃないから、質的な記述(だけとは言わないまでも)の割合が大きくて、いわゆる密度が高い気がする。なのでページ

    #naruhounix について
    rin51
    rin51 2013/05/14
  • DeNAに転職します

    宮川達彦さんがCOOKPADでRuby書いてるなら俺がDeNAでPerl書くのもまあありなんじゃないかと思ったので。 よくある質問とその答えQ. 一時金もらえるんでしょ? 200万? やったー! ごちそうさまです A. ねーよ。おまえはいつの話をしてるんだ。そのキャンペーンはずいぶん前に終わりました。 Q. ベイスターズファンだったの? A. 好きでも嫌いでもねーよ。野球の趣味を理由に転職するの必ずしもダメとは申しませんが、俺はそういう類の輩ではございません。 Q. モゲマス作るの? A. 作らねーよ。Mobageだからといって全部のゲームをDeNAが作っているわけでは、実はないのです。モゲマスは違います。 Q. Rubyやめちゃうの? A. やめねーよ。コミュニティ活動に関しましては、むしろ推奨されていると聞き及んでおります。あと当然、素性を隠しておりませんので、俺が何者かは分かった上で

    DeNAに転職します
    rin51
    rin51 2012/10/02
  • 「来年度からプログラムを書く仕事をすることになってしまった不幸なおまえらの道標となるべき書籍十冊」みたいなエントリは読むな。

    「来年度からプログラムを書く仕事をすることになってしまった不幸なおまえらの道標となるべき書籍十冊」みたいなエントリは読むな。 毎度そのようなエントリを読む度に、かつて「コンピュータの名著・古典100冊」という紙のが出たときに一応おさえておくかと思い読んでみたら紹介されてたのが軒並み絶版で腰砕けだったことが鮮やかに思い起こされます。 ただまあ、自分もなってみて分かったのは、おっさんというのはノスタルジアに生きるものであって、したがっておっさんに過去を向いて生きるなとか言ってみたところでどうしようもないということでございまして。「コンピュータの名著・古典100冊」をやった人たちを、当時はひどい仕事をする人たちだと思いましたけれども、今となってはむしろ、しょうがないのかなあと思うようになりました。 そんで、いずれにせよ新人の皆さんはおっさんのノスタルジに付き合う必要は微塵もございませんので、俺

    「来年度からプログラムを書く仕事をすることになってしまった不幸なおまえらの道標となるべき書籍十冊」みたいなエントリは読むな。
    rin51
    rin51 2012/02/08
  • Pythonでおk ─ 書評: C言語によるスーパーLinuxプログラミング

    あのね、このAmazonの内容紹介が あまりにたわけていて ね。 Cライブラリで、効率的にプログラミング! Webアプリの世界ではPHPJavaが格段とポピュラーだが、ハードウェアの操作や ユーザーインタフェース、画像処理などの分野ではC言語でしか扱えないものが多く、近年、現場でのニーズは高い。 書は、プログラミングでの複雑な処理を短時間に組むために用意されたライブラリに焦点を当て、その使い方を解説しました。 データベース・プログラミングからネットワーク、科学技術計算、コンピュータグラフィクスまで、 ライブラリの活用術を身につけ、複雑なコーディングを簡素に実現する。 LinuxのディストリビューションにはUbuntuを採用。 あれですか句読点のところで毎回「なわけねーだろ」とかツッコミ入れる視聴者参加型インタラクティブ漫才か何かですか。SBCの編集会議はよくこれを通したよね。 まあ

    Pythonでおk ─ 書評: C言語によるスーパーLinuxプログラミング
    rin51
    rin51 2011/06/12
    ちゃんと読むあたりがさすが
  • どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。

    確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。確かにCでしか書けないダメプログラマは存在する(例を挙げてほしければここにおまえの名前を入れろ)が、それはCの存在を赦す理由にはならない。結論:C死ね。 そもそも計算機にできて算盤にできないことなど存在しない。存在しないんだぞ。なのに何故人はプログラムを書くのか。それはオートメーションのためなのであり、奴隷的使役から人類の尊厳を開放して、この地上に楽園を築くためである。まあそこまで大上段に振りかぶって普段から書いてる輩はいないにせよ、プログラミングとは楽をするため、豊かな人生を実現するため、誰かの幸福のために行うものだ。違うか?じゃあなぜプログラ

    どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。
    rin51
    rin51 2011/05/17
  • 卜部昌平のあまりreblogしないtumblr - ■ #!/usr/bin/env _...

    今さらながら、 CGIの神話と現実というエントリ。ただし内容とはまったく関係なし。スクリプト言語の shebang 行(#!)でスクリプトインタープリタを直接書かずに /usr/bin/env でラップするという悪習はいったい誰が広めたんだろうか。ruby な人に多いように思うがそれだけじゃないし。 hoge というインタープリタを使うスクリプトの1行目をたとえば #!/usr/bin/env hoge としておくと、hoge の実行バイナリが /usr/bin/hoge でも /usr/local/bin/hoge でも $HOME/bin/hoge でもどこにあってもパスが通ってさえいれば起動できる。それはメリットなんだろうか。わしにはむしろデメリットにしか思えない。 /usr/bin/env を使うというのは、PATH の値にしたがってインタプリタの場所を探すという意味である。つまり

    卜部昌平のあまりreblogしないtumblr - ■ #!/usr/bin/env _...
    rin51
    rin51 2010/05/14
    [/usr/bin/env]
  • 今回のiPhoneの件は要するにAtariショックを避けようとしてるんだと思うと色々と腑に落ちてくるものがある

    今回のiPhoneの件は要するにAtariショックを避けようとしてるんだと思うと色々と腑に落ちてくるものがある つまりAppleがやってるのは露骨な任天堂の猿真似ってわけね。DSでFlashが動くかよって話。 いやもちろん、我等が偉大なる任天堂様のなさる審査とAppleの杜撰な検閲を一緒にしないで頂戴、とかの質的な議論はありうると思うんだけども、じゃあといってDS向け同人ゲーをコミケで頒布させろとかの声がマジョリティとかには絶対ならないというのは、やっぱゲーム業界は痛い目見た経験を生かしてるからなんじゃないの。 だからさ、実はAppleはおまえらプログラマを切り捨てているように見えるけど、当は逆で、あれはおまえらを保護しようとしてるんじゃないか? クソゲーとかから。そう思うとあながち逆噴射な発想じゃないとおもうんだよなー 以上まったく根拠のないチラシの裏でした。

    今回のiPhoneの件は要するにAtariショックを避けようとしてるんだと思うと色々と腑に落ちてくるものがある
  • lxcについてくるlxc-execute(1)がお手軽すぎてヤバい

    lxcは普段は仮想マシンみたいなのを作る用途で使うわけだけども、そんな大規模の必要ないよプロセスが一個ぽつんと隔離されて起動してくれればいいよ、というありがちなケースをカバーしてくれるのがlxc-execute(1)で、つまりこれはsudo(1)とかchroot(1)とかfreebsdのjail(1)みたいな使い方をするわけだ。特徴としては、 まずpid/uidの名前空間が他と分離されるので、仮にrootが奪取されても他のプロセスをkillしたりできないネットワークも他と分離されるので、仮にrootが奪取されてもパケットスニファとかからは何も見えないもちろんファイルシステムも分離されてるので、仮にroot奪取されてもファイル弄られたりしないデバイスへのアクセスも禁止なので、仮にroot奪取されても/dev/sda1をmknodして適当なマウントポイントにマウントとか不可、/dev/kmem

    lxcについてくるlxc-execute(1)がお手軽すぎてヤバい
    rin51
    rin51 2010/03/24
  • あえて言うがRuby会議はそろそろ一回終わってみるべき。

    表題のようなことを実は2007年のやつの後くらいから思ってて、今年はほとんど確信に近くなっている。Ruby会議2009最終日にうっかり角谷さんの電波(自称)を浴びてしまったせいで、当日は「あー、俺より角谷さんのほうがちゃんと考えてて、でも逃げてないんだなあ」とか思った。思ったが、一日たって冷静に考えてみたら、やっぱ逃げてもいいと思うよ。なので当初考えていたとおりに書くことにする。 (1) おまえらの仕事は品質過剰です。 Ruby会議は世間のカンファレンスの相場から考えると、クオリティに比して参加費が異常に安い。クオリティの高さに関しては素晴らしいとは思うが、それの費用は安すぎだと思う。 なぜRuby会議はあのクオリティで開催できるのか、一回きちんと考察してみるべきだ。俺には参加費の代わりにおまえらのモチベーションを削ぎ落としながら燃料にしてオペレーション回してるようにしか見えない。横から見

    あえて言うがRuby会議はそろそろ一回終わってみるべき。
    rin51
    rin51 2009/07/22
    ブレイクしようぜ
  • 右利きのおまえらが左手でマウスを使うべきいくつかの理由

    俺における身も蓋もない左手マウスの理由は、またしても中学2年の頃に「おまえらと違って左手で華麗にマウス使っちゃう俺」的な発想で使い始めたところに遡るわけだが、それ以来飽きることなく十年以上も左手マウスを続けているのは、純粋にそのほうが便利だからである。もう中2じゃないのでべつにおまえらと違わなくても生きていけるので、そろそろ左手マウスの良さについて一言いっておく。 マウスは左手でも不自由なく扱えるいきなり消極的な理由に思えるかもしれないが、実はこれが一番重要な点だ。左利きのおまえらと違って右利きのおまえらは利き手じゃないほうの手で細かい操作をすることに不安をおぼえるかもしれないが、実際にはなんの問題もない。よくマウスを観察してみよう。ボタンが数個くらい付いてるだけだろう。こんなもん箸も持てない子供ですら扱えるわけで、健常者のおまえらならまったく問題ない。 左手マウス+右手テンキーの破壊力は

    右利きのおまえらが左手でマウスを使うべきいくつかの理由
  • 検索と挿入がともにO(1)であるようなHashを作るにはコツがいる

    このところ立て続けに表記の事実を理解していない俺実装のHash(しかもCで!)を見かけたので、おそらく知られていないんだと思う。以降、同じ轍を踏む人が少なくなればと思い、啓蒙のために公開しておく。 先に言っておくがおまえらはHashを再発明するんじゃねよボケが。おとなしくありもののライブラリ使えよ。つうかHashのある言語使えよ。Cとかマゾかよ。 言葉と前提とりあえずHashが何であるかとか、どういう作りになっているかとか、そういうことは既知とする。リストの配列ってことね。←これで何言ってるか分からないおまえらにはこの文章はちょっとはやい。先にデータ構造の教科書を読むことをおすすめ。以下ではHashに登録されるキーとデータのペアのことをentryと呼び、リストの配列と言ったときのリストのほうをbin、配列のほうをbucketと呼ぶ。つまり、 class Hash { typedef lis

    検索と挿入がともにO(1)であるようなHashを作るにはコツがいる
    rin51
    rin51 2009/06/05
    >つうかHashのある言語使えよ。Cとかマゾかよ。
  • 1