Friday, September 28, 2007

Outbound Port25 Blocking

sudo postconf -e relayhost=mail.qb3.so-net.ne.jp

Thursday, September 20, 2007

FInd slow actions in a Rails app

# Show a list of actions sorted by time taken. Useful for finding slow actions.
cat log/development.log | awk '/Completed/ { print "[" $3 "] - " $0 }'
| sort -nr

from: http://snippets.dzone.com/posts/show/4440

Thursday, September 13, 2007

Don't override to_json like this

I don't know why our project override this method
class String
def to_json
"'#{self}'"
end
end

Because of this , The RJS totally don't work
and You get "unterminated string literal" because of not escaped javascript.

Wednesday, September 12, 2007

Show all files in the Finder

Show all files in the Finder

Open Terminal, type this command, and press Enter:

defaults write com.apple.Finder AppleShowAllFiles YES

Sunday, September 09, 2007

Ways to run ruby tests

1. rake
2. rake -T test
3. ruby test/unit/product_test.rb
4. ruby test/unit/product_test.rb -v
5. ruby test/unit/product_test.rb -n /create/ -v
6. rake test:units TESTOPTS="-v -n/create/"

Possibility with scoped_proxy

class User < ActiveRecord::Base
scoped_proxy :admins, :find => { :conditions => ['role = ?', 'super_user'] }
scoped_proxy :has_login do |login|
{ :find => { :conditions => ['login = ?', login] } }
end
scoped_proxy :no_op do
nil
end
end

# This gives you the first administrator of the system
User.admins.find(:first)
# This counts the administrators
User.admins.count

# All users with a given login
User.has_login('foo').count
User.has_login('foo').find(:all, :order => 'created_at desc')

# And finally, I give you the no op
User.no_op.find(:all) # => User.find(:all)

Thursday, September 06, 2007

psql: FATAL: IDENT authentication failed for user

Everytime I log in using normal user, I got this message:

$ psql -U gateadmin template1
psql: FATAL: IDENT authentication failed for user "gateadmin"

Why?

It looks like you would rather use password authentication than the
default IDENT-based auth (it's default in Debian distro of postgres
anyway). IDENT will only let you in when you do *not* use -U, ie,
your postgres user name is the same as your Unix user name. Change
this in pg_hba.conf, and don't forget to SIGHUP or restart the
postmaster afterwards.

regards, tom lane

Solution:

Just modify pg_hba.conf like this (change to trust)

local all trust
host all 127.0.0.1 255.255.255.255 trust

Tuesday, July 31, 2007

Unit test with transaction in rails

  uses_transaction :test_something_with_transaction
  def test_something_with_transaction
    ...
  end

Tuesday, July 24, 2007

missing key: categories: Cannot read the portsdb!

[asoboo@turbine-02 /usr/local/sites/asoboo.com/current]$ sudo
portupgrade -a
[Updating the portsdb <format:bdb_btree> in /usr/ports ... - 17433
port entries found
.........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000....
..... done]
[missing key: categories] [Updating the portsdb <format:bdb_btree> in
/usr/ports ... - 17433 port entries found
.........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000....
..... done]
missing key: categories: Cannot read the portsdb!
/usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:567:in `open_db':
database file error (PortsDB::DBError)
from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:736:in `port'
from /usr/local/lib/ruby/site_ruby/1.8/portsdb.rb:924:in
`all_depends_list'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:915:in `tsort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `each'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:907:in `tsort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:929:in `sort_build'
from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:933:in `sort_build!'
from /usr/local/sbin/portupgrade:694:in `main'
from /usr/local/lib/ruby/1.8/optparse.rb:755:in `initialize'
from /usr/local/sbin/portupgrade:210:in `new'
from /usr/local/sbin/portupgrade:210:in `main'
from /usr/local/sbin/portupgrade:1981


portupgrade moved from /usr/ports/sysutils/portupgrade to
/usr/ports/ports-mgmt/portupgrade, one way to fix this is:

cd /usr/ports/ports-mgmt/portupgrade
make clean all install

Or I think portupgrade -f portupgrade might do.

Monday, July 23, 2007

spawn-fcgi.c.211: child exited with: 127, Unknown error: 127

