なんか簡単にできる方法がないっぽい
ping -i 1 localhost | ruby -analpe '$_[0, 0] = Time.now.to_s + " "'
なんか簡単にできる方法がないっぽい
ping -i 1 localhost | ruby -analpe '$_[0, 0] = Time.now.to_s + " "'
をやりたい。node 付属の dns で mdns クエリを行うとうまくいかなかった。mdns のライブラリを使うと以下のようになった。_services._dns-sd._udp.local. ひいたときにソースアドレスがなぜか取得できないので若干めんどうなことになっている……
//#!/usr/bin/env node
const mdns = require('mdns');
function getServiceWithBrowser(browser, timeout) {
if (!timeout) timeout = 500;
return new Promise(function (resolve, reject) {
const ret = [];
browser.on('serviceUp', function(service) {
ret.push(service);
});
//browser.on('serviceDown', function(service) {
// console.log("service down: ", service);
//});
browser.start();
setTimeout( () => {
browser.stop();
resolve(ret);
}, timeout);
});
}
function getAllServices(timeout) {
return getServiceWithBrowser(mdns.browseThemAll(), timeout);
}
function getServiceForType(type, timeout) {
return getServiceWithBrowser(mdns.createBrowser(type), timeout);
}
async function run () {
const services = await getAllServices();
const results = await Promise.all(services.map( (s) => getServiceForType(s.type)));
const hosts = results.reduce(
(r, i) => (
i.forEach((i) => r.set(i.host, i.addresses)),
r
),
new Map()
);
for (let [name, addresses] of hosts.entries()) {
console.log(name);
for (let address of addresses) {
console.log("\t", address);
}
}
}
run();
excite光をつかってたので、移行が楽な excite MEC光 という IPoE サービスにしてみました。IPv6 ネイティブかつ DS-Lite による IPv4 接続サービスです。
事前に調べてもさっぱりわからない点があったのでまずそれを検証しました。
この Aterm WG1810HP(MF) は DS-Lite 対応品となっている。DS-Lite 対応ルーターなら他のものも利用可となっているが、このルーターは常に強制的にレンタルする必要がある。
強制レンタルはまぁ許せるけど、それならレンタル料金 (100円/月) を月額料金に含めて書けよと思う。
答: できない
DS-Lite では NAT が自宅内ルーターではなく VNE ゲートウェイ (AFTR) 側で行われる (CGN/キャリガグレードナット)ので、手動でポート解放というのが原理的に不可能。それでは UPnP には対応しているのか?という疑問
iijmio ひかりでも答えている。「IPoE接続サービスのDS-Lite方式でのIPv4サービスでは、UPnPによる外部ホストからお客様宅のコンピュータへの通信路確立は行えません。外部へのサービス公開が必要な場合、PPPoE接続を併用されるか、IPv6の利用をご検討ください。」 。
デュアルスタック
インターフェイスで IPv6 を有効にすればそれだけで IPv6 ネイティブで繋がるようになる。
なぜか設定でリンクローカルだけの割当になっている端末があったのが罠かった。
デュアルスタック
ZenFone3 (Android 8.0.0)
無線LAN経由で IPv6 接続される。特に設定はなし。
IPv4 接続
NATタイプ: 2
IPv4 接続
NAT タイプ: B
IPv4 接続
torne mobileアプリから自宅nasneへ直接接続する機能があるが、機能するか?
アプリから nasne 設定を開くと「通信モード」が表示される。これがNATの状況っぽい? これまでの PPPoE だと通信モードA だった。
IPoE/DS-Lite だとにした直後は通信モード Cで、視聴不可だったが、同一ネットワークから一度つないだら通信モードBになって見れるようになった。
おおざっぱにいうと
だけ。
細かいところで疑問点があったので RFC6333 を見てみた
RFC6333 の B.1.2. Translation Details あたりにAFTR のNATとしての挙動が書いてある。
NATテーブルは例は RFC6333に書いてあるので引用しておく。結局一番知りたいのはこれだった。
+------------------------------------+--------------------+
| Softwire-Id/IPv4/Prot/Port | IPv4/Prot/Port |
+------------------------------------+--------------------+
| 2001:db8:0:1::1/10.0.0.1/TCP/10000 | 192.0.2.1/TCP/5000 |
+------------------------------------+--------------------+
Dual-Stack Lite Carrier-Grade NAT Translation Table だいたいいいけど、 DS-Lite では 192.0.0.0/29 が予約されているので、ルーターのLAN側のDHCPでこのレンジが払出されないようにしないとまずいっぽい。
DS-Lite ルーターがデフォルトで 192.168.10.0/24 とかになっているのはこのへんの事情なんだろう。
スペック
MISO は Multi Input Single Output。ダウンロードだけ2本のストリームという意味っぽい?
802.11ac 最低だと1ストリームあたり86.7Mbpsなので、2本だと 173.4Mbps。実際 Chromecast Ultra がどこまで対応しているのか謎。
スペック的には実は Wi-Fi のほうが高いが、Wi-Fi は AP と接続している端末が増えるほど遅くなるのでなんともいえない。専用の AP を立てられて、電波が空いてるなら Wi-Fi のほうが早い可能性がある。
ちなみにうちでは有線LAN接続してる。
インターフェイスの罠としては「定期的に音声で通知する」みたいなのは意外と使えない。というのも、人間だんだん慣れてきて、同じ音が定期的に鳴っていても聞こえなくなるため。視覚に訴えるほうがいいのかも?
自分が加害者にならないという自信がある発言をよくあって、それが不思議。その発言自体が加害的なのに、法律的には罪にはないから、マウントが成立する。他人に倫理観を問う人は倫理観がないパターンと感じる。
社会が自分を配慮してくれないのに、自分が社会に配慮する必要はあるのか? 誰だって後ろ盾というか、味方がゼロだったらヤケになるのではないのか?
自殺者を迷惑と叩くような人も同じようなパターンなんだろうと思う。自分がそうならないという不思議な自信があるんだろう。
被害者にならないためにはということよりも、加害者にならないためにはということに興味がある。人間の行動は自動的であるので、そういう状況に追いこまれたら、そういうことになる。直接的に加害されて反抗したら正当防衛になるけど、間接的なら罪になる。広く薄く加害する人に対して、合法的にできることはなにもない。
被害にあわないためには目立たないこと、というのも同意できない。自分への被害は防げるかもしれないけど、他人への被害は減らない。加害を減らすことに繋がらない。社会的なリスクが減らない。社会に対する行動なので、社会で対応しないといけない。個人の問題じゃない。
評判が良いので買ってみた。コストパフォーマンスとセットアップが楽なのがウケているもよう。
とりあえず以下の点は微妙
VRデバイスとしてはトラッキングに違和感を感じることもないし、かぶるだけなのは便利。やっぱ画質が悪いので、それほど感動的なデバイスとは思えなかった……
リアリティというか、現実の再現度でいうと残念ながら4Kや8Kのほうがいいなと思った。視野とかは我慢できるけど、今後は十分なピクセル密度になるまで待ちだなという感じ。
映像だと、ステレオ画像の3D VRコンテンツは少ない。360° 2D の VR コンテンツが多い。この2つの違いはかなり大きい。けど、事前に明確にそうと書いてないことが多いような気がする。
3D VR コンテンツは 2D と比べると没入感が比べものにならない。この点が意外だったのでおもしろい。
電気工事士2種の技能試験の練習
とりあえず問題1を通しで時間を計りながらやってみた。35分ぐらいでおわった。試験時間が40分なのギリギリだ。まぁ初めてやった割には時間内に終わったのは良いほうと思いたい。
複線図書いて、色の指定まで書くけど、実際に施工してみるとこの色の組合せだとやりずらいとかがわかって良かった。
例えば今回は連用取り付け器具で 1.6-2C を2本と渡り線を使うわけだけど、1つ目の器具に 1.6-2C を接続するほうが楽なので、そういう配色にしないといけない。今度から気をつける。
あと、こういう 1.6-2C が2本みたいなパターンだと接続するときにどっちがどっちがわかりにくく、もどかしい。
接続コネクタのストリップ長さがわからなくて少しロスした。よく見ると凹みで示されているけど、ボディが透明なのでわかりにくい。
ランプレセプタクルは問題なくできたかな。のの字曲げは楽しいので試験に出るといいなー
今回は鞍馬寺を通らず、叡山鉄道貴船口駅から直接貴船神社へ。ただ、貴船口から貴船神社まで2kmほと登るので地味に遠い。朝7時ぐらいについたのでバスも走ってない時間で、普通に歩いた。
基本的にはやはり鞍馬寺を通って貴船神社まで行って、降りてくるほうが楽しめると思った。雨が降るという予報だったので早めに予定をこなす意図があった。
しばらくすると貴船神社本宮
もうすこし登ると結社、そのさらに奥に奥宮
山奥にあるけど、人気の観光スポットのひとつではあるので、可能なら早朝が良い。御苑近くのホテルに泊ってたが5時起きして出町柳まで1時間ぐらい散歩して叡電に乗った。
この日はちょうと下山して京都駅につくごろに激しい雨が降りはじまったのでそのまま新幹線で帰った。
mbed USBMIDI で Lightroom 用の MIDI インターフェイスを作る | tech - 氾濫原 の続きで、実際に使えるものを作りました。まぁもう作ったの一ヶ月ぐらい前なんですが……
機械式インクリメンタルロータリーエンコーダー (スイッチ付き)を19個、Gateron 緑軸スイッチ (Cherry MX 互換スイッチ) 7 個を使います。ロータリーエンコーダーはA相・B相・スイッチと3接点あるので 19 * 3 + 7 = 64 接点あります。キリのいい数字ですね。
ロータリーエンコーダーのA相・B相も単にスイッチとみなせるので、ダイオードを使ったキーマトリクスを構成し、16bit I2C GPIO (MCP23017) 1つを使って順次全て読み出します。その際、同一エンコーダーのA相B相は同時に読めるようにマトリクスの配線に注意します。
USB を繋げるメインのマイコンは LPC11U35 です。
上段にある8個のエンコーダーは色別の色相・輝度・彩度に対応することを想定しています。その上にある3つのスイッチはレイヤー切り替えを想定して、エンコーダーの数を仮想的に3倍に増やしています。
かなり配線が面倒ですが、この回路では特にシビアなところはなく、繋がってさえいれば動くと思われるので FreeRouter で自動配線したものをほとんどそのまま使っています。ジャンパとして配線しやすいように、via の位置を多少変更したぐらいです。
切削で基板を作る都合上、片面基板+ジャンパとしたいため、FreeRouter 上ではtopのコストを100ぐらいに設定しています。なので、かなり無理に遠まわりしている配線が多々あります。それでもジャンパは34個ぐらいあるので面倒ですね。
製造は CNC 切削です。6時間ぐらいかかりました。
基本は I2C GPIO のキーマトリクスを読むだけですが、ロータリーエンコーダーのデコード処理が入っています。
とても安いタイプのロータリーエンコーダーを使っているのですが、どうも挙動がおかしくて綺麗に相を得られないことがあります。これで困った結果、以下のようなロジックになっています。
これで割とうまくいったように思います。しかし完全に不良品みたいな、正相と逆相が常に対応して発生するエンコーダもあって、安物は厳しいですね。こういうのは捨てるしかない。ロータリーエンコーダーはちゃんとしたのを買ったほうがいいことは分かってるつもりなんですが、ちゃんとしたのはやはり高いですね。
基板設計時から Fusion360 でモデリングしつつすすめていたので、KiCAD 側から再度基板データを出力して Fusion360 でインポートし、ケース設計に役立てました。
モデルは 3D プリンタで出力しました。下側は一発でいい感じにできたのですが、上側がなかなかうまくいかず3回ほど出力しなおしています。
安く作ることではなく欲しいものを作るのが目的なので、あまりコストは大事ではありませんが以下の通りかかります。
しばらくエレコムのカメラバッグを普段使いとして使っていた。けど会社の行き帰りにしか使わないので、カメラを入れて運ぶことは全くなくて全然意味がなかった。容量がかなり小さいのと、肩ストラップがすべり落ちてくるのが不愉快だった。
エレコム off toco 2styleバックパック リュックサック カメラ収納機能付き グレー DGB-S023GY cho45
結局、替えレンズを持ち歩かないみたいな場合には、カメラバッグより容量大きめのちゃんとしたバッグにインナーケース入れる程度のほうが便利だと思う。
[コールマン] ウォーカー33(ヘリンボーン) cho45
ということで、コールマンのウォーカーというのを買ってみた。
ポケットが多い割にはかなり軽いうえに容量が大きい。そして中身を入れてないときはそんなにかさばらないので電車に乗るときも邪魔になりにくい。
さらにはチェストストラップとヒップベルトもついてる。チェストストラップは揺れ防止によく使うし、ヒップベルトは重量物を入れると便利。一通り充実した機能がある割には安いし最高な気がする。
ちなみにカメラバッグとしては相変らず Lowepro フリップサイドトレックBP 450AW 使ってて、そこそこ満足。カメラの収納と持ち歩きには最高。かなり重くしても全く肩が疲れない。これはこれでカメラ以外の収納が少ないという問題はあるけど、物理的にどうしようもない。
最近モデルチェンジしたっぽい? アマゾンで売ってないかもしれない。
Lowepro カメラリュック フリップサイドトレックBP 450AW 12.9L グレー/ダークグリーン 370168 cho45
キラキラインターネットはこないのは確実だなあと思った。
ブックマークレットとかGreasemonkeyとかにすごく大きい可能性と期待を抱いていて、こういう DIY を前提としたウェブサービス (例:LDR) にも期待してて、きっと理想 (未来予想ではない) はこういうほうだと思って期待はもっていたけど、案の定というかなんとかいうか、ブックマークレットもGreasemonkeyも実質滅びている。
作る人・作れる人が増えることが一番良いと思ってるけど、大多数の人は作ることに興味がない。
プログラミングが義務教育になってからの世界だと違うだろうか? 違わないと思う。
ブログを続けるには!?みたいなブログ記事を読むと、その感覚がよくわからなくて不思議な気持ちになる。もしかすると「筋トレを続けるには!?」みたいなノリなのかもしれない。つまり、なんらかの目的(PV? 承認? 広告収入?)があって、その手段であるブログを書くこと自体は面白くないことだという認識なのかもしれない。「1日n記事書く」みたいなノルマを課してる人もいるみたいだし、やっぱ筋トレなのかも。まぁその手のブログって感覚があわなすぎて面白くないんだよな……
とにかく初心にかえろうという感じ。