進・日進月歩

IT, Jazz, study, engineering, すべての真実とクリエイティビティのために

Archive for the ‘IT’ Category

リポジトリ/ソース管理研究

  • Filed under: IT, 記事
Sunday
Apr 27,2008

現在我が家ではsubversionでレポートから書類からソースファイルまで全部管理してるわけですが、ちょっと不便な点があります。

  • オフラインだとバージョン管理できない
  • 複数人で開発する場合、branchとかつくるのが割りと面倒
  • 公開リポジトリと非公開リポジトリをいったり来たりすることがあるので、不便

オフラインでできないというのは、自分が常に公開サーバのつなげる環境にあるわけではなかったり、そもそも扱い厳重注意で外に公開してないサーバにあったり、ネットにつながってないときといった感じですね。
バージョン管理に慣れてしまうと、バージョン管理できない状態というのがやたら不便に感じます。
これはいけていない。

複数人で開発する場合のbranchがめんどくさい。これは、単に運用の問題でしかないわけで、物理的に解決可能ではあるんですが、めんどいもんはめんどい(ぉぃ

公開リポジトリと非公開リポジトリのの行き来の問題。
これは自分ひとりでやってたプロジェクトをある日突然公開する場合とかは、プライベートリポジトリとか仕事用リポジトリ(今はバックアップとって消したけど)と別に作ることがあるということですね。
割と個人的都合。
基本的にプライベートな情報は全部ひとつのリポジトリで管理しているため、切り分ける必要があるわけです。
ただ一方で単に思いついただけの簡単なスクリプトとかのためにいちいちリポジトリセットアップしてたりしたら、管理しきれないし、わけわかんなくなります。

こういった事情からいくつかの候補を検討中です。いわゆる分散リポジトリというもの。

svkはsubversionを分散管理できるように拡張したもの。
詳しい動作はgihyoにあるのでそちらを参考に。Subversion+svkでらくらく分散リポジトリ
特徴としては、既存のsubversionサーバをいじらないですむことでしょうか。

mercurial / gitは最初から分散管理をすることを売りにしているリポジトリサーバ。

どっちも結構大きなプロジェクトで使われてるようです。
gitはlinuxのカーネルやrails、Xとかcompizとか。mercurialはNetBeansなど。

以下関連記事のリンクを並べておきます。

comparison of revision control software -wikipedia

Subversion+svkでらくらく分散リポジトリ

Mercurial – wikipedia

Mercurial: an alternative to git [LWN.net]

Mercurial Project – google tech talk

gitを使ってソースコードを管理する ibm

OpenSolarisのscm比較

Subversion or CVS, Bazaar or Mercurial? – Java world

bitkeeperからgitへ、ソースコード管理ツール大変更

  • Comments Off
  • Sunday
    Apr 6,2008

    e-mobileの音声かいました。
    とりあえず3ヶ月くらい運用してみて、問題なければこちらに統一します。
    なんでかっていうと、emobile音声は使わなければモデムになるし、通話したらその分払えばいいってんで、買ってみたわけです。

    pwnageによるipod touch hack
    あたらしい、jailbreakの方法ですね。bootloaderをハックをするらしく、今後どんなファームウェアがでようとしばらくはこの方法でいけるらしいです。
    基本的にhack済みのfirmwareイメージをipod touchに転送する方式であるため、とてもスムーズにことが進みます。

    途中でルートパスワードを聞かれるのでビビッて動作を詳細に調べました。
    どうやら/Volumesにiphoneのディスクイメージをいったんマウントするらしく、そこがrootでマウントされるため、変更するのにrootパスワードがいるようです。
    外に何か悪さしてないかといわれるとなんともいえないですが、とりあえず入れないことには話が進まない。

    あと、本を買いました。企業価値評価の有名な本です。あとPFドラッカーの「テクノロジストの条件」というのを買いました。
    なんで読み終わる前に書いたかというと、単純に全部読みきれる感じがしないからですね。

    あと、とても話題になっていたので「googleを支える技術」というのを買ってみました。
    買った本を並べてみるとこんな感じ。

    さて、なんで「企業価値評価」バリュエーションの本を買ったかというと、最近の流行だからというのと、それがコンピュータによる計算が向いているからだということが上げられます。
    私はある程度プログラム書けるわけですが、基本的な主眼はプログラムを書くところよりは、コンピュータに「なにか」をさせることにあります。
    つまりその何かに対する知識が基本的に重要です。

    今ちょっとアルバイトで手伝っている会社を見たときにみんながエクセルで分析しているというのを見て少々びっくりしました。
    エクセルは仕様上6万件程度のデータしか入力できないのですが、web上にある情報は何を調べてもデフォルトで数百万程度はあります。
    それを組み合わせたりした処理をしたりすると数千万件。
    残念なことにエクセルでがんばってる限りは、こちら側の世界に来ることができないわけです。

    加えて、コンピュータを使って人間がやっている作業を自動化するというのは基本的にコストを低減させる価値しかありません。
    不可能を可能にしたというほどのインパクトはありませんし、なによりもコストベースの組み立てというのは往々に寿命が短い傾向があります。
    ここに数理モデルや統計モデルを構築して、マーケットデータにするという点が基本的に重要であるように思います。
    このモデルを作る作業も、エクセルでもできるっちゃできますが、基本的にはプログラム書けたほうが数倍作業は早いです。

    つまり自分が学ぶべきは何なのか?それは大量のデータを処理する方法論(モデル構築)と、方法論を用いて有用な情報を生み出すことだということを考えています。

    と、まぁ今のところ思いつきレベルのものしかないのですが、世の中の情報を以下に役に立つ形に変えるかという点の勉強に使えるかなと思ってごちゃごちゃやっています。

  • Comments Off
  • iPhone SDKとか3G対応とか

    • Filed under: IT, 記事
    Saturday
    Mar 1,2008

    emobileも音声が出たし、iPhoneも日本で発売するとかしないとか、sdkが出るとか出ないとかでどうしたもんかなぁといつも思う今日この頃。

    けどとりあえず、今度こそ発表されるみたいですね。

    アップル、iPhone SDKイベントの開催は3月に cnet

    6日に公開される?らしいので、いまさらうわさをごちゃごちゃチェックするのもあれですが、iLoungeにこんな記事が出ています。

    iPhone / iPod SDK: Apple to approve, distribute apps, limit add-ons

    Apple plans to require that all mobile applications be distributed through its iTunes Store, making the Store a necessary hub for those interested in browsing or purchasing iPhone and iPod touch software.

    iPhone / iPod touchのソフトウェアはすべてiTunes storeを経由して配布されるようになります。

    The most controversial aspect of Apple’s SDK plan is its intention to formally approve or deny all SDK-based software releases for its devices.

    publishing only approved applications to the iTunes Store

    sdkで作られたアプリケーションは基本的にリリースするかどうかの判断を受けます。

    OKがでたアプリケーションだけが公開されます。

    SDK developers will be prevented from interfacing directly with Dock Connector-based accessories connected to the iPhone or iPod touch

    ドックコネクターを使ったソフトウェアはかけません。(たとえばgpsなどの拡張があったとしてもsdkからはアクセスできない)

    Yet integrated iPhone or iPod touch features such as the phone, Wi-Fi, and camera will be developer-accessible,

    ただ、最初から組み込まれている機能にはアクセスできますよ。

    なるほど。
    itunes storeの話については、どんなに制限しようと、結局jailbreakしたiPod touchのパッケージ管理みたいのが出るだろうし、そこはどうしようもないのかなと。
    むしろapple公認を取ることでソフトウェアの安全性が担保されるという考え方なのかなぁという気もします。
    とても前向きに捕らえれば、appleは一般的なユーザを守っているといえる気がします。

    一方で勝手なアプリを開発しようと思えば、誰かがやったハックを使えばいくらでもできるわけで、それは今までと変わらないのかなと。
    ただ、その場合はappleは何が起ころうと感知しない。というのは、当然の話ですね。

    おそらくiPhone / iPod touchが目指しているのは、家電製品のほうに近く、携帯できるPCとかとは違うということなのでしょう。
    だれもテレビや冷蔵庫を使うときハッキングされることを心配して使ったりはしないし、壊れるんじゃないかと心配したりもしない。iPhoneはそういう意味で冷蔵庫と同列なのかなと。
    多少拡張性を犠牲にしても、誰もが使いやすいインターフェース、誰もが安心して使えるハード/ソフトウェアを目指しているのでしょう。
    そういう意味では、appleの今までの製品群と同じ重奏低音が流れているということなのでしょう。

    snsやネットゲームで殺人が起きたり、会社を首になったりする人が出る時代です。
    たぶん個々人が思っている以上に情報機器というのは危険な存在。
    appleがそこまで考えてるのかどうかはよく知りませんが、ギーク向けではなく、みんなが安心して使える製品という意味では、支持できるのかなと思います。

    ただ、何かが劇的に変わりそうな期待・・・という意味では、ちょっと薄くなったかもしれません。

    追記:

    最近情報の世界が現実に近づいてきているなぁというのをひしひし感じます。それはインターフェースの改善によるところが大きい気がします。

    そういった意味で、これからはソフトウェアの拡張性だけでなく、ハードウェアのスマートな拡張性についても注目されていくのかなと個人的には思います。

    (スマートなっていうのがポイント)

  • Comments Off
  • Thursday
    Feb 28,2008

    レベルは中級くらい。対象は中規模以下ベンチャー。自分である程度以上ITの管理ができることがポイント。

    ずばり言えばgoogle appsを使います。

    google appsは特定のグループ内で閉じた環境でのカレンダーやアドレス帳の共有を実現できます。
    加えてカレンダーには簡単な会議室予約などの機能もついています。また、知ってのとおりgmailは大変メールの整理に便利なのでこれを利用した伝言の整理などもいろいろ行えます。

    これを設定するところまでは初級。

    企業向けにはこれでは足りないことがあります。たとえば既存の勤怠管理アプリケーションがあったりするかもしれないし、ローカルでしか見れない情報などもgoogle appsへインテグレートしたいと思う人が多いです。
    ある程度以上情報整理が得意な人はブックマークや自分のwiki、スタートページで管理するのですが、世の中ITスキル以前にそういった整理ができない人というのがたくさんいます。(そしてそれができなくてもいいとみんな思ってる。エクセルとかワードのほうがよほど難しい気がするんだけどね。)
    「そんなの自己管理しろ!」とか正直思うのですが、そこはそれ。そういう世の中なのでしょうがない。
    google appsへインテグレートしようじゃないか。

    ここで使うのがいわゆるiGoogle
    ここにすべてをインテーグレートしましょう。

    さて、iGoogle用にガジェットを開発するのでもよいのですが、社内向けのアプリケーションとかをガジェット登録するのは現実的ではないし、よろしくない。
    なのでこれらの白紙のガジェットを使います。

    まず普通のブログパーツと同じ要領でアプリケーションを作成します。(たぶんここが中級)
    それを「HTML / Javascript」でiGoogleに表示。
    軽く実験しましたが、flashでもjavascriptでも表示できそうです。
    すると、iGoogleへのインテグレート完了。

    wikiの更新などがとりたいときは、たいていのwikiはRSSをはいているのでそのURLを登録すればOKでしょう。

    また、わざわざブログパーツ的なものを作るのが面倒な人にはIFrame。必ず表示したいページのURLを入れてもいいし、ちょっと見た目のHTMLを整形して見やすくして入れるのもお手軽ですね。

    最後に勤怠管理ページへのリンクや、報告書フォーマットへのリンクなど、いろいろなものへのリンクはLinkを使います。
    案外これがあるだけで、想定どおり業務が回ったりします。

    なんかどれをとってみても「おいおい。なんでこの程度の自己管理ができないんだ?」という感じですが、まぁ俺がテスト勉強嫌いなのと同列だと思うと、なんとなくわかるような気がしないでもないです。
    結局、人間。自分のしたくないこと・めんどくさいことに対してはまったく能力を発揮しないということですね。

    個人的にgoogle appsがお勧めなのは、最終的にアドレス帳などの情報をcsvで吐き出すことができるところでしょうか。
    いざとなったら移行できます。(全部確認したわけではないけど)

    何よりも、RSSはいてるアプリケーションとは簡単にインテグレートできるし、単にちょっと社内リンク集みたいなのを付け足すのも簡単にできるので、簡易的なソリューションではありますが、「簡易さ」と「便利さ」がいいところでバランスとっている方法ではあると思います。

    ※ただし自己拡張の部分はもちろんgoogleのサポート対象外です。またAPIやガジェットの仕様が変わる可能性などいろいろ考えると、これを導入提案するにはもう少し詳細な検討が必要な気はします。

  • Comments Off
  • Saturday
    Feb 23,2008

    ベンチャーの成功を予測するアルゴリズム

    A Start-Up Says It Can Predict Others’ Fate

    シリコンバレーに行くんだし、有名人のブログで勉強しとくかなぁとか思ってたまたま見たら発見。
    この前友達と冗談で言ってたやつをマジでやってる人がいたらしいw
    果たしてこんなことは可能なのか?

    不可能ではない。というのが、ありきたりではあるけど、答えなのかなという気がする。

    この手のデータマイニング系だと、たとえば保険やローンの与信でこういったアルゴリズムが使われることがある。
    年収はいくらいくらか?年齢は?職業は?….etcこういったものを軸にどの程度までお金を貸したりできるのかを予測するわけです。
    過去に十分な量のさまざまなパターンのデータが偏りなく満遍なくあれば、それを教師データにしてある程度正確な予想はできそうである。

    ちょっと乱暴な言い方をすれば、要は統計の問題なので、たとえば保険商品とか金融商品だって、データマイニングと同じような理屈でできているといえないことはない。
    要は「何らかの統計データ=教師データから得られる統計」、「商品=学習したアルゴリズム」というような関係。

    こう考えてみると、ベンチャー企業の行く末もある程度の確度で予想できそうな気がする。

    あとは、うまく説明するための要素と、それによってうまく説明される要素の設定がうまくできるかという感じですね。

    意外と何で成功を計るのかというのがポイント。将来の企業価値なのか、IPOまでの期間なのか、買収されるときの金額なのか、買収される可能性なのか。
    ものによっては、うまく説明できたり、できなかったりします。これも統計の不思議。
    ただ、投資家向けに資料出すならなんらかのexitに関する情報を出すことが必要だろうなとは思います。

    個人的にはこのアルゴリズムだけではだめで、最終的にここから出てきた結果を用いて、レポートを作り説明したりする人間的なスキルと、一般的な投資関連知識が必要になるかと思います。
    たいていの場合、よくわかんないレポートなんか出てきても理解する・理解しようとするひとは少数で、結局は相手のわかる形に変換する人的な作業が必要になるかと思います。

    おそらく投資家に役立つツールというよりは、投資家をお手伝いするコンサルタントなり何なりのお役立ちツールとしての可能性はあるのかなぁという気がします。

    あとは、機械だけに黙々と作業してくれるので、オイシイ投資対象の取りこぼし防止とか、とりあえず人間の有限のリソースをちょこっただけ拡大してくれるかもしれません。

    個人的にこの手の話は最近注目してるので、結果が気になります。

  • Comments Off
  • Friday
    Feb 22,2008

    Microsoftが相互運用性への取り組みを強化,秘密保持契約対象の技術情報も無償公開

    Microsoft Office Binary(doc, xls, ppt) File Formats

    マイクロソフトがOSやOffice製品に対する仕様を公開しました。

    いままでずっと公開されてこなかったワードやエクセルの情報が公開。ちょこっと見てみましたが、かなり詳細なことが書いてあります。

    今までだと勝手にバイナリを解析して読み込んだり保存したりできるようにしていたソフトウェアが安定することはもちろん、これによってMicrosoft離れが促進される可能性があります。

    今回の公開は、オープン化の流れに逆らえなかったというよりも、ユーザがいろいろなプラットフォームを使うようになったため、それにマイクロソフト単独で対応しきれなくなるという判断なのかなと個人的に思っています。

    たとえば私はwindows XPとcentos,ubuntu,mac osXを主に使っていますが、ms officeが役に立つレベルで動作するのはwindowsのみです。
    有名な話ですが、あるファイルをword/windowsで作成してword/macで読むと文章が崩れたりします。
    逆もまたしかり。
    なので、基本的に他人とファイルを交換する必要がある限りはwindowsを使わざるをえないというのが現状。
    しかし、一方で近年linuxが大変扱いやすくなったり、mac人気が出てくる中、windows離れをし始めている人が多いのも事実。
    mac上でwindowsを動かして使っている人もいます。しかしこれも時間の問題で他製品に流れていってしまうでしょう。
    ビジネス上のことを考えれば、より多くの人に通用するファイルフォーマットが選択されるように圧力がかかるのは必然で、逆にMSはこれを十分に利用していたわけですが、それが崩壊しつつあるということでしょう。

    ただレンダリングエンジンの問題もあり、たとえ同じ技術仕様書に基づいて作られたソフトであっても、それを描画するレイヤーでの処理が違えば異なる見た目になる可能性はあります。
    またフォントの問題やアートワークの量の問題などもあり、そういった面でOSSのoffice suiteに比べて優位であることはかわらないのかなとも思います。

    最後にこの仕様公開で進むであろうoffice suiteのSaaS化。
    ベンチャーならいざ知らず、大手企業が他人の会社のバイナリを無許可で解析してそれを製品に組み込むというのは考えにくい。
    しかし、今回の公開でそのハードルはすくなくとも低くなりました。
    また、人員が不足しているようなベンチャーであっても多少の根性があればofficeドキュメントが扱えるようになりました。
    これによってたくさん立ち上がってきてるweb osの使い勝手は多少なりともあがることになると思いますし、ユーザから見れば現状の環境からシームレスに移行できるというのはありがたく、大変有用であるように思います。

    いずれにしろ、世界で最も使われているOSとoffice製品の技術仕様が公開されたことはとても重要で、より個々人が使いやすいプラットフォームへの移行(わかりやすく言えばwindows離れ)を促進することは確実なのかと思います。

    追記:

    最終的に仕様公開は「.Net Framework」などの開発系の製品までに及ぶとのこと。
    gccでこういったものが簡単にコンパイルできる日がそう遠くないうちにくるということなんだろうか。

  • Comments Off
  • 仮想マシン VirtualBox

    • Filed under: IT
    Sunday
    Feb 17,2008

    VirtualBox on Windows

    virtualbox on OSX

    virtualbox

    いわゆるVMWareとかparallelsみたいなやつですね。個人用途に限り無料で使えます。

    今までVMWare Server(windows)とparallels(mac)を使ってたんですが、この前twitterでayucatさんが教えてくれたのでちょいと実験してみました。

    とりあえずいれてアップデートしただけだったりしますが、問題なく動いています。

    vmwareはfusionが出る前はmacでは動かず、parallelsもどうもwindows以外のOSの挙動がいまいち。
    ubuntuはparallelsにはそのままではインストールできませんでした。

    それで、今日ふと思い出したので実験。

    screenshotによると、parallelsのcoherenceモードのようなことができるみたいです。

    まだ使い込んでいないので不具合とかでそうですが、しばらくテスト開発環境としてubuntuを入れて使ってみたいです。

  • Comments Off
  • about me

    原田 惇

    応用数学や統計、ITなどを利用していろんなことをしています。
    自己紹介はこちら

    adsense

    amazonお勧め

    Recent Posts


    Recent Comments


    Twitter



    Archives


    Meta