Tuesday, November 2, 2010

半数のIT企業はまだXPを使いたがっている

TECHWorld.comによると、マイクロソフトは、2014年4月8日以後Windows XPのサポートを中止するにもかかわらず、48%のIT専門家達はその時までもXPを使い続けると言っています。
理由は、予算ではなくて、ただ単にXPはいいOSだからです。それで、用は十分達しています。
それにしても、Windows 7の導入率は、順調に伸びているようです。御蔭で、同部門の今年のマクロソフトの売り上げは、10%増になっているそうです。

Sunday, October 31, 2010

フルセグ・ワンセグTVチューナー KTV-FSUSB2

安いUSBタイプの地デジチューターを探していたら、こいつに出会いました。
確か四、五千円という手頃の値段でした。だけど、シンプル過ぎて、付属ソフトもないような気がします。うっかりして、どこかにしまいこんだかと思ったが、どこを探しても、見つかりませんでした。
本体に、「ConnecTVDigital」しか印刷されていなく、いくらググっても、それらいいヒットはありませんでした。
試しにPCに接続したが、ドライバーインストールのプロセスが自動的に立ち上がって、見事に困っていたようです。「ISDB-T Full Segment Device」用のディスクを要求されたが、そんなディスクはどこにもありません。この「ISDB-T Full Segment Device」でググってみると、どうも、「【KEIAN】KTV-FSUSB2」というキーワードが関連しているようです。
結局、これはKEIAN社のKTV-FSUSB2という製品であることを判明しました。
同社のホームページを見ますと、以下のドライバとアプリケーションソフトをダウンロードすることもできます。
DigiBest TV Driver
DigiBest
早速ダウンロードして、順番にインストールすると、見事にチューナーが認識されるようになり、地域を設定すると、チャンネルも正しくスキャンしてくれました。

以上のリンクアドレスは、変わったことがあるので、また変わる場合、以下の恵安株式会社のホームページから探せばいいはずです。
http://www.keian.co.jp/products/products_info/ktv-fsupcie/ktv-fsupcie.html

ご参考に、仕様は以下の通りです。

製品名KTV-FSPCIE
JANコード4534782894442
本体サイズ78mm×92mm(突起部・スロット部・ブラケット部除く)
本体重量約52g(本体のみ)
インターフェイスUSB2.0ピンヘッダ
受信チャンネルUHF=13ch~62ch / CATV=C13ch~C63ch(パススルー)
アンテナ入力F型コネクタ×1
TV音声ステレオ/2ヶ国語対応
録画対応フォーマット
MPEG2-TS
録画映像の著作権保護AES128bit

Wednesday, October 13, 2010

Ubuntu - cannot resolve domain names

One day, one of my Ubuntu pcs suddenly cannot access internet at all. To be precise, my browser cannot access any wet pages, even Google!
Somebody mentioned that maybe it is a typical ipv6 problem. One way to disable ipv6 is to use about:config at fixefox. Then input ipv6 in the filter. When the option for disableipv6 is shown, right click on it to toggle it as "true". But this trick does not work for me.
After some more searching, I found the right answer: set up the DNS infor in /etc/resolv.conf.
Just add "nameserver 192.168.0.1", where 192.168.0.1 is also the gateway of my pc.

To enable resizing of Ubuntu Window, follow the tips in https://linuxfan.info/virtualbox-guest-additions

When uinsing Virtualbox, to enable guest os accessing network in the same way as host, follow 【VirtualBox】NATネットワークでゲストPC同士を通信させる

Friday, October 8, 2010

Ada - Language for Embedded Programming

Eda は組み込み向けのプルぐらミング言語です。
Ada Information Clearinghouseには、Adaに関するありとあらゆる情報を見つけられます。
あまり知られていないが、ボーイング(Boeing)777の99パーセントのナビゲーションソフトウエアは、このAdaで書かれています。
コンパイラには、GPLライセンスのGNAT版があります。ドキュメントもキチンと整備されています。

Wednesday, October 6, 2010

1であるビットの数を数える方法(C言語)

最上位2ビットには使えませんが、以下の最速バージョンはC MAGAZINE 1996年8月号に掲載されたものですが、原理を分かれば、とても感動的なものです。
ビット演算って、凄い!って感心させます。
int numofbits(int bits)
{
    int num;

    num = (bits >> 1) & 03333333333;
    num = bits - num - ((num >> 1) & 03333333333);
    num = ((num + (num >> 3)) & 0707070707) % 077;
    return num;
}
もう一つは、1の数分のループが必要です(Brian Kernighan氏)。
int numofbits(unsigned int bits)
{
    int count=(bits==0)?0:1;
    while ((x&=(x-1)) != 0)
    {
        count++;
    }
    return count;
}
ルックアップテーブルを使う方法は以下の通りです。
//ルックアップテーブル
static const unsigned char BitsSetTable256[256] =
{
    # define B2(n) n, n+1, n+1, n+2
    # define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2)
    # define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2)
        B6(0), B6(1), B6(1), B6(2)
};
//方法1
int numofbits_1(unsigned int v)
{
    return (BitsSetTable256[v & 0xff] +
        BitsSetTable256[(v >> 8) & 0xff] +
        BitsSetTable256[(v >> 16) & 0xff] +
        BitsSetTable256[v >> 24]);
}
//方法2
int numofbits_2(unsigned int v)
{
    unsigned char * p = (unsigned char *) &v;
    return (BitsSetTable256[p[0]] +
        BitsSetTable256[p[1]] +
        BitsSetTable256[p[2]] +
        BitsSetTable256[p[3]]);
}
アルゴリズムの大家であるKnuth の本には、以下のものがあります。
int numofbits(long bits) {
    bits = (bits & 0x55555555) + (bits >> 1 & 0x55555555);
    bits = (bits & 0x33333333) + (bits >> 2 & 0x33333333);
    bits = (bits & 0x0f0f0f0f) + (bits >> 4 & 0x0f0f0f0f);
    bits = (bits & 0x00ff00ff) + (bits >> 8 & 0x00ff00ff);
    return (bits & 0x0000ffff) + (bits >>16 & 0x0000ffff);
}
参考文献:

Friday, September 10, 2010

Excelのエラーチェック関数

ISBLANK  未入力かどうかをチェックする関数です。
ISERR  #N/A以外のエラーかどうかをチェックする関数です。
ISERROR  指定したセルまたは計算式の内容がエラーかどうかをチェックします。
ISLOGICAL  論理値かどうかをチェックする関数です。
ISNA    #N/Aエラーかどうかをチェックする関数です。
ISREF  セル参照かどうかをチェックする関数です。
ISNONTEXT  文字以外かどうかをチェックする関数です。
ISNUMBER  数字かどうかをチェックする関数です。
ISTEXT  文字かどうかをチェックする関数です。

Friday, September 3, 2010

Tips for Older IT workers

People get old, so do nerds. To survive, people need to keep refreshing themselves, so do nerds.
Since IT field tends to have more nerds than others, the article "Eight Tips for Older IT Workers" offered by Monster's Inside Tech is a good reference.
In summary, learn to brag, build a blog, stay current, work on Open-Source Projects, never stop learning, teach a course, be a leader and show passion are the keys of keeping oneself refreshed.