DT日記

家を離れた自宅警備員の日記

ウェッブアプリケーションエンジニャーにジョブチェンジして、そろそろ一年になります

いままで一年も続けて働いたことがなかった気がするので、驚きです。

ここ二年半ほどの流れをまとめてみますと、ぴかぴかの留年生(2011年4〜9月)→アルバイター(2011年6月〜2012年3月)→自宅警備員(2012年4〜8月)→東京放浪無職(2012年8月)→業務(ギソー)委託(うけおひ)エンジニア(2012年9・10月)→自宅警備員(2012年11月)→現職アルバイト(2012年11月〜2013年2月)→現職(2013年3月〜) みたいな感じです。

何やってたの

アルバイトとして入社してから最初の仕事はGitとmarkdownでぼくのかんがへたさいきょうの文書管理システムを開発することでした。WebフレームワークはRuby on RailsJavaScriptライブラリにjQueryを使ってCoffeeScript、それとCSSフレームワークTwitter Bootstrapを使ってSCSSで、みたいな感じです。もともと僕はISO-HTMLが好きでいろいろ書いてたのですが、まともなWebアプリケーションは書いたのはこれが初めてでした><

今考へてみるとちょっとRailsのレールに無理やり乗りすぎた感もありますが、まあそんなに多数の同時利用があるサービスでもないので良いのかなー、と。zonuexe/ruby-activerecord-bracketはこれを作るために書いた処理をgemとして利用できるように切り出したもの… なのですが、動的ファインダを使ってるので不必要にRails3依存してる感じがありますね。つまり、まだRails4に移行してないのですが… そのうちやりたいですね。そのうち。

そのあとはAPIを作るお仕事とかしてました。お仕事をしてる領域としては、Inside pixiv's infrastructure〜application cluster side〜で紹介されてるAPIのあたりの開発とかしてます。入社したての頃は「縦セタが良いことは認めるがしかし、まっぴるまからたてセタ縦セタと、一体なんなんだこの会社は…」と思ったのも良い思ひ出です。 たてセタいいよ縦セタ

あとは社内向けのWebサービスとか作ったりもしてたのですが、表に出しても良さげな辺りだとpixiv.meとか作ってました*1。まあこっちは、もともと構想のあったものを実装しただけで、僕は実装しただけですね。本当はもっと別のドメイン名になるはずだったものが、id:itochan315先輩の機転で現在の名前になりました。モンテネグロ最高!!!!

勤務環境について

明治神宫の北参道新宿御苑にとても近く、良い立地です。代々木駅は山手線・中央総武線大江戸線が止まるし、そもそも新宿まで行くなら歩いて行った方が近いような距離なので交通の便は割と素敵です。

ドリンクが無料なのはとても良いです。前々職(時給850円)とか前職(単金15万円)のときにはだいぶ近くのコンビニで泥水(こーひー)を買って飲んでたので。 …のだけれど… 健康… 自制重要。甘いものばかり飲んではいけません。

個人での作業中はずっと音楽を聴いてて良い環境なので、家に居る時間はずっとアニソンを聴いてるような僕には、とてもとても捗る環境です。周りに人が居るので歌へないのだけが玉に瑕ですが… まあそれは仕方ない。

使用するコンピュータは完全に個人の趣味で選べるようになってて、Macを使ってるひとは多いですが、Windowsもそれなり、Debianのデスクトップを使ってる人も居ます。エディタはVim派とEmacs派がおほよそ拮抗しつつもVimがやや多く、第三勢力に非日本人勢を中心にSublime Text派、最近入社した人はIntelliJ派(RubyMine, PhpStorm)も居る、みたいな感じのように観測してます。

僕はMacParallels DesktopUbuntuのデスクトップでEmacsでTRAMPとmagitが一番捗ります ヾ(〃><)ノ゙☆

何をやり遂げたの

これからやりたいこと

  • 幸せになるために .emacs をちゃんとする
  • 幸せになるために会社の近くに引っ越す
  • 幸せになるために茸を捨てて庭に帰る
  • 幸せになるために Android を捨てる
  • 幸せになるためにサーバを一台組む
  • 幸せになるために SICP をちゃんと読めた暁には餘勢を駆って TaPL まで読んでみたい (死亡フラグ)

