コンピュータやソフトウェアのあれこれ@道民(&元道民)
日記
Hokkaido.pm#7のおまけのお話
5月 13th
毎回恒例の一人反省会の模様です。
まず、良かった点
2次会で名刺入れがポケットから半分出てて、
それに気付いてリュックにしまったことですね。
こうやって、落とし物するのかーって思ったのと、
これ落としたらシャレにならないっす。
以下、反省点
まず、LTはリハ不足が露呈しまくりちよこで猛省しております。
もう少し流暢(りゅうちょう)にお話したかったです。
それと、普段は手元にiPhoneを置いて、ストップウォッチを表示してたのですが、
今回は普通に忘れてました。
でもって、(ペース配分が分からないので、)開き直りました。
独り言
個人的には、WAFっていうテーマは良かったと思うのですが、
そんなに需要なかったのかなぁー。
CUIのツールとかもっと需要ないのかなー。
あと、Mojoのアレ良かったですよね、北海道の現状に即してた気がします。
それと、フリーランスに関するお話も聴けて、大変ためになりました。
いわゆる、人生相談ですよね。
ちょっと、オンとオフを切り替えることにこだわり過ぎてた気がします。
っていうのも、前の会社を辞めたのが8年くらい前で、
そのときにPerlだのPHP(*1)を少しだけ勉強したんですが、
結局、ずーっとオフのまま、なーんにもせずにニートしてて、
今でも家に帰ってきたらオフに切り替えてウダウダしています。
そんなんだから、どうやったらオンに切り替えられるのか心配になって、
例えば、書斎に入ることでオンに切り替えれるのでは?みたいな感じで、
書斎が欲しい!って悩んでいた訳ですが、プーになったらなったで、
もう少し柔軟に対応したいなーって思うようになりました(*2)。
なので、まずは寝っ転がりながら、Dancerのドキュメントでも見て、
デプロイの方法を勉強をしたいと思います。
おしまい。
(*1) PHPは、それ以来、数年前にwikiのpluginを拡張した程度
(*2) プーになる予定はないけど、間違いなく社会不適合的な意味で予備軍
Hokkaido.pm#7に行ってきました
5月 13th
今回はJPA様のご協力で、riywoさんが来てくれました。
まずは、みなさんお疲れまでした!
JPA++
riywoさん++
WAF再入門ということで、個人的にうれしい内容でした。
あと、捗る系(運用系)の話は新鮮でした。
Amon2(akiymさん)
相変わらず、高校生とは思えない内容でした。
最終的に、KENT WEBのBBSがplackupで動いてました。
Dancer(aloelightさん)
use Dancer;するだけ!とか、ファイルの最後にdance;とか、
オシャレだなーって思いました。
Deploymentに関するドキュメントがあるのは、個人的にありがたいです。
Mojolicious(jamadamさん)
Mojoは、ほんとにお手軽なんですね。
モジュール群をuseするとか、いろいろ便利ですね。
Ops Tools with Perl(riywoさん)
捗る系(運用系)のお話でした。
オペレーションエンジニアが抱えている作業だったり、
運用に関するお話が聴けて、すごくありがたかったです。
まとめ
WAFについては、あまりしっかりとした知識を持っていなかったので、
今回の勉強会はとてもありがたかったです。
あと、VPSを借りている以上、運用周りに関する知識は必須なので、
そういった意味で、運用系のお話はとてもありがたかったです。
あとは、手を動かして、デプロイしてですかね。
この辺は、Hokkaido.pm Casualでカバーしたいですね。
あと、自分もLTをして、音を出しました。
スライドはこちら。
それから、スープカレーですが、
最近だと、Chutta(チュッタ)かなー。
GARAKUもYellowも捨てがたいですけどね!
という訳で、今回もどうもありがとうございました!
おしまい。
MTの構築はじめました
5月 5th
まずは、MTOSを使って、MTを始めてみました。
まず、htmlとcssをDreamweaverを使って、なんとか形にします。
幸い、このDWが手元にあったので、昔を思い出しながら作成しました。
次に、MTOSをインストールして、テンプレートを編集します。
主に”index.html”の中身を差し替えて、「HTMLヘッダー」だけ残しました。
cssは自分が用意したものを追加してインポート。
で、肝心の中身ですが、もちろん工事中の旨を表示。
一応、気になったのでメモ。
encode_html="1"
が、出てきたんですが、意味が分からないし、検索しても出て来ないし・・・。
やっと、見つけました。
これ、グローバル・モディファイアって言うんですね。
これがあると、テンプレートタグの置き換え時にエンコードしてくれるそうです。
例えば、”<"とか">“を、”<”とか”>”にしてくれます。
なるほどねー。
おしまい。
Audio::PortAudioを使ってみる
4月 30th
もう挫折しそう、CPU負荷的な意味で。
まだ、調査してる段階なんだけど、
AnyEventを使っての非同期処理を組み合わせるのは、どうやらうまくいかなくて、
Audio::PortAudioがシグナルを使ってるから、その辺は諦めることにした。
だったら動的にメロディーでも生成してみよっかなーって思って、
例えば、16分音符の刻みで何かしようと思ったら、
処理がおっつかないことになってた。
結局、音を鳴らすっていうのは、
用意したバッファをDAC(デジタルからアナログに変換)しながら出力して、
出力済みのデータ数だけ補給してあげる処理を延々と繰り返すんだけど、
補給が間に合わないとノイズだったり、意図した音がでない訳で、
これは最適化の出番か?みたくなっちゃう。
これ自体は、大した問題じゃないんだけど、
これに対して何か解法はあるのか?と言われると、
今のところあまり手がなくて、適当にuse integer縛りで書くくらいしか。
別にそれでもいんだけど、メモリの使い回しみたいのが出来るのかも含めて、
丁寧にやらないと面倒くさいなーっていうのが正直なところ。
んー、だったらWAVEファイル出力止まりなのかもねー。
おしまい。
「色のユニバーサルデザイン」
3月 29th
ぶっちゃけ、本の紹介なんですけどね。
「色のユニバーサルデザイン」
グラフィック社 (財)日本色彩研究所 (著), (社)全国服飾教育者連合会 (監修)
とは言うものの、感想は最後に。
では、昔話の始まり、始まり。
前に居た会社にデザイン課があって、そこにいた女性がこの手のことに詳しくて。
詳しいといっても、学生の頃に専攻してたとか、なんとか。
それから、少し気になっていたのですが、
最近だと自分も怪しいので、買ってみることにしました。
飛蚊症は、あまり色には影響ないみたいですが、まぶしいのは苦手です。
まぶしく感じるのも老化みたいですね、ちょっと悲しいです。
そんなこんなで、ちょっと他人事には思えないし、せっかくなので紹介します。
内容は、色弱者から見ると、どのように変化するのか?
それに対して、どのような解決策があるのかが書かれています。
フルカラーなので、とても分かり易いです。
液晶ディスプレイの機能に、こういうのがあった気がしますが、
今回、はじめて目の当たりにして、いろいろ学ぶものがありました。
これを読んで思い浮かんだのは、外観を変更できるアプリの配色を考えるときに、
こういうのを参考にした選択肢があると良いなーって思いました。
エディタのプリセットにも、そういうのがあると良いですよね。
おしまい。
SSLのwebページにPOSTしても値が渡らなくなった話
2月 2nd
やあやあ。お仕事の山がひと段落して昼寝していたら怒涛の不機嫌な電話で叩き起こされた僕様ですよ。こんにちは。
SSLのwebページでフォームの値をPOSTで取得しようとしても値が取れないという謎事象。ついでにCSSが取れない、と。検索してもあまり情報当たらなかったから、メモだけ書いておきます。同じことで困った人いたら参考になれば。
環境
- apache 1.3.41 mod_ssl 2.8.31-1.3.41 openssl-0.9.8b
- 色々事情があって上げられないのです察してください
事象
- chrome/IE8 SSLのページでPOSTしてもPOST値が渡らない
- firefoxは大丈夫
- POSTリクエストの直後のGETリクエストが失敗する。apacheのerror_logを見ると、次のようになっている。
Invalid method in request hoge=&fuga=&…. GET /css/nantoka_base.css HTTP/1.1
推察
- この例だと、CSSにPOSTリクエストのパラメタを渡そうとしてしまっているが、CSSファイルはPOSTパラメタなんて受けないので、invalid methodと言ってる気がする(httpd.conf次第だけど)
- 原因はSSLの脆弱性対応でブラウザの動作が変わったこと。POSTデータの投げ方が変わった。このリクエストは受けられない方が標準から外れている。参考リンク
- httpsでバウンダリ文字列が分割されてpostされる (google groups forum)
- https ではじまる Plesk にログインできません。 (google groups forum)
- 通信を保護する「SSL/TLS」の脆弱性を突いたhttps攻撃、研究者が発表へ (セキュリティーホールmemo)
- MS12-006 SSL/TLS の脆弱性のちょっと詳しい解説 (Microsoft 日本のセキュリティチーム)
- たぶんこの、分割してPOSTっていうのに対応できてない。splitting とか fragment とか、その辺がキーワードっぽい。
対策
- chromeのフォーラムにあった「chrome に –
disable-ssl-false- startを付けて起動」を試してみたところ、期待通りの動作になったので、この問題で間違いなさそう - 可能ならApacheとかopensslとかその辺を新しくしちゃえばいい気がする
- やんごとなき理由により出来ない場合(だった)、Microsoftさんの記事の対策が僕の場合は参考になった
- サーバー側で RC4 を優先するよう設定する (Windows Server 2008, Windows Server 2008 R2)
- TLS 1.1 を使用する
- 今回はIE6を捨てられないので RC4のみを使えるようにapacheを設定したところ回避できた。以下のブラウザとりあえずOKぽい
- chrome 16.0.192.77
- IE 8.0.7601.17514
- Fx 3.6.16
- IE 6.0.2900.5512.xpsp_sp3_gdr.080814-1236 (@WindowsXP)
謎のメモ
[root@hagehgae conf]# openssl ciphers -v 'ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:-SSLv2:!AES:!3DES' DHE-DSS-RC4-SHA SSLv3 Kx=DH Au=DSS Enc=RC4(128) Mac=SHA1 KRB5-RC4-MD5 SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=MD5 KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1 RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1 RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:-SSLv2:!AES:!3DES
ほか
- たぶん Lotus Notes も同じ対策ぽい
- みんな困ってない?こんな古いの使ってないって話かな
- もし誰かの役に立てばということでまあご容赦を.
- てか、とりあえずのワークアラウンドとしてはこれでいいと思うんですが、抜本的対策法(ARCFOURに絞らない)をご存じの方いらっしゃったら教えてください。
プログラミング作法
1月 11th
ASCII Brian W.Kernighan, Rob Pike, 福崎 俊博 訳
「プログラミング作法」
今日は、感想じゃなくて思い出を語ろうと思います。
この本はたしか、プログラマ駆け出し時代に買って、
今は無きオシャレなカフェで読んだ本です。
初めてカフェで本を読むという記念すべき日だったかもしれません。
で、この本ですが、言わずもがなの名書ですよね。
これ読んでないヒトと仕事したくないレベルですよね。
書いてある内容は基本中の基本デス。
自分が口酸っぱく発する内容は、大抵これに載ってます。
そもそも、なんで思い出を語ってるのかですよね。
何の気なしに本棚から出して来て、パラパラをめくってみたんです。
そしたら、最近考えてること、伝えたいこと、そして口にしてること、
それらがちゃんと文章でまとまってるじゃないですか。
こりゃ読み返さないとバチが当たるな、と。
そんなこんなで、初心に帰ることにしました。
ぜひ、あの頃に帰る手段として読み返してみては如何でしょうか。
あと、こちらもお忘れなく。
Cプログラミング診断室
おしまい。
FizzBuzzをやってみた
12月 16th
気分転換にやってみたので晒します。
3で割り切れたら”Fizz”、5で割り切れたら”Buzz”、
両方で割り切れたら”FizzBuzz”、
いずれでもないときは数字を表示するアレです。
use warnings;
use strict;
use integer;
foreach my $i (1..100) {
if ( calc_remainder_u08($i, 3) == 0
&& calc_remainder_u08($i, 5) == 0 ) {
print 'FizzBuzz';
}
elsif ( calc_remainder_u08($i, 3) == 0 ) {
print 'Fizz';
}
elsif ( calc_remainder_u08($i, 5) == 0 ) {
print 'Buzz';
}
else {
print $i;
}
print "\n";
}
sub calc_remainder_u08 {
my $dividend = shift;
my $divisor = shift;
# $a = ( $dividend % $divisor );
my $a = $dividend;
my $b = ( $divisor << 8 );
foreach (1..8) {
$b >>= 1;
if ( $b <= $a ) {
$a -= $b;
}
}
return $a;
}
__END__
“use integer”は、今回は不要ですが、
-1とかを算術シフトする際は必要ですよね。
今回の場合は、整数しか扱わないって意味を込めて宣言しました。
あと、”calc_remainder_u08″は、
符号なし8bit整数で余りを求めるという意図で命名しました。
なので、符号なし8bit整数しか正しく計算できません。
やってることはなつかしの筆算です。
2進数で筆算をすると九九が不要なので簡単ですよね。
おしまい。
おまけのお話
12月 11th
Hokkaido.pm#6に書き漏らした内容を、
ちょろっとカジュアルに書き残しておきます。
そういえば、LTやったんですよ。(スライドはこちら)
なんで、あんな感じになったのかというと、
言いたいことあったら言ってみたらいいかなーっていうノリで、
最初から最後までやってみました。
日々の鬱憤を吐き出した感じですよね、あまり良くないですよね。
良くないなりに、そういうのもアリかなーって思って貰えたかは、
ちょっとあまり反応が良くなかったかもですね。
ただ、似たような人見知りさんは少なくないはず。
あとは、勉強会格差ですよね。
さっき、「なぜ 勉強会」とかで検索してみたのですが、
確かに勉強会に来る必要があるのかは微妙なところですよね。
お酒呑みたいだけだろって意見も間違ってないと思うし。
でも、自分の場合は情熱を貰いに来てるっていうのと、
あとは実践編が知りたくて来てる感じがあります。
結構、便利な側面ばっかり文章にされちゃうと、
実はこういうハマりがあるとか、そういうが知りたくて。
自分でハマるのがいいのかも知れないけど、
Perlに関しては趣味グラマなので。
あと、「仙人」キャラはお墨付きを貰った(?)のでこれで行こうと思いますが、
「Perl仙人」キャラは恐れ多くて名乗りません。
あご髭だけの「仙人」キャラなら、がんばってひげを伸ばしたい所存です。
あ、情熱で重要ですよ、ほんと。
あと、誰かに聞ける安心感。
LTで話したGUIもそうだけど、
ライブラリの設計だって似たようなもんだと思ってるし、
そういう風に消化できるうちは、顔を出したいと思ってます。
おしまい。
Hokkaido.pm#6に行ってきました
12月 11th
今回も、無事に開催されて良かったです。
みなさま、お疲れさまでした!
東京からもたくさんの方が足を運んでくれたし、
本当にありがたかったです。
いくつか気になったキーワードがあったので、
後で調べてみようと思います。
Carton
すごい簡単にバージョンを含めたCPANモジュールの管理ができるみたいで、
自分でも使えそうなくらい簡単だったので試してみます。
AnySan
(Twitter, IRCとかの)botを作るためのモジュール群(?)
インストールしたまま放置してたので、使ってみようと思います。
JobQueue
Queueに処理を入れて何かするような処理に、
最近、興味があるのでWEB+DBを読んで復習してみます。
あと、daemonは「だえもん」って覚えるのが良いですね。
mod_perl
MTプラグインのような印象がありました。(全然、別物だけど。)
循環参照
これは、確か最近買った雑誌のObjective-Cの記事でも出てました。
家にあるPerlの本にも載ってたので、ちゃんと復習します。
こんな感じですかね、
特に、CartonとAnySanのお話を聞くことができて良かったです。
その後、翌日も含めて濃い話をしたのですが、
それはそれは、これはこれということで。
確かに、関東圏と北海道を比べると人口が10倍以上違うので、
これだけ集まれば御の字なのかもしれないですね。
だとしても、いろいろ考えされられたこともあったし、
まだまだ考えなきゃいけないこともあるっていうのが、
今回のpmがいつも以上に濃いと感じた理由です。
まずは、MLに反応することから協力したい所存です。(あと、IRCも。)
おしまい。