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

macでのperoの設定

blog.kazuhooku.com こちらのツールが非常に素晴らしかったので周りの人に紹介するために書いてます。 本日時点だと以下の手順を踏まないとつかえません。 そのうち、peco本家が対応するとは思いますが、周囲に広めたいので書き残しておきます。 5.0以上じゃ…

agでファイル出力時もterminalと同じように閲覧したい

agことthe_silver_searcherをterminal上で使用した場合以下のような形式で出力されます ag isatty src/options.c 355: if (!isatty(fileno(stdout))) { src/print_w32.c 50: !isatty(fileno(fp)) || これをファイルなどに書き込んだ場合、ファイルパスが先頭…

Goで読んだ本-とある同僚からの相談

この記事は Go (その2) Advent Calendar 2016 - Qiita の 18 日目の記事です。Goを始めるにあたり、皆様はどうしているでしょうか? A Tour of Go Packages - The Go Programming Language Command Documentation - The Go Programming Language The Go Prog…

言語間に寄るsplitの仕様の差異

たまたま、goで書かれた物をperlへ移植しようとしていたらsplitの挙動の差が出てきまして、他の言語の場合どうなるんだろうとぱっと思いついた言語で実行して見ました。以下の文字列を言語標準でついている文字列のsplitを実行した結果となります。 "/path/t…

node-nopasteを作りました

npm installで手軽に入るnopasteが欲しかったので作ってみました。 npm installでよほどnodeのバージョンが古くない限りは入るはずです。 defaultの挙動がonmemoryなのでserverを落とすとそのままデータが消えます。 nopaste本来の役割が一時的なデータの保…

hubot-karma-simple version up 0.1.4 and bug fix

先日npmにあげたhubot-karma-simpleですが再起動でデータが消える挙動が有りましたのでversion0.1.4にて修正いたしました。hubot-karma-simplewww.npmjs.com

hubot-karma-simpleを作成しました

最近はbotを作るときはhubotというフレームワークを使用するのが一般的らしいです。例にも漏れず私の周りでもhubotを使用するようになりまして、独自実装されていたbotで泳いでいたkarma botもお役御免になったのですが新しく投入されたkarmaさんが従来型に…

URI::QueryParamのquery_paramよりquery_param_appendを使用した方がいい理由について

URI::QueryParam - Additional query methods for URIshttps://metacpan.org/pod/URI::QueryParamperlにはURI::QueryParamというモジュールがありまして、URIモジュールだけだと 届かない痒いところに手が届くことをしてくれるモジュールです。例えば、uriか…

coreutilsに何が入っているのか

いいコマンドがないか調べ物をしていると、それXXがあるよいわれ、更にそこからたどっていくとcoreutilsに入っていたというパターンにやたら遭遇するのでcoreutilsに何が入っているかを確認してみました。環境はUbuntuの14.04です。apt-get source coreutils…

vimでperlを開発するための最小限の設定

必要最小限でvimでのperl開発(utf8)するのにどんな設定渡したらいいかなと考えてまとめてみました。 多分これでいけそうな気がしてる。(要検証)これを作成した過程で不要な設定などいくつか自分の環境における不要な設定が発見できたのはよかった。代表的な…

TimSort

PythonのsortアルゴリズムがTimSortだと今知った。perl,rubyがマージソートだし(Rubyは多分)Pythonもマージソートだろと思っていて驚いた。 参照 http://perldoc.jp/docs/modules/sort-2.01/sort.pod http://research.preferred.jp/2011/10/tim-sort/ 追記 T…

コーディング規約について

コンピュータ言語にはコーディング規約という、コードを書くときのルールのようなものがあります。 割とそういうものがあること自体は知られているのですが、自分自身はPerlのPBPが出たときに読んだぐらいで実際には、公開されている割とメジャーなソースコ…

Scalaで中規模のプロダクトで参考にしたいものを探したかったので抽出してみた

言語習得をしようとした場合、ある程度のところにきたら参考にしたほうがいいと思われる現実に動いているコードを見たくなります。ところが門外漢の場合はその分野はよく分からないので非常に探しづらいです。探せても、ものすごく規模の大きいコードだった…

Diagrammixを購入してみました

Diagrammixというフローチャート、ダイアグラム、そしてUMLを簡単に作成出来るツールを購入してみました。個人的にはUMLモデルを作成出来る点も大きかったです。使い方も割と直感的で使いやすいので今のところ好印象です。DiagrammixDeep IT Proグラフィック…

異常に首と肩がコル原因がリュックだった

首と肩のコリ解消のために新しいPCリュックを買いました。中身を古いリュックとすげ替えて背負っているのですが体感的に半分以下に感じるぐらい負担がへりました。(カリマー) karrimor デイパック イクリプス 27 Eclipse 27 ブラック リュックサックメディ…

空気を読むということについて考えてみた

もともと空気を読むということ自体が察するとか言外のものを読み取ることを言うとは思うのですが、たとえば武術であると師匠の意を察するということを生活や武術を通して知ることで物の真意を悟ったり考える力を養成することにより読む力を得たりします。こ…

「脳の強化書」を読んだ

タイトルの示す通り脳を強化するための指針を示した本です。脳を思考、感情、伝達、理解、運動、聴覚、視覚、記憶といったエリアに分けその部分を鍛えるためにどうすればいいのかいう方法を具体的に示しています。特殊な何かをしなければいけないわけではな…

記事と労力と当たり方についてかんがえてみた

労力をかけた割にまったく読まれない記事と手を抜いたのにやたら読まれる記事があります。起きている現象とどちらの記事もちゃんと読めるものだという前提に立った場合に何でそういうことが起きてるのかなと言うことを考えたんですが、おそらく記事の濃さに…

open systemcallに対するメモ

open systemcallによって何がおきるのか? open systemcallを発行すると、read(2),write(2),lseek(2),fcntl(2)などで使用されるファイルディスクリプタを返します。ファイルディスクリプタ自体は非負の整数で"その"プロセスが現在openしてない最小の値が返り…

電子書籍版がない場合の技術書の読み方

最近はオライリーや達人出版等、そしてKindleもかな。技術系の電子書籍が増えてきて読むのがたいへん楽になってきたんですけど、やはりまだまだ電子化されてないもので分厚くて重要な本が多くそれらを読むのは大変置き場に困ったり体力を無駄に消耗したりす…

「オブジェクト指向プログラマが次に読む本 Scalaで学ぶ関数型入門」を読んだ

基本的に関数型言語もScalaもJVM言語も初心者なのでその前提で書かせていただきます。Scala興味なくても関数型と並列に興味がある人なら必要最低限の情報がうまく俯瞰できるようになっていて非常にいいです。関数型プログラミングの基本概念の副作用、単一代…

楽してgitignoreを得る方法

何かのプロジェクトを始めるたびに、.gitignoreを作ったり、他のプロジェクト見つけてきて移植するのが毎回面倒でした。最近楽する方法を2種類ほど見つけたので紹介します。 github.com/github/gitignore githubが提供しているgitignore集ですね。 自分に合…

エナジーチャージキャンディが販売終了していた

こちらのエナジーチャージキャンディという物が疲れたときに頼りになるので箱買いしてたのですがいつの間にか販売終了していました。(売れなかったんですね)カバヤ エナジーチャージキャンディ 80g×6袋出版社/メーカー: カバヤ食品メディア: 食品&飲料この…

英文から単語帳を作成するやつをつくってみた

デ辞蔵Webサービスというものをがありまして、こちらはAPI経由で辞書データが使えるサービスらしいです。 デ辞蔵 オンラインでもオフラインでも使える電子辞書 デ辞蔵 オンラインでもオフラインでも使える電子辞書 Google自動翻訳は便利だけどほしいものは英…

ScalaMaturi2014に参加してきた

感想としては、Scala楽しそうですね。 良かった点 お値段がカンファレンスとしては高すぎず助かった。 出てきたお弁当がそれなりにいい物で美味しかった 長丁場なのでお菓子とか水が飲み放題なのは助かった。 空調とか音声周りの対応が早かった。 講演内容が…

macで使ってるmarkdown viewer

メモ書きをmarkdownで作成したり残したりすることが多いのだけど書いてる最中に綺麗に表示してくれると脳味噌的に助かるのでviewer欲しいなぁと思って探してたらharoopadというものを見つけて割といいです。 方言とか選べない いま自分が編集してる部分に集…

何してるのか?

最近プライベートだと仕事とは別の言語使っていることが多い。それはまあ別のことがやりたかったり、読みたいプロダクトが別の言語だったり色んな理由があるんだけど、とてもしんどい。自分の好きな言語で好きなことしてるのになんでこんなにしんどいのか、…

わかりやすい発表とはどんなものなのか?

つい先日カンファレンスにいって何件か発表を見てきました。どもれ素晴らしい発表でしたが、私の不勉強と認識の問題が大きいかと思いますが、分かりやすいプレゼンとわかりづらいプレゼンがあってなんでだろうな?と考えてしまったのでちょっとメモしておき…

正しくレビューをするということが難しいのはなぜだろうか

システム開発をしていると、大体において開発した物に対して識者からレビューという物が発生します。非常にわかりやすく言うと、できあがった物が適正かどうかを判断してもらうわけですね。ところがこのレビューという物、適切に行うのは非常に難しいのです…

openされたファイルとunlinkについて

tmpfileの挙動でオープンしたと同時にunlinkが発行されて後始末をしなくていいという話だったんですが具体的にどういう挙動なんだということが気になりまして調べてみたら、unlinkはファイルシステム上の名前の削除で、さらにどのプロセスもファイルをオープ…

tmpfileについて調べたこと

Linuxにおいて大体何かを組んでいると一時的に何かに保存したいとかメモリ食べたくないとか様々な理由で一時的なファイルを作成すると思います。一時的なファイルを作成すること自体はそこまで難しくなく/tmp/以下に好きな前をつけて扱えばいいと思うのです…

なんていうか

会社とかで長く生き続けるメンテしづらくてパフォーマンスでないコードのことだと思うけど、くそコード連呼されるのをみてて思うのは、死ぬ気でその集団を守ってきた老兵にその集団で生かされてきた若造が唾はいているようなものにみえて、おまえがそこまで…

3年たったのでかいてみる

正直、震災を忘れたい人もいるだろうからこの日のメディア震災一色はどうにかして欲しい気がする。被害地にいたわけでもないし間接的に関わっただけでも割としばらくの間は精神的にしんどかった。当事者の方々はどう思ってんのかは計り知れないし、どこに直…

ぎょっとしたこと

合気道の開祖である植芝先生はよく「教わったことは忘れろ」といったたぐいのことをよくおっしゃられていたようです。実はこれ分野違っても囲碁でも「定石は覚えて忘れろ」みたいな言葉があったりします。自分なりの解釈としては体に覚え込ませて意識しない…

Rubyの入門書でいいものを知りませんかね?という質問に対してどう答えるべきだったか?

Rubyの入門書でいいものが欲しいという話がちらっと流れてきて、親切な人たちが多い集まりなので、鉄板?であろう「プログラミング言語Ruby」からはじまり「メタプログラミングRuby」、そしてるびまの「Rubyの歩き方」はてはRHGまででてきた。プログラミ…

YAPC 2013年を終えて

まずは、スタッフ関係者の皆様本当にお疲れ様でした。今回レポーターと言うかたちで参加させていただきました。毎年、気がつくと上がってくるgihyoのレポート記事は小人さんが動いているわけではなくてメンバーに登壇者が多く非常に忙しい中で発表の内容をき…

perlのhash randomizationに対する勘違いをしていた

perlの5.18からhash randomizationが導入されるとのことで、同一hashに対しても毎回keys,values,eachをやるたびに結果が変わるんだろと思ってたんですが、hash sliseを行った場合なんかやってもちゃんと動作します。 use strict; use warnings; use Data::Du…

p5_Cnsffcfでservice情報をまとめてかけるようにした。

設定ファイルの中に重複記述が多すぎるのでservice情報をまとめるように変えました。 --- host_and_groups: load_balancer: - PING cache-01: - PING services: PING: check_command: check_ping!100.0,20%!500.0,60% service_description: PING https://git…

crontabで設定しても全く反応しない原因はcrondが停止していたことだった

cronが動かないなーって悩んでて、 スクリプト直に叩いても動くし/var/log/cronみてても読み込まれてるし、 意味が分からなくて、statusしてみたら。。。 /etc/rc.d/init.d/crond status crond は停止しています 勘弁してください。 止まるもんなのかこれ。。…

agの--ackmateというオプションは何なんだ

agには--ackmateというオプションが存在しててつけるとこんな感じで出力されるわけですが、なんかのformatぽいんだけどなんだこれ。事前準備 git clone git://bogomips.org/unicorn.git cd unicorn ag USR1 t/t0006-reopen-logs.sh 24:t_begin "send reopen …

agでの色設定オプションとちょっと調べたこと

このhelpで出てくるDefault 1;33という表記が気になったのでメモ。 ag --help --color-line-number Color codes for line numbers (Default: 1;33) --color-match Color codes for result match numbers (Default: 30;43) --color-path Color codes for path…

%SIGとkill -lでそれぞれ登録されているシグナル

kill -lで一覧が見られると言うことで%SIGもだしてやればみられればおもしろいかなとおもってだしたんだけどググってもひっかからん。。 %SIG perl -e 'print join " ", keys %SIG' NUM63 TRAP NUM42 URG STOP NUM39 NUM62 NUM43 USR2 NUM57 NUM56 RTMAX NUM…

Cowの確認

fork(fork(2))したときに親プロセスのコピーとして子プロセスを生成する。ただ、メモリ上の内容をすべてコピーするのはもったいないのでCowって仕組みがあるんだけど、これ子プロセスのほうで内容書き換えたらアドレスがかわるかなと思ってたんだけどかわら…

nginxでdebug情報を出させたいときの設定

nginxで調査等してるときにもうちょっと細かいアクセス情報とうみたいというときは下記のようにerror_logの設定の末尾にdebugを追記してreloadするとこれでもかというぐらいdebug情報をはいてくれます。(ちなみにdebugオプションをつけてコンパイルしないと…

p5_Cnsffcfでグループ単位だけじゃなくて特定のホストにたいしてもルールを適用できるようにした

server_list.yamlにだけ依存して設定したかったんですが特定のホストだけこの設定をしたいという要求もあるだろうなということに気づいて、グループ単位だけじゃなくて特定のホストにたいしてもルールを適用できるようにしました。rules.yaml --- load_balan…

CloudForecastのserver_list.yamlを元にNagiosの設定ファイルを生成するやつを書いてみた

監視系を手動でポチポチポチポチポチポチポチポチ追加するのが非常に面倒になってきましてNagiosは設定ファイルから監視対象追加できるからどうせCloudForecastでモニタリングをすることは確定しているのでじゃあこっから生成してやれば漏れもなくなるし楽で…

perlでMongoDBの簡易的なviewerを作ってみた

MongoDBはメモリ食べたりメモリ食べたりして運用の方々に煙たがられている感じがしていますが、開発環境において開発者以外の方にログや開発に必要なデータをリアルタイムに見せてあげる用途としてはわりと使えるんじゃないかと思っていてとりあえずいじられ…

rubyで動的にクラス名を使いたいときはObject.const_getつかうらしい

perlで動的にクラス名を決めたいときはこんな感じに突っ込んで呼び出してやるといけるんですけど、 use strict; use warnings; package Hoge; sub hello { print "hello\n"; } package main; my $str = "Hoge"; $str->hello(); これ、rubyで同じことやろうと…

「Perl をゆるふわと語ろう」という趣旨のチャットルームがあるのでいってみるといいとおもいます。

Perl ユーザといえば IRC で囲ってるイメージがありますが実はそうではなく、単にシャイなだけなんです。(要出典) Perl をゆるふわと語ろうというチャットルームが Lingr に出来たので、Perl に興味のある方は参加してみてはどうでしょうか。 Perlの話題を日…

perlのLWP::UserAgentでshow_progressを使うと経過がみえて便利

LWP::UserAgentはいろいろ便利なメソッドがついてるんですが、その中にshow_progressというメソッドがついていましてこれは取得するまでの途中経過を表示してくれるんですね。たとえば、すく例ピングなりproxyサーバーとか作ったときに、特定のサイトだけリ…