がんばります。僕は幸せを手にします。おちんぎんが出るまで幸せは遠い感じもしますが。あと PHP と英語。

「就職しました」エントリ

ってことらしいですが…

  • .emacs は継ぎ足し継ぎ足し… なんかいろんなべんりスクリプトは日常的に試してます
  • 会社の割と近くに引っ越しました
  • 茸を捨てて庭に帰ってきましたよ
  • HTC J Butterfly良いですね。Androidは捨ててないけどiPad mini買ひました
  • 組んでない…
  • あれ… SICPもTaPLも全然読んでないぞ…?
  • PHPは楽しいですね ヾ(〃><)ノ゙☆
  • あいきゃんとすぺあくえんぐりっしゅ…

つらい。がんばります。

一年で思ったこと

ひとりで生きてると自分の人生経験は特異的だと考へがちだけれど、周りのひとたちは自分以上にとてもすごいことができたり、知ってゐたりする。それを肯定的に認識することで自分は知ってるけど周りのひとは知らないようなことは却って浮き彫りになるし、自分への自信を深めていけると思った。とは言へ足りない部分も自分で多く見えるので、その点はゆっくり補っていきたい。それぞれの信念やサービスへの思ひ入れにがあって働いてるひとが多い職場で、自分がそれに決して劣るものでないと自信を深めていくために、良い一年間だったと思ふ。

何をやりたいの

なんか紆余曲折がありまして、Webセキュリティ方面をちょっとまじめに勉強しようみたいな気分が高まってます。それとなんかいまさらな気分もあるのですが、いまさらながらにアジャイルなプロジェクトマネジメントみたいなのに関心高まってます。あと、Emacs環境をもっと快適にしていきたのとVim的な操作を会得したい感じありますね*2

個人の趣味としては… まあいろいろ進めてます。それとリスプ書きたい… コンパイラの勉強したい… スパロボしたい… といろいろ意識は高まってるものの、まあ興味があまりに分散しすぎない程度にいろんな方面に浅く広く手を出していきたいなあ、と。これから一年で、もうすこし広く、もうちょっとだけ深い人間になれてると良いですね ヾ(〃><)ノ゙☆

あ、最近でもやる夫スレを読む趣味は尽きてないです。

最後に

ピクシブ株式会社では、世界中のクリエイターに対して創作活動がより楽しくなるような事業を提供しています。
この場所でよりクリエイティブな未来を一緒につくりませんか?

ピクシブ株式会社 採用サイト

ってことらしいので、そんな領域で働くことに興味のある方はぜひ一度、遊びにおいでください ヾ(〃><)ノ゙☆

*1:[pixiv] お知らせ - リダイレクトURLサービス「pixiv.me」をリリースしました

*2:いまやEvilがあるので、前者と後者はまったく矛盾しない

なぜ「現代仮名遣い」で書かないのか

別に使ふ理由がないから、現代的ではないから、この假名遣を決めた連中が気にくはないから。以上。

ではあまりに不親切なので、ウィキペディアでも読んでろよ、といふ気持ちをぐっとこらへていまの自分の思ひについて書くことにする。

(その前に補足。この記事では「かなづかひ」を「假名遣」と漢字で書く。この字は常用漢字表にある新字体「仮」と同じだが、僕はこの字が大嫌ひなので可能な限り避ける。この「假」の右側は「暇」とまったく同じで、音読みは同じ「カ」である。ここで注意してほしい。「暇」は常用漢字表に掲載されてゐて、「假」よりも画数が多いにもかかはらず、「日反」のような略字になってゐない!)

はじめに「現代仮名遣い」について。これは1986年に公布された内閣告示であり、昭和61年内閣訓令第1号によって各行政機関においては,これを現代の国語を書き表すための仮名遺いのよりどころとするものとするとされた。これ以降、この表記法が「日本のお役所における正書法」となってゐる。ここで、この内閣訓令が効力を持つのはお役所、それも、国の行政機関に対してのみであることに気をつけてほしい。

