Tsukiji Systems
RSS1.0


googleで
サイト内検索
このブログ
を検索!
  help

巻き戻し中。

2020年
4月
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


2020-04-04(土) tdiary [長年日記] この日を編集

_ PC 更新

先週、思い出したようにtdiary更新した。

丁度3月でamazonプラグインの形式が変わるという話で更新必須だったのだが。。。

実は新形式になったら、アフリエイトの実績に応じてamazon側のアクセスレートの制限がある。

自分の場合は実績なんてほとんど無い*1から、デフォの秒間1アクセス。

そうなると、実際にはリンクが書かれたページを更新すると「更新のために取得」「表示」の2回がほぼ同時に走るので、エラーで使えない。

もちろん、複数のリンクが書かれたページを表示するのも出来ない。

と言うことで、プラグインが役立たずになったのでamazonのアソシエイトツールバーで作るリンクへの置換をすることにした。

ついでに、色々仕様が変わったpreタグの後始末やらで15年分のブログの修正やら置換をやってる。

┐(゚~゚)┌

*1 可哀想だと思ったらなんかクリックしてくれw


2020-03-15(日) 再起動 [長年日記] この日を編集

_ PC 壊れたorz

なんとか爆音P4-HTマシンでテープをメディア変換していたRDX、母艦のVMwarePlayerのBSDでファイルシステムごとにtar.gzで固めてた。

でもって、Windowsupdateの再起動を後回しにしていたのだけど、昼間に目を離した隙に「オペレーションしてないし、昼間はアクティブじゃないって指定してあるよね(゚∀゚)」って強制再起動しやがった。。。

おかげでUSBパススルーして繋いでいたRDXのUFSは見事に読み取り不能かつ修復不能。

ゼロからやり直しである。

おのれM$、覚えてろよ(ノ ゚Д゚)ノ ==== ┻━━┻

_ 自火報

今では一般のご家庭でも義務化されてる火災報知器、我が家を建てた2002年頃はそんな事も無くおおらかな時代じゃった。*1

とは言え今は息子も北海道で一人暮らしなので気付きにくいから、ちゃんと報知器無いと危ない。

習志野市の義務は「階段/寝室」だ。

まぁ、寝てるときに1階の台所で火が出たら気付かないのは危険。

なので、無線連動式にして台所/階段/寝室どこかで検知すれば家中の警報器が鳴るようにした。

 

*1 なぜ語り部調・・・


2020-03-12(木) [長年日記] この日を編集

_ PC 消費電力

あー、UPSの消費電力が下がったと思ったら、NASのHDDを容量増やすのにHGSTのDeskstarNASからWD-Redに入れ替えたからだ。

スペック見ると4本で15Wぐらい減ってる。*1

( ・∀・)つ〃∩ ヘェーヘェーヘェーヘェーヘェー

*1 アイドル時で1本あたり6.9→3.3Wが4本

_ PC でもね

WDの1TBを4本で組んであるTier2用途のストレージ、QNAPから抜いた3TBを4本に入れ替えしたいのだよね。

結局、WDの1TBが2-3WだったのとHDNの6.9Wを入れ替えるので、QNAPが減った分と差し引きだとちょいプラスになるわけか。。。


2020-03-09(月) 在宅 [長年日記] この日を編集

_ 新型コロナ

対策でこのところ半分以上は在宅テレワーク。

自分は元々出張が多い人なので遠隔地からのお仕事は慣れてるけど、*1全社となると今まで経験のない人も沢山居るから大変だな。

*1 実際、海外で予定が早く片付いたり変更になって、丸1日ホテルの部屋で日本にリモート出社とか良くある

_ PC 拡張

先週届いたNASのHDD入れ替え。

QNAPの場合、4本構成のRAID5を拡張するには、、、

①管理画面で1本オフラインにする

②物理的に入れ替える

③RAID再構築が始まる

④再構築終わったら①に戻る

を4回繰り返す。

1回あたりほぼ丸一日かかるので、4日掛かった。

最後に全部入れ替え終わったところでボリューム拡張すると、更に増えた容量分だけ何時間か同期が走る。

ほぼ1週間掛かって9TBだったものが12TBになった(゚∀゚)


2020-03-07(土) おや? [長年日記] この日を編集

_ PC SCSI

オクで「未使用新品」の格安テープドライブ見つけて確保、早速繋ぐも初期不良。

慌ててもう一つ別のを落札したら翌日届いた。

ラッキー!

_ PC ん?

残ってるテープの山は12本。

古いのは2006年ごろ。

新しいのは仮想化後の2016年。

あれ?読み出せるじゃん、仮想化後のヤツも。

ダメなのは2011年-2013年の3本。

何がどうなってるのやら・・・・


2020-03-04(水) 椅子 [長年日記] この日を編集

_ 15年ぶり

テレワークが増えるのを見越して買い換え。

在宅だから荷物受け取りも余裕(゚∀゚)

