タグ

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

  • gitのHEADがブランチから外れてしまう現象とその直し方 - 西尾泰和のはてなダイアリー

    detached HEADって言う名前で入門Gitにも書いてあるんだけど、そういうことが起こりうるってメンタルモデルができてないと起きていることにすら気づかないので書いておく。 まず説明用のリポジトリを用意します。 t$ git init Initialized empty Git repository in /Users/nishio/gittest/pygit2/t/.git/ t$ touch a t$ git add a t$ git commit -m "add a" [master (root-commit) 6f6eb7c] add a 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 a t$ touch b t$ git add b t$ git commit -m "add b" [m

    gitのHEADがブランチから外れてしまう現象とその直し方 - 西尾泰和のはてなダイアリー
    rin51
    rin51 2018/05/30
  • TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー

    ネットワークの重みや各ニューロンがどういう入力の時に発火するのかが、学習していく過程で各時刻可視化されてとても良い教材です。 http://playground.tensorflow.org/ うずまきのデータセットに関して「中間層が1層しかないとうずまき(線形非分離な問題)は解けない」という誤解があるようなので、まずは1層でできるという絵を紹介。なお僕のタイムライン上では id:a2c が僕より先に気付いていたことを名誉のために言及しておきます。 で、じゃあよく言われる「線形非分離な問題が解けない」ってのはどういうことか。それはこんな問題設定。入力に適当な係数を掛けて足し合わせただけでは適切な境界を作ることができません。 こういうケースでは中間層を追加すると、中間層が入力の非線形な組み合わせを担当してくれるおかげで解けなかった問題が解けるようになります。 1つ目のデータセットでは特徴量の

    TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー
    rin51
    rin51 2016/04/14
  • Facebookに書き続けることは損失なのではと思い始めた - 西尾泰和のはてなダイアリー

    ブログの更新頻度が落ちてるのは、Facebookに書いた方が有益なフィードバックの頻度が高くて、ついついそっちに書いてしまうから。 そうやってFacebookにばかり書いていると「あれ、この前Facebookに認知心理学が生まれてきた流れについて書いたと思うんだが、あれどこだったかな、参考にしたいのだが…」なんてことが起こるようになってきた。以前であれば、だいたいそういうのは自分のブログに書いているので、Googleに行って「西尾泰和 認知心理学」とかで検索すればすぐ見つかった。しかしFacebookに書いたものはそういうわけにはいかない。 で、発掘するのにすごく時間がかかったり、発掘できなくてあきらめてしまったりする。これってものすごい損失なのではないか?クロールして手元に保存して検索できるようにする必要があるのではないか? そしてそのクロールもまた手軽ではない。エクスポートの機能はある

    Facebookに書き続けることは損失なのではと思い始めた - 西尾泰和のはてなダイアリー
    rin51
    rin51 2015/04/27
  • スレッドの(というか並行処理の)歴史 - 西尾泰和のはてなダイアリー

    Twitterから転載 ふとスレッドっていつ発明されたんだろうと調べてみたけどよくわからない。Linuxがカーネルスレッドをサポートしたのが2.6からで2003年とか意外と新しい??もちろんユーザレベルのスレッドはもっと古いんだろうけど、いつからだろう。 hideaki_t: NeXTSTEP(Mach 2.0?)にはcthreadがありました。 atsuoishimoto: 私がスレッドって用語初めて聞いたのは、たしか'90年代初頭のOS/2だったかなぁ? これが2004年の話か>NetBSD 2.x+, and DragonFly BSD implement LWPs as kernel threads (1:1 model) shidocchi: 私は院の研究室でMachのソースリーディングをやってた頃知った。 これが2001年 > October 2, 2001 Mac OS X

    スレッドの(というか並行処理の)歴史 - 西尾泰和のはてなダイアリー
    rin51
    rin51 2014/09/13
  • シャドーワークと勝手の意味 - 西尾泰和のはてなダイアリー

    続・エンジニアの学び方シリーズの第4話:続けられた理由は「仕事が楽しくなかったから」がリリースされました。 今回の話はザックリ言うと「小崎さんがすごい人になる過程で、仕事をサボったことが重要な役割を果たしていた」ということなので「仕事をサボるのは倫理的によくない」と言い出す人が出るんじゃないかとヒヤヒヤしていましたが、好意的な反応が多くてホッとしています。 Twitterなどで観測された質問に答えていきます。 シャドーワーク まず「シャドーワーク」という言葉は「専業主婦の家事労働」とかを指すんじゃないの?というご質問から。 イヴァン・イリイチ (Wikipedia)が「シャドーワーク」という言葉を作った際には、確かに専業主婦の家事労働にフォーカスがあたっていました。「生活の基盤を維持する上で必要なのに、それに従事している人が報酬を受け取っていないような仕事」という意味です。参考文献:シャド

    シャドーワークと勝手の意味 - 西尾泰和のはてなダイアリー
    rin51
    rin51 2014/08/28
  • U理論が面白い - 西尾泰和のはてなダイアリー

    U理論のを流し読みしてたけど、これは結構面白い。 PDCAサイクル(計画→実行→評価→改善)は、既にサイクルが回っている人にとっては納得感があるのだろうけども、回ってない人にやらせようとすると「で、計画はどうやって立てるの?」で悩んで止まってしまったり、逆に問題に対する知識が不足してる可能性に無自覚なまま、詳細すぎる計画を立ててしまって、後からわかった情報で瓦解したりする。 科学的思考法の「仮説→実験→検証→修正」のサイクルでも、流行りのリーンスタートアップの「仮説検証のサイクルを高速に回せ」でも、やっぱり実際にやろうとすると「で、仮説はどうやって見つけるの」というところでつまずく人がいる。 この手の「サイクル」に入る手前でつまずいている問題について、僕はいままで「まず観察を」と言ってきたのだけど、U理論はこの部分を7段階に分けて考えている。 一つ目は、物事を既成概念に当てはめて見ている

    U理論が面白い - 西尾泰和のはてなダイアリー
    rin51
    rin51 2014/04/11
  • Re: コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - 西尾泰和のはてなダイアリー

    きしださんのエントリ、方向性としては賛成だけども、その「コミュニティに入ると幸せになる」という言葉の受け手はコミュニティ経験がないわけだから「コミュニティとは何であるか」がわからず「Xに入ると幸せになる」という言葉としてしか理解しかできないから、新興宗教の勧誘と区別が付かないのではないかと危惧している。 重要なのは「Xに入る」ということよりも、それによって得られる「利害関係がなく、興味関心が似ている友人」なんじゃないかな。利害関係がないってのは、同じ会社でもないし、取引先でもなく、競合他社でもない、という関係。家と会社だけを往復する生活をしていたら、人間関係が利害関係のある人ばっかりになってしまう。それは議論したいことを議論できなくする。また興味関心の似ている友人がいないことも、技術的な議論をできなくする。 目的は「友人を作る」で、手段が「コミュニティに入る」だ。僕は人がたくさんいるところ

    Re: コミュニティに入るか入らないかでエンジニアとしての幸福度がかわる - 西尾泰和のはてなダイアリー
    rin51
    rin51 2014/02/26
  • 「10倍の生産性」をマフラーで例える - 西尾泰和のはてなダイアリー

    「プログラマは能力によって生産性に10倍の差がある」とかいうけどこれはプログラミングに限った話ではない。編み物未経験のXさんと既に何もマフラーを編んだ経験のあるYさんとで、マフラーの最初の5列ぐらいを編むのに掛かる時間で勝負したら、Xさんが編み方の説明を読んでる間にYさんは編み終わる。技術とはそういうもの。 技術によって確かに生産性が10倍変わることはある。しかしゴール設定が「マフラーを編む」ではなく「イケメンZ君の気を引く」なら、Xさんはわざわざ不利なマフラー作りで勝負する必要がない。例えば手料理のほうが得意ならそれでチャレンジすれば良い。こうして生産性の差は消滅する。これが専門化の罠。 Yさんが手編み能力を持っているせいで「手編みマフラー」という選択肢に固執してしまい、冷静な判断を失うことがあるが、残念なことだ。さらには手編み能力を持たないという理由でXさんを見下したり「手編みマフラ

    「10倍の生産性」をマフラーで例える - 西尾泰和のはてなダイアリー
    rin51
    rin51 2014/02/19
    「いっぽうロシアは鉛筆を使った」というか、問題をどのように設定するかという。「ライト、ついてますか?」
  • 最近のサイボウズ・ラボ - 西尾泰和のはてなダイアリー

    最近サイボウズ・ラボって何をやっているの?というご質問をいただきました。実は社と協力して「Cybozu Inside Out」というブログでいろいろな活動をご紹介してるのですが、まだまだ知名度が低いようです。そこでラボの社員が関係しているものを適当にチョイスしてご紹介します。「サイボウズ式」との違いは、Cybozu Inside Outが「エンジニアのためのブログ」だというところでしょうか。ぜひこの機会にCybozu Inside Outのことを知っていただけたらと思います。 プログラミング・シンポジウムで山内奨励賞を受賞 その名は「ワルビー」──WebDBフォーラム2012で技術発表 WalB v1.0 リリース x86/x64最適化勉強会5 レポート 暗号の世界最速実装を目指す ── 光成滋生 StackOverflowの人気の秘密はコミュニティにあり〜サイボウズエンジニアとのディス

    最近のサイボウズ・ラボ - 西尾泰和のはてなダイアリー
    rin51
    rin51 2013/08/19
  • Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー

    http://nhiro.org/learn_language/with_statement.html Java7は名前の通りtryと抱き合わせになっている。C#とPythonは分離されている。なのでJava7でC#やPythonと同じ挙動をしたければ必要なくても空のfinallyを書くことになる。(追記: finallyやexceptを伴わないtryもOKでした。thanks id:nowokay) 体が正常終了または例外を投げて異常終了した場合のどちらでも呼ばれる「後片付けメソッド」はC#だとDispose、Java7だとclose、 Pythonだと__exit__。しかしPython以外は引数を取らない。体が正常に終了したのかどうかはどうやって知るんだろうか。知る必要はないという判断なんだろうか。追記: Pythonがどんな引数を取るのか他の言語の人には想像がつきにくいらしいの

    Pythonのwith文とJava7のtry-with-resourceとC#のusingの比較 - 西尾泰和のはてなダイアリー
    rin51
    rin51 2013/05/31
  • プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー

    あるブログが「写経には効果がない」という趣旨のことを書いていて「何を言ってるんだ?」と思いじっくり読んでみたら、彼の言う写経は「動くとわかってる10000行のコードを何も思考せず作業として書き写すこと」を指しているようだった。「そんなわけないじゃん」と笑ってから「もしかして世の中は写経をそういう捉えてるのか?」と不安になった。 写経は自分の中にモデルを作るための行動で、他のもっと効率のよい方法と比べた場合の利点は「自分の中にモデルがなくても使える」点に尽きる。全く知識ゼロでいきなり「自分で考えて書く」ができる人はいない。考えるための材料となる知識をまず脳内に運び込む、それが写経だ。 写経の過程で大事なことは以下の3つだ。 1: 早く学びが得られるように、なるべく小さいコードで実験し、すぐに結果を確認する。 2: 疑問に思ったこと、考えたこと、気づいたことを書き留める。どうしてこういう書き方

    プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー
  • SphinxとBitBucketで執筆する話その2 - 西尾泰和のはてなダイアリー

    先日のSphinxとBitBucketで書籍原稿を作る話で書いた、BitBucketではページごとの目次がレンダリングされるという話、実際に見られるデモを用意しておきましたよ https://bitbucket.org/nishio/agile_author/src/master/source/1.rst rawで見れば目次の部分は自動生成されているというのがわかる: https://bitbucket.org/nishio/agile_author/raw/master/source/1.rst

    SphinxとBitBucketで執筆する話その2 - 西尾泰和のはてなダイアリー
    rin51
    rin51 2013/01/05
  • 「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー

    「めんどくさい」「やる気がでない」にも色々なパターンがあります。そこで質問に答えていくと解決策にたどりつくようなチェックリストを作ってみました。 追記: このエントリーの内容を元に平均10問の質問に答えるだけであなたの状況に合わせたアドバイスをする人工知能を作りました。オススメです。 Q1: やる気がでないのは今日に入ってからですか? 数日やる気がでない状態が続いているのですか?それとも今日に入ってからかですか? 今日に入ってから→Q2 数日続いている→Q8 Q2: 最近なにか新しい情報が明らかになりましたか? たとえば計画段階では知らなかった事実が明らかになって、今までやってきた作業が無駄になったとか。何らかの情報が最近明らかになりましたか? はい→状況が変わったのであれば、計画の通りに実行することが必要とは限りません。状況の変化に合わせて計画を変更したり中止したりしてはいけないのですか

    「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー
    rin51
    rin51 2012/11/19
  • 「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー

    「原稿書かなきゃいけないんだけどなぁ」とか言いながら現実逃避で読んでいた「心は病気―役立つ初期仏教法話〈2〉」に心に刺さる言葉があったのでここに書いておく。 正確な引用ではないので、正確な言葉が知りたければP.60から3ページくらいを読むとよい。 人間が自信をなくす原因は、自信の持ちすぎである。 自分が「この程度の仕事サクッと終わらせられる」と思っているのに、実際にやるとうまくいかないとき、人は自信をなくす。 「抜群のスピーチをしよう」と思って、実際にはうまく喋れなくて、自信をなくす。 妄想の中の自分が事実に反して素晴らしすぎるから、その「妄想の中の素晴らしい自分」が振る舞うように振舞おうとして、できないので苦しむ。 「自分の仕事に自信がない」というのは、奇跡的な成功を頭で妄想しているせい。現実の自分ができるようにしかできない。できることをすればよい。「自分は精一杯やった」と思える状態を

    「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー
    rin51
    rin51 2012/11/16
  • Pythonでメモリを食い過ぎた時に見直すポイント - 西尾泰和のはてなダイアリー

    ちょっと複雑なアルゴリズムをPythonで実装してみて、自分の予想以上にメモリをってしまったので何が原因なのかプロファイルしてみた。 辞書を大量に使ってはいけない 指摘されてみれば当たり前のことなんだけども、辞書はハッシュテーブルなのでメモリをたくさん使う。「グラフの頂点ごとに整数→整数のマッピングを持ちたいな」と思って、うっかり辞書を使ってしまったのだが、エントリー数が6個でも 1048バイト×頂点数 のメモリが吹っ飛んでいく。いくらハッシュのアクセスがO(1)だからといって、1048バイトmallocしてスラッシング起こしてんだったら全然安くない。エントリの個数とアクセス頻度によってはO(n)で線形探索したほうがよっぽどよい。 エントリーの個数が5件までならハッシュテーブルではないコンパクトな持ち方をするので280バイト。それでもでかい。 自作クラスのインスタンスも辞書を持っている

    Pythonでメモリを食い過ぎた時に見直すポイント - 西尾泰和のはてなダイアリー
    rin51
    rin51 2012/10/16
  • 作りたいもの: プログラミング言語のコア概念を学ぶサイト - 西尾泰和のはてなダイアリー

    増井さんの作りたいものリストを作ろうというスライドを見て「確かに『いつかやる』リストに入れてるだけじゃ発展しないから、公開しても問題ないものは公開したらいいなぁ」と思ったので早速やってみました。とはいえ、僕の『いつかやる』リストは一つのリストの要素に色々な設計やアイデアが書かれていて、全部一度に載せると読むのも大変。とりあえず1つ目だけ載せてみます。動機なんかを加筆。 プログラミング言語のコア概念を学ぶサイト 日語や英語で書かれた解説を読むより、実際に動かしてみたほうがわかりやすいこともある。 しかし、広く使われている言語は既に長年の改良が繰り返されていて、改築・増築を繰り返した老舗旅館みたいに複雑なものになってしまっている。 学習のために、小さくシンプルな、全体像を理解しやすい、わかりやすく可視化された「言語の実装」が必要だ。 そんなものはすでにあるのでは? かつて色々な方法で(Jav

    作りたいもの: プログラミング言語のコア概念を学ぶサイト - 西尾泰和のはてなダイアリー
  • Bloom filterのシンプルな実装 - 西尾泰和のはてなダイアリー

    Bloom filterは指定されたものがリストに含まれるならばTrue、含まれないならばFalseを返すようなデータ構造である。もちろん、単純にリストを保持するだけでもリストに含まれるかどうかの判定は可能だが、Bloom filterのメリットはオリジナルのリストを保存しておく必要がないという点にある。そのためメモリの消費量を格段に節約することができる。しかし、そのメモリ効率の代償として多少正確性が失われる。Bloom filterは指定されたものがリストにない場合でもたまにTrueを返すのだ。しかし、間違ってTrueを返す確率はあらかじめ計算することができるので、誤差が許容できる範囲であれば問題なく使うことができる。 下記はアルゴリズム勉強用のシンプルな実装である。 SIZE = 1987 def hashes(s): xs = [0, 0, 0] for c in s: o = or

    Bloom filterのシンプルな実装 - 西尾泰和のはてなダイアリー
  • 言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー

    言語女子会: undefとnullは両方必要?の続編です。 varは必要なの? とあるプログラミング言語が集う女子会にて: Python: JavaScriptちゃんってさ、なんでvarだらけなの? JavaScript: えっ、変? Python: varなんかいらなくない?私ぜんぜん持ってないよ? JavaScript: えー、じゃあ変数をどうやって宣言するの? Python: 宣言っていうか…「x = 1」みたいな代入文があれば変数xが必要なのって自明じゃない?宣言とか必要? Ruby: 必要ないよね。っていうか変数宣言とか古臭くない? JavaScript: そうかなー。 Python: 少しダサイかも。ほら断舎離ブームだし要らないものは捨てなきゃ! JavaScript: 要らないかなぁ、変数宣言。Pythonちゃんは関数がネストしているときに外側のスコープの変数に代入するのって

    言語女子会2: varは必要?/privateがない? - 西尾泰和のはてなダイアリー
    rin51
    rin51 2012/03/22
    Haskellは ぷちこ か
  • 川喜田二郎の「発想法」 - 西尾泰和のはてなダイアリー

    棚にあったので何気なく手にとってパラパラめくってみたのだが、つい「おおっ」とか声が出てしまった。マインドマップやフォトリーディングに関心のある人ならぜひ読むべき。 各章の扉にはその章の話の流れがこんな感じで書いてある マインドマップやフォトリーディングが生まれる前に書かれたなのだが、読んでいると「おお、これフォトリーディングのソフトフォーカスのことだよな」という部分があったりして面白い。 KJ法がカードに色々書いてからそれをまとめていくボトムアップの構造化法ってことはよく知られていると思うけど、その肝の「まとめる」部分の話、カードを広げて「読むというより眺める」「どこかでもいいから流し目で見ていればいい」「やがて(中略)お互いに親近感を覚える紙切れ同士が目についてくるだろう」と、まるっきりフォトリーディングで「読まずに眺めていると重要なキーワードが浮かび上がってくる」ってのとそっく

    川喜田二郎の「発想法」 - 西尾泰和のはてなダイアリー
  • 勉強会の問題の典型例 - 西尾泰和のはてなダイアリー

    カーネル読書会のこと - 未来のいつか/hyoshiokの日記。吉岡さんが書かれているとおり、会場の調達コストが高くなったことによる勉強会頻度低下は「勉強会の問題の典型例」ですね。id:amachangとやっていた1000speakersも、最初はラボでやったのが諸般の事情でできなくなってから苦しくなってやめてしまったのでした。 しかし「何が問題の質なのか」に関して、僕はあの頃よりも若干認識が変わったように思います。そこでここに記録しておくことにします。 会場の確保は質的にコストの掛かるものであって、その調達をどうするか計画するのも運営の仕事の一つです。しかし運良く会社が「会社の会議室予約システムであいている日時を抑えて、総務に何日にカーネル読書会をしますと知らせるだけ」という低コストで供給してくれていました。会社には土地代や電気代・空調代で数万〜十数万のコストがかかっている。会社はこ

    勉強会の問題の典型例 - 西尾泰和のはてなダイアリー