2月
07
2010
0

久しぶりにカメ充

こんにちは。
しばらく修論がやばくて写真からもブログからも離れていました。

数日前になんとか論文を提出して、ほっと一安心。
まだ、手直しとか発表とか学会とか…残ってるんですけどね、でもま、卒業は出来そうなので何よりです。

実はですねー、修論提出前日に…
レンズぽちっちゃいましたw

真夜中に友人からレンズの格安情報が送られてきましてw
200mm以上の望遠を持っていなかった事と、テレマクロに惹かれまして・・・

タムロンの70-300mm 買ってしまいましたw
なんと、9,800円でした!!!
安い!安い!!!

もちろん、手ぶれ補正が無い点や描画の甘さを分かった上で買いましたよ。
だって、この値段ですもの…いくら写りが甘くても、今まで撮れない領域を撮れるんですから・・・。

・・・ぽちった時は冷静な判断を失っていましたが、でもでも、悪い買い物ではなかったと思ってますw

もう昨日になりますが、このレンズを持って奈良公園に行ってみました。
とりあえずこんな感じ>http://ganref.jp/m/monaou/portfolios/photo_detail/a5bbf186999878e1382c62e57c210ab2

テレマクロもいい感じなのですが・・・一つ問題が。

20100207_1
これ…分かりますかね。ぶれてるんです。縦に。

三脚使ってますよ。ええ。室内のテレマクロですから。

ミラーショックというやつです orz
ミラーショックについてはこちら

300mmマクロですから・・・当然起きるべくして起きてるんですが・・・。
うちの D60にはついてないんですよ・・・ミラーアップモード・・・orz

まあ、現状だと、スピードライト使ってシャッター速度を稼ぐしかないですね。

20100207_2
スピードライト使っての300mm(f11)です。

しかも、これ手持ちです。
流石スピードライト。シャッター速度(実際はフラッシュ点灯時間<<シャッター速度 だから、点灯速度って言った方が正しい)が早いから、あまりぶれない!

うーん、でもやっぱ、写りがあまいレンズですね。
レンズの特性が、ワイド端でF11あたりでシャープネスのピークがきて、中間でF5.6あたりにピークがきて、テレ端でF12あたりにピークがくるようです。
でも、フルサイズの話で、今のカメラはAPS-Cなんでもうちょっと特性が変わるかもしれません。
しょーじき使いにくいですが、おもしろいレンズではありますw

そして、今日は一つ前から気になっていたものを。
在庫処分でワゴンに乗っていたので買ってしまいましたw

20100207_3
Eye-Fi ってやつです。見たら分かりますねw

SDカードです。でも、ただのSDカードじゃないんです。Wi-Fiで通信可能なんですw

使い方は簡単・・・とは言えない気もしますが、

  1. 付属のSDカードリーダーを使ってPCにSDカードを認識させる
  2. Eye-Fi Manager とPCの設定
  3. SDカードに無線LANの接続先を設定する
  4. SDカード脱着(カードリーダーも取っておk)
  5. SDカードをデジカメに装着
  6. 撮る
  7. 勝手にPCに転送される

こんな感じですw
PCのファイアウォールを適切に設定しないと思い通りに動いてくれません。
開けるポートの一つが80番なので…あまり開けたくないんですね。

しかたないから、SDカードのMACアドレスに対して固定のIPを割り当てるようにルータに設定をして、そのIPからの通信のみ80番とあと一つのポートを開けるように設定してみました。

うん、便利!

一回設定をしてしまえば、後はPCで Eye-Fi Manager を起動させた状態で、デジカメで写真を撮れば勝手に保存してくれます☆
カード自体は2Gの普通のSDカードとして使えるので、出先で撮っておけば、かえって通信可能エリアに入ったときに自動的に転送してくれます。

これ、超便利!便利!大事なことなのでry

ブログに色々写真をアップする人には便利だと思います。

部屋でブツ撮りするときとか、これ使えば、撮ってPCで写りを確認して取り直して…という作業が死ぬほど楽になりますw

とりあえず、うちのEye-Fi は GR2に常時装備させていますw

飯写真をうpしやすくなったぞ!!! ←

