chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

スマホを新調しました✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌

二年半ほど付き合ったAQUOS PHONE (SHL22) に別れを告げて、AQUOS PHONE SERIE (SHV34) に乗り換えました。
そしてとりあえず手帳型カバーを二つほど確保して、休みの間に試してたりしてました。

一つ目

エレコム製のこれ。これといって特殊な機能もなくて、とりあえずってことで装着してた。
弱めの磁石で蓋がずれたりしないのは?

二つ目

ラスタバナナ  AQUOS ZETA/SERIE/Xx3 窓付き手帳型ケース ネイビー 2407AQUO

ラスタバナナ AQUOS ZETA/SERIE/Xx3 窓付き手帳型ケース ネイビー 2407AQUO

小窓に惹かれて投入したやつ。蓋開けるだけでロックまで外れるようになったりして、すぐに使えるのは便利なんだけど、蓋を固定するフラップとかがないのでわりとさくっとズレたりしそう。
ただズレるだけならいいんだけど、ズレると蓋が開いた扱いになって本体が反応しちゃうのでちゃんとロックしておかないと誤操作しそうだった。

なお、小窓には時計とカメラ起動ショートカットが置かれてました。小窓サイズで写真撮るのはちっちゃくてつらいかもしれない。

手帳型について

今回初の手帳型カバーだったので、慣れるまではヒーヒー言ってそうだなーという印象。電話はかける分には問題ないけど、受けるときはすぐに取れなかったりはした。
そしてスマホ本体に搭載されている特殊機能 *1 が使えなくなってるのでそのうち別のカバーを探してるかもしれない。

*1:持つだけで反応するグリップマジックのこと

Rustでserde_codegenを使わずにシリアライズしたかった

RustでJSON/YAMLとかにシリアライズしたい場合、たぶん今なら serde を使えばいいんじゃないかと思ってるんだけど、
serde-rs.github.io

ちょっと不便だなーって思うところがあって。それは

  • serde_codegen だとビルドスクリプトに書くことになるので、複数バイナリとか cargo test とかに対応しきれない
  • かといってマクロを使うと Nightly ビルドじゃないと動かない

といったところ。なので、ふと

serde_codegenが生成しているのと同じことするの書けばいいんじゃね?

などと考えたのが失敗だった _("_´ω`)_

続きを読む

続・ssh-keygenを使わずにOpenSSHキーペアを作りたかった

前略

先日作った makey さんですが、フィンガープリントの出力に対応しました。MD5/hexとSHA256/Base64の両対応です。
bitbucket.org

ところで

ssh-keygen の Randomart Image ってどうやって出してるんですかね (ろくに情報がない)。
これはソースを読み行くしかないのか…_("_´ω`)_ペショ

そして

DSA対応は諦めようかな…

ssh-keygenを使わずにOpenSSHキーペアを作りたかった

結果

Goで作りました。
bitbucket.org

目的とか

もともとはWindowsでOpenSSHキーを作るのに、わざわざPuTTYGenを使うのはちょっとなー、でもCygwin入れたくないしなー、みたいなことを考えてました。*1
そんなときに、Goの非標準パッケージに golang.org/x/crypto/ssh があるのに気がついてしまいまして。

そうだ、Goで作ればWindowsでも動くぞ…!

とか考えて作りました。

使い方

  1. go get する*2
  2. makey
  3. ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
C:>go get bitbucket.org/chiku2gonzalez/makey
C:>makey -output hello
C:>dir
2016/05/26  23:08             1,766 hello
2016/05/26  23:08               380 hello.pub

makey -h とかするとオプション出てきます。-outputでファイル名を指定ない場合は id_rsa になるので注意してください。
というのも、保存処理は上書き (確認なし) なので。

やり残し

  • フィンガープリントしたい
  • Randomart imageとか出したい
  • DSAって対応するべきだろか
  • ssh-keygenにある以下の機能はあったほうがいいよね
    • ファイル名が指定されなかった場合に対話式で聞く
    • 上書き確認
    • ログ出さなくていいよモード (-quiet)

*1:特にMercurialSSH接続するときに、ssh-keygenがなくて困ったというのが発端。Gitの場合はGit Bash経由でssh-keygenが使えるから問題にならないはず

*2:ロスコンパイル環境がないのでバイナリは用意してないです

( ´¬`)つ Zun Doko KFM置いておきますね

世間はエイプリルフールらしいので、オフ会に持ち込んだキャラ*1を置いておきますね。

www.mediafire.com

*1:製作合計時間=6時間

適当なGo言語用ログライブラリのようなものを作った

LOGO is LOGger for GO

chiku2gonzalez / logo — Bitbucket

動機

モンハンやってる合間に細々とツール作成しているわけですが、そんな中でログライブラリほしいなー、って思うことがあるんです。
ただ最近は、どのロガーもちょっとしたツールには機能過剰だなーと感じてました。
とはいえ、標準のロガーだとそれはそれでデバッグログとか出し分けができないやつなので、どうしたもんかと思ってたんです。

で、仕方なく作りました。
機能的には標準のロガーにデバッグログの出し分けを増やした程度のものです。

使い方

標準のロガーと併用する前提で、こんな風になります。

package main

import "fmt"
import "log"
import "os"
import "bitbucket.org/chiku2gonzalez/logo"

func main() {
	logger := Wrap(log.New(os.Stdout, "[LOGO]", 0))

	fmt.Fprintf(os.Stdout, "<<BASIC>>\n")
	logger.SetMode(BASIC)
	logger.Println("(・∀・)")
	logger.Debugln("(`・ω・´)")
	fmt.Fprintf(os.Stdout, "\n")

	fmt.Fprintf(os.Stdout, "<<DEBUG>>\n")
	logger.SetMode(DEBUG)
	logger.Println("( ˘ω˘ )")
	logger.Debugln("( ゚Д゚)")
	fmt.Fprintf(os.Stdout, "\n")

	fmt.Fprintf(os.Stdout, "<<QUIET>>\n")
	logger.SetMode(QUIET)
	logger.Println("('ω')")
	logger.Debugln("(・ω・)")
	fmt.Fprintf(os.Stdout, "\n")

	fmt.Fprintf(os.Stdout, "<<END>>\n")
}

cfgo-driverは要らなかった

chiku2gonzalez.hatenablog.com

前回の記事 ↑ で ( ・´ー・`)ドヤァ みたいに書きましたが別に分ける意味なかったのでそのうち再統合しておきます。

やっときました。そのうち cfgo-driver を消しますね