07 Feb 2014, 14:12

Rubyistになった日

仕事で新しいプロジェクトに加わることになった。

そのプロジェクトでの開発言語は、なんとRubyだ!

今まで、気が向いたらRubyをいじったりしていたが、ついに仕事でもRubyが使えるのだ。素直に、とてもうれしい。

開発期間は2ヶ月だが、これから2ヶ月間、本気出す。つまりは、

Rubyistになるのだ!

Rubyは楽しい

11月から、軽いうつ病だった。このエントリを書いたあたりから、ちょっと精神が病んでた。

仕事もやりがいがなく、途方にくれていた。プログラマとはなにか、どうすればプログラマになれるのだと日々悶々してた。

そんななか、Youtubeでこんな動画を見つけた。

[//www.youtube.com/embed/ZhaqvSpe2X4]

  • キレイなコード、オブジェクト指向、テスタビリティはRubyにおいて正統である。
  • Rubyは楽しい。
  • Rubyを使えばいい仕事ができる。

とても感動した。

この動画をみて、Rubyがより好きになった。たのしいRubyも読み直した。閲覧数が少ないけど、この動画はもっと評価されるべき。

Rubyをいじっているうちに、だんだん元気になってきた。 Rubyだけが回復の要因ではないが(9割は抗うつ剤のおかげだが)、Rubyとともに元気になったという思い込みもあって、Rubyが今では大好きだ

そんななか、まさかのRubyの仕事だ。ほんとうに、うれしい。Rubyは楽しい。Rubyをつかえば自分は元気になる、そう信じている。

02 Feb 2014, 12:28

プログラミングできなくてもAndroidアプリができる!Courseraの「Creative, Serious and Playful Science of Android Apps」を受けた

Androidのアプリを作りたいので、Courseraでイリノイ大学のAndroidアプリ製作の講義を受けた!

[//www.youtube.com/embed/6rTbNJsztUU]

初心者にもやさしいAndroid講義

この講義は、以下の2つに分かれているところが特徴。

  • 非プログラマ向けの講義 : 1week – 5week
  • プログラマ向けの講義 : 6week – 9week

前半の1-5weekの講義が終わると、一応講義としても終了の単位がもらえる。後半は意欲があるひとのみが挑戦できるが、成績には影響しない。 怠惰な自分は前半の講義のみを受講したので、感想も前半部分の内容のみということで。

内容は、非プログラマにも理解できるようにということで、とてもやさしくて、丁寧。Javaの文法や、Eclipseの使い方などなど、一つ一つわかりやすく解説される。 しかし、EclipseやJavaに慣れ親しんでいる自分としては、講義の速度が遅く、物足りない部分も多々あった。 そういう人のために、後半の講義も用意されているのだと思う。

開発環境まわりでハマっても、Discussion Forumsをのぞくと大抵解決方法が見つかる。なにしろ、10万人が参加しているのだ。

自分と同じところでハマっている人は五万といる。 StackOverFlowで探すよりも、Forumで探した方がよい。ここが、MOOCの凄さ。

宿題はアプリ製作

Assignmentは、もちろんAndroidアプリ製作だ!5weekを通して、Lectureで3本、Assignmentで4本のアプリをつくる。

一番はじめの講義で、開発環境を整えた。記事にもまとめた。

Eclipse ADTでつくるAndroidエミュレータ開発環境構築メモ(Windows) | Futurismo

それから、2,3回目の講義で、基本的なアプリ製作の流れが解説される。そして、宿題で2本のアプリをこなす。 4,5weekの講義では、音楽や画像をつかうライブラリの解説や、Activityの制御など、やや本格的なものが解説されて、それをベースに宿題で2本のアプリをつくる。

Assignmentが終了すると、PairReviewもある。これは、別の人のつくったアプリをお互いに評価し合う。知らない国の知らない人のアプリを見るのはおもしろかった。

以下、Assignmentで作成したアプリのスナップショット。

ShannonKnuth

<div class="outline-text-3" id="text-2-1">
  <p>
    CS分野で有名な偉人を2人選んで、その紹介ページを作成する。これはWebベージをつくるようなお手軽な課題だった。
  </p>

  <p>
    <img alt="" src="http://lh6.ggpht.com/-3OADb9oo8ew/Uu5IvqNp5rI/AAAAAAAABBA/9CjaGYSrPAs/b69dfd00754411e3a3a1412d6a21891f.png" />
  </p>
</div>

Maracas

<div class="outline-text-3" id="text-2-2">
  <p>
    自由課題。Android端末の向きを変えるとマラカスの音がなるというくだらないアプリ。portrateとland-scapeの制御を応用。
  </p>

  <p>
    <img alt="" src="http://lh6.ggpht.com/-GYnTyQ-dydg/Uu5JEJ8ziRI/AAAAAAAABBI/87anf9TTpjE/7e37c85075cc11e3bdef9f148d21a5b9.png" />
  </p>
</div>

MisteryTures

<div class="outline-text-3" id="text-2-3">
  <p>
    4つのlayoutが渡される。ホームのlayoutから4つのページに遷移するようなアプリを作る。それぞれのページで音をならしたり、JavaScriptのゲームを動かしたりと。 ここでは、Activityの制御を応用する。
  </p>

  <p>
    <img alt="" src="http://lh3.ggpht.com/-cVD572_tZ3g/Uu5JRYh7bBI/AAAAAAAABBQ/kQ3G5nozJ-g/4a68d210868611e3a7c56f69d855062b.png" />
  </p>
</div>

RosenKavalier

<div class="outline-text-3" id="text-2-4">
  <p>
    自由課題。オペラ「ばらの騎士」のCDレビューを買いて、適当に音楽を鳴らしてwebページ遷移を作成した。時間がないので、手抜きの突貫工事・・・お恥ずかしい。
  </p>

  <p>
    <img alt="" src="http://lh6.ggpht.com/-pULzIWGlVto/Uu5Jaie53nI/AAAAAAAABBg/6lWxVCgrKAA/18e27c90868711e3a36ccd7596303339.png" />
  </p>
</div>

おわりに

本当に簡単なならば製作できるスキルはつく。しかし、本当に簡単なアプリしかできないため、売れる気がしないが・・・、いやアプリ製作はアイデア勝負か??

Androidアプリはファームなので、Android製作は泥臭いものかと思っていた。 しかし、実際にはWebページを製作するような感覚だった。こういうのは実際にやってみないと気づかないことだ。

後半の講義を受けないもう一つの理由は、平行してこっちのAndroidの講義を受けているから。

これからは、こっちの講義で頑張る!

02 Feb 2014, 04:15

実用的EmacsLispが満載!明日から使えるテクニック集 「Emacsテクニックバイブル」を読んだ

Emacsをより極めるために、Emacsテクニックバイブルを読んだ。



内容

サブタイトルが、作業効率を改善する200の技。

その名のとおり、便利なEmacsLispが次々と、そして網羅的に紹介されていく。Emacsでできることを全て紹介してやるみたいな気概がある。

前書きをすこし引用すると、

多くの解説書ではEmacs標準の機能の解説に重点を置いていますが、本書は外部パッケージに目を向けています。
なぜなら、外部パッケージは既存の機能とは異なる発想で製作されていたり、既存の機能をより良くしていくものが多いからです。

導入方法も丁寧にかかれているため、この本に従って作業すれば、簡単に自分のemacs環境も増強できる。実用的な本。

EmacsLispの文法も紹介されている。.emacsを増強するためには、この文法を知っておくと便利。

2010年出版ということで、2014年現在ではすこし古い内容になっている部分もある。

anythingの解説本

<div class="outline-text-3" id="text-1-1">
  <p>
    Emacsの「今」を紹介するために、anythingとその文法がそれぞれ一章ずつつかって解説されている。 anythingはEmacsをEmacsたらしめるとまで言われている、ライフチェンジ的な便利なelips。 anythingがなにかを知りたいならば、この本を本やで立ち読みするのもいい。
  </p>
</div>

感想

Elisp情報は、この本を買わなくてもネットには散らばってる。 しかし、本にまとまってることで、散らかった情報をまとめてに手に入れることができる。 今回、一気に自分のEmacs環境をパワーアップさせようと考えていたので、そんななか本書に出会えたのは運がいい。

一つ一つの部分が小さいので、時間が少しできたときにコツコツよんで、気軽に増強していけるのがよい。

anythingについて

<div class="outline-text-3" id="text-2-1">
  <p>
    anythingよりも、現在はそのforkであるhelmの方が有名になっていて、自分もhelmを利用している。 anythingもhelmも考え方や機能はそれほど変わらないため、helmの解説と思って、anythingの章を読んだ。 このanythingの考え方や操作方法は、本当にライフチェンジで、これなしではもうEmacsを触る気がしない、素晴らしいElispだ。
  </p>
</div>

Emacs実践入門との比較

<div class="outline-text-3" id="text-2-2">
  <p>
    Emacs実践入門のあとに本書を読んだので、テクニックは似通っているところもあった。
  </p>

  <hr />

  <div class='amazlink-box' style='text-align:left;padding-bottom:20px;font-size:small;/zoom: 1;overflow: hidden;'>
    <div class='amazlink-list' style='clear: both;'>
      <div class='amazlink-image' style='float:left;margin:0px 12px 1px 0px;'>
        <a href='http://www.amazon.co.jp/Emacs%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%EF%BD%9E%E6%80%9D%E8%80%83%E3%82%92%E7%9B%B4%E6%84%9F%E7%9A%84%E3%81%AB%E3%82%B3%E3%83%BC%E3%83%89%E5%8C%96%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E3%82%92%E5%8A%A0%E9%80%9F%E3%81%99%E3%82%8B-WEB-DB-PRESS-plus/dp/4774150029%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774150029' target='_blank' rel='nofollow'><img src='http://ecx.images-amazon.com/images/I/51M3ahu1q8L._SL160_.jpg' style='border: none;' /></a>
      </div>

      <div class='amazlink-info' style='height:160; margin-bottom: 10px'>
        <div class='amazlink-name' style='margin-bottom:10px;line-height:120%'>
          <a href='http://www.amazon.co.jp/Emacs%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%EF%BD%9E%E6%80%9D%E8%80%83%E3%82%92%E7%9B%B4%E6%84%9F%E7%9A%84%E3%81%AB%E3%82%B3%E3%83%BC%E3%83%89%E5%8C%96%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E3%82%92%E5%8A%A0%E9%80%9F%E3%81%99%E3%82%8B-WEB-DB-PRESS-plus/dp/4774150029%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774150029' rel='nofollow' target='_blank'>Emacs実践入門 ~思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)</a>
        </div>

        <div class='amazlink-powered' style='font-size:80%;margin-top:5px;line-height:120%'>
          posted with <a href='http://amazlink.keizoku.com/' title='アマゾンアフィリエイトリンク作成ツール' target='_blank'>amazlink</a> at 14.02.02
        </div>

        <div class='amazlink-detail'>
          大竹 智也
        </div>

        <div class='amazlink-sub-info' style='float: left;'>
          <div class='amazlink-link' style='margin-top: 5px'>
            <img src='http://amazlink.fuyu.gs/icon_amazon.png' width='18' /><a href='http://www.amazon.co.jp/Emacs%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%EF%BD%9E%E6%80%9D%E8%80%83%E3%82%92%E7%9B%B4%E6%84%9F%E7%9A%84%E3%81%AB%E3%82%B3%E3%83%BC%E3%83%89%E5%8C%96%E3%81%97%E3%80%81%E9%96%8B%E7%99%BA%E3%82%92%E5%8A%A0%E9%80%9F%E3%81%99%E3%82%8B-WEB-DB-PRESS-plus/dp/4774150029%3FSubscriptionId%3DAKIAJBCXQ4WQGJ7WU3WA%26tag%3Dsleephacker-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774150029' rel='nofollow' target='_blank'>Amazon</a> <img src='http://amazlink.fuyu.gs/icon_rakuten.gif' width='18' /><a href='http://hb.afl.rakuten.co.jp/hgc/g00q0724.n763w947.g00q0724.n763x2b4/archives/c=http%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F11554259%2F&#038;m=http%3A%2F%2Fm.rakuten.co.jp%2Frms%2Fmsv%2FItem%3Fn%3D11554259%26surl%3Dbook' rel='nofollow' target='_blank'>楽天</a>
          </div>
        </div>
      </div>
    </div>
  </div>

  <hr />

  <p>
    Emacs実践入門に比べて、このテクニックバイブルの方がよりマニアック。 ちょっとしたマイナーなelipsももれなく、網羅的に拾い上げて解説している。 入り口としては、Emacs実践入門の方がよい。Emacs実践入門では満足できない人は、この本まで手を伸ばすのがよい。
  </p>
</div>

さいごに

この本に従って作業をすることで、有名な拡張は、一通り自分のinit.elにも導入できた。

Emacsは素晴らしい。この本を読んで、Emacsの拡張性がさらに好きになった。

19 Jan 2014, 13:55

世界最高の開発環境~CUIのリズムとハーモニーが生み出す極上の交響楽

ネットサーフィンをしていて、ふとこんな記事を偶然見つけた。

また、同じ時期にこんなつぶやきも偶然見つけた。

 

これらに強く心を突き動かされ、休日2日を利用して最高の作業環境を構築してみた。

最高の開発ツールの条件

よいツールの条件は、

  • 軽快に動作すること
  • コマンドラインであること
  • 開発が活発であること、勢いがあること
  • カスタマイズが可能であること

世界最高の開発環境

この観点で選んだツールたちを以下に列挙。

zsh tmuxは2014年現在でのデファクトスタンダード。

Emacs vs Vimはどちらもそれぞれ優れているが、自分はEmacs派。

Rictyは美しいフォント、molokaiは美しいテーマ、デザイン大事!

ibus-anthyは自分の隠し兵器、親指シフト用。

WMはいいとこ取りをしたXMonad、ターミナルはxmonadと相性のよいurxvt。

OSは、Linuxが大前提、Windowsはありえない。

Mintを選んでいるのはなりゆきだ。

コアな人はArchLinuxを選ぶが、自分はチキンなので可愛いMintを。

XMonadをつかっているところで、もはやMintである意味がないのだが・・・。

また、これらはdotfilesで管理され、常に進化を遂げていく。

CUIの生み出す音楽

CUIをベースとして、お互いのツールが有機的に絡み合あい、ハーモニーを生み出す。

軽快さとストレスフリーな心地よい、CUIのリズムがとても魅力的だ。

最高の開発環境を駆使しながら作業をすることは、極上の音楽の中に浸るようなものである。

19 Jan 2014, 12:53

タイル型ウィンドウマネージャという新たな世界観に衝撃を受けた!XmonadをつかってワクワクCUI生活

GUIのウィンドウを自由自在に操ることができる タイル型ウィンドウマネージャ、Xmonadを導入しました。

[toc]

タイル型ウィンドウマネージャとは

コマンドラインにこだわりはじめると、なんでもかんでもコマンドラインで完結させたくなる。

screenやtmuxのようなマルチプレクサは、とても快適だがそれをGUIでも実施するにはどうすればいいか調べたところ、タイル型ウィンドウマネージャの存在を知った。

タイル型ウィンドウマネージャとは、ウィンドウをコマンドラインで操ることのできるツール。

説明は、Wikipediaに譲るとして、タイル型ウィンドウマネージャを知ったことは、カルチャーショックだった。初めてコマンドラインの世界にふれて、コンピュータにはこういう側面もあるのか、というような感動を受けた。

タイル型WMには様々な種類があるようだ。XmonadとAwesomeが2大勢力のようなので、XMonadの方を導入してみた。

環境

  • Linux Mint 16 Cinnamon

セットアップ

公式サイトの Documentation – Quick start for the impatientに従いセットアップします。

インストール

Linux MintはUbuntuと同様に3つのパッケージが必要。

$ sudo apt-get xmonad
$ sudo apt-get instasll libghc-xmonad-dev
$ sudo apt-get instasll libghc-xmonad-contrib-dev

設定ファイルの作成

$HOME/.xmonad/xmonad.hsに設定ファイルを新規作成する。

もっとも基本的な設定ファイルは以下。Haskellで記述されている。

import XMonad

main = do
xmonad $ defaultConfig

Xmonadの起動

ログアウトする。ログイン画面で、「セッション」とかかれた部分を選択。「XMonad」を選択し、ログインする。ログインすると、なんと真っ黒な画面!

ここでかなりあせったが、実はこれはXMonadでログインしている証拠。あせらず騒がず【右Alt + Shift + Enter】を入力。これで、ターミナルが起動され、操作が可能になる。

Xmonadの使い方

ここまで着たら、ガイダンスに従って操作を覚えていく。

基本をメモ

– mod-shift-return: ターミナル起動

– mod-shift-q: xmonad終了

– mod-p: dmenu起動

– mod-q: 再起動

– mod-space: レイアウト配置変更

– mod-j/k/m: focus変更

– mod-h/l: サイズ変更

– mod-tab: レイアウト移動

manコマンドでも使い方がわかる。

man xmonad

カスタマイズ

一通り操作を覚えたら、カスタマイズを飽きるまで行う。以下のページをベースにカスタマイズ。

dmenuの導入

アプリケーションランチャーである、dmenuを導入する。

$ sudo apt-get install dmenu

Mod-pで上部にランチャーが表示されるので、適当に検索してツールを実行。例えばchromeで検索すると、google-chromeがすぐに引っかかる。

ショートカットキーの変更

Mod Keyはデフォルト 右Altなので、これをカタカナ・ひらがなキーに変更する。(

~/.Xmodmapを新規作成して、以下を書く。既存のmod3をクリアして、Henkan_Modeを設定。

clear mod3
add mod3 = Hiragana_Katakana

キーに対応する名前は、xevを起動して調べることができる。

xmonad.hsの defaultConfig内に以下を追記。

modMask  = mod3Mask,

最後に、以下で有効にする。

xmodmap $HOME/.Xmodmape

起動時にこの設定を有効にするために、~/.xsessionに追記しておく。

これで、使いやすくなったか???いや・・・微妙だ。

ターミナルの変更

ターミナルはMint defaultのgnome-terminalではなくて、軽量なterminalである、unicode-rvxtを利用。xmonad.hsの defaultConfigに以下を追記。

terminal = "urxvt"

XMobar

ステータスバーを表示させるために、xmobarを入れる。他にも、dzen2というツールがある。

$ sudo apt-get install xmobar

次に、設定ファイル~/.xmobarrcを作成。テンプレートを利用してみる。

$ cp /usr/share/doc/xmobar/examples/xmobar.config ~/.xmobarrc

.xmobar/xmobar.hsの mainのすぐ下の行に以下を追記することで、xmonad起動の延長でxmobarを起動することができる。

xmproc <- spawnPipe "/usr/bin/xmobar /home/tsu-nera/.xmobarrc"

キーボードショートカットの設定

以下のように書くことで、キーボードショートカットが設定できる。ここでは、Winキーとの組み合わせで設定

import XMonad.Actions.WindowGo

-- for keyboard shortcut
modm = mod4Mask

`additionalKeys`
 [
 ((modm, xK_e), runOrRaise "emacs" (className =? "Emacs"))
 , ((modm, xK_t), runOrRaise "urxvt" (className =? "URxvt"))
 , ((modm, xK_g), runOrRaise "chrome" (className =? "Google-chrome-stable"))
 ]

クラス名は、このコマンドを端末から実行して、+ のカーソルで調べたいWindowをクリックする。

xprop | grep WM_CLASS

背景の設定

fehという軽量な画像ビューアーで表示する方法が載っていたので、これを利用。

インストール。

sudo apt-get install feh

以下で背景を設定できる。

feh --bg-scale ~/Pictures/wallpaper/moonlight.png

これを.xsessionに書くと、なぜか動作しなかった。しかたがないので、.profileに記入した。

ファイルマネージャー

Mintのファイルマネージャー、nemoを利用すると、勝手にデスクトップを変更されるので、nemoは –no-desktopモードで起動する。aliasを.zshenvに切る。

alias nemo='nemo --no-display'

ショートカットでフルスクリーン

Mod + Spaceを押したときのデフォルトでは、複数回キーを押さないとフルスクリーンにならないので、これを改善。以下のサイトを参考に設定した。これは便利!

まとめ

ほかにも、いろいろと細かい設定が必要だけれども、きりがないので今日はこんなところで。

いろいろな作業をコマンドラインで実施することができるので、とても快適。しかし、残念ながらマウスを使わざるを得ないところもある。たとえば、ブラウザ操作のコピぺはマウスに頼らざるを得ない。

タイル型WMとの出会いはとても感動的だ。

さらなる精進をつんで、立派なCUIマスターになりたい。

19 Jan 2014, 11:47

省エネ時代の軽快ターミナル!rxvt-unicode(urxvt)でサクサクターミナル生活

軽量なターミナルである、rxvt-unicodeを試してみました

urxvtとは

rxvt-unicode(urxvt)とは、軽量なターミナル。

  • Unicode対応
  • 設定ファイルによって、自由にカスタマイズ可能
  • クラッシュしらず
  • 小メモリ、爆速の軽快さ。

などなどの特徴がある。軽量なためxmonadとの相性がよいと、xmonadのサイトで紹介されていたため、ターミナルを乗りかえてみた。

以下でインストール。

sudo apt-get install rxvt-unicode-256color

カスタマイズ

カスタマイズは、~/.Xdefaultsに設定を記入することで実施する。環境は、Linux Mint.

以下のサイトのXdefaultが大変参考になりました。ありがとうございます。

フォントの設定

Rictyを設定。アンチエイリアスも有効に設定。

URxvt.allow_bold:           false
URxvt*font: xft:Ricty:size=12:antialias=true

背景を透過にする

背景に画像を設定して、ターミナルは半透明にすることにする。以下を参考にした。

以下を追記。

urxvt*shading: 80
URxvt*inheritPixmap: true

色テーマをmolokaiにする

色テーマを鮮やかなmolokaiにする。ここを参照。

.Xdefaults結果

余計なツールバーもないし、軽いし、カスタマイズ自由、なかなかいい感じ。

参考

15 Jan 2014, 12:58

GTDの規律に従い生産性Up!!3分後にデスクトップ通知と音を鳴らすワンラインスクリプト(Linux)

GTDの規律には、3分以内に片付くタスクはその場で処理して、3分以上かかるものはとりあえずInboxにつっこむというものがある。

コマンドラインからストップウォッチを3分だけ起動したいと思い、そのような方法を考えました。

environment

  • Linux Mint 16

sleep を利用

あまり考えない方法だと、sleepコマンドで時間を止めて、指定時間たつとコマンドを実行するというもの。

$ sleep 3 && echo test

echoだと気づかないので、できれば音やデスクトップ通知が欲しいところだ

cvlcを利用して音を出す

VLCプレーヤーのコマンドラインを利用して音を鳴らす。–play-and-exitで一回だけ再生。

$ cvlc --play-and-exit /usr/share/sounds/LinuxMint/stereo/desktop-login.ogg

notify-sendでデスクトップ通知

Linuxでは、send-notifyでデスクトップ通知ができる。

インストール

notify-sendは libnotify-binに含まれている。

$ sudo apt-get install libnotify-bin

以下で実行して、通知か表示されるか確認

$ notify-send test

notification-daemonのインストール

Gnome terminalからコマンドを実行すると動作するが、Guakeターミナルから実行すると、動作しない。

原因は欲分からないが、notification-daemonというものをインストールすると、Guakeからも動作するようになった。

$ sudo apt-get install notification-daemon

デーモンを起動する。

$ /usr/lib/notification-daemon/notification-daemon &

これで通知がでるようになった。時間指定のオプション -t が動作しないのが気になるが。。。

起動時にデーモン起動

notify-osdからnotification-daemonに切り替える | smokycat.infoを参考に、起動時にデーモンを起動するようにしてみる。

$ sudo emacs /usr/share/dbus-1/services/org.freedesktop.Notifications.service

3行目をコメントアウトして、4行目を追加。どうも、デフォルトでは notify-osdが起動していたようだ。notify-osdだと動かなかったと推測

[D-BUS Service] 
Name=org.freedesktop.Notifications
#Exec=/usr/lib/x86_64-linux-gnu/notify-osd
Exec=/usr/lib/notification-daemon/notification-daemon

タイマを改良

コマンドラインから利用できるカウントダウンタイマを探してみた。。結構時間をかけて探したけれども、結論としては、このツールがよい。

コマンドラインからカウントダウンやストップウォッチが起動できる。こんなツールを探していた!ダウンロードしてインストール。

$ ./configure
$ make && make install

たとえば、こんな感じ。

# 3sec countdowwn
% utimer -c 3
Time Remaining: 0 days 00:00:00.000 (0.000 seconds)

結論

このワンラインスクリプトに決定

/bin/sh -c 'sleep 180;notify-send "time over";cvlc --play-and-exit /usr/share/sounds/LinuxMint/stereo/desktop-login.ogg' &

14 Jan 2014, 15:47

月夜に輝く滴の如き美しさ!黒背景とカラフルなEclipseプラグイン Moonrise UI Themeに一目惚れ

Eclipse Moonrise UI ThemeいうEclipseを黒背景にするプラグインに惚れ惚れしたので紹介します。

Environment

  • Eclipse 4.3 Kepler

インストール

Eclipseマーケットプレースからインストールする。

ヘルプ > Eclipseマーケットプレースを選択する。検索窓から以下を検索してインストール。

  • Eclipse Moonrise UI Theme
  • Eclipse 4 Chrome Theme

Moonrise UI Themeが今回紹介するメインプラグイン、Chrome Themeは Moon Themeを綺麗に表示するためのプラグイン(Option)

設定

テーマの設定

ツールバーの ウィンドウ > 設定 > 一般 > 外観を選択。

  • Moonrise(Standalone)
  • Moonrise

の2種類がある。Chrome Themeを入れている場合は、Moonriseを選択。

色テーマの設定(Rainbow Drops)

エディタ部分のデザインもムーンライトにふさわしい高貴なものに変更にします。

オススメされているのが、Rainbow Dropsというテーマ。以下から Eclipse Color Theme (XML)を選択してダウンロード。

ツールバーの ウィンドウ > 設定 > 一般 > 外観 > 色テーマを開き、インボートを選択。さっきダウンロードしたテーマを選択する。すると、選択欄に Rainbow Dropsが現れるので、選択し、適用。

調整

コンテンツアシストの色を変更します。

ツールバーの ウィンドウ > 設定 > 一般 > 外観 > 色とフォントを選択。基本の配下にある以下の2つの色を変更。

  • コンテンツアシスト前景色: #DDDDDD
  • コンテンツアシスト背景色: #333333

コンソールの色を変更します。ツールバーの ウィンドウ > 設定 > 実行とデバッグ > コンソールを選択。以下の2つの色を変更。

  • 標準出力のテキストの色: #DDDDDD
  • 背景色 : #333333

導入結果

Elegant!!

感想

以前、黒背景にするための プラグイン Eclipse Juno Darkを紹介しました。

Juno Darkはやや淡さと暗さがあり、Moonriseは色のコントラストが強く明るいです。

個人的には、Moonriseの方が好きだ!

ああ、Moonrise…あなたは月夜に輝く滴の如く、美しい。

13 Jan 2014, 05:39

tmux環境作成の自動化!PCの再起動をまたいでSessionを保存/復元を実現する方法

tmuxをノートPCに入れてみたけれども、ノートPCをOff/Onするたびにtmux環境を初めから作り直すのは面倒だ。

面倒なことは自動化しよう!ということで、tmux環境を自動作成するツールを調べました。

Environment

  • Linux Mint 16

tmuxinator

tmuxinatorを利用すると、自動でtmux環境を構築できる。

aziz/tmuxinator

Install

gem install tmuxinator

この設定が必要みたい。.tmux.confに設定してあるか確認。

set-window-option -g pane-base-index 1

SHELLとEDITORの2つの環境変数が設定されているか確認。

% printenv SHELL
/usr/bin/zsh
% printenv EDITOR
emacsclient -nw

起動スクリプトにも記述が必要。以下を追記。

source ~/.bin/tmuxinator.zsh

binから、mux,tmuxinatorをダウンロードして、パスの通った場所におく。

% wget https://raw2.github.com/aziz/tmuxinator/master/bin/tmuxinator
% mv tmuxinator /usr/local/bin

Usage

設定ファイルを作成.

% tmuxinator new default

エディタが開き、設定ファイルが作成されるので、これをカスタマイズする。保存したら、以下で保存した設定を起動。

% tmuxinator default

tmux-session

tmuxinatorの弱点は、自分で設定ファイルをかかないといけないところ。それは、面倒だ。

面倒なので、もうすこしツールを探してみると、tmux-sessionというシェルスクリプトを発見!

使い方は、とても簡単。saveで現在の状態を保存して、restoreで復元する。

% tmux-session save
% tmux-session restore

状態は一つしか保存できないよう。また、画面分割も保存はできない。tmuxinatorならば、できる。

または、同様なスクリプトとして、こんなのもある。これは、複数セッション保存可能。

結論

tmuxの状態保存は、tmux-sessionがよい。save/restoreの簡易なところが、よい。

13 Jan 2014, 05:19

Beautiful Colorful Terminal – Emacsターミナル環境をカラフルに彩る

外見大事! 美しいとテンションが上がって作業効率も向上する。

Emacsターミナル環境をカラフルに改造したので、導入したツールを晒します。

Environment

  • Linux Mint 16
  • Emacs 24

Guake

まずは、ターミナルから。デフォルトのGnome端末でも機能としては十分だが、デフォルトツールというところが気にくわないので、デフォルトでない一番人気をさがしたところ、Guakeを入れることにした。

sudo apt-get install guake

Guakeの利点は、画面のサイズが気軽に切り替えられるところ。上からにょきっと現れる操作感がよい。

  • F12で全画面表示
  • ショートカットで半画面表示

暗めの幻想的な背景を探して設定した。

F12を押したときに端末にフォーカスできないバグがあるらしいので、手動で修正。

Ricty

美しいフォントRictyを設定。

tmux-powerline

tmuxのモードラインをカラフルに彩るツール、tmux-powerlineを導入しました。

導入は、READMEに従って作業。カスタマイズはこれから。

Referenced

カラーテーマ

Emacs Color Theme

カラーテーマを変更。Emacsのカラーテーマを変更するには、そもそも Emacs Color Themeを導入する必要があるので、これを導入。

gnuemacscolorthemetest – GNU Emacs Color Theme Test – Google Project Hostingからダウンロードしてきて、ロードパスの通った場所におく。

init.elに以下を追加した。

(require 'color-theme)
(color-theme-initialize)

Molokai

Vimのカラーテーマで有名な、molokaiを導入してみた。カラフルな装飾がMolokaiの特徴。

molokaiのテーマは派生がいろいろあるようなので、Googleで検索して筆頭に現れたこれをいれる。

molokai-theme-kit.el,molokai-theme.elをダウンロードしてロードパスの通った場所へ配置。ここでは、themsというディレクトリを.emacs.dのしたにつくった。

init.elに以下を追加した。

    (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
     (setq molokai-theme-kit t)
     (load-theme 'molokai t)

emacs-powerline

Emacsのモードラインをカラフルに彩る Emacs Powerlineを入れる。tmux-powerlineと合わせると、画面がとても賑やかになる。

powerline.elをダウンロードして、ロードパスの通った場所に配置。

ここにも数種類のデザインがあるし、ネット上にもさらに多くのものがある。いろいろと試してみる。

init.elに以下を追加

(require 'powerline)