読者です 読者をやめる 読者になる 読者になる

t44or2’s blog

PC関係の忘備録、ときどき趣味とか

物欲がありあまる

そろそろpcが時代遅れになってきたので買い換えたいこの頃なのだけれど、実は洗濯乾燥機が欲しくてたまらない。

 

満足できそうなレベルのものを選ぶと、どちらも20万円仕事になってしまうことを考えると、少なくとも一方は妥協せざるを得ないし、正論を言えばどちらも諦めた方が良い。

 

とりあえず洗濯機は、壊れるまでは我慢して使うとして、3年もののmacbookairをメイン機に据え続けるのは少々物足りない感じなので、切迫しているのはpcのほうかな。

 

ここらで一回ハイエンドなデスクトップpcを、5年くらいは使うつもりでえいやと買ってしまったほうがよさそうだ。

 

とはいえ、20万円は高いよ。

 

 

引越についての覚え書き --引越し編--

はじめに

 4月から東京勤務になり、大阪から東京へと引っ越すことになり、先日なんとかその作業を完了したので、振り返って気づいたことや反省点をメモしておこうと思う。

部屋の片付けは早めに済ませろ

 僕が一番声を大にして伝えたいことはこれである。とにかく部屋の片付け、そして荷造りを早めに済ませてしまうことだ。このことは他のすべてに優先する。

 引越しにおける難点は、何よりも日程の「お尻」が決まっていることである。引越しは締め切りとの戦いだ。そして限界が近くにつれて精神も急速に疲弊してゆく。精神疲労は作業効率を低下させるばかりでなく、思わぬ過失を生みかねない。

 例えば、引越しの前日に物干しや自転車など処分しようのない荷物が残っていることに気づいたら? 処分業者は呼べるだろうか?(果たして、あなたが引越しをしようとしている繁忙期に当日受け付けてくれる業者が存在するだろうか? そしてそれをどうやって探す?)それとも自分でどこかに持ち込む? 知り合いに預かってもらうことはできるだろうか?

 いずれにしろ、余計な仕事を増やしたあなたはさらに疲弊して、余計な出費がかさんでいく上に、引越し当日の朝を眠れないままに迎えるのだ。そこには引越しという別れと門出の節目に感じ入る暇などわずかながらも残らない。悪いことは言わない、とにかく片付けと荷造りだけはできるだけ早く済ませるのだ。早過ぎて困るということはない。

荷物はなるべく減らす、なるべく業者に任す

 今回の引越しを僕は見積もりなしで済ませた。もちろん事前に何を運んでもらうのかは大雑把に伝えて、費用がいくらくらいになるかを簡単に調べてもらったりはしたが、引越し業者が実際に部屋に来て、といういわゆる「見積もり」はしなかった。ただ、総合して考えると「見積もり」を頼んでおいた方が良かったように思う。素人には、「自分の荷物はどれくらいの容積を食うのか」と「どの家具をどのように運ぶのか」の判断ができないからだ。

  • 1つめの話

 口頭での見積もりの際、引越し業者は「段ボールは何箱になるか」と聞かれた。もちろんその時点で荷造りが終わっているはずもなく、逆に業者に尋ねて知った「一人暮らしの男性の平均」だという「段ボール10箱(うち中5個、小5個)で申し込んだ。結論から言えばそれでは全然足りず、いろいろ捨てたり手荷物として持っていったりすることにした上で、「何箱か追加する」ことを引越し業者にわざわざ電話した。ただし、段ボールが増える分に限っては、最悪宅急便等で送るという手段も使えるので、割とどうにでもなることではある。とはいえ無駄な気苦労をすることになり、もったいない。

  • 2つめの話

 例えばベッドや机を運んでもらおうと思う時に立ち塞がる問題である。まず、大前提として、大きすぎる家具は基本的に解体して運ぶことになることを述べておく。ばらばらにすることで荷物をテトリスのように密に並べることができ、容積の小さな空間に収めることができる。格安の引越し(単身パックなど)は専用のラックやコンテナに荷物を詰めて運ぶことで安上がりになる(らしい)のだが、うまく詰めるためにはこのような工夫が必要になる。

 僕は引越し代金を少しでも節約するため、家具のうちで机とベッドを自分で解体することにした。完全に「解体はオプション料金がかかる」という部分しか聞こえていなかったためである。解体自体は、実際にやる段になって幾つかの工具を買い揃えなければならなかったこと以外は、スムーズにできた。というかそうやって簡単にばらばらにできるもの以外は処分したのである。 ただ、残った家具もどの程度まで解体できるのかをいまいち把握していなかったため、予定では解体するはずだった部分が素人には解体不可能なパーツであったりして、結果的に電話で問い合わせたりする余計な手間がかかった。

 まとめると、任せられるところは引越し業者に任せてしまった方が楽だ、ということを僕は主張したい。余計な手間や気苦労を数千円でカットできるのだから、安いものだと思う。

