PCの冷却

簡易水冷CPUクーラーの平均寿命は3年ほどらしい。その間はメンテナンスはほぼフリーだが、どうしても内部の冷却水が減っていって、最終的に冷却水不足で機能しなくなるようだ。しかもその構造上、冷却水の補充ができない。そのため、ほぼ使い捨てらしい。空…

CentOS Streamインストール

CentOSがポリシーを変更して、RHELのクローンではなくてRHELとFedoraの中間になるそうなので、そろそろFedoraの更新を追いかけるのがつらくなってきたやつを入れ替えてみた。とりあえず必要なものだけrsyncで別のマシンにバックアップ。公式からインストール…

ラズパイ用の電源#5

とりあえず前回は回路図を出してみたが、懸念点は以下の通り。 ダイオードでの電圧降下を考えると12Vではバッテリーの充電ができないのではないか、IRM-20-12からIRM-20-15に変えるべきか 入力側への突入電流に対する保護を忘れていた、このままだと20Aが流…

ラズパイ用の電源#4

だいぶ間が空いてしまったが、一応やめてはいない。 実物を作るかどうかはともかくプリント基板を発注できるくらいの完成度までは持っていくつもり。とりあえず、回路図第一弾はできた。 回路図ダイオードはよさげなの(VS-50WQ03FN-M3)があったのでそれにを…

ルータ乗り換え

PC

YAMAHA NVR510からYAHAMA RTX1210へ乗り換えた。 オールインワンVoIPルータから中小規模拠点向けVPNルータへの乗り換えとなったわけだが、乗り換えた理由はネット回線を実は2回線契約しているから。2つの回線を有効利用するためにはWAN側のポートが2ポート以…

ラズパイ用の電源#3

スローペースだがまだまだ続くよ。 以下の続き。 masahero.hatenablog.jp検討の結果、鉛蓄電池(VRLA)を電源入力喪失時のバックアップとして利用する。回路の構成としては、以下の通り。 商用電源(単相AC 100~200V)からDC 12Vへ降圧及び整流する部分 電流制限…

Zabbix Proxy導入で躓いたとこ

振り返れば当たり前なんだが気づくのに3時間ぐらいかかったので戒めに書いておく。なんやかんやあって、30台以上のラズパイを管理しているので監視用にZabbixを導入している。 システム部門でもなく生産技術の人間なので、サーバを新たにたてるわけにもいか…

ラズパイ用の電源#2

以下の続き。 masahero.hatenablog.jp 要求仕様を満たすために考えるべきことは、まずどうやって入力消失後30秒間出力を維持するか。 とりあえずぱっと思いつくのは以下の2つ。 コンデンサ 二次電池 それぞれのメリット/デメリットは以下の通り。 コンデン…

ラズパイ用の電源#1

仕事でもいつの間にか30台程度のラズパイが私の管理下にある今日この頃。 ラズパイの電源系をなんとかしたい。仕事で買う場合は社内ネットにつなぐ必要上ICT部門経由でケースやACアダプタとのセット品を購入しているのだが、今のところ5~6台がセット品にも…

Python+TkでD&D 3

以前書いたものの原因が分かった。 masahero.hatenablog.jpワイド文字列がダメみたい。 "CallWindowProcW"みたいに最後に"W"がつく関数をすべて"A"に置き換えると動作する。Pythonというかpywin32側の仕様が変わったのだろうか。

Python+TkでD&D 2

以前以下のような記事を書いた。 masahero.hatenablog.jp時間もたってこのままでは動作しなくなっているようなので修正版を作った。 Python 3.6.9では動作するが、Python 3.7.3では元のウィンドウプロシージャを呼び出す箇所で"Access violation"が発生する…

2018年08月25日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年08月23日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年08月18日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年08月15日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年08月12日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年08月05日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年07月28日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年07月27日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年07月17日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年07月16日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年07月14日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年06月12日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年06月09日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年06月03日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年05月28日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年05月05日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年04月16日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年04月08日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

2018年04月05日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…