タグ

ブックマーク / nishiohirokazu.hatenadiary.org (25)

  • でかい企業のOSSがApache License 2.0だと嬉しい理由 - 西尾泰和のはてなダイアリー

    「無期限で世界規模で非独占的で使用料無料で取り消し不能な特許ライセンスを付与します」という条項があるので使わせてもらう側が「わーい、便利なライブラリだー」と思って使っていたら後から「特許料払え!」と言われるという悲劇が起こらないことだって。 3. 特許ライセンスの付与 ライセンスの条項に従って、各コントリビューターはあなたに対し、成果物を作成したり、使用したり、販売したり、販売用に提供したり、インポートしたり、その他の方法で移転したりする、無期限で世界規模で非独占的で使用料無料で取り消し不能な(この項で明記したものは除く)特許ライセンスを付与します。ただし、このようなライセンスは、コントリビューターによってライセンス可能な特許申請のうち、当該コントリビューターのコントリビューションを単独または該当する成果物と組み合わせて用いることで必然的に侵害されるものにのみ適用されます。あなたが誰かに

    でかい企業のOSSがApache License 2.0だと嬉しい理由 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2014/02/21
    有用な情報だ
  • git config --add receive.denyCurrentBranch ignoreはどう危険なのか - 西尾泰和のはてなダイアリー

    git config --add receive.denyCurrentBranch ignoreをやるとどう危険なのか。一言で言うと「ある人が行った実装を、別の人が無意識に削除してコミットする」という事態を引き起こす。これが危険じゃなくて何なんだ。 まずローカルで実験用のリポジトリを作ってみよう。fという名前のリポジトリを作って、READMEをおく。今は中身は空っぽだ。 $ git init f Initialized empty Git repository in /Users/nishio/tmp//f/.git/ $ cd f f$ touch README f$ git add README f$ git commit -m "initial" [master (root-commit) ce6d7d5] initial 0 files changed, 0 insertions

    git config --add receive.denyCurrentBranch ignoreはどう危険なのか - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2012/10/23
  • gitにでかいバイナリファイルを入れるとどうなるか - 西尾泰和のはてなダイアリー

    ふと気になったのでgitにでかいバイナリファイルを入れたらどうなるのか調べてみた。 自分の発表が録画された112メガのaviファイルを実験対象に使う。 cp まずはgitを使わない普通のcpの時間を測っておく。 real 0m0.744s user 0m0.001s sys 0m0.179s git add git addにはコピーの10倍以上の時間がかかる。 real 0m9.339s user 0m7.989s sys 0m0.490s git commit git commitには意外と時間が掛からなかった。 real 0m0.055s user 0m0.002s sys 0m0.031s git clone 先ほど動画ファイルをcommitしたリポジトリをcloneしてみる。単純なファイルコピーに比べると3倍弱時間がかかる。 real 0m1.943s user 0m0.932s

    gitにでかいバイナリファイルを入れるとどうなるか - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2012/01/20
    『細かい数値は記憶に残らないのであえてバッサリ要約すると、1GBのファイルがコピーに7秒掛かる環境で、同じファイルがaddに80秒、cloneに20秒掛かる、という比率。ネットワーク越しcloneなどは計測していない。』
  • もっとよいGitチートシート - 西尾泰和のはてなダイアリー

    世の中にGitのチートシートはいくつかあるけど「Gitを知らない人に渡して最初に読んでもらうのに適したもの」が見つからない。チートシートじゃなくてチュートリアルと呼ぶべきかもしれないけど、とにかく印刷してA4で1枚になるくらいの資料が必要だ。Gitに触れた技術者が軒並み同じ落とし穴でコケるのは正しい状態ではない。「Gitには、indexっていう『コミットする前にワークツリーで行った変更のうちのどの部分をコミットするか整理するための場所』があるんだよ」とか「git revertはsvn revertと違っていきなりリポジトリに変更を加えるから気をつけて」とか最初に言ってもらえればもっとスムーズに進めたはずだ。 というわけでどういうチートシートが必要かに関して考えてみる。 登場人物 http://www.ndpsoftware.com/git-cheatsheet.html このチートシートが

    もっとよいGitチートシート - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2011/04/21
    『ならば各操作にはundoの仕方を併記するべきじゃないか』
  • 焼畑農業をやめるために---新卒準備カレンダー 2011春 - 西尾泰和のはてなダイアリー

    by Lior Shapira under CC BY-NC-ND 2.0 このエントリーは新卒準備カレンダー 2011春という、みんなで仕事に関して自分が考えることなどをエントリーに書いていく企画で書かれたものです。 渋川さんの話を聞く会のつもりが、なぜかいつの間にか名前入りで「新卒準備カレンダー 2011春 : ATND」を作られていたので、空気を読まずに農業の話をします!! お前だれよ? 西尾泰和と申します。サイボウズっていうグループウェアの会社のサイボウズラボっていう研究部門子会社で、まあ研究とかをしています。一番最近のアウトプットはこのブログの右サイドバーに出ている「 Amazon.co.jp: WEB+DB PRESS Vol.60」で「言語設計の基礎知識」という特集を書いたことかな。そうそう、3年くらい英語版のプロフィールページしか更新していなかったら3年前の日語版を最新版

    焼畑農業をやめるために---新卒準備カレンダー 2011春 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2011/03/09
    卓越について具体例で補足→『たまたま今使ってて掘り下げたライブラリについて勉強会にいつも参加しているメンツの中で一番詳しいとかそれくらいならすぐなれるでしょ。みんなそんなに手が回るわけじゃないから。』
  • 30〜40年後の話 - 西尾泰和のはてなダイアリー

    ブログ書いてないでさっさと原稿を書けよという気がするので、思ったことを忘れないように走りがきする感じで: 心配しなくても現在使われている大部分の言語はあと30〜40年で「昔そんな言語もあったね」レベルまで駆逐されるよ。 なぜ30〜40年って言ったかというと、それくらいあればプログラムの入力方法が変わる可能性が高いからだ。かつてパンチカードからキーボードに変わったように。 開発環境が変わった際に、いまの環境での「書きやすさ」を追求している言語はアピールポイントを失うことになるわけだな。だから、他の部分で40年後にも残る価値を持っていなければ駆逐されるのが当然だよ、と。 moriwaka: @nishio 割と同意するんですがFortranとCOBOLとCの長寿の秘密を解きあかしたい 僕の理解が正しければ、それは「新しい言語を学ぶことを厭わない人たちが好むような機能を持っていること」ではない。

    30〜40年後の話 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2010/10/17
    『ある特定のドメインにおいてデファクトスタンダード化することで「新しい言語を学ぶのは嫌だ、変化は嫌だ」という人たちに学習されることこそが長寿の秘訣だ。』
  • クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー

    某所のチャットで話題になって、流れ去りそうだったのでもったいないから転載しておいた。事後承諾で。 MIYAMOTO Daisuke: 型の継承と実装の継承を区別する方法がないんだよな。 西尾泰和(nishio.hirokazu): 型を継承させずに実装を継承させたい→それ移譲で ってことかな? MIYAMOTO Daisuke: そそ。そもそも、クラスに「型としての役割」と「実装としての役割」という複数の責務があることに、俺は長い間気づかなかった。これに気づかないと、型継承と実装継承が頭の中で整理できない。 西尾泰和(nishio.hirokazu): 僕が最近気づいたことも加えると、クラスには「ユーザ定義型」「インスタンスを作成する道具」「実装の再利用の単位」という3つの役割がある。 MIYAMOTO Daisuke: あぁ、インスタンスの生成器ね。 西尾泰和(nishio.hiroka

    クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー
  • 多重継承まとめ - 西尾泰和のはてなダイアリー

    JavaはInterfaceという特殊な実装を持たないものだけ多重継承できる。実装を多重継承する仕組みはない。同じシグネチャのメソッドを持っている2つのInterfaceを継承した際にエラーにならないので衝突に気付けない。 Pythonはクラスを多重継承できる。同じ名前のメソッドを持っている2つのクラスを継承した際にどのメソッドが呼ばれるかはC3線形化を使って決定される。see: A Monotonic Superclass Linearization for Dylan RubyはModuleという「なにかを継承することはできなくてインスタンス化もできないもの」だけは多重継承できる。Moduleが別のものを継承できないためメソッドの解決は素朴な探索でOK(include A include BしたらBでの実装が優先) SmalltalkにはTraitという実装の多重継承ができるしくみがあ

    多重継承まとめ - 西尾泰和のはてなダイアリー
  • Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー

    はい、Ruby 1.9.2がリリースされましたね。このバージョンではWEBrick にゼロデイ攻撃可能な脆弱性 - スラッシュドット・ジャパンで紹介されている脆弱性が僕が書いたパッチで修正されているわけなのですけど、そもそもなんで僕が修正しているのか、って顛末がわりと面白いので紹介します。 Apple、upstreamに報告してくれないまま脆弱性をCVEに届け出る upstreamに連絡が来ないまま脆弱性が公開される ruby-devにAppleが書いたと思われるパッチが貼られる(Appleでない人間によって) パッチのライセンスが不明なので取り込めない ライセンスを問い合わせるAppleの窓口が不明なので問い合わせもできない ruby-devを読んだ人はライセンス上安全なパッチを書けない 脆弱性だから話は非公開に進めたい yuguiさんがruby-devを読んでない僕に書かせることにする

    Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2010/08/19
    『著作権を主張しないつもりなんだったらそれを明示的に宣言して欲しい。ライセンスが明示されていないのは、どんなライセンスよりも厳しいライセンスだ。』
  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

    プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断のい違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • 「仕事の出来る人」とは - 西尾泰和のはてなダイアリー

    自分の所属している組織がさ「今後の業務にスキルXが必要です。なのでスキルXを習得してください。」って決定した場合に、「仕事の出来る人」ってのは 1 こんなこともあろうかとスキルXをすでに習得している 2 今はスキルXを持っていないが、すぐに習得する 3 スキルXの習得にコストを割くことが自分の為にならないと判断し、すぐにスキルXが必要とされない組織に転職する 4 スキルXを習得するよりもより効率の良い業務形態や手法を提案し、説得し、組織の決定を変更させる(追記: thanks えるん) のどれかだと思うんだ。組織の決定が正しいかどうかを議論するというのはおかしい。組織の決定に納得がいかないのであればさっさと3か4を選べばいい。3や4を選ぶのに必要な勇気やスキルがない上に、2を選択してスキルXを習得することもできない人、仕事ができない人と呼んで差し支えないんじゃないか。 ちなみに楽天英語

    「仕事の出来る人」とは - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2010/07/08
    『3番目を選ぶのに必要な勇気やスキルがない上に、2番目を選択してスキルXを習得することもできない人、仕事ができない人と呼んで差し支えないんじゃないか。』
  • YAMLのヒアドキュメント - 西尾泰和のはてなダイアリー

    twitterで「YAMLにヒアドキュメントみたいなのがあればいいのに」という声が聞こえたので「あるよ」と答えたけど、ぐぐってみてもわかりにくいのでわかりやすくするためにエントリー化。 リファレンス(YAML Ain’t Markup Language (YAML™) Version 1.2)の2.3節「Scalars」から2件引用 # ASCII Art --- | \//||\/|| // || ||__name: Mark McGwire accomplishment: > Mark set a major league home run record in 1998. stats: | 65 Home Runs 0.278 Batting Averageね、難しくないでしょ?ヒアドキュメントとの大きな違いは終了記号があるのではなく、インデントでブロックを表現しているという点。

    YAMLのヒアドキュメント - 西尾泰和のはてなダイアリー
  • 第6回1000人スピーカカンファレンス@Kyushu - 西尾泰和のはてなダイアリー

    発表してきました。イベントの詳しい情報はこちら: http://ja.doukaku.org/wiki/index.php/1000speakers:6 さてさて、今回は初の東京以外(長崎)での開催だったのですが、長崎県はかなり技術者コミュニティの支援に積極的らしく、会場はとてもきれいで設備も整っていたのに無償で借りられたらしいです。佐世保情報産業プラザ。世界最速の3Dプリンタなんかもありました。あと、何気なく長崎県産業労働部 のサイトを見たら「SOHO(small office home office)を支援するため 『SOHOフェア2008』を開催します!」なんて書いてあって、IT産業の活性化に積極的な感じをうけました。すばらしい。他の自治体でもやるといいのに。大阪の勉強会は会場の費用を割り勘の場合が多くて、お金を集めたり赤字にも黒字にもならないようにがんばったりするのが大変らしいけど

    第6回1000人スピーカカンファレンス@Kyushu - 西尾泰和のはてなダイアリー
  • 「勉強会の違和感」に感じる違和感 - 西尾泰和のはてなダイアリー

    http://www16.atwiki.jp/tokoroten/pages/904.html 1000speakersはその辺が違っていて、圧倒的に価値の高い西尾さんとAmachangがトップに立つことによって、それに準ずる人たちが集まってくる。 そのため、西尾さんとAmachangには利益がないけど、その他の人には自分よりも価値が高い人が存在するという状態になるため、それらの人は大きな利益を受けることになる。 それは誤解以外の何物でもない。例えば今回であれば「へー、Curlってそういう言語なんだー。意外と使われているんだー。」とか「なるほど、OpenCOBOLでそんなことができるんだ!目から鱗!」とかあったわけだし、id:amachangもFPGAの話にかなり関心を持って色々質問してたみたいだし。 しかし、こういう「僕にとって違和感のある考え方」が発生する理由にちょっと興味が出てきた。

    「勉強会の違和感」に感じる違和感 - 西尾泰和のはてなダイアリー
  • JSDeferredを読む - 西尾泰和のはてなダイアリー

    前からamachangが「読むといい」って言っていたJSDeferredのコードを読む。defferedじゃなくてdeferredなので注意。 Deferred.define = function (obj, list) { if (!list) list = ["parallel", "wait", "next", "call", "loop"]; if (!obj) obj = (function () { return this })(); for (var i = 0; i < list.length; i++) { var n = list[i]; obj[n] = Deferred[n]; } return Deferred; }; これはグローバルスコープに書き出すコード。(function () { return this })()でwindowオブジェクトがとれているみた

    JSDeferredを読む - 西尾泰和のはてなダイアリー
  • 1000人スピーカカンファレンス第6回について - 西尾泰和のはてなダイアリー

    今回、カンファレンス後の「次回予告」がありませんでしたが、わざとです。 第4回に僕がスタックオーバーフローしてしまったのを覚えている方もいるかと思います。主催者がイライラしているカンファレンスなんて面白くないですよね。そういうわけで「一旦運営から外れて休みたい」という話をid:amachangにしたところ、amachangも休みたいとのことだったので第5回が終わったらしばらくお休みすることにしました。 これで終わりにしてしまうつもりはないのですが、僕とamachangの二人では1ヶ月に1回のペースを維持することができないようです。どうすれば続けていけるかを考える必要があります。そして、少なくとも「カンファレンスの最後に次回予告をする」というのをキープしていてはそれまでに人数や会場をFIXしないといけないわけなので「変えていくこと」が難しいのです。 カンファレンス後の三次会で今後の運営につい

    1000人スピーカカンファレンス第6回について - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2008/05/26
    現状では参加経験者じゃないとどんな感じで運営やってるかはわかりにくいかも。今まで世話になったことだし、運営側での参加もしてみたい。
  • Py焼き肉行ってきた - 西尾泰和のはてなダイアリー

    どう書くorgがいまだにSQLiteを使っているのを、MySQLとmod_fcgiにしたら軽くなるよと言われた。 TODO: id:voluntasの会社に侵入して128コアのマシンでErlangを動かして遊ぶ。 Erlangがいまいち面白そうに思えなかったのはコアが1個しかない貧民には無用の超富豪的言語だからだということを理解した。コアが128個もあったらそりゃErlang使うさ。 あとActionScriptを使うならProgressionを知っているのと知らないのでかなり差が出るんだそうな。あとで調べる。http://progression.libspark.org/ あとprezivonのブログをSilverlightで検索する。 あ、そうだ。ラボマシンにUbuntuを入れるんだった。Windowsがすでに入っていてもパーティションを切り直したりする必要なくまるで普通のプログラムを

    Py焼き肉行ってきた - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2008/03/28
    『Erlangがいまいち面白そうに思えなかったのはコアが1個しかない貧民には無用の超富豪的言語だからだということを理解した。コアが128個もあったらそりゃErlang使うさ。』
  • Re: 1000speakersをモテにするための第一歩 - 西尾泰和のはてなダイアリー

    http://d.hatena.ne.jp/earth2001y/20080324/p2 正直なところ僕は1000人スピーカカンファレンスの女性参加者を増やすことにはあんまり興味がないし、逆に女性と知り合うことが目的で参加するような人には嫌悪感を感じる。amachangもたぶん同じ。 でも「発表の敷居を下げる」という大きなストーリーの中で、「男ばっかりで怖い、参加しづらい」という障害は取り除くべきだと思う。そのあたりのノウハウについてid:pinkmacに教えてもらいたい。

    Re: 1000speakersをモテにするための第一歩 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2008/03/25
    id:HolyGrail 例えばショタ枠を確保する
  • 第二回1000人スピーカカンファレンス - 西尾泰和のはてなダイアリー

    家に帰ってブログを書くまでが1000人スピーカです。 会場を提供してくださった吉岡さん(id:hyoshiok)ありがとうございました。ブログにとりあえずトラックバック:http://blog.miraclelinux.com/yume/2008/02/1000-speakers-1.html 続きは徐々に書く - 今回は会場で記念写真を撮った。id:earth2001y撮影 http://f.hatena.ne.jp/earth2001y/20080223190310 http://f.hatena.ne.jp/earth2001y/20080223190337 前回は2次会の飲み会の終わり際に「記念撮影しよう」ということになったため、飲み会に参加せずに帰った人たちが参加できなかったんだ。で、今回は会場で撮影した。そのくせカメラを持ってきていない自分--; earth2001y++; あ

    第二回1000人スピーカカンファレンス - 西尾泰和のはてなダイアリー
  • いい嫁 - 西尾泰和のはてなダイアリー

    「いい嫁」でググると1位になるといって喜んでいるdropdbをみると、いい嫁が別の人になってがっかりしたところを見てみたくなる(ぇ ページランク高そうな人に「いい嫁」でリンクすればいいのかな?[いい嫁] - さっそくyoshioriとamachangが追随してるw ひどいなみんなww ほんとに1位から落ちちゃうんじゃない?w - dr○pdbがはてブコメントで応戦しているけど、どう考えても自滅行為。 http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/cactusman/20080128/p1 http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/amachang/20080128/1201521271 - 終電は座れないので今から帰るけど、帰宅時にトラックバックされているエントリに関しては全部は

    いい嫁 - 西尾泰和のはてなダイアリー
    monjudoh
    monjudoh 2008/01/28
    いい嫁!