その他思ったことなど

  • 段ボールには「何が入っているか」を事細かに書くべし(引越し業者ではなく自分のために)

  • 解体して小さくまとめられる家具以外買うな、それ以外は処分する気で買え

  • 服には圧縮袋を使う

  • 迷ったら捨てろ

  • 迷わなくても捨てろ

  • 捨てろ

おわりに

「部屋探し編」と「新生活編」も書こうと思います。

はてなブログはライフハック投げ売り市場なのか?

確か半年前くらいに開設したばかりのこのブログなのだけれど、案の定更新が完全にストップしていて、なぜなら僕がそんなに毎日インタネットライフハック集めにご執心の皆々様に提供できるほどの進捗を出すことなく生きているからで、つまり何が言いたいのかといえば、そういう面倒臭いことを考えるのをやめてポエマーになろう、ということ。

そんなわけでこうして書き始めたのも、仕事に疲れた気晴らしである。 気分としてはテスト前夜に部屋の片付けを始めるようなものだ。

いつの頃からか作業用BGMが本当にBGMでないと集中できなくなった。 そうなったのは半年くらいの話で、不意に「歌詞」のある音楽が受け付けなくなった。 これには毎日アニソンしか聞かない僕はたいへん困った。 何せ僕の音楽ライブラリは毎クールの深夜アニメOP・EDで埋め尽くされいて、探せども探せども気分にあったものが見つからない。

そんな時に、たまたまyoutubeのゲーム実況を見ていて、NCSというものを知った。 要するにコピーライトフリーの音楽なのだけれど、そんな革新的?なものが日本発のわけもなく当然欧米で生産された英語歌詞で、何が歌われているかは全くわからない。 それでも妙にノリが良くて、歌詞がわからないのも僕個人の需要からすれば好都合だったので、しばらくはそれを聞いていた。 ただ、いくら気に入ったと言ってもここ最近は少し飽きが来ていて、ネットをめぐってはちょうど良いものはないかと探す日々を送っている。

このところ(本当に、ここ数日の話)は椎名林檎をよく聞いている。 僕ももう一般的には立派な大人と言われる年齢なので、椎名林檎の存在はもちろん認知していたし、彼女の音楽を聴いたこと自体はある。 ただ、昔は気に入った何曲かだけをループして聴いていただけという感じで、アーティストとしての椎名林檎に特別の感情を抱いているわけではなかった。 それが、ちょうど何日か前の気まぐれで「無罪モラトリアム」を聴き始めてから、作業時間の全体の60%くらいの間リピートして聴いている。

僕が椎名林檎というアーティストの良さを理解できるようになったのは明らかに年をとったせいで、 それが大人になったということなのか、単に時間経過で僕の好みが変化しただけなのかは知れない。 僕個人の立場としては、物の良し悪しが区別できるようになった、という変化よりは、 昔は受け入れられなかった価値観が許容できるようになった、という方が好きだなあ、と思う。

それもまたアイカツだね。

 

Markdownでもメモがしたい!

はじめに

laptopで簡単にメモを取りたいなーと思いつつ、あまり考えずにevernoteくらいしか使っていなかった。そしてあまり活用できていなかった。evernoteのアプリはエディターの使いごごちが僕にはいまいちだったからだ。

emacsかsublimetextあたりと連携すれば良いし、それを可能にするツールは存在するみたいなのだけれど、そのあたりの設定が面倒だったりして敬遠していた。

Markdownとの出会い

Markdown記法を知ったのは、実はそうやって試行錯誤していた時だった。便利なものがあるものだ、と思いながら、特に活用する機会のないまま過ごしていたのだけれど、ある時不意にはてなブログを初めてみた。

