日々のくだらない話題について


by jinotaro
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリ:pc( 7 )

Googleが「Go」という新しい言語を発表した。速度はC/C++を、作りやすさ・安全さはPythonを、というコンセプトらしい。確かにホームページを見るとガベージコレクションに対応しているなど、なかなか面白そうである。また標準で用意されているパッケージ見てるとイテレータ関連、正規表現、インタプリタ、リフレクションなど使いやすそうなものが一通り揃っていそうだ(データベース関連は無いみたいだけど)。実行速度もCで書いたものより3割ほど遅いだけということで、GC付きの言語としては優秀だと思う。ということで、早速CentOS5.4にインストールして実行してみる。

インストールに当たっては以下のページを参考にさせていただいた。多謝。

The Go Programming Languageのインストール説明
ito.tetsunosuke/notebook: Google Goをインストールする(CentOS)
izaru blog: 新プログラミング言語「Go」をCentOSにインストールしてみた

以下の実行はrootユーザ以外の一般ユーザで行います。

1.環境変数を追加する。

 $ vi ~/.bashrc
  ==========
  export GOROOT=$HOME/go
  export GOOS=linux
  export GOARCH=386
  export PATH=$HOME/bin:$PATH
  ==========

 環境変数を反映させる。
  $. ~/.bashrc

2.ディレクトトリを作る。

 $ mkdir -p ~/bin ~/go

3.Mercurialインストール
 自分の環境ではsudoの設定をまだしていないので、ここだけrootになる。
 sudoでもいけるはず。

 # su
 # yum -y install python-setuptools
 # easy_install mercurial
 # exit

4.Goを取得する
 $ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

5.Goをインストール
 $ cd go/src
 $ ./all.bash

6.お題のサンプルを実行
 golangにあるサンプルプログラムを実行してみる。
 x64のときはコンパイラが"6g"でリンカが"6l"のようだが、x86のときは"8g/8l"のようである。
 同様にデフォルトの出力ファイルも6.outではなく8.outになるようなので、そのように実行する。

 まずプログラムを入力。
  $ vi hello.go
   ===========
   package main
   import "fmt"
   func main() {
    fmt.Printf("hello, world\n")
   }
   ===========
 コンパイル。
  $ 8g hello.go
 次にリンク。
  $ 8l hello.8
 最後に実行!
  $ ./8.out
  hello, world

ということで、とりあえず実行は完了。
後日ベンチマークになるソフトくらいは作ってみたいと思う。
[PR]
by jinotaro | 2009-11-12 10:49 | pc

C#でプログラミング

Visual STUDIO 2008を手に入れたので、ちょっとしたツールを作ってみた。今回のお題はデジカメで撮った写真を撮った日付ごとにフォルダを作成して、その中にコピー(もしくは移動)するという物。つまりマイピクチャに無造作に放り込んだファイルを、日付ごとに整理してくれるソフトだ。

気になった物があるとすぐに携帯やデジカメで撮るのだが、たいてい整理するのはかなり後になってからなので、その頃にはなんで撮ったのか忘れてしまうんだよね。だけど日付ごとに整理してあると、あとは画像閲覧ソフトのVixで中を見ながらフォルダ名の後ろに内容を簡単に書いていくだけで整理した気になるから、あら不思議。最近だとこんな感じ。

・20080816(雷を動画撮影)
・20080819(ブドウ狩り&明野のひまわり)
・20080822(長瀞でかき氷)
・20080904(渋谷ブックファースト跡地)
・20080906(早川園でブドウ狩り)

実はこれと同じ動作のソフトをすでにPerlで組んであって、大変重宝している。だけどPerlゆえにコマンドラインで動作するので、コピー元とコピー先を一々入力するのは面倒くさいのが問題だった。なので、テストプログラム一発としてこいつを選択。とりあえずのファーストバージョンはこんな感じ。

.Netでプログラミング

日付に関してはExif情報があればそれを利用し、なければファイルの最終更新日を利用した。しかしC#でのプログラミングは本当に楽だね。このプログラムもコアの部分は100行くらいしかない。実際にはコピー中にESCキーで止められるようにしたり、進捗を表示したり、フォルダ名をレジストリに保存したり色々やっているので200行近くになっているが。

