タグ

ブックマーク / leoclock.blogspot.com (22)

  • プログラマの履歴書

    「コードを書け。それが履歴書だ」という昔の名台詞が目に留まったので、常日頃感じていることを書き出してみることに。 コードが GitHubで公開してあると、まず採用する側の視点としては非常に助かります。プロジェクトを2、3つ眺めるだけでも、この人が普段どんなことを意識してプログラミングしているのかが見えてきます。例えば、性能を重視しているとか、拡張のしやすさを意識してインターフェースをデザインしているとか。さらに人の興味の方向性、得意な言語などがわかるが何より嬉しい。過去の経験から、自己申告でJavaができます、C++ができますなどと言うだけの人が期待したレベルでコードを書けた試しがありません。 その次にわかるのがコミュニケーションスキル。基礎的な英語力の判断材料にもなるし、チームを組んだ時のイメージがしやすい。問題を共有する能力も大事。自分一人の頭の中でたくさん難しいことを理解して解決で

    InoHiro
    InoHiro 2015/09/02
    "仕事であれ、日常であれ、身の回りで起こっている日々の問題を、コンピューターの力を使って解こうとすること、また、そうできる環境に身を置くことがまず必要です"
  • SSD投入でDBMSのココが変わる! - WEB+DB PRESS vol. 52

    SSDを使うとDBMSはどう変わる?徹底検証した記事を書きました! WEB+DB PRESS Vol.52 予約受付中です。 実際に最新最速のSSD、Intel X25-Eを使ってDBMSのパフォーマンスを計測するなど、わくわくしながら記事を書くことができました。SSDの実力に驚きつつも、使い方を間違えるとHDDより遅くなる? など新しい発見もあり。 そして、SSDとHDDの違いがどのようにデータベースの性能に影響するのか?ディスク上のデータ構造(ヒープ、B+-treeなど)からバッファ管理など、データベースシステムの中身を解剖してわかりやすく解説しています。読みやすくなったのは丁寧に添削してくださった担当様のおかげです。感謝。 ディスクを活用したデータのソーティング(External merge sortなど)に加え、2009年6月にEdgar F. Codd Innovation Aw

    InoHiro
    InoHiro 2014/01/07
  • OMakeで快適に論文執筆:TeX編

    Windows上でTeXの論文を快適に書くためのTipsを紹介。インストールが必要なものは以下の通り:OMake: ファイルの更新をモニターして自動再ビルドしてくれる優れものTeX一式: 僕は英語論文しか書かないのでMikTeXを使っています。インストールが簡単pdfopen, pdfclose: Acrobat Reader でPDFファイルを開け閉しめするのに使います(MikTexにも同梱されていますが、back機能が使えるこちらの方が便利。参考:http://magic.aladdin.cs.cmu.edu/2005/07/15/pdfopen-and-pdfclose/)omakeと、pdflatex, pdfopen, pdfcloseがコマンドライン(コマンドプロンプトやCygwinシェル)から使えるように、環境変数PATHを設定します。 以下は僕の使っているCygwin用の.

    InoHiro
    InoHiro 2014/01/07
  • SIGMOD 2008に通りました!

    今朝から興奮しっぱなしです。 2月16日が結果発表だったはずなのですが、アメリカ時間で17日になっても返事がこないまま、今日、朝一で見たメールがこれ。 Congratulations! Your paper: Paper#: 7 Title: Relational-Style XML Query has been accepted for SIGMOD 2008. Altogether there were 435 papers submitted and only 78 accepted. Author Feedback時のReviewerのコメントが良い感じだったので、このまま行くかな、と思っていたのですが当に通ってくれて一安心です。 435 papersという数字。最近のSIGMOD, VLDBなどのデータベースのtop conferenceは通常600近くの投稿があるのですが、

  • オープンソースとフリーソフトウェアは何が違うのか

    「オープンソース」と「フリーソフトウェア」。この二つは似ているようで決定的に違う。 「オープンソース」は言葉として「ソースが見られる」というただ一つの意味しか持ち得ないが、「フリーソフトウェア」はプログラムを使う人の「自由」を求める言葉だ。 Communications of ACMにRichard Stallmanが「オープンソースではだめなんだ」と訴える記事を書いている。ここで言う「フリー」とは、「無料(タダ)」という意味では決してない。ソフトウェアを使う自由、コードについて学び、変更する自由、そして変更の有無に関わらずソフトウェアのコピーを配布する自由のことだ。 1983年から始まったフリーソフトウェアを啓蒙する運動のおかげで、GNUのツール群や現在のLinuxがあり、これなしには今のGoogleの姿もなかっただろう。自由に使えるOS無しには大規模クラスタの運用などとても叶わないし、

    オープンソースとフリーソフトウェアは何が違うのか
    InoHiro
    InoHiro 2012/11/28
  • Leo's Chronicle: 学生を成功に導くアドバイス - Ullman先生からのアドバイス

    博士課程には、二人として同じ学生はいない。そして、教師がすべきことも個々の学生に応じて変わる。自分のキャリアを振り返ってみて、うまくいったいくつかの方法と、よく使われているけれど実際には学生のためにならないやり方というのがよくわかるようになった。まず初めに述べておくと、教師のゴールとはどうやったら学生が自分自身の力で考え、新しいアイデアを組み立て、問題を解ける人になれるかを教えることだ。

    Leo's Chronicle: 学生を成功に導くアドバイス - Ullman先生からのアドバイス
  • 東京大学理学部情報科学科のパンフレットがすごい

    先日の「ぜひ押さえておきたいコンピューターサイエンスの教科書」というエントリでは、東京大学理学部情報科学科の講義で使われていた教科書を中心に紹介しました。では、実際の授業の様子はどうなのでしょうか? タイミングの良いことに、情報科学科のカリキュラムのパンフレットがウェブで公開されています。 東京大学理学部 情報科学科 パンフレット かなりの力作で感動しました。なにせ今まで外向けの色気があまりにない学科だったので。。。 (苦笑) 理学部情報科学科と工学系の学科との一番の違いは、パンフレットにもありますが、コンピューターの原理や理論的背景も押さえ(ここが重要)かつ最先端の技術やモノも作り上げていくところでしょうか。そんな雰囲気を、カリキュラムや実際の講義・演習の様子、教授陣のメッセージなどから、感じ取ってもらえることと思います。 一点だけ補足。このパンフレットには普通の学科紹介でよく見かける卒

    東京大学理学部情報科学科のパンフレットがすごい
  • Leo's Chronicle

    先日「プログラマの履歴書」という記事で「コンピューターを使って世の中をほんの少し便利にすようとする」ことが良いプログラマになるきっかけと書きました。先日「どうしたらプログラミングができるようなるか」という質問を受けたので、参考になればと思いもう少し掘り下げてみることにします。 1. 「どの言語を学べば良いか」という問いから離れる 「ノーベル賞はこうして決まる」というには、セレンディピティ(serendipity: 偶然から生まれる偉大なる発見)という言葉が頻繁に登場します。ノーベル賞は狙って取るものではなく、科学への貢献に邁進するなかで生まれてくるものだと。 その一方、「Serendipity favors the prepared mind (偉大な発見は、準備ができている頭脳を好む)」とも言われます。プログラミングを始めるにあたってどんな言語を学べば良いかという問いに対しては「何が将

  • 理系のためのサバイバル英語入門

    ふと棚を眺めていると、「理系のためのサバイバル英語入門―勝ち抜くための科学英語上達法 (ブルーバックス)」というを発見。東京大学の1~2年生向けに教養学部で開かれていたゼミ「理系のためのサバイバル英語入門」の内容をにしたものです。もう10年以上前に書かれたものですが、まったく色褪せていないことに驚くばかり。 一番驚いたのが、昔読んだときと今読んだときとで印象がまったく異なっていること。このの内容を十分に咀嚼するには、読む側にもレベルアップが必要なようです。 1.まず冒頭の科学用語の英語表現をどれだけ知っているかのテストで、高校や大学で学ぶ、文学・哲学・社会学中心の英語が、理系の学問では役に立たないことに気付きます。(大学1年生の頃、初めてこのを読んだ僕はこのレベルでした。英語そのものを教える人ってどうしてもいわゆる理系分野を知らない人になることが多いので…) 2.自然な英語を書く

  • ぜひ押さえておきたいコンピューターサイエンスの教科書

    僕はバイオインフォマティクスという生物と情報の融合分野で研究を行っています。東大の理学部情報科学科にいた頃は同僚のマニアックな知識に驚かされたものですが、そのような計算機専門の世界から一歩外に出ると、それが非常に希有な環境だったことに気が付きました。外の世界では、メモリとディスクの違いから、オートマトン、計算量の概念など、コンピューターサイエンスの基礎知識はあまり知られていませんでした。コンピューターサイエンスを学び始めたばかりの生物系の人と話をしているうちに、僕が学部時代に受けた教育のうち、彼らに欠けている知識についても具体的にわかるようになってきました。 バイオインフォマティクスに限らず、今後コンピュータを専門としていない人がコンピューターサイエンスについて学ぶ機会はますます多くなると思われます。そこで、これからコンピューターサイエンスを学ぼうとする人の手助けとなるように、基礎となる参

    InoHiro
    InoHiro 2009/09/26
  • 未来を予測する一番よい方法は、自ら未来を創ることだ

    石井先生の基調講演で紹介されていた言葉:The best way to predict the future is to invent it. - Alan Kay (未来を予測する一番よい方法は、自ら未来を創ることだ)Alan Kayは、今や常識となったオブジェクト指向プログラミング(1960-1970年代ごろ)や、ウィンドウを重ねるGUI、ノートブック型のコンピュータ(Dynabook, 1968)など、現在のパソコンの基となるアイデアを考案してきました。それらの功績から2003年にはACM Turing賞(いわば、Computer Scienceのノーベル賞)を受賞しています。 彼がこれらのアイデアを考案して40年後の今、僕の目の前にはウィンドウがあり、オブジェクト指向の考え方を使ってプログラムを書いています。彼の言葉は、まことにむべなるかなと思わざるをえません。

  • あなたのやる気を引きだす3つのレンズ

    (昔、Harvard Business Reviewに乗っていた記事の引用。Manage Your Energy Instead of Time and Rejuvenate。仕事に対する見方をスイッチし、やる気をコントロールするのに便利。あとで訳します) Emotional EnergyDefuse negative emotions— irritability, impatience, anxiety, insecurity— through deep abdominal breathing.Fuel positive emotions in yourself and others by regularly expressing appreciation to others in detailed, specific terms through notes, emails, calls

  • Leo's Chronicle: ウェブ時代に成果をあげるための心得

    ► 2015 (2) ► 9月 (2) ► 2011 (4) ► 12月 (2) ► 11月 (2) ► 2010 (2) ► 1月 (2) ▼ 2009 (45) ► 12月 (1) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (3) ▼ 6月 (5) 新しいデスク ウェブ時代に成果をあげるための心得 炭鉱のカナリア 「残念」に「残念」という禅問答 梅田望夫氏の功績 ► 5月 (6) ► 4月 (5) ► 3月 (5) ► 2月 (1) ► 1月 (9) ► 2008 (48) ► 12月 (7) ► 11月 (15) ► 10月 (6) ► 9月 (5) ► 8月 (4) ► 7月 (2) ► 5月 (1) ► 4月 (1) ► 3月 (4) ► 2月 (2) ► 1月 (1) ► 2007 (50) ► 12月 (4) ► 11月 (4) ► 10月 (3) ►

  • 成果をあげるべきものを取り巻く現実

    「経営者の条件」 P.E. Drucker より Exectiveが成果を挙げる際の障害: 自分の時間は、他人の自由にされてしまう 顧客・上司から電話がかかると、貴重な30分はあっという間に過ぎ去る Exectiveは、日常業務に追われる 職歴を通して実につけたものから脱却できない 貴重な時間を、日常業務に浪費・埋没させてしまう 日常の仕事の流れが、Exectiveの関心と行動を決定してしまう 医者にとっては、患者を診るという日常に身を任せることで、優先して取り上げるべき問題は自ずと見えてくる しかし、Exectiveははるかに複雑な事象に対峙している 日常業務内の個々の事象は、Exectiveとして解決すべき問題の手がかりですらないかもしれない 貢献と成果に向けて働くことを可能にする判断基準 これは、日常の仕事のなかからは見出せない Exectiveは、組織の一部であり、他の人が貢献を利

    InoHiro
    InoHiro 2009/06/26
  • XML Databaseは使ってはいけない

    XMLデータベースの研究しているのになんですが、僕個人としては XML形式でデータを管理することはお勧めしません。 XMLデータを手で記述するなんていう作業はもってのほかです。 XMLは一部を間違って操作するだけで、全体がよくわからないデータになります。 Gmailで動的データ通信に使われているAJAXという技術もあって、この最後のXはXMLのことなのですが、データのやりとりはXMLでいいけれど、データの操作はXMLでないほうがいいとさえ思っています。 けれど、これをお勧めできるようにする技術の研究をしています。 企業の方などで、XMLデータベースを導入しようとしている考えている方は、 それよりも、まずrelational databaseのことを学んでください。今のrelational databaseにできなくて、XMLにできることは、そう多くはありません。逆にXMLにできないことの方

    InoHiro
    InoHiro 2009/06/26
    "XMLを使っているけれど、XMLを操作している印象を持たせないようにすることが、僕の当面の目標です"
  • Leo's Chronicle: 良い論文を書くために知っておくべき5つのこと

    英語で科学技術論文を書くための書籍はいくつか出版されていますが、大抵、日語と英語の表現やロジックの違いの説明が主で、「論文」というよりは「英語」の学習と質的に変わりません。ここでは、「論文」をいかに書くか、さらには「論文」を書くために「研究」をいかに進めるかという点に踏み込んだ内容を紹介していきます。 まず、コンピューター系の論文の書き方のHow toを示した書き物として、DB分野で有名なJennifer Widomの以下の記事が、良い指針となります: Tips for Writing Technical Papers (Jennifer Widom)この中から、introduction (導入部)で説明すべきことについて引用しました。 What is the problem? (解いている問題は何?) Why is it interesting and important? (なぜその

  • これから研究をはじめる人へのアドバイス

    研究の世界 上の文章はもちろんネタですが、研究を続けていくと当にここに書かれたような、トップジャーナルに通ってなければ…、という世界が待っています。実際、僕自身もいつもこのような心づもりで研究しています。ただ、ひとつ気になったのは、自分自身の経験や、周りの様子を見る限り、Cell, Nature, Science (CNSと俗に言われます)などは、自分一人の実力だけで採録されるわけではありません。この人がいなかったらここまでの成果は出なかった、という貢献は確実にあるけれど、大抵は多くの人の長年の努力の積み重ねの結果acceptされています。 研究のインパクトの大きさ だから結果として、団体で金メダル!くらいには誇れますが、これを個人の功績と考えるのはあまりに決まりが悪いものです。僕が情報と生物の融合分野にいながら、情報系でかつ腕一でできる研究も続けているのは、この決まりの悪さを避けたい

    InoHiro
    InoHiro 2009/06/26
    必ず読む
  • Leo's Chronicle: XML時代の終焉 ~ XMLから再びCoddへ

    先日、ACM SIGMODの日支部大会に招いていただいて、「Relational-Style XML Query (ACM Portal http://doi.acm.org/10.1145/1376616.1376650)」について講演をしてきました。Relational-Style XML Queryは、XMLという複雑な構造をもったデータに対して、SQLのようなテーブルデータへの検索に使われる言語で問い合わせする手法です。 この研究の肝は、木構造データといわれるXMLでも、実はそのほとんどがリレーション(Microsoft Excelのようなテーブル形式のデータ)の組み合わせと考えることができ、そのテーブル構造の情報(スキーマ)を使うと、検索が非常に簡単に書けるという点です。

    InoHiro
    InoHiro 2009/06/11
    SQL over XML, 超気になる
  • 研究者はどれくらい論文を読むのか?

    自宅にあった、ここ5年間に読んだ論文を集めたらこれくらいになりました。(ちなみに全部両面印刷。ラボにも、もう1山分?くらいあります) 今や論文のPDFファイルはネットで簡単に入手できる時代で(ただし英語に限る)、画面の大きなディスプレイなら、そのまま読んでも特に不自由がありません。(なぜ印刷するかというと、電車の中やカフェで読んだり、お風呂で読んでも安心だったり(え?)、読み終わったら子どもに落書きさせたり(ええ?)するためです)。とにもかくにも、印刷された論文は家に置いておくとスペースをとってしまうので、1ページ目だけ読んだ記録用に残し、後は廃棄するために、子どもがホチキスの針をはがしてくれました。いい子。

    研究者はどれくらい論文を読むのか?
  • Leo's Chronicle: データベースシステム入門:「データベースは体育会系図書館?」

    (データベースシステムとその研究の世界を一般の人にわかりやすく伝えるため、「図書館」をモデルにした話を書いてみました。試験に出そうな(?)部分は太字で強調してあります。) 「データベース」という言葉は、データの集まりという意味です。データベースシステムの研究では、例えて言うなら「欲しいがすぐに見つかる図書館」をいかに作るかという問題を考えます。ここで「データ」は図書館の「」に相当し、「ハードディスク」は「棚」がたくさん収められている図書館の建物だと考えてください。 「欲しいがすぐに見つかる」とはどういうことでしょうか?例えば、図書目録を調べて目的の棚の番号がわかったとしても、棚までの距離が遠ければがっかりしてしまいますよね?(高すぎて手が届かない、とか泣けてきます)

    Leo's Chronicle: データベースシステム入門:「データベースは体育会系図書館?」
    InoHiro
    InoHiro 2009/05/12