自分で組み立てるノックダウンだと約半額はお得。*1

会社の椅子ともそれほど差がない座り心地。

昼間座りっぱなしでも疲れないし、確かにこれは捗るwwww

フットレストは、ふんぞり返って映画とかアニメ見るときは気持ちいい。

家庭内別居の人は、そのまま毛布かぶって寝られますぜ。

下手なエコノミークラスの椅子よりは楽。

*1 添付の工具じゃぁゃιぃけど、自分でちゃんとして工具持ってる人なら問題ナス


2020-03-02(月) 壮大な [長年日記] この日を編集

_ PC 勘違い

どうやらエラーを見るにUSBのテープドライブをFreeBSDはサポートしてないっぽい。

仮想化した鯖ではもはやリアルのSCSIバスを使う手段がない。

単独のマシンにSCSIバス付けてドライブ繋がないと過去のデータが移行できないorz

ここ5年ぐらいはテープに取ることはほとんどなかったのだけど、取っていてもダメだったって事。

_ PC リストア(ハード的に

今更SCSIのテープドライブをFreeBSDマシンに接続しなきゃならなくなっており、

古いハードウエアをゴソゴソしている。

懐かしのPentium4-HT爆熱マシン引っ張り出した。*1

たぶん、SolarisX86かOpenIndianaが入ってるので再インスコから。

オンボードにAdaptecのLVD-SCSIがあるのでラッキーかも。

LVDの内部ケーブルもとっくに捨てちゃったので買わねば。

電球と比較

*1 但しメモリは2GBしかないよw


2020-02-24(月) 3連休 [長年日記] この日を編集

_ コロナウイルスとか花粉とか

まぁ色々と外は危険が危ないので、なるべく屋内で過ごすなど。

洗濯物はさすがに天気も良いのでちょっと外に出してみたが、案の定取り込んだ瞬間に鼻づまりスタート。

明日薬もらいに行くかな。

_ 車バイク プロ?

MonotaROはオイラの購買履歴でどんだけポテンシャルカスタマーだと思ったのかw

バイクと車の部品やら用品カタログ2冊送ってきた。

ありがたく、ドリルの穴開けの下敷きに使わせてもらいます(・∀・)

設定中(・∀・)


2020-02-23(日) ばっきゅあっぷ [長年日記] この日を編集

_ PC 互換性

植草家の鯖の15年以上前からあるバックアップテープはDAT72ドライブが不調で永らく使ってない。

でもってESXiでRAID1のストレージ上にghettoVCBで定期バックアップ落としてるし、さてどうしようってなってきた。

今更、中古でDAT160/320買ってもDDS3の後方互換がお㍗るので古いテープが読めない。

今後の面倒とコスパ考えたら、そろそろファイルとして管理してRDXあたりが妥協点か。

とりあえず、オクでDAT72ドライブの中身ゲットしたので、古いテープをtarで読み出してtarファイルに(?)する。

あとは人力か自動化かは後で考えるとして、vmdkベースでの取得かなぁ。

 

_ PC RAID

そう言えば、録画データとか置いてるNASの容量がだいぶ埋まってきた。

日立の3TBx4本のRAID5で9TBだが、1本は既に昨年エラーが出たのでWD-REDの4TBを入れてある。

残り3本4TB入れてオンライン拡張*1すれば、12TBになるはず。

WD-REDの次期キャッシュ256MBモデルが発売になったから、今のモデルは値下がりするはずなので狙い目(゚∀゚)

 

*1 手順に従って1本筒再構築するからものすごく時間掛かるけど(゚∀゚)


2020-02-12(水) IoT [長年日記] この日を編集

_ PC 家の鍵

sesameでIoT化してみた。

もちろん、スマホから操作可能。

WiFiアダプタもセットしたのでBluetoothでの近場の操作だけじゃなくてネット経由で操作可能。

開閉よりも、実は外部から鍵の状態が分かる方がありがたい。

「アレ?鍵ちゃんと閉めたっけ?」と言うときにすぐ確認できる。

それだけじゃ面白くないので、せっかくネットに繋がってるしAWSのIoTエンタープライズボタンでコントロールできるようにしてみた。

クリック一発動作だけならメーカーの解説にあるサンプルコードで十分。

で、ウチの場合は

・玄関は鍵が2つ

・クリックで開くだけだと不便、ポケット内で押しちゃう誤動作も気になる

と言うことで、一発で2個のsesamiにコマンド投げるのと「クリック/ダブルクリック/長押し」を使い分けることにした。

誤動作防止と利便性を考えて

-シングルクリック:施錠

-ダブルクリック:解錠

-長押し:トグル

にしてみた。

これなら、間違って押したぐらいなら鍵が閉まるだけ。

もちろん、AWSIoTボタンのネットワークは自宅の無線LANにしか繋がらないようにしてあるのでとんでもないところからうっかり施錠や解錠することはない。

あと、print文を何カ所かに入れてあるので、AWSのログに変数/コマンドの履歴が残って確認が楽&開閉記録になるはず。

 

AWS IoTエンタープライズボタンはこちら

_ PC Lambdaのコードはこんな感じ

切り貼りだったり、実験で使ったのも含んでるので余計なimportとかスマソ。  
from http.client import HTTPSConnection
import json
import os
import boto3
import logging
  
def get_command(conn, url, headers):
    conn.request('GET', url, headers=headers)
    ret = conn.getresponse()
    if ret.getcode() == 200:
        sesame_status = json.loads(ret.read().decode('ascii', 'ignore'))
        return 'unlock' if sesame_status['locked'] else 'lock'
    else:
        raise RuntimeError('Server return error: %s' % ret.read())
  
def get_clicktype(event):
    try:
        clicktype = event['deviceEvent']['buttonClicked']['clickType']
    except KeyError as err:
        clicktype = 'other'
        print(clicktype)
    return clicktype
        
def lambda_handler(event, context):
    if 'DEVICE_ID1' not in os.environ:
        raise RuntimeError('DEVICE_ID1 not given')
    if 'DEVICE_ID2' not in os.environ:
        raise RuntimeError('DEVICE_ID2 not given')
    if 'APIKEY' not in os.environ:
        raise RuntimeError('APIKEY not given')
    if os.environ.get('COMMAND_L') not in ('lock', 'unlock', 'toggle'):
        raise RuntimeError('COMMAND_L must be "lock", "unlock" or "toggle"')
    if os.environ.get('COMMAND_S') not in ('lock', 'unlock', 'toggle'):
        raise RuntimeError('COMMAND_S must be "lock", "unlock" or "toggle"')
    if os.environ.get('COMMAND_D') not in ('lock', 'unlock', 'toggle'):
        raise RuntimeError('COMMAND_D must be "lock", "unlock" or "toggle"')
        
    click_type = get_clicktype(event)
    print(click_type)
    if click_type == "SINGLE":
        COMMAND = os.environ['COMMAND_S']
    elif click_type == "DOUBLE":
        COMMAND = os.environ['COMMAND_D']
    elif click_type == "LONG":
        COMMAND = os.environ['COMMAND_L']
    else:
        COMMAND = ""
#pass
    
    print(COMMAND)
    url_1 = '/public/sesame/%s' % os.environ['DEVICE_ID1']
    url_2 = '/public/sesame/%s' % os.environ['DEVICE_ID2']
    
    headers = {
        'Authorization': os.environ['APIKEY'],
        'Content-Type': 'application/json'
    }
    conn = HTTPSConnection('api.candyhouse.co')
    
    if COMMAND == "toggle":
        body1 = json.dumps({'command': get_command(conn, url_1, headers)})
    else:
        body1 = json.dumps({'command': COMMAND})
    conn.request('POST', url_1, headers=headers, body=body1)
    ret1 = conn.getresponse()
    
    conn = HTTPSConnection('api.candyhouse.co')
    
    if COMMAND == "toggle":
        body2 = json.dumps({'command': get_command(conn, url_2, headers)})
    else:
        body2 = json.dumps({'command': COMMAND})
    conn.request('POST', url_2, headers=headers, body=body2)
    print(body2)
    ret2 = conn.getresponse()
  
    try:
        response_body1 = json.loads(ret1.read().decode('ascii', 'ignore'))
        response_body2 = json.loads(ret2.read().decode('ascii', 'ignore'))
  
        if ret1.getcode() == 200:
            print('[SESAME1] Request successed with task_id=%(task_id)s' % response_body1)
            return response_body1
        elif ret2.getcode() == 200:
            print('[SESAME2] Request successed with task_id=%(task_id)s' % response_body2)
            return response_body2
        else:
            raise RuntimeError('Server return error for ID_1: %(error)s' % response_body1)
            raise RuntimeError('Server return error for ID_2: %(error)s' % response_body2)
    except json.decoder.JSONDecodeError:
        raise RuntimeError('Can not parse response for ID_1: %s' % response_body1)
        raise RuntimeError('Can not parse response for ID_2: %s' % response_body2)

_ PC 変数

Lambdaの環境変数は以下を指定

-----------------------------------------

APIKEY

:sesamiのサイトで取得

DEVICE_ID1

:1個目の鍵のID

DEVICE_ID2

:2個目の鍵のID

COMMAND_L

:toggle:長押し時のコマンド

COMMAND_S

:lock:シングルクリック時のコマンド

COMMAND_D

:unlock:ダブルクリック時のコマンド

-----------------------------------------



過去の写真!
良い感じに付いた(・∀・) 削るぜ! オリジナル(すり減ってる) バンジョーはあるんだがw
アクセスカウンター!
累計:
本日:
昨日:
最近のツッコミ

(´・ω・`)ショボーン