2012/12/24

「いろふさん絵描き歌」歌ってみた #irof_history


皆様、メリークリスマろふ!

これは、いろふ Advent Calendar 24日目のエントリです。(やった!公式入りw)
@kazuhito_m (2選目)と申します。

前日は @fukai_yes さんで「irof Advent Calendar 23rd」、
同日横並びで @naka_aki_spl さんの「いかに最低コストで「俺もirofだ」と言い張るかの考察」となっております。


いろふ Advent Calendarの12日目担当 @yukieen さんの
があまりにも良くできている上、ものすごく人気があるのに嫉妬して…

歌ってみました。

音源 : irofDrowSong.mp3
※歌いたい人用 : irofOffVocal.mp3 (誰得サービスだよw)

歌詞(+コード) : 

E G# Cm Cm7 F# B 

E              E7
これっくらいの♪canvasにっ♪
A                E
ぐるっと輪郭ちょっと描いて♪
B7                A7
ぱっくぱっく開いたお口をつっけて♪
F#                 B
ふっきだっしはっ♪ベッジェきょっくせんっ♪
E       G#   C#m7 (スライド) Bm7 E
点、点、点、点、つっぶやっいて♪
A Am7     B
あーなを開ーけたらいろふさん♪
E  G  E
できあがり♪


基本、コードはEを起点に作られているため、
「C# や F# に移調したい!」という方がいたら、
自分でやってください♪

※むしゃくしゃしてやった、簡単(2時間)の仕事だった。
公開はしているが後悔はしていない。

2012/12/28 追記。

@yukieen さん、 @skrb さんに公認もらったので、動画作ってみました♪



※音楽に合うよう、JavaFXプログラム側の時間の数値を調整しています。
動画用 : https://gist.github.com/e551498586adb97ff70b


さー最終日は! 皆様おまちかねー!!
@irof さん(本体) で、「いろふについて」です。


PS:AdventCalendarすら初めてでしたが、この一ヶ月、大変楽しんだ&楽しませていただきました。
皆様ありがとう! また来年「いろふ Advent Calendar」で会いましょう。お疲れ様でした。

2012/12/08

いろふさんなら横でビルドしてるけど #irof_history


皆様、こんにちわろふ!

昨日の @Posaune さんの「僕のWPFがこんなにいろふさんなわけがない」に続きまして、
いろふ Advent Calendar 8日目を担当致します @kazuhito_m と申します。

このカレンダーも8日目、皆様はいろっふぃーな日常をお過ごしでしょうか。
え、オレはどうって? なんだよ”いろっふぃー”って?ふざくんな!

さて、いろふさんと言えば”S.G.P.G(すーぱーぐれーとぷろぐらまー)”。
実装はもちろん、テストもお手の物。
自動化アイディアもたくさん実用していることでしょう。

だれしも「あー、いろふさんが自分の近くに居てくれたら…」と思うはずです。

話は変わりますが、オレはJenkinsというCIサーバのプロダクトが大好きです。
「すごいと思うもの」と「大好きなもの」が合わさると…「デュフフ、コポォ」ってなってテンション上がっちゃいます。

ということで、そのJenkinsにいろふさんをご招待したいとおもいます♪

2012/09/30

JenkinsでビルドしたSphinxのHTMLをGoogleAppEngineで公開する


※連載です。Jenkins/Sphinxの装備・環境などは前回を参照してください。

Sphinx一切出てこないし、Jenkinsである必要も無いので「タイトル詐欺だ!」と思われるかもしれませんが、いちおー「前回を前提に話す」のでご容赦を…。

ま、この話自体がポシャってしまったのですが、
「Sphinxドキュメントを無料にて多人数翻訳し公開する方法」の続きです。

翻訳に必要なものを以下のように定め、具体策を思案していました。
  1. コミニュティ
  2. ソース管理
  3. ビルド環境
  4. 成果物公開場所
で、前回1,2を決め、3は前回のテーマの通り「CloudBees:Jenkins」。
そして検討の結果、4は以下のようにしようかと…。

  1. Google Group
  2. Assenbla
  3. CloudBees:enkins
  4. Google App Engine