この「訓令」といふことば、何かで聴きおぼえがあるかもしれない。それはおそらく、ローマ字の「訓令式」ではないかと思ふ。この訓令式ローマ字は小学校の教科書に掲載されてゐるれっきとしたローマ字の表記法であって、これも1954年の内閣訓令による、いまも有効な正書法だ。加へて、ISO 3602といふ国際標準にもなってゐる。

訓令式に対して現代の日本で主流のローマ字表記はヘボン式と呼ばれる方式の亜種である(ここでローマ字とは、アルファベットのことではなく、日本語をラテンアルファベットの26文字を使って書き表すことを指す)。訓令式ヘボン式の差異はいくつもあるが、たとへば「自社製府地図(じしゃ/せい/ふ/ちず)」といふことばがあったとして、これは訓令式では「Zisyaseihutizu」、一般的なヘボン式では「Jishaseifuchizu」となる(このそもそもそんなことばはないのだが…)

自分の名前をアルファベットで書くとき、ヘボンだ訓令だと気にすることが、どれだけあるのか。現状では各自が拘りを持って、好き勝手にローマ字表記を決めてゐる、といふのが実際のところではないかと思ふ。またはキーボードの日本語入力などはフリーダムの極みで、単に個人の習慣やキーの押しやすさで好きなものが選ばれる。ここに政府による強制は存在しない。

ここで假名遣の話に戻すが、現代仮名遣いが政府によってよりどころを示された守るべきルールであり、これに背くことが非難されるべきことなのだとすると、同格の内閣告示・内閣訓令による訓令式ローマ字も同様に遵守すべき基準なのではないか。このどちらかのみを責めたてるのは二重規範である*1

現代仮名遣いは一般の社会生活において現代の国語を書き表すための仮名遣いのよりどころとして公示されたものではあるが、前書きにこの仮名遣いは,科学,技術,芸術その他の各種専門分野や個々人の表記にまで及ぼそうとするものではないともある。つまり私的な文章や技術的な記事を書くにあたって、この假名遣を盾にして非難される筋合はなく、「読みにくい」は単なる個人の感想の域を出ない。

ここまでで「なぜ現代仮名遣いで書かないのか」の理由のひとつ「別に使ふ理由がないから」を説明した。

……とはいっても、現代仮名遣いで書かれてゐない文章が読みにくいと感じるのも道理ではある。出版物・道路標識・そのほか身の周りにある日本語文は、ほとんどすべて現代仮名遣いと新字体で書かれてゐる。

歴史的假名遣は中学・高校の国語科で扱はれるので義務教育を修了した人ならば、「ゐ」「ゑ」などが使用された現代文を読む準備があるはずなのだが*2、実際にはその単元の後には目にする機会がなくなるので、そのまま「読みにくい」といふ認識が残ってしまふことは十分理解できる。

ウェブなどでは現代仮名遣いで書かれない文章*3の使用者に対して、まるで踏み絵のように「お前は本当に仕事でもそんな書き方をするのか?」と批難されることがある。

私は基本的に業務で作成する文書、連絡、あるいは出版社などから原稿料を頂戴して寄稿する記事などには、躊躇なく正格の現代仮名遣いで書く。上記のようなことを一々説明し説き伏せる理由など特にないのと、假名遣に拘ることなどよりも大切なことはいくつもあるからだ。

http://hitode909.hatenablog.com/entry/2013/09/09/130736

この記事を書いたのは id:hitote909 の書いたbookmarkletがきっかけなのだけれど*4、この記事には批難はなく、読みにくいといふ感想と要望が書かれてゐて、それを表明されることは望ましいことではある(むしろはてブにそのような感想がいくつもつくことを期待した)。

ただ純粋に疑問なのだけれど、ライセンスの選択を恐れる必要はありませんは、假名遣を直したところで本当に読みやすくなるのか?

そもそも日本語としてこなれてゐない箇所、翻訳が極めて怪しい箇所、一般的ではない訳語を説明なく残してある箇所が、まだいくつもある。そんな不親切な文書が、本当に読みやすいのか? 「わかりやすい」とコメントしてる人はみな流し読みをして、わかった気になってるのではないか? そんなことを考へると、おそろしくなる。

