blog.stillnewbieee...net.

CALENDAR
    123
45678910
11121314151617
18192021222324
25262728   
<< February 2018 >>
SELECTED ENTRIES
CATEGORIES
ARCHIVES
RECENT COMMENT
RECENT TRACKBACK
RECOMMEND
RECOMMEND
RECOMMEND
MOBILE
qrcode
LINKS
PROFILE
OTHERS
無料ブログ作成サービス JUGEM
iphone3GS購入
ポンコツSA700isから一気に飛躍して新端末購入。
初期費用0円で、これから月々もろもろ込みで5000円くらい払っていく
みたい(あんまし聞かずにさくっと契約)。


何で買ったか?
移動先でgoogleマップなどのGPSの恩恵を最大限に
受けたかったから。
これでツーリングも、周辺の店検索も格段に楽になるはず。

といっても、前の携帯も現役で使っているので、
現在は、携帯2台並行使用状態です。


使用感などは他のニュース参照。

とりあえず不便なところ↓

・電話帳データが移行できん。
ショップでやってくれんかった。
手作業はほぼ不可能。従って連絡先変更通知もほぼ不可能。
どっかでやってくれる店あるのかな?


・赤外線が使えん
最悪。とりあえず自分の連絡先はQRコードにまとめてる人が
多い模様。


それ以外はほぼ満足。
やばいね携帯の進化は。



そのうちiphoneアプリ作ろう。
何の調査もしてないし、仕様的にWindows環境で開発できるかも
知らないけど、加速度センサーを使えるのが魅力。
| コンピュータ | 00:14 | comments(2) | - | - | - | ↑PAGE TOP
NEW PC
FMV-BIBLO NF/C80Nを購入。
ハードでアップグレードできるとこは全部アップグレードした。

とりあえず自分仕様にカスタマイズ始めた。

【ネットワーク】
無線LANのブリッジへアクセスするためのIPアドレスを忘れ、
購入PCの認証ができず、なくなく有線状態。

【データの引っ越し】
既存PCとアドホック接続して、データコピー。

【パフォーマンス最適化】
レジストリ情報はXPと大して変らん。
いちいちうるさいのでUACは解除。
んで、無駄なプログラムは削除。

【ツール】
今まで使っていたツールが何個かVistaでは使えん。
まいったな〜。
将来的にツール群が電子署名してくれることを願う。

【音楽】
PC変えたらitunesはどうなるんかな〜。

などなどなど。

設定が終わるのだいぶ先になりそうだ。
| コンピュータ | 22:38 | comments(0) | - | - | - | ↑PAGE TOP
firefox 検索プラグインの作成
firefoxをダウンロード。
動作が軽いので、sleipnirから乗り換え。

検索エンジンをカスタマイズする過程で、
UNIXコマンド一覧ページの検索プラグインを作成したので、
以下に登録。物好きな人は使ってください。

http://mycroft.mozdev.org/developer/devlist.html?email=kushou%40atp.office.ne.jp
(上記ページはfirefoxにて参照願います)

追加されたら、あとはlsとか打てばlsのコマンド説明ページに跳ぶはず。

大まかなソースはこちら。
http://www.stillnewbieee.net/68user_unix.xml


(参考)
http://developer.mozilla.org/ja/docs/Creating_OpenSearch_plugins_for_Firefox

アイコン画像は当該サイト殿のアイコンをopensslでbase64変換しました。
が、なんか汚いな。色違うし、位置もずれとる。
man使えツッコミは無しで。アクティブな作業ウィンドウ、
もしくはターミナルのどこからでも情報が瞬時に取り出せるほうが
便利でしょう、というのがポリシーです、
というのが建前で、ただの道楽です。
| コンピュータ | 00:25 | comments(0) | - | - | - | ↑PAGE TOP
Java モーダルダイアログ多重起動回避
Javaでボタンの押下処理を拾うActionEvent。
そのイベントをactionPerformedで拾って、
そこでモーダルダイアログを表示する処理を施している場合、
稀にボタン連打でモーダルダイアログが2回以上起動する事象に遭遇。
以下のサンプルだと、例えば「2回目ダイアログ」の下に「1回目ダイアログ」が起動している状態になる場合がある。
あんまり今のマシンだと発生しないかな多分。


import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.UIManager;

public class Hoge extends JFrame implements ActionListener{
  final Container cp = getContentPane();
  int i;
  public Hoge(){
    super("モーダルダイアログが2個も出るなんてありえねーだろーが");
    JButton jb = new JButton("あ");
    cp.setLayout(new FlowLayout());
    cp.add(jb);
    jb.addActionListener(this);
  }

  public void actionPerformed(ActionEvent e) {
    i++;
    JOptionPane.showConfirmDialog(cp,i+ ":回目ダイアログ","モーダル",JOptionPane.YES_NO_OPTION);
  }

