Showing posts with label ruby. Show all posts
Showing posts with label ruby. Show all posts

2007/11/06

Oracle and rails. Begginers' error screen.

While I was doing db:migrate, I got this message. I've made several sites on the same db and typed db:migrate again.



ORA-00955 Error. You can solve this problem by drop table xxxx_seq;



Yes. It is a begginers' mistake. And now it works fine with Oracle after
dropping ****_seq table.

2007/09/10

ruby-gsl on windows - cygwin howto



I wanted to use gruff. But it seems that doesn't support complex math functions. So I decided to choose gnuplot and gsl which turned out pretty confusing, especially on cygwin. I googled all day to find out how to invoke gem command on cygwin(Yeah. I was fool.) Anyway here is what I've found. I hope this will help you too.

1. installing cygwin including gnuplot and gsl
(http://www2.warwick.ac.uk/fac/sci/moac/currentstudents/peter_cock/cygwin/part5/)

Default permissions

As mentioned in http://cygwin.com/ml/cygwin/2006-01/msg00257.html, the default permissions for a Cygwin installation are rwxrwxrwx. Even if you don't care about the security implications, Ruby does. You might get sick of seeing Ruby make complaints like:

warning: Insecure world writable dir /usr/local/bin, mode 040777

The directory and exact mode may differ, but you'll need to chmod o-w the directory in question. Here's the minimal set of changes I needed to make to keep Ruby quiet:

chmod o-w /usr/local/bin
chmod o-w /usr/local
chmod o-w /usr
chmod o-w /etc
chmod o-w /usr/sbin
chmod o-w /usr/bin
chmod o-w /usr/X11R6/bin
chmod o-w /usr/X11R6
chmod o-w /cygdrive/c

Of course, this still leaves every binary on your system world-writable. Strangely, Ruby's happy to run world-writable binaries, as long as the directory they're in isn't world-writable.



2. If your want to use gem properly on cygwin, you need to alias commands.
home/.bashrc contains a set of aliases

# Force the c:/ruby version to be found first
PATH=/cygdrive/c/ruby/bin:$PATH

alias autotest='ruby /ruby/bin/autotest'
alias cap='ruby /ruby/bin/cap'
alias gem='ruby /ruby/bin/gem'
alias rake='ruby /ruby/bin/rake'
alias rcov='ruby /ruby/bin/rcov'
alias ruby='/cygdrive/c/ruby/bin/ruby'
alias specrb='ruby /ruby/bin/specrb'

3. installing ruby-gsl
http://ruby-gsl.sourceforge.net/
- download ruby-gsl
- ./configure
- make
- make install

4. Happy coding.

If you have some troubles such as "permission denied" while installing plotutils,
check this article =>
http://ptolemy.eecs.berkeley.edu/~cxh/ptpub/nt/ptntinstall.html

I've installed gem on cygwin.
unset RUBYOPT
chmod -R a+w /usr/lib/ruby/site_ruby/1.8/rubygems
ruby setup.rb
(no more permission denied Errorno:EACCES)

And I followed this article.
http://www.gfd-dennou.org/arch/ruby/

2007/04/11

Why (-9.5).round isn't -9?

Ruby
Why (-9.5).round isn't -9?
From irb console, if you type (-9.5).round, you'll get -10 as a result.Why this occur? You can see same answer from Microsoft Excel.So I searched RDoc. And here's the answer.

1. num.round => integerRounds num to the nearest integer. Numeric implements
this by converting itself to a Float and invoking Float#round.


2. flt.round => integerRounds flt to the nearest integer. Equivalent to:

def round

return (self+0.5).floor if self > 0.0

return (self-0.5).ceil if self <0.0

return 0

end

1.5.round #=> 2
(-1.5).round #=> -2


3. num.ceil => integerReturns the smallest Integer greater than or equal to num. Class Numeric achieves this by converting itself to a Float then invoking Float#ceil.

1.ceil #=> 1
1.2.ceil #=> 2
(-1.2).ceil #=> -1
(-1.0).ceil #=> -1


4. flt.ceil => integerReturns the smallest Integer greater than or
equal to flt.
1.2.ceil #=>2
2.0.ceil #=> 2
-1.2).ceil #=> -1
(-2.0).ceil #=> -2


If you want real answer for that, use (-9.5).ceil

(-9.49999999999999999999999999).round #=> -10
(-9.49999999999999999999999999).ceil #=> -9
(9.49).round #=> 9
(9.49999999999999999999).round #=> 10





2007/04/08

Buffon's Needle Simulation through Ruby

I'm reading "Beautiful Evidence" written by Edward Tufte. His view point about information is very amusing. Because we are currently facing tons of informations that forms our decisions. Too much informations lead us to simple conclusions that we didn't intend("Paradox of choice" written by Barry Schwartz). So it's important to consume informations properly. In this context, "Beautiful Evidence" is crucial for us as far as I think. I've done some coding through Ruby to get PI. And visualized it by Gruff. This fundamental simulation is just beginning of my simualtion work. This ruby code isn't polished yet. But you can test Gruff. Thanks Geoffey!

Installing Gruff.
http://nubyonrails.com/pages/gruff


1. Install imagemagick.
Download file at
ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/

2. Install RMagick
From
http://rubyforge.org/frs/?group_id=12
download rmagick-1.15.5.gem and then type
> gem install rmagick-1.15.5.gem --local

3. Install Gruff 설치
Just type
> gem install gruff
While installing it will ask you to install dependency files. Just say yes

> gem install sparklines

4.You need ariel font to use Gruff.
If you don't have it on your system, follow the specific steps from here.
http://tomcopeland.blogs.com/juniordeveloper/2006/02/charts_and_grap.html

2007/03/22

Ruby script 2 exe

http://www.erikveen.dds.nl/rubyscript2exe/index.html

Someone already made script to make exe file. It's so easy.
Just type

ruby rubyscript2exe.rb application.rb[w] [parameters]

2007/02/05

PHP vs Java vs Ruby

I linked the original article. Anyway it really was fun to read the article.

Bray, who is Director of Web Technologies at Sun Microsystems, co-creator of the XML 1.0 and XML Namespace standards, co-founder of Open-Text, and contributor to the Atom Publishing standard (whew!) spoke in a presentation entitled “How to combine PHP technology with Java based on Enterprise Systems”

“Mostly because there’s less code. The fact that Ruby forces MVC on you helps too, also the fact that the templating and [Object Relational Mapping (ORM)] and testing and application code are all so tightly integrated helps. Bear in mind that we still don’t know how well Rails is going to work outside of the CRUD-centered greenfield app space where it shines.”