バーコードリーダーがやってきた

キーボードデバイスとして認識するので、USBなら接続するだけですぐ使える。
すごい。
ubuntuのノートに接続してみたが、問題なく入力位置に番号とenterが入る。
[ 1301.445996] usb 2-1: new low speed USB device using uhci_hcd and address 2
[ 1301.621300] usb 2-1: configuration #1 chosen from 1 choice
[ 1301.638988] input: OPT0-E Barcode Device as /devices/pci0000:00/0000:00:1a.1/usb2/2-1/2-1:1.0/input/input13
[ 1301.680647] input,hidraw1: USB HID v1.00 Keyboard [OPT0-E Barcode Device] on usb-0000:00:1a.1-1
[ 1424.816630] input: Virtual ThinkFinger Keyboard as /devices/virtual/input/input14
[ 1681.591173] snd-bt-sco: playback_open
[ 1681.591385] snd-bt-sco: capture_open
[ 1753.702398] input: Virtual ThinkFinger Keyboard as /devices/virtual/input/input15
[ 2100.031160] snd-bt-sco: playback_open
[ 2100.031378] snd-bt-sco: capture_open

ウイルスセキュリティー

前々から検出率の低さとトラブルの多さで有名ですが、やはり噂は本当みたい。
最近メモリ使用量の低さと更新料無料でそそのかされた人はかなり苦労して結局サポートに連絡しなくては解決できるかすらわからない状態に。。
ウイルスセキュリティーを導入するくらいならAVGにしましょう。ということですかね。
自分のお薦めはウイルスバスター2008 1年版 SP1対応ですよ。

衝動買いしたMODEL6735

会社の書籍管理でISBN番号を使って簡単にでもやってみてはどうか?という発案をしてちょっと調べてみたら便利そうなフリーソフトも発見。
しかも番号を読み取るスキャナがUSB接続で使えるようだ。
値段もそれほど高価ではなかったから、個人的に欲しくなりついついポチッとしてしまいました。
MODEL 6735 バーコードレーザスキャナ
レーザータイプというところにコロッと。

capslockとatokx3自動実行の天秤

Capslockの入れ替えをしてから確かに使いやすい。
会社のパソコンも勝手に入れ替えて使っているが、今日AtokX3が起きてこないのはこのキーの入れ替えが原因であることが判明。
Capslockを入れ替えると確かに便利だけど、Atokと比較するとまぁそりゃぁAtok?
しかし動かない訳じゃないし、毎回毎回、「しまった、まだ起こしていなかった。/opt/atokx3/bin/atokx3start.sh!」って起こせば使えるわけで・・・と悩んだが。
しかし同じ悩みを持つ人は少なからずいるはず。
やはりネットワークは非常に便利な代物。役に立つ情報をしっかり発信してくれている方がいらっしゃった。
おさるのパソコン備忘録さん
なるほど、キーレイアウトの変更はGNOMEとxorgと2重でポイントがあるのですな。
勉強になりますし、大変助かりました。
いや〜capslockってホントにいらないものですね。metaキーあってくれた方が助かると言うものではないでしょうか。

tb2ldif.rb

