2008年11月30日日曜日

Back to music

(Because the first draft of this entry was written in English, I'm sorry to post this written in English.)



Two months have passed since I started to study music again.
I'm very enjoying myself every day.





It had been passed one and half year since I quit studying music, stop playing the guitar and had started to concentrate on studying technologies on the Internet.
The reason of my quitting was mainly by my laziness.
I gave up to create any songs and stop listening to any songs to forget them.




Time had passed very quickly, and I had experienced many things as the engineer in the very hopeful venture company.
In the time, I kept writing many scripts and learning as much as I can every day from the people I have respects as a beginner of the engineering.





I took a long vacation in September of this year after my project settled in.
In this vacation, I intended to refresh myself and start learning new things.
In fact, I could refresh myself in this vacation, and became want to have another work that I can commit after I come back to home from my day job.





The first catalyst of thinking again about music was inspired by my new colleague from Australia.
He joined our company as a designer in October of this year.

He can look everything with great open mind.
He receives everything as they are, and response to them very flexible.
He can do job very quickly and very creatively.
I was very amazed to his ability and influenced his attitude toward the world.

Also, he is a music junkie.
He has organized the songs from his early stage.
His music library is very huge. (Over 700G !!)
Incredible...
He allowed me to access his music library, and I started to listening to many songs.
It's a great experience to know the many songs and considering about structure of them.





The news also encouraged me.
Flea Uses Red Hot Chili Peppers Hiatus To Go Back To School

I was very amazed from the news.
Flea is a great musician and I respect his attitude toward the music.
He has kept learning as much as he can from session, live, recordings, songs and his life.
He always has the many ideas most of which are inspired by his leanings.
He has an very amazing balance between input and output.

At last, his enthusiasms to the music brought him to kick the entrance of the college. It encouraged me very much.





I got together with a new band and started to go to the studio.
It needs to me practice the guitar to bring my playing ability to the same level when I quit, but it's very fun.

Recently, I have joined to a new band fortunately, and started to play the bass guitar.
To me, it opened a new door.
It made me have a motivation to know how instruments work together to create a beautiful flow of the music, and how base lines support the music.

I want to keep motivating myself.
I hope I'll never give up studying again.
To accomplish this, I was introducing the disciplines:
  1. Listening as many songs as I can listen to.
  2. Keep an open mind to the others and to the world.
    I take care not judging others but just receiving as they are, and find the positive things as many as I can.
  3. Keep studying music.I use all the techniques I learned from WWW community to learn music effectively.






I want the friends who can co-write with me or can play with me.
Please contact me:


I'm now admiring all the musicians in the world and loving all songs.
I appreciate very much to the people who brought me back.
I'll do my best.




Thank you for your reading.

Brief codes to show your Email Address on the web

If you want to provide your email address as a contact infomation to the visitors to your web site but you don't want to provide it to the crawler (because they send you many spam mails), please copy and paste the JavaScript code like below into your html.
<script type="text/javascript">
//<![CDATA[
window.onload = function () {
// Start creating a mail address
var m = 'info';
m += '@';
m += 'ciri.us';
// Insert mail address to your document
document.getElementById('mailto').innerHTML = m;
document.getElementById('mailto').href = 'mail' + 'to:' + m;
};
//]]>
</script>
The example html code is like below.
You should use alink tag and provide it DOM id as "mailto" where you want to insert your mail address.
<p>
Our new web site will be online in early 2009. Stay tuned for updates.<br/>
In the meantime, please visit the <a href="http://www.ciri.us/">Cirius Technologies</a> corporate web site. <br />
Or, contact us at <a id="mailto" href=""></a>
</p>

2008年11月17日月曜日

Great electronic musical instruments

In last two month, I found very exciting instruments for digital music I haven't known before.
They include Tenorion, Monome, Korg MS-10, Kaossilator, and so on.

Today, I introduce some of these for you.

Tenori-on

Tenori-on is the most attractive instrument for me.
This opened my heart to the digital music and take me to the travel of instruments.

Tenori-on is an electronic musical instrument, designed and created by Japanese artist, Toshio Iwai and Yu Nishibori of the Music and Human Interface Group, Yamaha Center for Advanced Sound Technology.
It has a 16x16 matrix of LED switches allows everyone to play music intuitively, creating a "visible music" interface.

Here is an introduction video from YouTube.



As you can see, TENORI-ON is a unique 16 x 16 LED button matrix performance instrument with a stunning visual display.
For DJs & producers it is a unique performance tool enabling them to perform using MIDI and load the TENORI-ON with samples to 'jam / improvise' within their set BPMs.

In Japan, you can touch and experience that great interface at ICC in Opera City.

Monome

A similar cool instrument Monome is there.
To be precise, Monome is not a name of instrument. Monome is a small Philadelphia-based hardware company that makes controllers for electronic music performance and new media art.

Their first product, Monome 40h, sometimes called just "Monome", is an eight-by-eight grid of backlit buttons, which connects to a Mac or PC using a USB cable and the OpenSound Control protocol.
Here is a video of this.



Although it seems quite nice, there is a problem.
Because Monome is very small company, the distribution is very limited.

To get this, you have to participate in the auction.
The start bid is now very expensive.
I hope this instruments to be more and more distributed in the near future.

KORG DS-10, KORG Kaossilator

Japan provides amazing product to the world markets in the very reasonable price.

KORG DS-10 is non-game music making software for the Nintendo DS that emulates a KORG MS-10 synthesizer.
It released on July 24th, 2008 in Japan, on October 10th, 2008 in Europe, and on November 4th, 2008 in the US.



The Korg Kaossilator KO-1 is a portable Dynamic Phrase Synthesizer manufactured by Korg.

It is capable of producing a wide range of sounds and can be tuned to various keys and scales.
Being related to the Korg Kaoss Pads, the Kaossilator is a synth that is played touching a pad that is not unlike a mousepad on laptop computers.

It is truly portable, running off of 4 AA batteries with the dimensions as follows:
106 mm (W) x 129 mm (D) x 29 mm (H) / 4.17" (W) x 5.08" (D) x 1.14" (H).

The Kaossilator features 100 synthesized sounds including acoustic (Guitar, Trumpet and Piano), percussion, and electronic sounds.
Most instruments can be locked into various keys and scales.
The Kaossilator supports 31 different Scale Patterns including Chromatic, Blues and Diatonic scales - as well as more 'exotic' scales such as Japanese and Egyptian.

Here is a cool Demo Video.



The Kaossilator also has a gate arpeggiator and a loop function that allows the layering of instruments to produce loops.

The loop recording function is somewhat limited, as the maximum length is two bars in 4/4 time. Despite this limitation, some artists have recorded full-length albums with the Kaossilator.
You can find many videos in YouTube.
(There is some technique to overcome the 2 bar limit as the KO1 records audio to memory.)

Now, let's start!

With these instruments, you can create music with your own feelings without the limitation of your techniques of instruments.

As you can see, they are very intuitive. Ugly interface has gone.
You can concentrate on expressing your feelings and music ideas.
Do you think it's a great thing?

Just feel and create.
Forget all things you are suffered everyday.

2008年11月14日金曜日

Introduction to JavaScript Documentation by JSDoc

When you create a genuine Web Application and it seems to a lot of JavaScript scripts added day by day, you'll be better to use tools for documentation of them to grasp and understand present situation of your project.

JS Doc is a very helping tool for you in such situation to document source codes written in JavaScript.

Usage

Download the JSDoc tarball from Sourceforge and install it as below:
# Download the latest JSDoc
$ wget "http://downloads.sourceforge.net/jsdoc/JSDoc-1.10.2.tgz"
$ tar xvzf JSDoc-1.10.2.tgz
$ cd JSDoc-1.10.2
Now, you're ready to go.
You can immediately try out JSDoc on the included test.js JavaScript file by going into the JSDoc directory and entering the command:
$ perl jsdoc.pl test.js
This should output a set of HTML files in a directory called js_docs_out.
Go to "js_docs_out/index.html" by your browser, and you can see the documentation about your JavaScript codes.

This documentation tool seems to work when you implement the application along the object oriented notation, otherwise it doesn't work.

I have an error...

If you get an error message right away that looks something like:
Can't locate HTML/Template.pm in @INC ......
Then you will need to install the HTML::Template Perl module.
Open a terminal and run the following command as root:
$ sudo perl -MCPAN -e 'install HTML::Template'

2008年11月13日木曜日

Web Application Frontend Testing by Selenium for the site using Google Maps

Google Maps を利用したウェブアプリケーションのテスト、どう書いていますか??
僕は最近まで、どのように書いて良いかよく分からなかったのですが、色々調査したり、試行錯誤してみたところ、Selenium-Core を利用した良いプラクティスができたので、ここで紹介します。

まずは、今回、実際 Web アプリケーションをテストするデモを以下から確認できますので、見てみてください。
以下のページの右上の方にある、緑色の再生ボタンを押すと、テストが動き出すのが確認できます (今回は初めてデモを用意してみました) 。

Selenium-Core Testing Demo

テスト環境の構築

今回は、サンプルとして、Rails で Google Maps を利用したアプリケーションを作成し、自動テストツール Selenium Core を利用し、実際にアプリケーションのテストをしています。

まずは、Rails を利用して、Google Maps を利用した簡単なアプリケーションを作成しましょう。まずは準備から。
# Create Application
$ rails sand-selenium-core

# Import to your subversion
$ svn import -m "initial commit." sand-selenium-core {YOUR_SVN_SERVER}/sand-selenium-core/trunk

# Clear your source
$ rm -rf sand-selenium-core

# Check out from subversion
$ svn co {YOUR_SVN_SERVER}sand-selenium-core/trunk/ sand-selenium-core
これでアプリケーションの準備が整いました。

次に、Selenium Core をダウンロードして、Selenium Core の環境構築します。今回は Google Maps を利用したアプリケーションをテストするため、Selenium-Core のソースコードを Maps API Selenium Tests の Subversion レポジトリから以下のようにインポートします。
# Make your test directory and move selenium core under to it.
$ mkdir {RAILS_ROOT}/public/tests

# set svn:externals for selenium-core extentions.
$ svn propset svn:externals "selenium-core http://gmaps-api-issues.googlecode.com/svn/trunk/selenium/" .

# Download extentions from external repositories.
$ svn update
$ svn propdel svn:externals
自作アプリケーションのテストをする場合、Google Maps の基本機能をテストする必要はありませんので、余計なファイルを削除しておきます。
$ cd {RAILS_ROOT}/public/tests/selenium-core/tests/
$ rm -rf general examples
$ rm general*.html example*.html test_tags.txt
テスト環境構築完了です。

アプリケーションの作成

まずは、Google Maps を利用した以下のようなアプリケーションを作成してみます。

地図を表示し、中心にマーカーを表示します。
また、地図上をクリックすると、その地点にドラッグ & ドロップ可能なマーカーを表示加える。

このサンプルアプリケーションとそのソースコードは以下に作成しましたので見てください。
Google Maps Application Sample

テストスイートの生成

テストは Selenium IDE などを利用して書きます。このファイルを selenium-core/tests/ 以下に作成したディレクトリ (今回は archives ディレクトリとしました) に保存します。
(テストファイルのサンプルは、こちら: 2008-11-13_test.html)
$ mkdir  {RAILS_ROOT}/public/tests/selenium-core/tests/archives
さて、ここまで来たら、後は、テストの準備。

1. {RAILS_ROOT}/public/tests/selenium-core/tests/test_tags.txt に自分の生成したテストファイルを書きます。

archives/2008-11-13.html
2.ツールを利用して、テストスイートを生成します。 以下のコマンドを順に実行します。
$ {RAILS_ROOT}/public/tests/selenium-core/tools/create_suites.rb 
$ {RAILS_ROOT}/public/tests/selenium-core/tools/parse_suites.rb
$ {RAILS_ROOT}/public/tests/selenium-core/tools/create_test_index.rb
以上!

Rails アプリケーションを起動し、ブラウザから、/test/selenium-core/index.html にアクセスすることで、本記事の最初で取り上げたテストが完成です。

大規模なアプリケーションを構築していると、テスト無しだと、開発の後半でどんどん、デグレードが発生し、とても手に負えなくなってきます。
今回紹介した手法は、本格的なウェブアプリケーションの構築を助けてくれる、最強のツールと言えるでしょう。