特に楽だと感じたのはプログラミングレスでも、高機能なGUIが出来るということ。例えばエクスプローラのアドレスバーに"C:\Pro"まで打ち込むと"C:\Program Files"と補完してくれるサジェスト機能があるが、こんなのはテキストボックスのプロパティをちょこっといじるだけで簡単に出来たりする。

またJavaの主要なオブジェクトと名前も使い方もそっくりなので、VBなどのイベントドリブン(古いな・・・)のプログラムを書いたことがあって、Javaにそれなりに精通していれば教科書なしでどんどん作れると思う。自分は秀和システム社の「Visual C# 2005 逆引き大全500の極意」を片手において作ったが、ある程度わかる人はこれだけでそれなりの物が作れてしまう。

ちなみにPerl版の作成時間は20分。C#版の方は正味で3~4時間くらい。まぁうちの相方にかなりサポートしてもらったりもしてるのだが、初物としてはこんな物か。しばらくこのツールを熟成して楽しみたいと思う。
[PR]
by jinotaro | 2008-09-12 01:10 | pc
 x86アーキテクト上で仮想86モードを使う限りは4GBまでしか扱えない。Windows XPでも32bit版Vistaでも3~3.5Gまでしかメインメモリを使うことはできないのはそういうわけだ。しかし、CPUのアーキテクトとしてはPentium ProからPAE(物理アドレス拡張)が追加になり、36bitまでの物理アドレスが扱えるようになった。この4GB超の空間は32bit版Windowsではメインメモリとして使うことはできないが、直接メモリアドレスを指定することで、そのメモリをRead/Writeすることはできる。そのためのAPIも用意されている。それを利用してOSがメインメモリとして使えない空間をRAMDISK化しようというのが"Gavotte Ramdisk"というフリーソフトである。

以下の手順でセットアップした。

1.ダウンロード
 まずはGavotte RamdiskのHPからダウンロードする。

2.ZIPファイルを展開する。
 C:\Program Files\rramdisk以下に展開した。
3.レジストリを変更
 展開したファイルの中にあるram4g.regをダブルクリックしてレジストリを変更する。
4.ramdisk.exeを実行する。
 Install Ramdiskボタンをクリックし、RAMDISKをインストールする。

5.設定する。
 DiskSizeは特に指定しなくても、OSが使用しない余剰領域があれば勝手に使ってくれる。たとえばデフォルトの16MBのままでも6G バイト積んでいる自分のマシンの場合、OSが使用している3.5G以外の領域(つまり2.5G)をRAMDISKとして割り当ててくれた。Driver LetterとMedia Typeは適当に。

これでRドライブとして2.5GのRAMDISKが生成された。あっさりとしたものである。ベンチマークを取ってみた。環境は以下のとおり。

CPU: Core2Duo E6600(2.4GHz)
Memory: 6G(OS:3.5G RAMDISK: 2.5G)
OS: Vista Ultimate

■HDD(Seagate ST3750640A)
HDD Benchmark

■RAMDISK
RAMDISK Benchmark

みたとおり、爆速である。これで
Windows起動時に自動的にRAMDISKを作成(←これはありました)
・Windows起動時・シャットダウン時に自動的にリストア・バックアップ
してくれる機能が付いてくれれば最高なのになぁ。

※ RAMDISK上にDBを作って色々やってみました
[PR]
by jinotaro | 2008-05-12 02:11 | pc
1年くらい前からGoogleカレンダーをちょこちょこと使いはじめてはいたのだが、他のスケジューラをメインで使っていたこともあり、結局はあんまり使ってはいなかった。

しかし、以前に比べてスケジュール満載な日々をおくっているという事実と、先週まで使っていたスケジューラがもう使えないという事実、そしてもう誰も自分のスケジュールを管理してくれる人はいなくなったという事実が重なったこともあり、1か月ほど前からGoogleカレンダーを真面目に使い始めていた。

1か月使い続けてきてわかったことは、もうやめられないということ。一番の決め手は、goosyncというさまざまな携帯デバイス内のスケジューラと、googleカレンダーの同期をとれるフリーのサービスだった。先月購入したイーモバイルのS11HTがこのサービスに対応していたおかげで、出先でも入力・参照ができる上にリアルタイムに同期がとれるようになった。またgoosyncには対応していないが、いざとなればドコモの携帯でも予定の参照だけは出来る。これはGoogleモバイルの機能だけど。