なぜGAEにしたのか…今考えると、それである必要は無いのですが、

  • 前から使って見たかった。
  • 閲覧制限させるのに、アクセス制限機構を自分で作りたくなかった。
  • コミュニティにGoogleGroupを使っており、絶対に垢あるし、親和性があると思って。
    (最初は「Group使ってアカウント管理を代行できないか?」を模索していた)
  • サーバ側はPythonが標準言語の一つで相性良いかなと。
という「エゴと希望の入り混じった私的趣向」だったりしますw

----

2012/09/19

CloudBeesさん提供のJenkinsを使ってSphinxドキュメントをビルドする方法


私は今、有志の勉強会の、とある「読書会」に参加しています。
ただ、その「読書の対象」が洋書でして…。

そこで、個々参加メンバーが持ち回りで翻訳することとなっているのですが、
「絶対に一人がどこかを翻訳して来るのだから、その翻訳成果をまとめて完了時には一冊和訳出来ているようにしよう!」
となりました。

しかし、当たり前ながら、それも売り物かつ著作物…公開するわけには行きません。
そこで、「メンバー達だけが編集できて、メンバー達が閲覧できる何か」が必要になってきました。

メンバーのお一方がすでに使用されていたのと、翻訳に使っている実績があるとのことで、ドキュメント形式は「Sphinx(Python製プロダクト)」と決まりました。

SphinxはTexのように「元文書はソースみたいなもので、ビルドにより成果物が出来る」タイプのものです。

なので、以下のものが必要になってきます。
  1. メンバー用のコミニュティを無料かつメンバーオンリーかつクラウドで
  2. メンバー用のソース管理リポジトリをメンバーオンリーかつクラウドで
  3. メンバー用のビルド環境を無料かつメンバーオンリーかつクラウドで
  4. メンバー用の成果物閲覧環境を無料かつメンバーオンリーかつクラウドで
そして、今決まっているのは…
  1. Google Group
  2. Assenbla
  3. 未定
  4. 未定
なのです。

2012/06/13

Linux便利コマンド備忘録02 - 「サーバのログイン回数ランキング」

時々思い立ったように便利なワンライナーを備忘録していくこのコーナー。

今回は…

「自分がログインしているサーバで、過去記録が残っている限りで、ログインした回数が多い順でユーザと回数を表示する」

というワンライナー。

last | cut -d ' ' -f1 | sort | uniq -c | sort -r | cat -n

※説明不要かもしれないが、ざっくり説明すると…

「ログイン履歴を表示し、半角スペース区切りで1フィールド名を取得し、昇順に並び替えて、集計(行頭がカウント数)し、カウントで降順に並び替えて、行頭に順位を振る」

となります。

こういうのをソラでよどみなく「スラッと」書けると「ああ、馴染んできたんだなぁ」と思えてうれしいものですね♪

2012/05/10

Linuxディストリのインストール時に「… cannot boot using GPT」で続行出来ない場合の対処 (忙しい人向け)

CentOSなど、昨今のディストリビューションのインストール時に、以下のようなエラーが出て、続行できない場合があります。
You boot partition is on a disk using the GPT partitioning
scheme but this machine cannot boot using GPT
その場合の手っ取り早い対処を方法を備忘として書きます。

■方法

1CDLinuxやディストリの"linux rescue"起動など、
「インストール対象のHDDを未マウントでコンソールを打てる状態」
を作り、以下を実行。
dd if=/dev/zero of=/dev/「対象HDD(sda等)」 bs=512 count=1
■説明

このエラーは、インストール対象HDDが、それ以前にブートがGPT方式で使用されてた際に起こります。
インストーラが対象HDDのパーティションを変更する際、従来どおりのMBR方式でインストールしたいが、「すでにGPT方式であるので変更できない」と言っています。

※参考
・MBR(マスターブートレコード)
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%96%E3%83%BC%E3%83%88%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89
・GPT(GUIDパーティションテーブル)
http://ja.wikipedia.org/wiki/GUID%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB

従来のMBR方式も、GPT形式も「MBRを使うことは変わらない」ので、OSのインストーラはMBRの状態を検査して、上記のエラーを検出していると思われます。