1月
16
2010
0

Bazaar と TeX の数式と

バージョン管理として、DropBox を導入しようと思ったのですが・・・
アップロードが遅すぎて使い物になりませんでした^q^;

以前は subversion を使っていたのですが…気分を変えたいのと、何かと運用(svn+ssh)が面倒くさいということもあり、別の環境を模索しました。

いくつか検討し、Bazaar を使うことにしました。
SFTP経由で  自鯖に push してみましたが、非常に便利です!!!

WEBにリポジトリを公開する事も簡単でいい感じです!
sftp://repository@example.com/web/project/ にpush すると http://repository.example.com/project/ から pull できるようになります☆

そのうち、ソフト作ってソース公開するときはこの方法で公開したいと思いますw

—————————————————————————————————-

Bazaar に移行するためにバックアップを整理していたら、ゲームエンジンだったり、クォータービューのマップエディタだったり、ロト6のあたり予測プログラム(の残骸)とか、いろいろ出てきましたw

そんな中の一つに、学部時代に論文を書くために作った支援ソフトがありました。

20100116
Office の数式が使いにくいので、Texの数式を簡単にスライドにいれれるようにしたツールです。

結構便利だったなぁ・・・やけど、自分用に作ったので、インターフェイスとかめちゃくちゃですw
これ、UIとか整備して公開したら結構需要あるんじゃないかなと思ってみたりw

Written by ナ王 in: C#, その他 | タグ: , , , , ,
1月
12
2010
0

塩さば美味しすぎだろ・・・っ!

20100112_1
今日の夕飯です。塩さばと味噌汁とサラダともずく。

この時期の塩鯖が本当に美味しい。
もう一匹残ってるので、それを食べるのが楽しみです。
口に入れたら、脂が溶けるような感じがします。

あああ・・・書いてたらまた食べたくなりました(´¬`)

ちなみに、網で焼くと煙が出るし、魚焼き器はないのでフライパンで焼きました。
香辛料のタイムとホワイトペッパーを軽く振って、さっとお湯をかけて、
クッキングペーパーをフライパンにしいて、塩さばをのせて蓋をして弱火で焼きます。

こうしておくと、鍋が汚れないのです☆

20100112_2
食後は珈琲!

今日、頼んでおいた豆がきたので早速入れてみました。
コスタリカです。

20100112_3

今日は作業があるので少し多めに入れて、横に置けば・・・素敵な作業のお供の完成です☆

Written by ナ王 in: 写真, 近況, |
1月
07
2010
2

エクセルマクロ

実家に帰省している時に、ちょっと気が向いたから作ってみた。
エクセルは優秀だと思う。

とりあえず、3つゲームを実装してみた。
ソフトウェアにおいてあるので、興味ある方は持って行ってください。

20100107_1
5並べ。
マスの数は適当です。

20100107_2
オセロ。
実装が甘いところもあるし、CPU実装できてません。
ですが、一応オセロっぽい動きをします。

20100107_3
ヘビゲーム。

エクセルVBAだとリアルタイム処理が難しい(WinAPIでタイマ使えばいけるけど、今回は使用しない方針)ので、
ゲームシステムをちょっとアレンジして、時間制限をつけてみることにしました。
ちなみに、自分のベストスコアは1万ちょいでした。

Written by ナ王 in: VBA |
12月
30
2009
0

俺ルールだ!@JAVA

研究用にJavaのコーディングしてたら、疲れてきたのでブログにエントリでも書いてます。

前置きですが、自分、基本的にデザインパターン(正確には巷で使われているデザインパターンの中身)が嫌いです。
理屈っぽすぎて、理解しがたいしコードが汚くなるし・・・orz

というわけで、最近、俺ルールなデザインパターンを構築しつつありますw
あと、俺ルール支援クラスライブラリも構築していますw

イベント駆動のプログラミングをするために、デザインパターンではObserver パターンを用いることになります。
このパターン、あまり好きになれません(´・ω・`;)
なぜなら、イベント駆動中にハンドラの変更が行われることを想定した設計になると、クラス毎に複雑な設計が必要になるからです。
単純にリストにリスナ突っ込んで、for-each で回すだけなら簡単なんですけどね・・・これやるとバグの温床になるので。

