atom editorでtab-bar, markdown-preview, tree-viewのフォントを変更する

SettingsのEditor settings変えても変わらないんだなぁ。。。

~/.atom/styles.lessに追記する。例えば

.tree-view {
  font-family: 'Ricty';
}
.markdown-preview {
  font-family: 'Ricty';
}
.tab-bar{
  font-family: 'Ricty';
}

とする。

cssのclass名はdev tools使って調べるしか無いんじゃないですかね?

vinoの設定

Vino?

Ubuntuのrepoに入ってるVNC Server。

今見ている画面をVNCで飛ばせる系VNC Serverのソフトウエアだよ。(コントロールもできる)。

類似品としてはTeamViewerとか。

install

sudo apt-get install vino

で入れる。

config

vino-preference

というコマンドを使うとGUIの設定画面が出る。

f:id:virsalus:20150609135356p:plain

上段は2つともチェックする。

中段上はチェックいらねーんじゃねーかな?

大体クライアントがパスワード覚えてくれるんだしパスワードは使おうねせやね。

start

Gnomeだと再起動すると自動でvino-serverが起動してくれるらしいけどそれ以外だと自分でどうにかする必要があるよ。

vino-serverはPATHに入っていなくて

/usr/lib/vino/vino-server

で起動できるから適当な自動起動システムを使おうねせやね。

余談

Vino - ArchWiki 見たらVino3.9.2からvino-preferenceが消えてGnome以外からめっっっっちゃ使いにくくなるらしいよ。死ね!

Atomのautocomplete-plusのキーマップ

autocomplete-plus

'atom-text-editor:not(mini) .autocomplete-plus.autocomplete-suggestion-list':
  'tab': 'unset!'
  'enter': 'autocomplete-plus:confirm'
  'up': 'unset!'
  'down': 'unset!'
  'ctrl-p': 'autocomplete-plus:select-previous'
  'ctrl-n': 'autocomplete-plus:select-next'

が載ってたけど地味に趣味じゃなかったので

'atom-text-editor:not(mini) .autocomplete-plus.autocomplete-suggestion-list':
  'tab': 'autocomplete-plus:select-next'
  'enter': 'autocomplete-plus:confirm'
  'up': 'autocomplete-plus:select-previous'
  'down': 'autocomplete-plus:select-next'
  'ctrl-p': 'autocomplete-plus:select-previous'
  'ctrl-n': 'autocomplete-plus:select-next'

こうした。

SVG 2 EMF on Windows

WindowsMS Officeをfxxkする前にやれること

  1. inkscapeをインストールする
  2. inkscapeのインストールフォルダ(典型:C:\Program Files (x86)\Inkscape)をPATHに追加
  3. コマンドプロンプト

inkscape {{変換したいファイル名}}.svg -M {{変換後のファイル名}}.emf

する。

なおWindows版にしか-Mオプションはない模様。fxxk

bbox_inches = "tight"とかそれ系のやつ

要旨

以下に示すように、matplotlibではデフォルトではticksの文字やlabelなどが描写範囲を越えてしまい、見切れることがある。この時、

pylab.savefig("test.png", bbox_inches="tight")

と入力することで問題に対処していたが、それ以外にもpylab.show()の直前にpylab.tight_layout()を入れておくという方法を知ったため、紹介する。

コードと図

# coding: utf8

import pylab


x = pylab.arange(100)
y = x**2


def test(f = lambda: None):
    pylab.xlabel("x")
    pylab.ylabel("y")
    pylab.plot(x, y)
    f()
    pylab.show()

test()

f:id:virsalus:20150119120721p:plain

↑分かる

pylab.rcParams["font.size"] = 30
test()

f:id:virsalus:20150119120746p:plain

↑アイエエエ

pylab.rcParams["font.size"] = 30
test(pylab.tight_layout)

f:id:virsalus:20150119120909p:plain

↑ふぅ

イカサマコイン

某所で見て気になった系のアレ

コインを100回振った時、表が出る確率が正確に0.5でない時、実際にどれくらい確率分布がずれるのか

f:id:virsalus:20141227210740p:plain

小並感

可視化すると思ってたよりアイエエエ感が出る

あ、手元でdeferがどれくらい遅いか確かめたことない

Golang パフォーマンスチューニング - Qiita

を読んで唐突にそう思い立ったので

コード

package bench_test

import (
    "sync"
    "testing"
)

func BenchmarkGoroutine(b *testing.B) {
    n := 10
    var wg sync.WaitGroup
    b.ResetTimer()
    for i := 0; i < b.N; i++ {
        wg.Add(n)
        for j := 0; j < n; j++ {
            go func() {
                wg.Done()
            }()
        }
        wg.Wait()
    }
}

func BenchmarkGoroutineDefer(b *testing.B) {
    n := 10
    var wg sync.WaitGroup
    b.ResetTimer()
    for i := 0; i < b.N; i++ {
        wg.Add(n)
        for j := 0; j < n; j++ {
            go func() {
                defer wg.Done()
            }()
        }
        wg.Wait()
    }
}
func BenchmarkSequential(b *testing.B) {
    n := 10
    var wg sync.WaitGroup
    b.ResetTimer()
    for i := 0; i < b.N; i++ {
        wg.Add(n)
        for j := 0; j < n; j++ {
            func() {
                wg.Done()
            }()
        }
        wg.Wait()
    }
}

func BenchmarkSequentialDefer(b *testing.B) {
    n := 10
    var wg sync.WaitGroup
    b.ResetTimer()
    for i := 0; i < b.N; i++ {
        wg.Add(n)
        for j := 0; j < n; j++ {
            func() {
                defer wg.Done()
            }()
        }
        wg.Wait()
    }
}

sync.WaitGroupあるあるなdeferのベンチ生やしただけ

結果

PASS
BenchmarkGoroutine    300000          5064 ns/op         164 B/op         11 allocs/op
BenchmarkGoroutineDefer   200000          7225 ns/op         164 B/op         11 allocs/op
BenchmarkSequential  5000000           298 ns/op           0 B/op          0 allocs/op
BenchmarkSequentialDefer     1000000          1313 ns/op           0 B/op          0 allocs/op
ok      _/home/akira/Dropbox/go/test    6.189s

小並感

うーんこの