ブログの編集画面をよくよく眺めていると、編集方法にMarkdownがあるではないか。は**記法とかいう謎のものがあったけれど、汎用性がなさそうなので、見知っていたMarkdownというのを使っていくことにした。

少しずつ慣れていく

Markdownの良さは何と言っても簡単なことである。そもそも凝ったレイアウトやデザインといったものが苦手だったので、#と-で大抵のことが解決するMarkdownはうってつけだった。だから、ブログにどうでも良い備忘録を書き残しているうちにすぐ慣れた。

wri.peを見つける

慣れてくるともっと活用したくなってくる。具体的には、ブログでわざわざ公開するほどでもないメモをMarkdownで簡単に書き残したかった。どうにか方法はないか、と探しているうちに、wri.peというwebアプリケーションを見つけた。

wri.pe

試しに使ってみてすぐに、自分が探していたものはまさにwri.peであったことに気付かされた。

まず、wri.peへのログインは githubのアカウント を持っているだけでできる。めんどうな会員登録めいたものは必要ない。これだけで既に評価に値することだと思う。

次に良い点は、 リアルタイムでプレビューが見られる こと。慣れてきたとはいえMarkdown初心者だから、自分の書いたメモがどういう形で翻訳されるのかが常にわかるのは嬉しい。あと、個人的な趣好だけれど、自分の書いた文章が綺麗に出来上がっていくのが見られるのは単純に楽しい。

そして、メモが evernoteDropbox に同期されること。僕にとってはこれが一番気に入っている点だ。僕自身はevernoteを使っているが、これが非常に助かる。連携の設定さえしておけば(これも面倒な手続きはほぼない)、wri.peで書いたメモを保存すると瞬時にevernoteに同期される。同期されてしまえばevernote上で管理も検索も思いのままである。

もちろん、書き残したメモはwri.peのクラウド上にも保存される。

使い始めの頃は、webアプリケーションをわざわざ開いてメモを取るのは面倒くさいじゃないか、と思っていたのだけれど、使ってみるとまったくそうではなかった。というより、作業中はwebブラウザでwri.peのページを別タブで常に開いてある。

また、webアプリだからこそmaclinuxwindowsといった環境の違いに翻弄されることはないし、もちろんセッティングに悩まされることはない。普段使っていないpcでの作業中に、突然メモが取りたくなったとしても、適当なwebブラウザ上で"wri.pe"と検索をかければ良いだけである。これは非常に便利だ。

最後に

長々とwri.peの宣伝をした。こんな便利なのに無料だから、みんなも使おう。

あと、こうやって簡単にメモを取れるようになった副次的な効果として、単純にメモを残す習慣が付いてきたように思う。人間面倒なことはやらないが、便利とわかれば利用するものだ。

ユニバーサル関数を作る

はじめに

numpy配列を直接引数に取れるように関数を定義すると、forで回すより早くなるらしい。

例えばnumpyデフォルトのnumpy.expnumpy.logなんかがそうである。こいつらは適当なnumpy配列aに対して、numpy.exp(a)などと使うと、aの全ての要素のexponentialを吐き出してくれる。

こういう関数を自分でも作りたいときにどうするのか、というのを調べたりしたのでまとめる。

例題:ReLU(ランプ関数)を実装してみる

ReLUはこういう関数である。

def ReLU(x):
  if x > 0:
    return x
  else:
    return 0

xがプラスの時はxをそのまま返し、それ以外の時はゼロにして返す。活性化関数とか呼ばれるものの一種だ。

上の定義のまま、numpy配列であるaを引数に打ち込んでしまうと、きっとエラーになるはずである。これを改良して、aを引数に取れるようにしたい。

numpy.where()