正直、イベント処理は言語レベルで対応しておいて欲しいと思うのですが・・・まあ、ないものねだりをしてもしかたないので、C#の event 修飾子 を模倣した Event<T> クラスを作ってみました。

JAVA:
  1. package ncommon;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.List;
  5.  
  6. /**
  7. * イベントを管理するクラス。
  8. * @author naou
  9. */
  10. public class Event<t> {
  11.     private List</t><t> handlers = new LinkedList</t><t>();
  12.     private List</t><t> copyHandlers = new LinkedList</t><t>();
  13.     private boolean changed = false;
  14.    
  15.     /**
  16.      * イベントハンドラを追加する。
  17.      * @param handler
  18.      */
  19.     public void addHandler(T handler){
  20.         handlers.add(handler);
  21.         changed = true;
  22.     }
  23.    
  24.     /**
  25.      * イベントハンドラを削除する。
  26.      * @param handler
  27.      */
  28.     public void removeHandler(T handler){
  29.         handlers.remove(handler);
  30.         changed = true;
  31.     }
  32.    
  33.     /**
  34.      * イベントコレクションを取得する。
  35.      * @return
  36.      */
  37.     public List</t><t> getHandlers(){
  38.         if( changed ){
  39.             copyHandlers = new LinkedList</t><t>(handlers);
  40.         }
  41.         return copyHandlers;
  42.     }
  43. }

handlers に対して、add/removeHander を行い、getHandlers を呼び出す際に、その複製を作るようにしています。
一見すると無駄な処理のようですが、コレは必要な処理なのです。

こうしないと、イベントハンドラ内でイベントを削除するとエラーが起きるんです^q^;
イベントハンドラリストに対して、ループ(for-each)してる祭に、イベントを追加及び削除すると、ループがおかしくなってしまうという罠です。

後は、イベントを実装したいクラスで、

JAVA:
  1. public interface IHogeHoge{
  2.     void onHogeHoge(Object sender, ...);
  3. }
  4.  
  5. Event event<IHogeHoge> = new ...
  6. public Event eventHogeHoge(){
  7.     return eventHogeHoge;
  8. }

