Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2013-10-01から1ヶ月間の記事一覧

Virtual box上のUbuntuにSSHでログインする

環境変数という奴は使い込めば使い込むほど依存関係が複雑になっていきます。 特にMac OS Xなんかで組み込み開発をやると、gccまわりでゴミクズな流れになります。*1 さりとて、わざわざネットワークに鯖立ててCIというのも何だか……という場合もあるかと思い…

RubyでGUIアプリを遣う際の選択肢

個人で使う分にはCLIの方が都合上がいい事が多いですね。実装楽ですし。 ところが……知人やお客さまにご利用頂くソフトウェアはそうはいきません。 まだまだ世間は保守的なのです。 ブラウザで楽しようとしても、客先にIE6しか入ってないなんてケースもザラで…

Virtual Boxをshellから起こす

GenymotionもShellから起こせるので出来るとは思ってましたが…… 実際やれると感動ものですね Mac OS X版の場所は、標準通りのインストール法なら以下の通りです。 $ which VBoxManage /usr/bin/VBoxManageいざ実行してみると $ VBoxManage Oracle VM Virtual…

Ubuntuのapt-getでemacs24系を導入する

記事執筆時点で、apt-getで導入できるemacsは23系です が、24系付属のelpaの快適さを知ってしまったので、もう戻りたくありません・ というわけで、なんとか24系を導入してみます調べてみると、有志の方が用意してくれたaptのリポジトリがあるようなので利用…

emacs-lispを反映するときのコマンド一覧

10/28 盛大に勘違いしていたようです。内容を修正、リンクも追加しました。今までemacs-lispを評価するときはeval-bufferを使ってました。 再起動不要で式を評価できる便利な奴くらいにしか認識していませんでした。 ただ、それだと色々アブナいので……ちゃん…

printf記法を使って変数の多い文字列を楽に生成する

今回はC言語使いにもお馴染み、printf記法の話です。 やや記法が独特なところがありますが、使いこなせば複雑な文字列も割と気軽に生成できます。以下の例では、出力したいものを id = 3 measure = 20 とします。 printfだと代入できない printfはputsやprin…

長めな環境パスを通すときに便利なエイリアス

今回はUNIX系ではお馴染み環境変数設定のちょっとした小ネタです。パスを通したりエイリアスを通す際、毎度毎度nanoやviを開くのは得策ではありません。 さりとて、私のようにヒアドキュメントで鼻息荒くすると「>」と「>>」をタイポして爆死します*1 更には…

mrubyで書いたコードをC言語内で読み出す方法

mrubyで書いたコードをC言語内で読み出す方法です。 今回はまんま参考もと様と同じ内容ですが…… mrubyコードをC言語に埋め込む 今回導入するコードは以下の通り C言語のコード ソース1。mrb_funcallで実行開始です。 3番目が呼び出す関数名、4番目が引数…

mrubyをビルドする(2013年10月23日版)

組込みRubyことmrubyをgithub公式から引っ張ってくる方法です。 相変わらず活発に更新が行われています。 以下の手法で通らないようでしたら、公式ページに飛んだ方が早いかもしれません。 mruby/mruby · GitHub インストール 例の如く、git cloneでおとして…

Cocoa Emacs (24.3)の背景色を変更する

