2017/06/17

異分析

「つらみ」みたいな「み」の話をしていたのですが、「動詞形を挟むという分析は異分析な気がするな」と言われて「??」と思ったのでググってみました

異分析 - Wikipedia
異分析(いぶんせき)は、誤解に基づいて、あるに本来の語源・語構成と異なる解釈を行うこと

「とんでもない」=「とんでも」+「ない」ではないから、「とんでもございません」という表現は本来はおかしい、というようなことが書いてありました。挙げられてる以外にも沢山あるかと思うと、ドキドキします。

で、流れで「バブみ」の話になったんですが「バブルな感じだと思ってた」とのことなので、こんなところにも異分析、なのでした。

2017/06/15

pacman clean cache

どうもディスクの使用量が多いなと思い、パッケージシステムのキャッシュを疑ってお掃除しようと思いました。しかし、コマンドオプションが思いだせません。ググりました。

pacman - ArchWiki
The built-in option to remove all the cached packages that are not currently installed is:
# pacman -Sc
はい、Arch Linux を使っています。

しかし、思ったほど空き容量が増えません。こうなったら du しまくりです。時間にまかせて
$ sudo du -s /*/* | sort -n
とかしまくりました。どうやらというかやはりホームディレクトリが大きいようなのですが、du でホームディレクトリ直下のフォルダを調べても合計が合いません。あれれ?

そうなのです、"." で始まるディレクトリのことをすっかり忘れていたのです。気を取り直してもう一度
$ sudo du -s /home/*/.??*
すると、.local/share/Trash にまで辿りつきました。どうもアプリによっては削除でこのフォルダにファイルを移動してるようなのです。以前はそんなことなかったのですが...。

積もりつもったファイルを手で消してさっぱり綺麗になりました。

2017/06/14

vacay

"On vacay" と言われて "vacay?" と思い、vacation のことかなとは思ったのですが不確かだったのでググってみました

Urban Dictionary: vacay
The abbreviation of Vacation which is Vaca, is pronounced sometimes as Vacay.
とのことで、やはり vacation の意味でした。

vaca と書くこともありこれで /ˈveɪˌkeɪ/ と読むようなのですが、あんまり英語の綴りっぽくなく vacay と書くみたいでした。この ation は接尾語の ation でいいのかな? ation の a だけで発音を類推するには英語は難しすぎます。

日本人には vacation が /veɪˈkeɪ ʃən/ であることの方が受けいれ難いですね。ヴェイケイシェン(?)

何処で何を楽しんでるんだと聞いたら「バミューダでグレンリベット12年を」とのことでした。羨しかったです。

2017/06/13

中華冷やし冷やし

リビングの模様替えを手伝わされていたら突然脳裏に「中華冷やし冷やし」というフレーズが浮かんできました。でも何だったか思いだせません。ダウンタウンのコント? 次長課長? それはタンメン?? 気になったのでググりました。


ダウンタウンは合っていましたが、ガキでした。「欧陽菲菲」とか懐しいですね。

暑くなってきましたし、冷やし中華を注文する際には使ってみては如何でしょうか。

2013/08/15

powershell true

PowerShell でコマンドで boolean 指定したくなって
True とか TRUE とか true とかやってもダメでした。
でも 1 なら True で 0 だと False なの。まじで!!

で何が正解なのか知りたくてググりました。
Boolean Values and Operators - Windows PowerShell Blog - Site Home - MSDN Blogs
Boolean values (which can be either 1 or 0) are defined in PowerShell using the....

まじで!! と思ったら $True とかも使えるみたいだったんだけど
っていうか $True!! と $True にビビったーので記念に記しておきます。
言葉が変われば何でも変わりますね。

2013/08/13

"Blocked loading mixed active content"

Firefox の Version Up のスピードに既に追いつけなくなっています。
23.0 って何だよ!! と思ってたら正常に表示されないページが出てしまいました。
JavaScript がページを取ってこれていないようだったので Ctrl+Shift+K 押して
コンソールを開いてリロードしてみたら
Blocked loading mixed active content "http....
何だこれは。

ということでググりました。が、良く分からない。
"Blocked loading mixed active content" in FireFox - WebFaction Community
MITM ねぇ、ふむ。

で mixed と言われて http/https の混在を思いついたのですが
about:config を確認するとありました!
security.mixed_content.block_active_content
これが true が default だったので false にしてみたら見れました。
よかったよかった。

でも、いいのかなこの設定...。

2013/08/12

golang certificate ssl handshake

2013/08/14 追記
Go界のジェフ・ベゾスが勝手にウンコードを添削してくれたよ!! みんな、こっち見てね!

ヒャッハー、証明書好きのオレ様が帰ってきたぜ!!!というわけで遅延証明書よりも在留証明書よりも公開鍵証明書を愛する私が Go を使ってサーバから証明書をゲットするその日がやってきました。Go には crypto/tls という素敵パッケージもあるので何の心配もありません。Config としてサーバ認証を真面目にしない InsecureSkipVerify を true としてあげればどんな IP address, port のペアに対してだって証明書を取ってくることが可能なのです。実行するとこんな:
$ go run get_cert.go www.google.com
i=0
[[{[2 5 4 6] US}] [{[2 5 4 10] Google Inc}] [{[2 5 4 3] Google Internet Authority}]]
2013-07-31 11:40:49 +0000 UTC
2013-10-31 23:59:59 +0000 UTC
[[{[2 5 4 6] US}] [{[2 5 4 10] Google Inc}] [{[2 5 4 7] Mountain View}] [{[2 5 4 8] California}] [{[2 5 4 3] www.google.com}]]
i=1
[[{[2 5 4 6] US}] [{[2 5 4 10] Equifax}] [{[2 5 4 11] Equifax Secure Certificate Authority}]]
2012-12-12 15:58:50 +0000 UTC
2013-12-31 15:58:50 +0000 UTC
[[{[2 5 4 6] US}] [{[2 5 4 10] Google Inc}] [{[2 5 4 3] Google Internet Authority}]]
OpenSSL みたいな pretty な感じに出してくれるのはとりあえず見つからなかったけど頑張れば自分で書けるぜ!!
package main

import (
        "crypto/tls"
        "crypto/x509"
        "fmt"
        "log"
        "os"
)

func main() {
        if len(os.Args) < 1 {
                log.Fatal("You must input a hostname")
        }
        peerCertificates, err := GetCert(os.Args[1])
        if err == nil {
                for i, Cert := range peerCertificates {
                        fmt.Printf("i=%d\n", i)
                        fmt.Println(Cert.Issuer.ToRDNSequence())
                        fmt.Println(Cert.NotBefore)
                        fmt.Println(Cert.NotAfter)
                        fmt.Println(Cert.Subject.ToRDNSequence())
                }
        } else {
                log.Fatal(err)
        }
}

func GetCert(host string) ([]*x509.Certificate, error) {
        config := &tls.Config{InsecureSkipVerify: true}
        conn, err := tls.Dial("tcp", host+":443", config)
        var peerCertificates []*x509.Certificate
        if err == nil {
                connectionState := conn.ConnectionState()
                peerCertificates = connectionState.PeerCertificates
        }
        return peerCertificates, err
}
ポートは決め打ちだぜ!!