Papervision3D is now part of the OSFlash family.


Papervision3D (also see PaperVision.org) is a high-performance 3D engine for Flash 8 and Flash 9. It was started and is led by Carlos Ulloa and the process of open sourcing it began around the end of October, last year. Once open-sourced

3D Star Wars demo

Tink’s Papervision3D Effects for Flex

integrating Papervision3D with Flex in a clean and seamless way.

Tink starts with Cube, Flip, Rotate and Zoom, but most importantly he lays the foundation for anyone to do their own effects in a matter of minutes. Certainly the easiest way to incorporate 3D effects in your Flex application.

PV3D Effects for Flex

Presentation: PDF.
Source: see Papervision3D Effects for Flex Source


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.


Seoul subway guide(From Dongnimmun to Samgakji)

Hi. I made this for my friend Ronald. I thought that this can help others
who are planning to visit Seoul. To see the larger image, click each one please.


Creating a database on Oracle 10g.

While creating a database on Oracle 10g, I've got this f*****g message.
It was time zone problem. And here is the solution.


1. Log on as a batch job
2. Act as part of the operating system
3. Adjust memory quotas for a process
4. Replace a process level token


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

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

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
- 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 =>

I've installed gem on cygwin.
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.


airborne cats

This is from airborne cats. His photoes are famous among cat lovers.


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

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


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


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.

1. Install imagemagick.
Download file at

2. Install RMagick
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.


Ruby script 2 exe


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

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


IDEO Method Cards

IDEO Method Cards shows 51 ways of prtotyping thinking. I think programmers also need this card deck. Why ruby is so popular? One reason could be fast prtotyping...


Minority Report

The world is waiting to see Minority Report. And it's so close. Jeff Han's Perceptive Pixel is gaining the market share. He will speak at Ted talk in this year too. I'm longing to see his next presentation. It seems that Apple's "Pile" interface is integrated with this one. May be, new mac would be a giant display(wall size?) pc.


Everyware: The Dawning Age of Ubiquitous Computing

A book recommended by DLD07 Video podcast "Interface and design" session.
And you can buy it at http://www.yes24.com/Goods/FTGoodsView.aspx?goodsNo=1927945&CategoryNumber=002
These are some resources that Adam Greenfield suggests

Apple "Pile"

United States Patent Application 20070033537
Kind Code A1
Mander; Richard ; et al. February 8, 2007

Method and apparatus for organizing information in a computer system


A method and apparatus for organizing information in a computer filing system. The method and apparatus include the creation of a pile comprising a collection of documents and displaying a graphical representation of the collection of documents. The method and apparatus further include browsing the collection of documents by pointing a cursor at a particular item in the collection of documents to reveal an indicia for the particular item in the collection of documents. The filing system can automatically divide a pile (e.g. a collection of documents from an electronic mail network) into subpiles on the basis of the content of each document in the pile, and the filing system, at the users request can automatically file away documents into existing piles in the computer system on the basis of a similarity match between the content (or other internal representation) of the document and the content (or other internal representation) of existing piles in the computer system. The filing system can also create a pile from a sample document by using the internal representation of the document as the internal representation of the new pile. The computer filing system provides various interfaces in connection with piles to the user of the system to provide feedback and other information to the user, including information concerning the documents and piles in the computer's filing system.

Inventors: Mander; Richard; (Palo Alto, CA) ; Rose; Daniel E.; (San Jose, CA) ; Salomon; Gitta; (Palo Alto, CA) ; Wong; Yin Yin; (Menlo Park, CA) ; Oren; Timothy; (Sunnyvale, CA) ; Booker; Susan; (San Carlos, CA) ; Houde; Stephanie; (Cambridge, MA)
Correspondence Name and Address:
Serial No.: 497460
Series Code: 11
Filed: July 31, 2006

U.S. Current Class: 715/764; 707/100; 715/810
U.S. Class at Publication: 715/764; 715/810; 707/100
Intern'l Class: G06F 3/00 20060101 G06F003/00; G06F 17/00 20060101 G06F017/00; G06F 7/00 20060101 G06F007/00


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.”


My thoughts about web 2.0

As a result, web is about seeing entertainment stuffs, and other informations that you want. As a platform, it is moving to small devices. But seeing is equivalent element. So imaging technology is core aspect. I think Adobe's stategy about this would conquer the debate around ajax technologies. They're currently focusing on integrating PDF and Flash format. Soon we'll see the results.


Algorithms in the Attic

This article was posted on HBR this month.

One reason why math is important at this timing.

"For a powerful perspective on future business, take a hard look at mathematics past. As computing gets ever faster and cheaper, yesterday’s abstruse equations are becoming platforms for tomorrow’s breakthroughs. Companies in several industries are now dusting off these formulas and putting them in the service of new products and processes."

"Why should past work, often quite theoretical, be so useful now? Done in the absence of high-speed, low-cost computational capacity, that work put a premium on imaginative quantitative thinking. With today’s high-powered processors and broadband networks, those abstractions can point the way to practical software that leaps over current operational constraints.Disruptive opportunities abound."


Podcast list

This is pocast list that I listen. The speed of changing is so fast that It's impossilbe to catch it with alone. So you share your view points with friends. This list may help you to build that view points. (Many poeple may already knows about these lists) I captured the list for my friends who are not yet familiar with iTunes. I thought providing raw datas that are quoted many times from news and bloggers would be another advice for my friends than "my poit of view". Web 2.0 Summit podcast was brilliant. I recommand it if you are interested in Web2.0 and the Long tail stories.


Doing math.

Well, it's not that easy to say I'm not good at math. Since I realized math is the core of Alogrithm, I had to study it from the basic(actually, from highschool level). When I first gone through downloaded course which was about differential and integral calcus, I was so humiliated by my ignorance about math. For math is a tool for analyzing agolrithms, it's inevitable to study them.


Need time..

I need time to improve my learnings including rubyonrails and math.