なので、ddコマンドを使って「HDDのMBRを破壊」します。
(入力元の /dev/zero は"0"データを吐き続ける特殊なデバイス)

※上記例ではddでMBR分ちょうど(512byte)書き込んでいますが、破壊さえできれば良いのでこれより多くても少なくても良いはずです。

破壊(bitを0埋め)できれば、インストーラによりGPT方式だと判定されなくなるので、従来どおりインストールが出来るようになります。

----

ネットを見渡すに、多くは対処として「ツールをダウンロードして…」などですが、Linuxに慣れているなら、割合簡単に回避出来ます。

2012/01/05

年賀状ギャラリー2012

※今回、初めて技術系情報発信でなく、プライベートな内容を書きます。目的外の人はスルーで。

俺は、年賀状ってこういうものだと思うんです。
  • 日ごろ親しい人への節目の挨拶
  • 頻繁に会う間柄でない人への近況の伝え
  • 自己表現の場所
なので、「とりあえず失礼にならないように出しとけ」という考えは嫌いです。
また、上の理由から「出来合いのプリント例・デザイン済み年賀はがき送っとけ」な人は、「送る意味ないのになぜ送るのか?」って考えてしまいます。

そういう理由から、「伝えたいこと(という名のネタ)」を送るようにしています。
無論、無い年は送りません。(横暴?極論?非常識?w)


という前置きはさておき、何をしたいかというと「今まで作ったネタ年賀状画像を公開したい」ってだけです。
興味のあるかたのみ、お付き合いください。

■年賀状ギャラリー

  • 2012年
内容のまま…良いネタや近況として伝えたい内容も無かったので、今年一番のトピックを軸にして2時間程度で作ったもの。
素材はここで買える「乗ったらサーバに記録される体重計」のサイトから、グラフを取ってきただけです。

  • 2011年
    伝えることが何も思いつかなかったので、書いていません。

  • 2010年
 本当にそういう夢を見てしまったのだから仕方ない。w
往年の「ロマサガ1 ガラハドネタ」より。そこにミンサガのガラハゲをドット絵で追加。
画像元はGoogle先生頼みで拝借。後は、会話内容をドットで書き換えて作成。
この「下手字のような4マス漢字」を再現するのに、非常に苦労した…のは良い思い出。

  • 2009年
ジャンプ世代直撃の俺です。
「ジャンプコミックスの作者近影に載ってみてえ!」という願望でパロってみたもの。
コードや日付、コミック名など、誰も見ないだろうに色々と細かく書き換えているのは、過去の俺は暇だったんだなw
印刷媒体のキャプチャに乗せる場合、そこに挿入するフォントとぼかし具合が難しい、と実感しました。


■作成環境

あえて技術情報&お役立ち情報としてつなげるなら、 
「PCとプリンタ以外、タダ!一円も使っていない」
ということでしょうか。

  • OS : WindwosXP
  • DTPソフト: gimp 2.6.8
  • 素材 : グーグルせんせーありがとう!

OSはWinなので有料ですが、gimp自体元はUNIX互換OS向けに作られたものなので、ホームグラウンドであるLinuxディストリビューションで使用しても同様です。

また、俺自身は「DTP?なにそれおいしいの?」なほど、画像処理には素人です。
知っているのは「レイヤーという概念」「囲んで右クリックでエフェクト掛けれるだろきっと」程度のもの…。
アイディアに対して、実現方法は標準HELP or 軽くググる程度、これですべて作っています。

結論としては、
  • 素人が思いつく程度のアイディアの実現ならgimpで十分
  • 素人でも時間さえかければ自身でのデザインは出来る
というとこでしょうか。

また、別の理由として
  1. 「追いかけるには金のかかるベンダー製DTPソフト」
  2. 「いつ使えなくなるかわからないようなPCについてきた年賀状ソフト」
と心中したり、金払ったり、ソレ用のテクを磨くよりも、gimpのようなオープンソースを活用し、その使い方を身に着けて行ったほうが、経済的にも価値はあるのではないか、と俺は考えます。

効率的に最適かはわかりませんが、近年では「Gimpで年賀状」みたいなムックも出ており、アプローチによっては最短解にたどり着けるかもしれません。

まずgimpを使ってみてはいかがでしょうか?