餃子を食いながらビールを飲む会をやります

餃子と言えば宇都宮が有名ですが、 福島市でもかなり餃子が食されておりまして、 餃子を出すお店がかなり多いです。 仙台にいるときにid:monyakataさんに言っていたのですが、 今週の金曜日(10/24)に福島に来て、餃子を食いながら ビールを飲む会を開催することになりました。 18:30から開催です。

せっかくなので、参加者募集です。 参加したい人は @xibbar にでもmentionを送るなり、 Facebookでの友達はメッセージ送るなりしてください。

福島市ではとりわけ満腹が発祥の円盤餃子が有名なのですが、 私の気に入っている店は円盤餃子じゃないです。 円盤だからビールがうまくなるわけじゃないので。^^; 安くてうまいので店名は書きません。

ビールを飲みながらITの話なり、 それ以外の話をしたりしてクダをまきましょう。

いくらを作った

毎年恒例だけど、いくらを作った。

f:id:xibbar:20141005001218j:plain
隣のダイユーエイトで安かった生筋子。今のシーズンしか売ってません。
f:id:xibbar:20141005001325j:plain
頑張ってほぐします。50度のお湯じゃないとほぐれません。アッチッチと言いながらほぐします。白くても気にしない。
f:id:xibbar:20141005001505j:plain
お皿に入れて、
f:id:xibbar:20141005001545j:plain
しょうゆ、みりん、酒を入れるとこの色になります。
f:id:xibbar:20141005001711j:plain
いくら丼にしてみました。たくさん出来たので、まだまだあります。

逆ポーランド法(RPN)電卓が好きすぎて、iOSアプリを作ってしまった

RPN電卓が好きだー!

おそらく、id:masanobuimaiさんのIntelliJが好きだー!ぐらいに 私はRPN電卓が好きなんです。 Macの電卓も

f:id:xibbar:20141003222219p:plain

この状態ですし、iOSの電卓も
Active RPN Calculator

Active RPN Calculator

  • Nolan Piper
  • ユーティリティ
  • 無料
これが愛用でした。

逆ポーランド法電卓とはなんぞや?

メリットから説明する逆ポーランド法講座です。

(1+2)x(3+4)

ふつうの電卓を使っているみなさんはこれをどうやって計算しますか?

1+2=

をM+して、

3+4=

した後に

x MR =

ですね。(挙動は電卓によりますが。)

さて、RPN電卓だとこうなります。

1 Enter 2+ 3 Enter 4+ x

動画で撮ってみました。


RPN Calculator

スタックに入れた値に対して、計算しているのがわかります。 使えりゃいいんだから表記なんてどうでもいいと私は思っているのですが、RPNの表記としては、

1 2 + 3 4 + x

と表記します。知らなくても電卓使えるので私はどうでもいいのですが、特長としてはカッコは要りません。おそらく、どんな計算でもカッコは不要です。

((1x2)+(3x4))x((5x6)+(7x8))

このような計算は、RPN的には

1 2 x 3 4x + 5 6 x 7 8 x + x

こんな感じです。電卓的には値をスタックに押しこむにはEnterが必要なので、

1 Enter 2 x 3 Enter 4x + 5 Enter 6 x 7 Enter 8 x + x

となります。


RPN Calculator

RPN電卓のメリットはスタックを使えることです。 慣れると普通の電卓に戻れなくなってしまいました。

Active RPNが使えなくなってしまった

私はiPhoneでは以下のActive RPNを長い間愛用していました。

Active RPN Calculator

Active RPN Calculator

  • Nolan Piper
  • ユーティリティ
  • 無料

しかし、Active RPNは2009年に開発がとまってしまい、iPhone5からはなんだかギザギザ画像でした。それでも愛用していたのですが、iOS6からはテザリングすると、一切の操作を受け付けないという何かのバグに引っかかってしまい、なんとも使い物にならなくなってしまいました。他のを使えばいいじゃない?と思うかもしれませんが、RPN電卓の定番はHPの12Cなのですが、見ての通りのデザインです。

不満は2つ。

  • キーが小さくて使いづらい(多機能のトレードオフですが)
  • スタックが見えない(最低3つぐらいを表示して欲しい)

です。私はそんなに変な計算は多くないので、シンプルなもので十分なのです。必要な条件としては、

  • RPN電卓
  • キーが大きくて押しやすい
  • 値の消去がしやすい(Dropしやすい)
  • スタックが3つぐらい常に見える
  • 小数点以下がゼロの場合は表示しない

たったこれだけなのですが、満足するものがありませんでした。探せばあるかもしれませんが、面倒くさくなってました。

作ってみた

そういうわけでカッときて勉強がてら作ったのが

xRPN

xRPN

  • Takeyuki Fujioka
  • ユーティリティ
  • 無料

これです。(バグがあります。起動していきなりEnterで落ちますwww) でも、私は自分で使いやすいRPN電卓を手に入れたのでした。 通常の卓上電卓でも、HP以外にCASIOとかCANONとか作ってくれないかなと思うのでした。

中国からのスパム対策に禁句を入れてみた

id:yamazが例の禁句を入れたらスパム来なくなるんじゃね? という話をするので、やってみた。 禁句とは「天安門事件」のことです。 Railsのlayoutを使って全ページに埋め込みました。 1行の変更で済むのでRailsステキです。

<!-- 天安門事件 -->

ってのがbodyの直後にあります。 そしたら昨日は大分静かだったのですが、 今日の朝になってやっぱりスパムが来た。

というわけで、まだ金盾にブロックはされていない模様です。 もうしばらく泳がせてみる。

しつこかったらやっぱりIPフィルタ入れます。

中国フィルターを作った

自社の問い合わせに中国からスパムが来る。 先月辺りからRailsアプリに

require 'ipaddr'
class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :china_filter
  private
  def china_filter
    begin
      if IPAddr.new("175.42.0.0/15").include?(request.remote_ip) ||
          IPAddr.new("175.44.0.0/16").include?(request.remote_ip) ||
          IPAddr.new("36.248.0.0/14").include?(request.remote_ip) ||
          IPAddr.new("112.111.0.0/16").include?(request.remote_ip)
        render :text=>""
        return
      end
    rescue => e
      logger.info e.message
      logger.info request.remote_ip.inspect
    end
  end
end

とかやっていたのですが、敵もさるもので、どんどんIPを変更して スパムを送ってきます。イタチごっこも疲れてきたので、 iptablesで中国を丸ごとフィルタにかけることにしました。

まず、IPdeny IP country blocksからリストをとってきます。

wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

を実行すればOKです。 んで、

#!/usr/bin/env ruby

open("cn.zone","r").readlines.each do |l|
  l.strip!
  system("iptables -A INPUT -i eth0 -s #{l} -j LOG --log-prefix '[CN FILTER]'")
  system("iptables -A INPUT -i eth0 -s #{l} -j DROP")
end

でいいでしょう。1行目はロギングのためのものです。 iptables -L -n |lv とかで確認して下さい。 大丈夫そうなら、iptables-saveで保存して(ubuntuの場合)、再起動した時も読み込まれるようにします。 4600行ぐらいのボリュームなので、これをRailsでやったら酷いことになるとおもって iptablesでフィルタすることにしました。

結果はこれからです。どうなるやら。

追記

とりあえずはうまくはじけているようです。中国からのアクセスを拒否しているログが残っています。 プロキシ使われたらアウトなんですよね。それが問題ですが、とりあえずいいでしょう。

中国ではそう書くのかまとめ