カテゴリー別アーカイブ: UNIX

真のコンピュータ文化を作り上げるために

 私は、UNIXが大好きだ。私は、Windowsはつまらないおもちゃだと思っている。

 ところが、偶然、下記のようなページを見つけた。私が20年以上コンピュータにかかわってきて感じてきたことをまさに言い表している人がいた。内容は、OSだけでなく、プログラミング言語の特色についても論じていて、まさに同意見だ。大いに勇気付けられ、目の醒める思いがした。

How To Become A Hacker: Japanese

広告

Fedoraか、CentOSか

 今日は新しい職場に行った。着いてみると、二台のDellのコンピュータがあったが、両方ともOSが抜かれており、OSのインストールの必要があった。上司に確認したところ、好きなOSを入れてよいとのこと。ラッキー!!!Linuxを入れることにした。

 ところが、どのLinuxを入れたらよいのか、悩んでしまった。前回は、Ubuntuを入れたので、もう少し一般的(?)なものがよいかと思い、FedoraかCentOSかで迷った。ネットで探してみると両者の比較記事があり、Fedoraは実験的で、CentOSは安定的とのこと。私は、安定したOSが欲しいので、CentOSに決定した。

Fedora Project ホームページ

CentOS

 Windows PCはあまっていたので、これでインストールディスクを作ることにした。CentOSページを調べたところ、インストールDVDは、bittorrent版しか配布されてなかったので、BitCometをWindowsにインストールし、ダウンロードすることにした。

BitComet

 しばらくすると、IT室からそちらの部屋から変な信号が出ていると電話が来てしまった。犯人は俺か?bittorrentのような分散型ダウンロードアプリは、他のマシンに負荷をかけるため、禁止されているようだ。出社早々、IT室や会社の人を振り回してしまった。

 結局、Windows PC自体がDVD-R対応でないので、DVDを焼けないことが判明し、インストールディスクのために、八枚のCDを焼く羽目に。ひーーーーー。

関連記事

結局、Ubuntuをインストールした – スピード冒険野郎の操縦席

弘法筆を選ばず、ではなく、弘法筆を選ぶ、である

 私は、英文タイプライターを使っていたこともあり、キーボードにはかなりこだわる。

 まず、かなキーで日本語を打つくせに、私は日本語のキーボードは嫌いだ。スペースキーは両手の親指で押すので、スペースキーが狭いと使いにくいからだ。日本語キーボードは、英文タイプライターのように両親指で打つという文化がなかったためか、いらないキーが多く配置されていて使いにくいのだ。

 私は、UNIXでVI(なんと古いエディターか。でもとても軽くて、どんなUNIXにも標準装備)を愛用しているので、どうしてもESCキーが左指の届く範囲にないと、作業が滞ってしまう。この点でも、日本語キーボードは、ESCの場所に漢字変換キーがあるので、どうしても使いにくくなる。

 だから、私は英語版のHappy Hacking Keyboard Professionalを愛用している。ESCの場所も、スペースキーの長さも十分で、なによりもキータッチは最高にいい。やはり、値段も24000円ぐらいなので、かなりの出費になるが、その価値は高い。

 よく使う矢印キーがついていないので、漢字変換がやりにくいのが、唯一の不満だろうか。その後のモデルでは、その点も改良されて、矢印キーが邪魔にならない位置に配置されたようだ。

 仕事でキーボードを使う人は、キーボードの種類にこだわるべきではないかと思う。よく映画で見かけるが、カーボーイが旅の途中で馬が死んでしまっても、馬の鞍を外して、担いでいくシーンがある。これは、馬は交換できるが、鞍は自分の体に触れる部分なので、交換が不可能なのだ。弘法筆を選ばず、ではなく、弘法筆を選ぶ、なのだ。キーボートもプログラマーが直接肌に触れる部分なので、もっと気を使うべきだと思う。

関連記事

高価でも良いものを買えば、長く満足が続き、結果的にはお得 – スピード冒険野郎の操縦席

PFU Happy Hacking Keyboard Professional2

製造元PFUサイト

軽量プログラミング言語はユニバーサルデザイン?

 最近、軽量プログラミング言語というものを知った。Lightweight Languageで、略してLLと呼ばれる。UNIXのシェル、Awk、Perl, Python, Ruby等の開発言語を指すらしい。大まかな基準としては、インタプリタ、動的型、関数オブジェクトの機能を持つ言語をLLと称するらしい。

 LLが注目を浴びてきた背景には、プログラミング資源の増大化により、相対的にプログラマーという人的資源が上昇し、プログラミングが複雑化し、より安全で快適なプログラミングが求められてきたという経緯がある。

 確かに、プログラミングが複雑怪奇になってきて、オタクだけが分かるような世界になってきて、分かりにくく、初心者に入りにくい世界となってきている。プログラミングの世界にもユニバーサルデザインが浸透してきたのだろうか。

 近々、軽量プログラミングの大会があるので、興味のある方は参加してみては?

Lightweight Language Tiger(LLの虎)2010年7月31日

データ解析、データベース作成いたします

データ解析、データベース作成いたします

データ処理10年以上の経験

UNIX, Linux, Python、自然言語処理等についてもお手伝いいたします。

Oracle, MySQL, PostgreSQL

オラクルマスターブロンズ データベース10g資格有り

時給 2000円~ 相談可

UNIX, Pythonについての講習もします。

興味のある方はどうぞご相談ください。

連絡先 川頭(かわがしら)

メール kawagashira@gmail.com

設問3:UNIXのパイプ機能を使って1行コマンド処理をしてみよう!

CodeIQに投稿した設問3の解答を説明します。

問題

データをゲノムデータベースサイトGenBankからダウンロードし、解凍します。使用するのはnames.dmpのみです。

ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz

names.dmpは、生物種のデータです。

タブも含まれていますが、’|’での区切りデータとしてください。

各フィールドの説明は以下の通り。

1. 生物種ID

2. 生物種名

3. ユニークな生物種名

4. 同義語等

UNIXにはパイプ機能がありますので、キーワード検索を行い、ソートして確認するコマンドを1行で書いてください。

1. まず、大文字・小文字の区別なく’virus’という文字列を含む行を取り出します。Virus, VIRUSも含まれます。

2. 第2フィールドの生物種名のアルファベット順(昇順)でソートします。

3. 生物種名には時々、ダブルクウォーテションや大文字・小文字が混在していますが、特殊記号は無視して、大文字・小文字の区別なくソートします。

解答するもの

1. 上記の様に抽出・ソートするための1行コマンド。目で確認する為、最後にless-Sを付けてください。

2. 1の内容の行数を計算する1行コマンド。

完成したUNIXコマンドはテキストファイルに変換し、下のファイルアップロードから提出してください。

解答例

1.

$ grep -i virus names.dmp|sort -k 2 -t "|" -f -d | less -S

セパレータの設定 -t “|” は無くても結果は同じです。

2.

ソートは要らないので、

$ grep -i virus names.dmp | wc -l
111548

※ grep -i virus names.dmp | wc -l の結果の値はデータが定期的に更新されているので、結果が異なります。