# ./script/process/spawner fcgi -e staging -p 7000 -i 5
=> Starting FCGI dispatchers
Checking if something is already running on 0.0.0.0:7000...NO
Starting dispatcher on port: 0.0.0.0:7000
exec: /usr/local/sites/somesite/releases/20070723060143/public/dispatch.fcgi:
not found
spawn-fcgi.c.211: child exited with: 127, Unknown error: 127


fixed by changing dispatch.fcgi

#!/opt/local/bin/ruby

to

#!/usr/local/bin/ruby

/tmp/502/nl.uu.phil.SSHAgent.socket (Errno::ENOENT)

ssh login when Capistrano deployment failed with that message. Running
(on Mac OS):

$ ssh-agent bash
$ ssh-add
and then running cap tasks fixed the problem for now.

undefined method 'gem' for main:Object

gem update --system

Sunday, July 22, 2007

Kill all processes with full command name and args

sunfmin@sunfmin-laptop:~$ pgrep -f "ssh -L 8080:google.com:80 sunfmin@localhost"
sunfmin@sunfmin-laptop:~$ pkill -f "ssh -L 8080:google.com:80 sunfmin@localhost"

Thursday, July 12, 2007

link folder to external repository [ svn propedit svn:externals vendor ]

export SVN_EDITOR="mate -w"
svn propedit svn:externals vendor

and input like the following to the popped editor

rails http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3
radiant http://dev.radiantcms.org/svn/radiant/tags/rel_0-6-2/radiant/

this would make the folder like this.
vendor
  |--rails
  |--radiant


The ownership of a file may only be altered by a super-user

chown -R www:www sandbox/
chown: sandbox//conf/authz: Operation not permitted
chown: sandbox//conf/passwd: Operation not permitted
chown: sandbox//conf/svnserve.conf: Operation not permitted
chown: sandbox//conf: Operation not permitted
chown: sandbox//dav/activities.dir: Operation not permitted
chown: sandbox//dav/activities.pag: Operation not permitted

->

sudo chown -R www:www sandbox/

The ownership of a file may only be altered by a super-user for obvious
     security reasons.


Monday, July 09, 2007

Let BitTorrent works on Ubuntu with Azureus Client.

1. Set Local ASDL Router to allow NAT
    Access 192.168.0.1 or something
2. Let Ubuntu to allow the port Azureus uses.
#iptables -I INPUT -p tcp --dport 57656 -j ACCEPT
#iptables -I INPUT -p udp --dport 57656 -j ACCEPT

Saturday, July 07, 2007

Rails Development On Ubuntu

h1. Installation

Switch to root user

h2. Install Ruby, Rails

apt-get install ruby rdoc irb libyaml-ruby libzlib-ruby ri
apt-get install rubygems
gem update --system
gem install rails -y

h2. Install Mongrel, MySQL

apt-get install mysql-server-5.0

apt-get install build-essential
apt-get install ruby1.8-dev
gem install mongrel
gem install mysql


h2. Install emacs(snapshot 22.0), ruby-mode, emacs-rails


gem install emacs-snapshot
cd  $HOME/.emacs.d/
svn co http://svn.ruby-lang.org/repos/ruby/trunk/misc/ ruby
svn co svn://rubyforge.org/var/svn/emacs-rails/trunk rails


Add this code in $HOME/.emacs


(setq load-path (cons "~/.emacs.d/ruby" load-path))
(setq load-path (cons "~/.emacs.d/rails" load-path))
(require 'rails)



h2. Resources

Install Rails On Ubuntu
Rails On Emacs

Monday, June 11, 2007

Fix [ruby: no such file to load -- ubygems (LoadError)] in E-TextEditor

Go to the cygwin bash prompt. If you don't know how to get there, use Start -> Run -> c:\cygwin\cygwin.bat.

Type:
echo unset RUBYOPT >> .bashrc

Type:
. .bashrc

Type:
irb

If you see:
irb(main):001:0>

Friday, April 27, 2007

Input Japanese with WATIR

One more tip. You better use
$ie.text_field(:name,'txtPcode').value = 'KANJI'
instead of
$ie.text_field(:name,'txtPcode').set('KANJI')

TextField#set method fails on japanese characters.

Tuesday, April 17, 2007

Debug with Eclipse and Tomcat

Add the following line to startup.bat
 
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
 
Eclipse
 
Add <Remote Java Application>
Host:localhost, Port 5005