こんな感じでイベント実装します。
ここでイベント発生元オブジェクトを sender として第一引数に指定するようにしています(C#の受け売り・・・w)

変数名は event・・・、イベント取得ゲッターは event ではじめるという、まさに俺ルールですwww

こうすれば、あとは任意の場所で、

JAVA:
  1. ...
  2. obj.eventHogeHoge().addHandler(new IHogeHoge(){
  3.     public onHogeHoge(Object sender, ...){
  4.         System.out.println("Called hogehoge");
  5.     }
  6. });
  7. ...

ってな感じで、イベントの内容を実装できます☆

あとついでに、Box<T>クラスを作ってみました。イメージとしてはポインタですね。
C# でいうところの out 修飾子代わりだったり、hoge == null ? default : hoge の代わりだったり、同期処理の支援のためだったりと、このクラス、何かと役立ちそうですw

JAVA:
  1. package ncommon;
  2.  
  3. /**
  4. *
  5. * @author naou
  6. */
  7. public class Box</t><t> {
  8.     private T object = null;
  9.  
  10.     public Box(){
  11.     }
  12.  
  13.     public Box(T object){
  14.         this.object = object;
  15.     }
  16.  
  17.     public void clear(){
  18.         set(null);
  19.     }
  20.  
  21.     public boolean isNull(){
  22.         return object == null;
  23.     }
  24.  
  25.     /**
  26.      * @return the object
  27.      */
  28.     public T get() {
  29.         return object;
  30.     }
  31.  
  32.     public T get(T defaultValue){
  33.         if( isNull() ){
  34.             return defaultValue;
  35.         }
  36.         else{
  37.             return get();
  38.         }
  39.     }
  40.  
  41.     /**
  42.      * @param object the object to set
  43.      */
  44.     public void set(T object) {
  45.         this.object = object;
  46.     }
  47.  
  48.     @Override
  49.     public boolean equals(Object obj) {
  50.         if(obj instanceof Box){
  51.             Box b = (Box)obj;
  52.  
  53.             if( object == null ){
  54.                 return b.isNull();
  55.             }
  56.             else{
  57.                 return object.equals(b.get());
  58.             }
  59.         }else{
  60.             return false;
  61.         }
  62.     }
  63.  
  64.     @Override
  65.     public int hashCode() {
  66.         int hash = 7;
  67.         hash = 89 * hash + (this.object != null ? this.object.hashCode() : 0);
  68.         return hash;
  69.     }
  70. }

あとは、変数の設定が行われるたびにイベントを発生する EventedBox( extends Box ) とか、一行ごとにReadLine/WriteLine イベントを発生する EventedReader/EventedWriter 等など・・・便利そうなクラスを色々作っています。
あとは、ロガーとかも、WriteLog イベントを実装して、任意のログ出力処理を容易に書けるようにしています。

前に日記に書いた XmlDataDocument クラスをフルスクラッチして、XData クラスも作りました。
バグもつぶして、前よりも簡潔にアノテーションを指定できるようにしました。
これで、任意のXMLとJavaクラスのマッピングができるようになりました☆
Webアプリケーションとかで、XMLでデータを受け取った時に、Javaのオブジェクトにマッピングするといった事ができるようになりました。
XDesirialized を実装することで、デシリアライズした際に、妥当性を検証することもできます。
このクラスについては、いつかまたエントリでも書きます(`・ω・´)b

Written by ナ王 in: Java | タグ: ,
12月
28
2009
0

プレゼント for me

20091228_1もう二日前になりますが、コレもらいました☆
中身は・・・

20091228_2

こんな感じでした☆

さらにあけると・・・

20091228_3財布でした☆

前の財布が4年くらいたってて、いい感じにぼろぼろだったので丁度良かったです(`・ω・´)b

12月
21
2009
0

我が家の老犬

20091221我が家の老犬がもうそろそろヤバイって事で撮ってみました。
見事にそっぽむかれました(・ω・`;)

ちょっとアンシャープマスクかけてみたのですが・・・
凄くくっきりして逆に気持ち悪い写真になりましたw

Written by ナ王 in: その他, 写真 | タグ: , ,
12月
17
2009
0

近況

先月末から入院をしておりました。
耳の病気で、真珠種性中耳炎という病気です。
そして、今日、退院という運びになりました。

鼓膜の回復に時間がかかるために、2週間以上の入院生活となりましたが・・・、
1週間もすぎると体感的には病気という感じがまったくしませんw

そこで・・・体がなまりすぎてもいけないということで、外出許可を頂き、近くの公園へ行きました。

20091217_1
ベンチだけでは寂しかったので、一つアクセントということでおいてみましたw

20091217_2
不思議な感じのする一枚が撮れました。
時間はまだ夕方前くらいの時間です。
リサイズ以外の加工は一切していません。

デジタルカメラのダイナミックレンジの低さ故の絵ですね。
フィルムだと、デジタルカメラの倍程度のレンジを持っているので、また違った絵になるんでしょうねぇ・・・(最近フィルムにも興味が・・・)

以上、RICHO GR2 の提供でした☆

Written by ナ王 in: 写真, 近況 | タグ: ,
12月
17
2009
0

ソフトウェア公開・転載

StoneFever.NET においていた自作プログラムをこちらに移動しました。

ページ右上の「ソフトウェア」タブからもいけます。

Written by ナ王 in: C#, C/C++, Windows, プログラミング |
12月
17
2009
0

ドメインを一つ廃止

大学時代に作成したHP用に取ったドメイン、 stonefever,net を持っているのですが・・・ちょうど更新の時期が来たので、もう廃止しようと思います。

ドメイン廃止に伴い、HPも潰します。
もう誰も見てないでしょう?w
もともとこのHP名前自体も意味があってつけられたわけでもないし、もうHP自身も更新するつもりもないのでw

一部のコンテンツは、こちらのブログ上に移転します☆
今までありがとうございました☆

BYEBYE STONEFEFVER.NET

Written by ナ王 in: サイト運営 | タグ:

Powered by WordPress | Aeros Theme | TheBuckmaker.com