Thunderbirdのアドレス帳からエクスポートしたcsvファイルをLDAPに登録するために変換するRubyスクリプトです。
前日書いたように、ひじきネットさんのスクリプトを参考にさせていただきました。ありがとうございます。
名前はユニークなものでなければならないので、uid項目にメールアドレスを登録してインデックスとしてみました。
そのほかの設定は改造して使ってください。
#!/usr/bin/env ruby
require ‘uconv’
require ‘base64’
unless ARGV[0]
print “tb2ldif.rb -Version0.1- 2008/6/22n”
print “t使用方法ntt./tb2ldif.rb csvfile(Thunderbirdからエクスポートしたcsvfile)nn”
exit 1
end
#---------------------------------------------------------#
# 設定項目ここから
#---------------------------------------------------------#
# 各種フラグ
fConv = 1 #文字コード変換CP932=>UTF8のフラグ
fEnc = 1 #BASE64変換のフラグ(一応multibyte判定)
fStartp = 1 #一行目を処理しない
keyNum = 4 #uidとする項目番号
fDebg = 0 #動作確認用に
# DN指定
baseDN = ‘ou=AddressBook,dc=reptec,dc=local’
# ヘッダ。ファイルのはじめに追加される
header = <<-"EOB" dn: #{baseDN} objectClass: organizationalUnit objectClass: top ou: AddressBook EOB # 登録に必要となるオブジェクトクラスを書く objectClass = <<-"EOB" objectClass: inetOrgPerson objectClass: top EOB # スキーマに応じた選び出し対応表 relationTable = [['dn',38], ['givenName',0], ['sn',1], ['cn',2], ['displayName',3], ['mail',4], ['telephoneNumber',6], ['homePhone',7], ['facsimileTelephoneNumber',8], ['mobile',10], ['streetAddress',17], ['l',19], ['st',20], ['postalAddress',21], ['title',23], ['ou',24], ['o',25], ['labeledURI',26], ['description',35], ['uid',37] ] #---------------------------------------------------------# # 設定項目ここまで #---------------------------------------------------------# # ファイルを開く file = open(ARGV[0]) # ヘッダ部分の出力 print header lineNum = 0 while file.gets next if $_.strip.empty? lineNum += 1 if fStartp == 1 lineNum -= 1 fStartp = 0 next end if fConv == 1 data = Uconv.sjistou8($_) else data = $_ end data = data.chomp!.split(",", -1) #個別dn内容の用意 data.push(data[keyNum]) data.push("uid=" + data[keyNum] + "," + baseDN) if fDebg == 1 print "-*-*-*-*-*-*-*-*-n" print "data内容は:n" p data print "-*-*-*-*-*-*-*-*-n" end relationTable.each{ |item| val = data[item[1]] key = item[0]+":" if fEnc == 1 if val =~ /[x80-xff]/ val = Base64.encode64(val).split.join key << ":" end end if !val.empty? print "#{key} #{val}n" if key =~ /^[dD][nN]:/ print objectClass end end } print "n" end # ファイルを閉じる file.close # Thunderbirdの標準的CSV並びと対応番号表 # 0=名 # 1=姓 # 2=表示名 # 3=ニックネーム # 4=メールアドレス # 5=別のメールアドレス # 6=勤務先の電話番号 # 7=自宅の電話番号 # 8=FAX 番号 # 9=ポケットベル番号 # 10=携帯電話番号 # 11=番地 (自宅) # 12=番地 (自宅) 2 # 13=市町村 (自宅) # 14=都道府県 (自宅) # 15=郵便番号 (自宅) # 16=国 (自宅) # 17=番地 (勤務先) # 18=番地 (勤務先) 2 # 19=市町村 (勤務先) # 20=都道府県 (勤務先) # 21=郵便番号 (勤務先) # 22=国 (勤務先) # 23=役職 # 24=部門 # 25=組織 # 26=Web ページ 1 # 27=Web ページ 2 # 28=誕生年 # 29=誕生月 # 30=誕生日 # 31=追加情報 1 # 32=追加情報 2 # 33=追加情報 3 # 34=追加情報 4 # 35=メモ # 36=処理の都合で必ず空になる(split -1なので) # 37=keyNumで指定したものの値 # 38=個別DN(スクリプト内で使用)

改訂版でtb2ldif.rb

先日初めてのRubyで作成したスクリプトがイマイチ使い勝手良くない。
ということで、作り直します。
いろいろ調べていたらo2ldifというPerlスクリプトを作成された方がいらっしゃったので、だいぶ参考にさせていただこうと思います。(パクリと言うネガティブな方向じゃなくて)
ひじきねっとさん
thunderbirdにすでにアドレス帳を持っているときはo2ldifではLDAPに持って行けないので・・(方法あるのかも)

懲りない業界

emobileのCMが変更になっていた。
当然のように嘘が叩かれてしまったのでしょう
980円で通話無料 => 1980円で通話無料に。
emobileは980円の通話プランとはべつにデータ通信料が1,000円必要。
ということは・・・結局最低1980円/月払わないと通話料無料とはいかない。
いやぁ、最近は堂々と詐欺まがいの勧誘しますよねえ。こわいこわい