  public static void main(String[] args){
    try{
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
    }catch(Exception e){}
    Hoge hoge = new Hoge();
    hoge.setSize(400,150);
    hoge.setVisible(true);
  }
}


これは、イベント発生時にその発生イベントがawt-event-queueに入るのだが、
そこからイベントを取り出すのがeventDispatchThread、
そう、Javaの内部的に動くスレッドなのである。

例えば1回目のボタン押下でactionPerformed内のダイアログ表示処理
が行われる前に、2回目のダイアログ押下処理が行われると、
スレッドが一個立ち上がる。
そんで、ダイアログがモーダルなのでそこで処理が止まり、2個目のスレッドでも
ダイアログ表示で処理が止まる。
ダイアログ2個表示の完成〜。

こいつを回避するには、eventDispatchThreadの複数起動を監視すれば良い。
難しそうだが、以下のコーディングで済む。
http://hpcgi2.nifty.com/a-yama/wiki.cgi?mycmd=diff&mypage=Java%2FSwingTips
でもやっているが、EventQueueの処理待ちも、スレッド介入阻止処理も
必要ない模様。

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.UIManager;

public class Hoge extends JFrame implements ActionListener{
  final Container cp = getContentPane();
  int i;
  private ArrayList kanshi = new ArrayList();
  public Hoge(){
    super("モーダルダイアログが2個も出るなんてありえねーだろーが");
    JButton jb = new JButton("あ");
    cp.setLayout(new FlowLayout());
    cp.add(jb);
    jb.addActionListener(this);
  }

  public void actionPerformed(ActionEvent e) {
    if(kanshi.size()==0){
      kanshi.add("fun");
      i++;
      JOptionPane.showConfirmDialog(cp,i+ ":回目ダイアログ","モーダル",JOptionPane.YES_NO_OPTION);
      kanshi.clear();
    }
  }

  public static void main(String[] args){
    try{
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
    }catch(Exception e){}
    Hoge hoge = new Hoge();
    hoge.setSize(400,150);
    hoge.setVisible(true);

  }
}

別にスレッド監視せんでもListの要素数をフラグに使えば良い。
要素数の判別処理によって、2個目のスレッドが飛んで来ても
処理は行われない。

大規模なjavaアプリになるほどイベント中の処理は重いので、
スレッドは発生しやすいからこの対処は必須かな?

ついでに、jconsoleでスレッドの監視ができる。
JDK入っている環境でコマンドプロンプトでjconsole打てばOK。

ちなみにawt events集中的に監視したいなら
http://blogs.sun.com/jmxnetbeans/entry/jmx2awt_mbean
のようにすればおっけ。
(この対応するとき、必死でイベントキュー見ようと頑張ってた。。
上のURLのTipsに感謝。)
| コンピュータ | 23:21 | comments(0) | - | - | - | ↑PAGE TOP
オーク
飲みすぎでどんどんどんどん太ってきた。
週末の運動も焼け石に水で、身体は筋肉痛、顔はまん丸で月曜を迎える。
今月飲み会確定分だけであと11個。
このままオークになっていく。

というわけで、先週の教育でシェルスクリプト受講したんですが、
awkの説明が1時間ちょっとで終わったのは少し残念だった。
まあ、現場で数こなして実践的に学習しろってことだろうと思いますが、
基礎が固まってないせいで、未だにパイプ連鎖しまくりのぼろい
コマンドしか書けん。

以下、完全にメモ書き。

http://charset.info/sjis-2004-std.txt
から、第三第四水をぶっこぬく。

grep -E '2000|2004' sjis-2004-std.txt | grep -v Unicode | awk '/cjk/{print $2}' | cut -b3- | sed 's/^/¥¥u/' > hoge

最後の¥uはじゃばらー仕様。あとでエスケープシーケンス抜く処理は
なかなかしんどいコーディングが必要ぽい。
ごりっと書いて、データできあがったら、
さらにごりっと書いて、流して、終わり。
| コンピュータ | 00:41 | comments(0) | - | - | - | ↑PAGE TOP
java仕様
JAVA、メリット編。

2バイト文字(漢字)を4桁の16進数で表すコード。

String str = "男";
byte a[] = str.getBytes();
int b=((a[0]<<8)&0xFF00) + ((a[1])&0xFF);
System.out.println(Integer.toHexString(b));

bには1バイト目を8ビットシフトした値と、
2バイト目の結果が入るのだが、
よくよく考えると、1バイトは8ビットなので、
8ビットシフトしたら全部ケタ落ちしちまうじゃねえか。

と思いきや、JAVAVMの仕様なのか、
1バイトの変数を宣言すると、
実際には3バイト分のメモリ領域が確保される模様。
従って、上記のコードでちゃーんとbにバイト列が格納される。
これをC言語屋に見せたら怒るんだろうなー。