読みにくい日本語に対してブックマークレットでパッチを当てることは素晴らしい対処法だと思ふし、僕がその立場だったら同じことをするかもしれない。しかし、ひらがなと漢字の数文字を置換する小手先の手段よりは、原文かライセンス本文を各自で読みにいった方がずっと生産的なのではないかと感じる。

それに関して有益な情報なので多くの人が読めるほうが役立つと思うについて。その理窟を持ち出すならば、英語でChooseALicense.comの解説記事を書くのが、もっと多くのひとにライセンスの理解をひろめるベストな手段だったのではないか*5。実際には、想定を上回る人数があの記事を読みにくいながらも読んでるらしいので、私としてはなほさら現代仮名遣いで書く理由がなくなった。

最後に辯明をしておきたいのだけれど、あのdiffについては単純にtypoですね。僕はいつもSKKを使って書いてゐて、現代仮名遣いで書いてから変換するような面倒な手間は経てゐない*6

あとふたつの理由

  • 現代的ではないから
  • この假名遣を決めた連中が気にくはないから

ぐぐれ。

*1:公平のために、政府によるローマ字表記の指針としてはもう一つ「外務省ヘボン式」と呼ばれる方式も存在することを紹介しておく。実際に道路標識や案内板のローマ字表記はこちらに従って書かれることが多い。しかしこれは「フェ」を「Fue」と表記する表記法である。……ほんとにこんなものを支持できるのか?

*2:これは、理系の立場でいふと「高校出てるなら微分も確率も計算できるはず」みたいな話になるのではないか…?

*3:これには、歴史的假名遣に加へて、ギャル文字など、かなを別の記号に置換したもの、ぁぃぅぇぉゃゅょなど小書きにするものなどを含む

*4:それはさておき、これのお蔭でHatena::Letといふサービスを知れたので、とても感謝したい

*5:ただし私は英語が書けない

*6:そもそもSKKは基本的に假名遣にまったく依存しない

「就職しました」エントリ

(この記事を読んでる人はなんとなく察してるよね、の前提で) 就職しました

僕がこの日記を始めた 2010年7月22日 の記事とか読むと、ほんとにイシキタカイ系プログラミングのガチ初心者、といふか大学4年なのにろくに就活もしてないておくれ系大学生から、よく頑張った気がします。

なんでこの会社選んだのよ

直接的な動機としては YAPC::Asia で中の人たちと話して「遊びにおいでよ」→「面接しようよ」みたいな流れでした。副次的な理由としては、一利用者として、熱心にでこそないものの頻繁に利用してたサービスであって、イラスト以外にもやる夫スレや 2ちゃんねるの SS など二次・三次創作を積極的に楽しんでゐる者としては、その成功例に非常に興味がありました (←面接で言った)。

まさか通るとは露にも思ってなかった (ほんとに記念受験のつもりだった) ので半ば青天の霹靂だったのですが、ろくな成果物もなく、よく採用する気にけふんけふん。いまの技術力の不足はまったく自覚してるので、成長を見込んで雇ってもらったのはありがたいことでなので、これからも 趣味の範囲で たゆまぬ努力が必要ですね。

いつから働いてたのよ