Cocoa Emacsを入れ直したところ、これまで出来ていた色分けができなくなりました。 今まで使っていたのはどこから拾って来たかも定かでない以下の設定 (if window-system (progn ;; モードラインの文字の色を設定します。 (set-face-foreground 'modeline "w…

CASTING SPELs IN LISPでLisp眷属の威力を垣間見る

これ、なんとLand of Lispで三章ほどにわけて紹介されていたネタです。 それがGNU FDL 1.2 にて公開されてます。 Anyone who has ever learned to program in Lisp will tell you it is very different from any other programming language. It is differen…

erbからslimに移行する際はblockのチェックを忘れずに

erbからslimに移行する際の注意点です。erb2slimを使えば、簡単に変換できます。 が、開発者の意図までは酌んでくれません。 例えば、blockを使ったスクリプトを書いていると意図せずクラッシュする可能性があります。 具体例 <%= form_tag :hoge, :id => :p…

slimで複数のクラスを設定する

微妙に引っかかったのでメモ想定する出力 方法 後ろにもう一個classをつける a.menu class="highlight" 配列を渡す a class=["menu","highlight"] ハッシュとして渡す ハッシュを渡す場合は*をつけます これはクラスに限らないので色々な属性も設定可能です…

ターミナルマルチプレクサ環境を使うとshell作業が楽になる

以前の記事でmulti-term ところが、るびきち氏は使っておられないとの事 ……!? では、一体どうやってシェルを使ってるんでしょう まさかマウスやトラックパッドで遷移してるのでしょうか???……そんなわけはなく、実際にはtmuxというマルチ画面シェル環境…

strtokでchar配列を切り分ける

C

strtokはchar配列を特定のcharにて切り分ける関数です。 安全版のstrtok_rもあります。感じとしてはRubyのsplitメソッドみたいです。 が、ちょいと癖があります。 Ruby風に言えば破壊的メソッドです。*1 挙動 初回 最初に対象となるchar配列と切り分け文字を…

emacsの短形選択で楽に連番値を入力する

はてな記法でリストを表記する場合、先頭に「-」をつけますね。 emacs上なら C-x r tの後に - を入れてあげれば楽に出来ます。 http://d.hatena.ne.jp/Kazuhira/20120408/1333890311 http://tech.kayac.com/archive/emacs-rectangle.html

読書メモ:おいしいClojure入門

発売したばかり*1の新刊「おいしいClojure入門」の簡易感想文です。 目次 第1章 Clojure環境の作り方と始め方 第2章 数行のコードで毎日の仕事がラクになるClojure 第3章 開発心が沸き立つClojure 第4章 Clojureでお手軽,チョー楽しいWeb開発 第5章 メッセ…

コンパイル時のエラーログをファイルに書き込む

ご存知のように、UNIX系端末の出力には stout stderr と二系統あります。Ceedlingの出力もこの機能を活用しており テストログ >> strerr ビルドの結果 >> strout という関係になっています。このうち、redにするまでのエラーログは非常に長ったらしいものに…

クソ虫過年次のための研究室選び

生き残りたい、崖っぷちでいい このブログでも何度か書いていますように、私は過年次生です。 人よりゆっくり進級しました。 そのお陰で、先行した戦友達が地雷原で吹き飛ばされる様を安全な所から観察することができました。 この記事では、そういった気の…

RubyでClojureを試したい? よろしい。ならばRougeだ!

RougeはRuby VM上で動くClojureのREPLです。 なにを言っているのかわからないと思いますが、僕もどうにかなりそうでした。 ClojureてJavaプラットフォームで動くモンだったんじゃあ……? でも、この子は正真正銘Rubyで動きます。 Jruby利用みたいなズルはしま…

Ubuntuのターミナル表示を変更する。

Ubuntuはデフォルトでも楽に使える反面いろいろお節介を焼いてくれる場合があります。たとえば、デフォなら $PS1="[\W]"だけで変更できる端末表示変更も受け付けません。。Ubuntuの場合は.bashrcを弄ることで対処します。 # line 62 if [ "$color_prompt" = …

anyenvでスクリプト言語のバージョンを楽に管理する

anyenvを導入するとrbenv系のインタフェイスを統合して扱えます。 別々に突っ込むのも良いですが、anyenvに紐付けしておけば環境ファイルが複雑にならずに済みます。 想定環境 Mac OS X 10.8 Bash anyenv導入 ruby環境がある場合は 上記のスクリプトを $ rub…

CeedlingでUnityを更に便利にする(その3)

C TDD

今回はCeedlingのコマンドに関してです。 とりあえずは、全部テストの rake test:allとビルド内容をクリアする rake cleanさえ使えれば大丈夫です。 それに加えて以下のコマンドを使えると更に捗ります。 verbosity rake verbosity[0] test:allといった感じ…

シンプルなHTMLブラウザw3mで快適な技術ブログ徘徊

w3mはシンプルなHTMLブラウザです。 最小構成ではテキストとリンクしか表示しない侠気溢れる仕様となっています。 存在は結構前から把握していましたが、その気になれず放置してました。 正直、なめてました。 いつもなら5分はかかるページも、ものの2分程…

数値リテラルで遊ぶ

Ascii文字である事が自明なら、ワザワザcharメソッドやformatを使わなくとも数値をとる事が出来ます。 たとえばAsciiのアルファベットなら >> ?a => 97といった感じで。C言語ではお馴染みのAscii文字の数値を用いたアルファベット処理も >> (?z - ?a + 1).ti…

Emacs24.1 on Mac OS Xでmulti-term環境をつくる

Emacsでもshellが使えます。 M-x shellで起動です。 が、この子はPATHが通っていないため、gitが未インストール扱いされたりしていました。 かといって、オレンジ表紙のあの子*1は何やらエキセントリックで普段使いには敷き居が高いですし。 というわけで、…

再帰を使って3変数の真理値を出力する(Ruby編)

再帰による(b0 || b1 && !b2)の真理値表です。 このソースは引用元のC言語によるコードをお手本としています。 実行結果 $ ruby truth-table.rb b0, b1, b2, (b0 || b1 && !b2) **************************************** F, F, F, F F, F, T, F F, T, F, T …

Rubyのヒアドキュメントを使ってUNIXコマンドを便利に使う

みんな大好きヒアドキュメントさん。普段はルイズコピペのような長文を扱うために使う場合が多いですね。 ところが、この子と文字列をコマンドとして扱うバッククォート(`)を合わせてあげると少し面白いことができます。 例えば、 hoge = String.new hoge =<…

複数のファイルから特定の文字列を含むファイルを探したい

複数のファイルから特定の文字列を含むファイルを探したい場合です。 具体的な例として、 恐ろしく入り組んだレガシーコードがある そのディレクトリ中から関数(fooBar)を探す コード群の上位ディレクトリに移動済 というケースを想定します。 findとgrepの…

Sphinx S6でHTMLのプレゼンをつくる

前提 Sphinx導入済み Mac OS X 10.8 導入 $ sudo easy_install sphinxjp.themes.s6 設定 まずは叩き台としてsphinx-quickstartをやります。 $ sphinx-quickstart例のごとくトップページに色々とファイルが作成されます。 今回はindex.rstとconf.pyを以下のよ…