初め使った時は、リソースの予約(会議室とかプロジェクタとか)が出来ないとか、国民の祝日が表示されないとか結構文句があったのだが、それを複数のカレンダーを組み合わせることでちゃんと実現できるようになっていた。そりゃそうだよね・・・だってGoogleだもの。みつを。

あとはgoogleがToDoを管理してくれれば完璧なのに。だが無いものは無いので、Remember The MilkというWebのフリーのタスク管理サービスを試すことに。Googleカレンダーと連携したり、ATOMを出力できるのであとはどうにでもできる。有料アカウントにすればWindows Mobileとも連携ができみたいだ。こちらは使い始めたばかりなので、しばらく使ってみてそのうち感想を書きたいと思う。
[PR]
by jinotaro | 2008-04-28 09:05 | pc
Windows Vistaから導入されたメイリオフォント。確かに見やすいんだよね。しかしマックロソフトはWindows XPには導入しないことを明言していたわけですが・・・いつのまにかおいらのマシンに入ってました!

どうやらこの前出たばかりのVisual Studio 2008 Express Editionをインストールすると入る模様。おいらはVisual C#をフルインストールしたのですが。あとはデスクトップでプロパティを開いて[デザイン]タブ→[効果]ボタン→[次の方法でスクリーンフォントの縁を滑らかにする]チェックボックスにチェック→[ClearType]を選択でOK!

ブラウザでメイリオフォント選択するとマジ読みやすくなります。わかる人にはお勧め!
[PR]
by jinotaro | 2008-01-04 08:32 | pc

超小型のBluetoothアダプタ

プリンストンから超小型のBluetoothアダプタが出ると聞いたときから手に入れる気マソマソだったのだが、やっと手に入れることが出来た。実は20軒くらいPCパーツ店を回っても見つからず、別の用事で入ったとある家電店で見つけることが出来た。人気でどのお店も土曜日には売り切れ続出だったらしい。値段も2500円弱と安いしね。思わず二つ買ってしまった。

実際に手にとって見ると何よりもものすごく小さい。写真で見るとほんの数mmしか飛び出さないように見える。こんな感じ。



で、実際にノートにさすとこんな感じ。



あれ?てっきり黒い色の部分が出っ張るのかと思いきや、思いっきり銀色の部分から外部に露出していた。どうやら8mmくらい出っ張るようだ。くぅ・・・これはデザインにだまされたなぁ・・・

でもまぁ小さいことには変わりないし、さしっぱなしにしても大丈夫でしょう。剛性もしっかりある。問題は角がとんがってて痛いこと。たぶん気がつかないで持ったら、いつかは出血大惨事をおこすのは間違いない。

Bluetoothアダプタとしては標準的。Bluetoothスタックも東芝のおなじみのやつで、EM ONEにもP903iにもヘッドセットにも簡単につながった。あとはこれでドコモがPCデータ通信定額をはじめてくれたらAirHともお別れだな・・・
[PR]
by jinotaro | 2007-09-10 07:45 | pc

でかすぎる・・・

モニターが壊れたので同僚から15インチモニタを借りてしのいで
いたわけだが、1600x1200(UXGA)を常用してきた身としては1024x768は
狭すぎた。

次のモニタを何にするかいろいろ考えていたのだが、いまさら
ブラウン管は無いだろうということで液晶に絞ることに。
しかしUXGA表示できるモニタは少ない上にほどんどが
10万近くするのだ。

その中でDELLのモニタは安い。UXGA表示できるものでも6万程度で
購入できる。それを買おうかなぁと思いながらDELLのモニタの中で
気になるモニタがあった。1920x1200とワイドモニタなのだが
24インチで9万程度。ちょっと高いので悩んだが結局購入。

で、今日来たのだが・・・別の意味で悩む。



何しろでかい。左側のモニタも17インチなのだが、かなり小さく感じる。
全体を見渡すためには2~3mはなれないといけないくらいでかい。
液晶としては安物なので左右を見渡すと色が微妙に違う。
それでも動画を再生させるとさすがにでかいだけあって迫力はある。

ま、しばらくはこのモニタでやっていこうと思う。
[PR]
by jinotaro | 2006-02-04 12:06 | pc