2012年11月16日からです(キリッ

前歴ほぼニートでいままでの開発実績とかろくなのがないので、とりあへず新しい Web サービスを Ruby on Rails で構築しようかといふ感じでした。僕は幸ひにも Ruby 大好きっ子だったので、勉強しながら Rails で楽しく開発することができました。「MVC? 名前は聞いたことありますが」「あたい知ってるよ、MySQL ってでーたべーすなんでしょ」程度の理解でモデルを作り始めたので、さくっと作ることはできましたが後から機能要件が増えたときに設計変更めんどくさいことに。

12月移行はマレーシアからきたデザイナーと組んで仕事を進めることになり、僕がはじめに作ったデザインはいかにもな Bootstrap Bootstrap 的なサイトだったのですが、彼が参加した途端に Bootstrap をカスタマイズした上ですごく意欲的な意匠に仕上げてくれました。 デザイナーのちからって すげー! ちなみに彼の専門は Web ではなかったらしい……。

ただこのサイトは公開する領域が限られてますので、みなさまの目に触れる機会は、もしかすると遠い将来にあるかないか、と言ったところです。ちらっとでも見せられるといいなあ。まだローンチはされてないのですが、もし発見しましたら、おそらくログインは不可能ですがログイン前のページは見られます。それでも十分かっこいいです。

お見せできる仕事としては、PHP と社内の API の勉強がてらに作った、すごーく小さいサービスが、近日中に公開される見込みです。タブンネ。別に大した工夫もなく、べたーっとした実装なのですが。お見せすると言っておきながら、きっと僕の作った部分は目に見えません。ふしぎふしぎ。

これから何の仕事をするのよ

わぁいPHP あかりPHP大好き

割とまじめに言っておくと言語に貴賤はないですし、ちゃんと勉強すれば僕にもいける感じだと思ひます。たぶん… きっと……!

働いてから思ったこと

すごく国際的といふか多国籍といふか、そんな趣きのある会社です。英語が公用語ってほどではないのですが、英語が話せないとコミュニケーションに差支へのあることもありますので、ちゃんと勉強したいところ……!

さういへば、いまのところ自分と同年代の人と働いた経験が皆無だったので、いつもすぐ近くで同年代の人とコミュニケーションがとれる環境はすごく楽しいですね……!

なんか「英語で会話してる横でわかったようなわかってないような顔をしてにやにやしてる」のが僕なので、会話に参加できるときっと楽しいです。

これからやりたいこと

  • 幸せになるために .emacs をちゃんとする
  • 幸せになるために会社の近くに引っ越す
  • 幸せになるために茸を捨てて庭に帰る
  • 幸せになるために Android を捨てる
  • 幸せになるためにサーバを一台組む
  • 幸せになるために SICP をちゃんと読めた暁には餘勢を駆って TaPL まで読んでみたい (死亡フラグ)

がんばります。僕は幸せを手にします。おちんぎんが出るまで幸せは遠い感じもしますが。あと PHP と英語。

自宅警備してたときに考へてたこと

自分には何ができて、何ができないのかをよく把握しよう努めて、それを補ふためにがんばらうとしてました。思考法としてはともかく、それを理想通りに実践できてたかと考へると、おそらくできてないです。

全てのハックはももんがに通ず

ももんが Advent Calendar 2012の四日めです… ヾ(〃><)ノ゙

コンピュータの得意な方は、コンピュータともももんがと関係の無い事を、コンピュータの得意でない方は、ももんがとは関係無くコンピュータに関する事を書きましょう。ももんがと関係の無い事は、要するにももんがに関する事です。

ももんが Advent Calendar 2012 - c4se記:さっちゃんですよ☆

なるほど、僕はさっちゃんにしてやられたといふわけだ。コンピュータが得意でない僕は ももんがとは関係無くコンピュータに関する事を書 くしかないじゃないないか。全ての道はローマに通ずるのだ。

だが困った。コンピュータに詳しくない僕に、いったい何が書けるといふのだ。コンピュータに詳しい者はハッカーと呼ばれると、コトワザにもあるではないか。ふむ。ハッカーについて書けばコンピュータについても書いたことになるのではないのか。

ハッカーとは何か? 「テンサイ級・ヤバイ級にコンピュータに詳しいワザマエを持つタツジン」をハッカーと呼ぶのだ、と主張する人も居る。しかしそれは違ふのではないか? お前は ブラッディ・マンデイ を読んでないのかよ*1

曰く、主人公のタカギ・フジマルはテンサイ級の能力を持つ凄腕ハッカー『ファルコン』であるといふ。彼はどんなコンピュータにでも難無く侵入できるスキルを持つといふ。では 侵入とは何なのか?

まづ初めに、目の前にある機械(それはUNIXマシンかもしれないし、携帯IRC端末であるかもしれないが)は、単なる計算機に過ぎないといふことに留意する必要があるだらう。つまりは電卓の化け物だ。それは計算能力的には副作用のない、入力に対して演算を行って一定の出力を返す純粋な機械でしかないのだ*2

計算機への入力はUNIXマシンの前で坐禅を組み精神統一してキーボードを叩くべし、と心に決めてゐる者もあるかもしれないが、実際にはLANケーブルを通じて遠隔地にあるUNIXマシンにIRCログインすることもできる。しかしハッカーは、あなたに代って遠隔UNIXマシンにログインしてしまふこともあるのだ。それが「侵入」である。インガオホー!

では、いかにハッカーはあなたのUNIXマシンに侵入するのか? ひとつにわかりやすいものとして、あなたのログイン名とパスワードを盗み出すことだ。そのハッカーとは、あなたの兄弟であるかもしれないし、夜には熱く前後する仲の恋人であるのかもしれないのだ。サツバツハッカーのワザマエにしてニンジャめいたこの技術を、人はソーシャル・エンジニアリング・ジツと呼ぶ。

次に、セキュリティホールを突きユーザの権限を奪ってしまふ方法だ。IRCの仲間がメッセージを通じて、便利なソフトウェアを送ってきてくれるかもしれない。ブッダシット! それはハッカーの狡猾な罠なのだ。あなたのUNIXマシンで起動されたプログラムはデータをハッカーの元に送り、あまつさへUNIXマシンの上であなたのキーボード入力を、そしてパスワードの入力を盗み続けるかもしれない。備えよう。

以上、平安時代の哲人剣士、ミヤモト・マサシのハック戦術書よりの抜萃。石にも仏性があるが如く、ももんがは斯くにも Hackable な概念なのである。

マッポーの世である現在ではユーザとパスワードのみで認証するのはあまりにもウカツなことであり、そのようなUNIXマシンを設計した担当者=サンは上司にセプクを強要されるかもしれない。少くとも指を数本ケジメされることは覚悟することだ。

*1:たっどさんは読んでないって言ってました

*2:現実にはハードウェアの環境や劣化破損、またはその他の物理的影響によって「常に」一定とはいかないが、この場では措いておく

おめが Advent Calendar 2012 3日目

こんにちはこんにちは。ぞぬさんです。2012年も、指折り数へるところまできてしまひましたか。 おめが Advent Calendar 2012。本日が3日めです。前日は @おめが Advent Calendar 2012 2日目 - あんパン でした。

おめがといへばあのこにくたらしい Schemer で、奴が東大生だといふ噂が流れたときはうっかり信じてしまひましたが、中学生軍団のオフ会に空気を読まず押し掛けた体験が幻覚でなければ、やはり相応の中学生でした。イケメンだけどな。

このおめがといふしゃもじは僕の100倍くらゐプログラミングに詳しく(誇張なし。たぶん)、 技術欲男 といふなかなかためになる blog を書いてゐて、さらにためになる記事をフィーチャーしてみようとも思ったのだけれど、めんどくさくて飽きた。 各自で読んどけ

最近ぐぐったら辿りついた Gauche「rlwrapとGauche-readlineの違い」 - 技術欲男 で知った rlwrap は便利すぎて惚れた。

どうやら記録によれば、どこからか RT されてきたらしいこのついーとを読んで僕はおめがをフォローしたんじゃないかって感じがしますね。僕の方からは最初から Lisper だと思って近付いたといふことか……。

どうしてこうなった… と思ったけど、 別のソース をあたってみると僕もそんなに頻繁には「垢消せ」とは喚いてないですね><

さーて、次回の垢消し Advent Calendar 2012の担当は… もう一回 @ ?

最後に

クソが*1

*1:って書いておかないと締まらないんじゃないですかね…

近況のお知らせ

どうも、童貞です。自宅警備業を離職しました*1。いや、アルバイトなんですけど。

新しい職場は [ピー] クシブ株式会社です。いとお先輩の居る会社*2ですね。いろいろと縁がありまして。

2011年6月から2012年6月までは学生や自宅警備業の傍らでクロストラスト株式会社にアルバイトとしてお世話になってました。 id:nakayoshix さんがいらした会社です。クラウド的な仕事をしてた気がします。こちらではちょっとしたツールみたいなものは Python で書いてました。 Linux スーパー初心者だった僕がスーパー初級者くらゐにはステップアップできる機会をいただきまして、たいへんありがたいことでした。 SSL のご用命がございましたらクロストラストまでどうぞ。うさみさんの名前を出したらちょっとくらゐは安くしてくれるかもしれません。してくれないかもしれません。

2012年6月から2012年7月は専業自宅警備任務に従事してました。いま思ふとあんまり身になってなかった気がしますね><

2012年8月は東京をぷらぷらと放浪したりしてました。某キャンプの最後に遊びに行ったりもしました。案外生きてけるもんでしたが、最後は風邪をひいて命からがら帰ってきた感じです>< 無計劃窮ってまして、自宅近くのバス停まで来たときには財布の中身と預金残高の合計が1000円を切ってたのでおそろしいことです……。似た経験は3度めですね>< *3

2012年の9月と10月は東京に引っ越してきまして、上野の方で生活してました。某海鮮丼の会社さんからお仕事を紹介いただきまして、こちらでは Ruby 的な、 Rails 的なお仕事に従事して居りました。短い間ではありましたが、たいへん勉強になりました。

……といふわけで2012年の11月は頭から自宅警備業に従事する傍らで積み本崩し業とやる夫スレタブ消化 *4 に専念してたのでした。

実際のところは、こちらに雇っていただけるか否かと怯え暮らしてたのですが><

るびー初心者歴の長い童貞ですが、がんばって働きますのでコンゴトモヨロシク… Asakusa.rb とかに来れば僕と握手できます! たぶん!

コマンドラインで乱数

どうも、自宅警備員です。

コマンドラインからささっと乱数を生成したいときにべんりかもしれないシェル函数Rubyワンライナーを書いたので宣伝しませう*1。シェルは Bourne shell っぽいやつなら sh でも bash でも dash でも ash でも、そして zsh でも大丈夫ですね。

使ひ方は、一番お手軽には $HOME/.bashrc とか $HOME/.zshrc の最後の方に書き足してやるのが良いですね。ほんとは . / source コマンドで読み込んでみるのが良い気がします。

rand

えっと、一往ここにもコード載せますが、 Gist の方が最新である可能性が高いですね。

要するに RubySecureRandom を叩いてるだけなので、Ruby のドキュメントとシェルスクリプト本文を読むのがてっとりばやい気がします!

rand () {
    a=$1
    b=$2
    type=random_string
    len=10
    post="cat -"
    chop="sed -e s/.$//g"
    case `echo $a | tr '[:upper:]' '[:lower:]'` in
        "")  a=$type; b=$len ;;
        ba*) a=base64        ;;
        f*)  a=random_float  ;;
        h*)  a=hex           ;;
        b*)  a=random_bytes  ;;
        u*)  a=uuid          ;;
        s*)  a=random_string ;;
        n*)  a=random_number ;;
    esac
    if test "$a" = uuid
        then type=uuid; len=''
    elif test "$a" = random_float
        then type=random_number; len=0
    elif test "$a" = random_string -o "$b" = ""
    then
        type=hex
        test ! "$b" && l=$a
        if test "$b" -gt 0 2>/dev/null
            then l=$b
        fi
        len=`expr $l / 2`
        mod=`expr $l % 2`
        if test "$l" = 1
            then post="$chop"; len=1
        elif test $mod = 1
            then post="$chop"; len=`expr $len + 1`
        fi
    elif test "$a" -a "$b"
        then type=$a; len=$b
    elif test "$a"
        then len=$a
    fi
    ruby -rsecurerandom -e "puts SecureRandom.${type} ${len}" | eval $post
}

どうせ一回は ruby を起動するんだから全部 Ruby で書きゃ良かったんじゃないかって気もなきにしもあらずなのですが、単純なものならシェルスクリプトもお手軽に書けて大好きです。

rand とだけ叩いてやれば10文字のそれっぽい文字列が出てきますし、 rand 20 と叩いてやれば20文字で出てきます。 rand float とか rand f とか書いてやれば、1未満の浮動小数点数が出てきます。 rand byte 10 とかやると10バイトのバイト列が出てきます! その他はコード読んでください!

*1:ただし最後にアップデートしたのは21日前…