とりあえず、「ケタ落ち」はこれで勉強できた。
21日の試験が迫ってきた。
| コンピュータ | 22:05 | comments(0) | - | - | - | ↑PAGE TOP
「形式を選択して貼り付け」マクロ
ドキュメント作ってて、昔学部で上がったネタを思い出す。

例えばwebで文章をコピーして、
wordにそのまま貼り付けると、webの書式が残っちまう。

こいつを回避するには、

「編集」→「形式を選択して貼り付け」→「テキスト」

でOKなんだが、Ctrl+Vに慣れちまった野郎には、この操作が
面倒臭くてしょーがないんだな。

というわけで、

http://support.microsoft.com/kb/283388/ja

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbawd11/html/womthPasteAndFormat.asp
を参考に、

Sub PasteAsPlainTextFormat()
Selection.PasteAndFormat (wdFormatPlainText)
End Sub

なるマクロを作り、割り当てキーを「Ctrl + V」にすりゃ、
晴れてしがらみから開放される。
ハッピーなコピペ生活をお送りください。
| コンピュータ | 22:00 | comments(0) | - | - | - | ↑PAGE TOP
携帯Gmail
やっと国内でも携帯でGmailが使えるようになった。

http://gmail.com

社内でwebmail系使えない人には朗報ですな。
携帯も使えないならご愁傷様です。
| コンピュータ | 21:20 | comments(0) | - | - | - | ↑PAGE TOP
電子的整理
・自分のPC。
データを研究室サーバにバックアップ。
メールアカウントも移行。
転送アドレスを2,3設定し直し。後は全部削除。
いくつかのwebサービスも退会。
port forwarding解除。


・研究室サーバ。
メールサーバを稼動させる。が、うまく動いとらん。。
どうしたapopper


・このサイト。
TTCコンテンツが容量食いすぎだったので、
研究室サーバに引越し。
研究室サーバにログインしてwget。
これで70MBほど空きができた。
空いた分をMLとかにでも充てる。

localの方のphotoはデータベース周りのバージョン違いで引越しが困難。
pending。

ブログの移行もいつかやりたい。
MovableTypeかWordPressだが、
再構築とブログのエントリ数を考えると、
MySQLベースのWordPressが妥当か。
問題はデータの移行がうまくできるかどうか。
以前MovableType移行を試みて失敗した。

就職して、お金に余裕ができたらノートで鯖立てですな。
| コンピュータ | 22:45 | comments(0) | - | - | - | ↑PAGE TOP
part3続き
前回の続き。

だめだった。
hiberfil.sysは削除できたんだが、
結局「Press Enter DEL key to Enter Setup」といった
メッセージが出ない。

というか、HDD無しでも同じ画面。
は?
SHARPのMEBIUSは休止状態に対してどういう仕様なんだ??
HDD以外のどこに書き込んでいるっちゅーねん。

よーわからんが、HDD入れると「GRUB」と出る限り、
MBRは読んでくれるらしいので、こうなったらMBRを直すしかない。
やはり初めからここを攻めるべきだった。

まず、対象HDD用(XPSP2HomeEdition)の回復コンソールディスクを作成。
通常はFD6枚用意するのだが、フロッピードライブなど無いので、
以下のサイトを参考にCDバージョンで作成。
http://lets-go.hp.infoseek.co.jp/kaihuku.html
これで正常マシンでCDブートさせ、回復コンソールを起動し、
問題のHDDのMBRを直せばよいのだ。「fixmbr」と叫べば。

と、思ったら。。
借りたPCにはCDドライブも無い。。
しかも、修復対象のHDDはUSBで読みこんでいるため、
よく考えたら、もしCDドライブがあっても、
ブート時点では修復対象のHDDを認識してくれない。

従って、BIOS段階でも認識してくれるIDE形式で読む必要がある。
且つ、修復対象のHDD搭載マシン以外のPCが必要。
他人のノートPCはあんまり分解したくないので、
デスクトップマシンが必要。
しかし、持っていたデスクトップマシンは30thの亀と33thのハゲに
譲渡してしまい、手元に無い。
自宅に近く、且つデスクトップマシン持っている31thハゲは捕まらず。
使えない。

とりあえず、ヨドバシカメラに再び赴き、
2.5インチHDDと3.5HDDのコネクタ変換アダプタを購入。
まだまだ完結しないなあ。さすが3度目の正直。


ほとんど覚え書きみたいなブログが続いておりますが、
他人に伝えたいことはこんだけ。
「回復コンソールぐらいはインストールしとけ」
http://www.support.microsoft.com/kb/307654/
ってことで。


------
追記。

西本んちで復旧完了。
デスクトップに問題のHDDをIDE接続し、
修復CDでブートして、
fixmbrで見事MBRが修復。
WindowsXPのロゴが出ました。
| コンピュータ | 00:23 | comments(0) | - | - | - | ↑PAGE TOP