そのために今回使うのが、`numpy.where()'という関数である。 使い方は、

aというnumpy配列に対して、
    numpy.where("aについての条件式,"真の時の値","偽の時の値")

という感じだ。 ちなみに、条件式のみを引数にすると、インデックスを返す。

これを使って、 新しく次のように関数を定義する。

def unv_ReLU(x):
  return numpy.where(x>0, x, 0)

これでnumpy配列に対してReLUを一発で適用できる。 きっとこれより速くてスマートな方法はあるきがするけれど、こういう風にユニバーサルに定義するだけで引き締まったコードになったのでよかった。

githubの使い方

ichigoをgitへ登録する

git add ichigo

ichigoの変更をgitへ登録する

git add -u origin master

ichigoの変更をローカルにcommitし"aikatsu"というコメントをつける

git commit -m "aikatsu"

ichigoの変更をリモートレポジトリ(github)のmasterブランチに反映する

git push origin master

ブランチの一覧を見る

git branch

"star"ブランチを作る

git branch star

"star"ブランチへ移動する

git checkout star

"star"で行ったcommitをリモートレポジトリの"star"ブランチに反映する

git push origin star

ローカルブランチの"master"に"star"で行ったcommitを反映する

まずmasterブランチへ移動

git checkout master

次に変更を反映

git merge star

リモート(github)上の変更をローカルに反映する

git pull

Mac miniをセットアップする その3 ~emacs,yatex,skim編~

前回↓の続き。 t44or2.hatenablog.com

やること

gnuplotとの兼ね合いでtexは入ったので、次はyatexを導入する。ついでに、skimでのプレビューが同期するようにする。

package-installを導入する

emacsで使うものはこれで入れるのが一番楽そうだったので、導入していく。 前提として、僕のemacsはver25なので、それ以外(以前?)のemacsでも同じ設定で動くかどうかはわかりません。

emacsのinit.elに以下を書き込んでおく。

;;package の取得先
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages (quote (yatex auto-complete auto-complete-c-headers))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

これでmelpaにあるパッケージも入れられるようになる。はず。

yatexを入れる

emacs上からM-x package-list-packageで、yatexを探してインストールする。

成功したら、init.elにこれ↓を書き加える。こちら→ MacBookAir 環境構築メモのものをコピペさせていただきました。

;; ---------------------------------------------------------
;; YaTeX の設定
;; ---------------------------------------------------------
     
;; Add library path
(add-to-list 'load-path "~/.emacs.d/site-lisp/yatex1.78.4")
;; YaTeX mode
(setq auto-mode-alist
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "platex")
(setq dviprint-command-format "dvipdfmx %s")
;; use Preview.app
(setq dvi2-command "open -a Preview")
(defvar YaTeX-dvi2-command-ext-alist    
  '(("xdvi" . ".dvi")                   
      ("ghostview\\|gv" . ".ps")
      ("acroread\\|pdf\\|Preview\\|open" . ".pdf")))

これでとりあえず、yatexが動くようになる。

skimと連携させる

公式ページ→Skim | Homeからskimをダウンロードして、インストールする。普通にApplicationsディレクトリに放り込めば良い。

初回は「これって怪しいファイルやから開きたくないで!」と怒られるので、一回GUI上から普通に起動しておく。ついでに、skimの環境設定->同期するのところでファイルの変更をチェックをオンにして、同期サポートの初期値をemacsに変えておく。

済んだら、init.elにこれ↓を書き加える。

;; ---------------------------------------------------------
;; YaTeX の設定
;; ---------------------------------------------------------
     
;; Add library path
(add-to-list 'load-path "~/.emacs.d/site-lisp/yatex1.78.4")
;; YaTeX mode
(setq auto-mode-alist
    (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "platex")
(setq dviprint-command-format "dvipdfmx %s")
;; use Preview.app
(setq dvi2-command "open -a Preview")
(defvar YaTeX-dvi2-command-ext-alist    
  '(("xdvi" . ".dvi")                   
      ("ghostview\\|gv" . ".ps")
      ("acroread\\|pdf\\|Preview\\|open" . ".pdf")))

こちらLaTeX環境の構築 on Mac OS X, Oct. 2013からいただきました。

これで完成。

ついでに

趣旨とは関係ないけれど、emacsのauto-completeも入れたので書いておく。 package-installから探してインストールして、init.elに↓を書き加える。

;;
;; Auto Complete
;;
(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-modes 'text-mode)         ;; text-modeでも自動的に有効にする
(add-to-list 'ac-modes 'fundamental-mode)  ;; fundamental-mode
(add-to-list 'ac-modes 'org-mode)
(add-to-list 'ac-modes 'yatex-mode)
(ac-set-trigger-key "TAB")
(setq ac-use-menu-map t)       ;; 補完メニュー表示時にC-n/C-pで補完候補選択
(setq ac-use-fuzzy t)          ;; 曖昧マッチ

コピペ元はこちら auto-completeを使ってEmacsの補完を便利にする - 計算物理屋の研究備忘録

init.el

現在のemacs設定ファイルについてはここ↓に上げてあります。参考までに。 github.com