2012年3月25日日曜日

new openshift

openshiftが新しくなっていた。
cliコマンドがrhcコマンド一つに集約されて、cname対応もしていた様なので、早速試してみた。

sudo gem install rhc
rhc app add-alias --alias meteors.psychobil.ly -a  -l -p

2012年3月16日金曜日

dotcloud push

dotcloudのソース管理
dotcloudはgit repositoryは提供して無いけど、gitの機能を使うので新規にrepositoryを立てるかどうするか
悩んだ末に dropbox で補完することにした。
dropboxのcliインストールはこちら

cd ~/Dropbox/private
cp -r /path/to/dotcloud_apps .
cd dotcloud_apps
git init
git add .
git commit -am 'first commit'
dotcloud push dotcloud_apps .

# dropbox 同期
dropboxy.py start

2012年3月15日木曜日

ipchains or iptables ?

どっち使うんだ?

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-ja-4/s1-iptables-differences.html

iptablesか

2012年3月14日水曜日

多段ssh

tar cf - /tmp/src | ssh -A 中継サーバ1 ssh -A 中継サーバ2 ssh -A 中継サーバ3 ssh コピー先サーバ  "(cd /tmp; tar xfp -)"


2012年3月10日土曜日

apache forward proxy

社内から外への接続用メモ

$ sudo apt-get install apache2
$ sudo a2enmod proxy
$ sudo a2enmod proxy_ftp
$ sudo a2enmod proxy_http
$ cat /etc/apache2/mods-enabled/proxy.conf 
# -*- mode:apache -*-
<ifmodule mod_proxy.c>
    Listen 8081

    ErrorLog      /var/log/apache2/proxy_error.log
    Customlog     /var/log/apache2/proxy.log combined

    ProxyRequests On

    <proxy *>
        AddDefaultCharset off
        Order deny,allow
        Deny from all
        Allow from 172
    </Proxy>

    ProxyVia On
</IfModule>
$ sudo /etc/init.d/apache2 restart

2012年3月9日金曜日

2012年3月6日火曜日

blogサイト選定

gooとniftyのblog規約は厳しい。
fc2最強。

find2ch

2hcの記事検索結果を返すapiを作ろうとgoogleの検索apiを調べてみたら何だか使えないので、find.2ch.netをhtmlパースしてthread一覧を抽出するスクリプトを書いた。
# 例外処理は省略

#!/usr/bin/ruby
# -*- coding: utf-8 -*-

$KCODE = 'u'
 
require 'rubygems'
require 'open-uri'
require 'nkf'
require 'uri'

require 'pp'

SEARCH_URL = 'http://find.2ch.net'

class ThreadModel
  attr_accessor :url, :dat, :thread_number, :title, :current_cursor, :board_url, :board_name
  def initialize(url, dat, thread_number, title, current_cursor, board_url, board_name)
    @url = url
    @dat = dat
    @thread_number = thread_number
    @title = title
    @current_cursor = current_cursor
    @board_url = board_url
    @board_name = board_name
  end
end

def search2chThread(keyword, options={})
  unless keyword ; return false ; end

  unless options[:count]
    options[:count] = 100
  end
  unless options[:offset]
    options[:offset] = 0
  end

  open("#{SEARCH_URL}?STR=#{URI.encode(NKF::nkf('-e', keyword))}&COUNT=#{options[:count]}&OFFSET=#{options[:offset]}&SCEND=A&SORT=MODIFIED&TYPE=TITLE&BBS=ALL").read.each do |line|
    line = NKF::nkf('-wxm0Z0', line.strip)
    if /^
\s*(.+?)<\/a>\s*\((\d+)\).*?(.+?)<\/a>/.match(line)
url, title, current_cursor, board_url, board_name = $1, $2, $3, $4, $5
url.gsub!(/^(http:\/\/.+?\/test\/read.cgi\/.+?\/\d+?)\/.*$/, '\1/')
dat = url.gsub(/^(http:\/\/.+?)\/test\/read.cgi\/(.+?)\/(\d+?)\/.*$/, '\1/\2/dat/\3.dat')
thread_number = url.gsub(/^(http:\/\/.+?)\/test\/read.cgi\/(.+?)\/(\d+?)\/.*$/, '\3')
t = ThreadModel.new(url, dat, thread_number, title, current_cursor, board_url, board_name)
p t
end
end

end

if __FILE__ == $0
search2chThread('原発', :count=> 10, :offset=> 2)
end

__END__

2012年3月4日日曜日

samurai



samurai(笑)

emacs23 + anthy

emacsでanthyを使うメモ

$ sudo apt-get install scim-bridge-el 
$ sudo apt-get install anthy-el
$ cat <<EOF >> ~/.emacs.d/init.el
(load-library "anthy")
EOF

獣兵衛忍風帖











2012年3月3日土曜日

google apis

話題のプライバシポリシー変更。依存し過ぎで抜けられないgoogleサービス。

google apiのconsole urlが分からなかったのでメモ

https://code.google.com/apis/console/b/0/?pli=1