My JavaOne 2014 and Oracle OpenWorld 2014 Sessions

Happily announced that my call for proposal for JavaOne 2014 and Oracle OpenWorld 2014 were approved successfully. Now I’m one of a session speaker of them. Amazing.

Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [CON2789]

Case Study of Financial Web System Development and Operations with Oracle WebLogic 12c [CON2820]

My first time attendance for JavaOne conference was 2000. 14 years ago. Very huge conference, over 30000 people attended, held in Moscone north and south completely. The key note speech was held in all connected Moscone center south rooms. The surprise guest speaker was Steve Jobs, with performing not released Mac OS X 10.0 development version with J2SE 1.2 Swing application. I was so exited about the brilliant future of the Java programming language and enterprise usage.

At that time I learned many of the J2EE 1.2, which was renewed from Project JPE at the end of 1999. I’d already worked with BEA WebLogic 3.0 – 5.1 in Japan, and realized that the differences between the J2EE specs and the implementations. And one of my dream was to have a session as a speaker for J2EE technical information sharing here.

Now my dream come true.

In this sessions I’m going to share the details of my designed Java EE 6 applied financial enterprise systems in Rakuten in Japan. Java EE has huge potentials for the mission critical enterprise systems, and you can learn how to use the EE specs and WebLogic for it.

Now I’m happily making the slides for speaking right there. Come and join us. Happy programming.

Hakata Iwai-Medeta Song Translation

I asked the local song of “Iwai-Medeta” in Fukuoka Hakata area from non-Japanese friends. I searched the translation to English but not found.

The “Iwai-Medeta” (in Japanese 祝いめでた) is the song for the brilliant day’s song, especially for the business agreements sign for the local enterprise peoples. This song also shared as the theme song of the “Hakata Gion Yamakasa” in Kushida shurine in Hakata.

Anyway, I translated the “Iwai-Medeta” in English as below. Almost all means are for the long prosperities for the singing peoples.

The original song was made with unknown situations, and we don’t know the details of the meaning. I tried to translate with the standard feeling of a normal Japanese. But if you have any questions or suggestions, feel free to contact me.

The video is available in the YouTube here.

Celebration and Joious of Wakamatsu the God, Wakamatsu the God
Iwai-Medeta no Wakamatsu-Sama yo Wakamatsu-Sama yo
祝いめでたの 若松様よ 若松様よ


Growing not only the branches but also the leaves.
Eda mo Sakayu-rya Ha mo Shugeru
枝も栄ゆりゃ 葉もしゅげる


Let’s chant, and chant, and chant, and chant. Ya, we don’t have no choice!
Eisho-e Eisho-e, sho-e, sho-e A, Shonga-ne!
詠唱ェ 詠唱ェショウェショウェ ァしょんがね!


Invite your neigborhoods Ya, we don’t have no choice.
Arewai Sasoe, Sasoe, e, Shonga-ne-e.
アレワイ誘え誘え ェしょんがねー


Let’s have our clap hands sign!


Ready, (clap, clap) Again, (clap, clap) Three times with celebrating (clap, clap…, clap)
Iyo-h, (Pan, Pan) Ma Hitotsu, (pan, pan) You-to San-do (pa-pan, pan)
ィヨーォ (パンパン) まひとつ (パンパン) 祝うと三度 (パパンパン)

How to Move from J2EE from Java EE in Java Day Tokyo 2014

Last day I joined in Java Day Tokyo 2014 as a speaker and had this conference session “How to Move from J2EE from Java EE” as below. Uploaded in SlideShare.

The background of these slides and my presentation theme was for the poor enterprise systems which is not improved and keep going with J2EE 1.4 and many non-standard open source frameworks.

The big picture of Java EE – formerly J2EE is the standardization of the enterprise development API for any application servers, and the theme was not changed since the born of Java (2) platform, enterprise edition (J2EE). I strongly agreed these movement at the start of J2EE, and not changed in this time.

Many enterprise engineers still don’t know the latest version of JEE, due to the limitations of each company’s original standards – many standards are still based in J2EE 1.4. And the older standards applied systems are now turning into the “too old to migrate” systems.

As a fan of Java EE specifications, I want to share how to migrate to latest Java EE 7 standards from older ones. I hope these slides are for your system improvements and Java EE applied system increasing.

Happy Java 8 Release

As you might know, the Java 8 was released yesterday, and I tried to use both my OS X and Windows environment with new NetBeans 8 and GlassFish 4.

Including many useful improvement in 8, the new edition of the common platform is the best one ever. And please be careful that any new software has some of uncertain bugs. If you plan to apply 8 to your production environment in the future, be careful to new information of bugs or vulnerabilities of this new island.

If you are a good Java operator, please make sure that the Java VM environment was completely changed and some well known JVM booting options was deleted and you must learn a lot of new philosophy of imported new VM functions from JRockit from BEA WebLogic (by Intel formerly).

If you are a nice programmer or software architect, please be careful of your favored libraries or app servers compatibilities of 8. Especially almost all commercial licenced app servers, including WebLogic, WebSphere, JBoss or like that, the requirement JDK might be still with 7u51, and please avoid the force applying 8 to them in your production environment. It might stak in booting time or now working correctly. Ask to the support when you can apply 8 to your platform.

Anyway, the new major version platform release is really special for us and welcome to our new future platform. And I want thanks so much for all guys related to new JDK releasing. Congratulations!

Updated my twitter account name to @HirofumiIwasaki

I’m considering about the changing my account name of twitter. Finally changed to my real name @HirofumiIwasaki.

The mean of @rockcape, my previous account name was from my family name ‘Iwasaki’, but it was my misunderstanding. Iwasaki (岩崎) means ‘rock cliff’ or just ‘cliff’, so the account name must be rock cliff or cliff, but already occupied.

So I decided to back to my original name directly. Little bit difficult to call my name in English style, but this IS my name as one of a Japanese.

By the way, I changed my follower from Japanese account to English one, and realised that there are few of the Japanese news accounts. Almost all guys around the world cannot recognise the incidents and problems of the Japan with these sad environment.

Now I’m trying to change my business and programming style to English, and also trying to twit in English. Hope may people in Japan twit in English for world wide, and improve the sad situation and more recognised the Japan by oversea guys as well.

How to Install GCC 4.8 with NetBeans in OS X 10.9

Screen Shot 2014-02-15 at 11.39.21 PM

I tried to update GCC environment in my OS X 10.9 with NetBeans 8 beta environment to use C++11 new features, including shared pointer. There’s some useful information to update using MacPorts, and this article is just my memo.

1. Install Command Line Tools for Xcode

MacPorts’ policies of supporting GCC is as follows, and it must be installed separately from apple site. If this tools not installed, you’ll be failed in the compile operations with some header missing messages.

MacPorts migration policies

Download command line tools for Xcode

2. Install MacPorts and GCC 4.8

Next, install MacPorts normally, and self update to refresh latest package information to your local repository of MacPorts.

$ cd /opt/local/bin
$ sudo ./port self update
$ sudo ./port sync
$ sudo ./port install gcc48
$ sudo ./port install gmake
$ sudo ./port install gcc_select

3. Set the Environment Variables

Set the GCC standard to 4.8 as follows.

$ sudo ./port select --list gcc
Available versions for gcc:
none (active)
$ sudo ./port select --set gcc mp-gcc48
Selecting 'mp-gcc48' for 'gcc' succeeded. 'mp-gcc48' is now active.

And set the environment variables to use as the standard gcc as below.

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH

4. Change the NetBeans Settings

Finally stars the NetBeans and open the preferences > C++ > Build Tools, Add GNU_MacPorts and set each compiler path to /opt/local/bin/*.

After finished the global settings, make a new C++ project and open its properties > Build > C++ Compiler > C++ Standard to “C++11”, and compile & run with easy samples.

It seems the NetBeans environment is fine in OS X Mavericks for C++ general programming usage rather than Xcode 5. Of course, it can also use with nice Java EE environment.


予告通りであるが、英語の記事を書く。前に筆者の英語能力を。TOEIC IPテストの最高得点が830点である(2013年12月取得分)。まあ、そのレベルの者が書いてる与太話と考えて欲しい。ちなみに1月に受けた分は825点であった。難しいねぇ。


(0) はじめに


(1) 国語(日本語)について

まず、過去の記事を見てもらったら分かるのであるが、所謂「旧仮名旧漢字」で書いているのが多いとおり、筆者は国語が大好きである。大好きであるというか、そもそもNative Languageなので、好きもへったくれもない。「日本語」と相対化するような書き方・呼び方すら嫌いである。日の本の国語で良いと思ってる程の者である。





(2) 何故プログラマーに英語が必要なのか





また、欲しい本が翻訳されないのも近年では増えた。Java EE 7の本なぞ日本語のものは1冊も出てないのである。一応これでもC#と比類する企業システム向けシステム開発の双璧である。こんな馬鹿な話があっていいものか、と日本国民として憤慨する事暫しである。


(3) TOEICはどうなのか




「会議室どこ?」「A、そこ曲がったところ」「B、彼をいじめてます」「C、来週ですね」とTOEICのPart 2の典型問題を日本語で書いてみたらよく分かる。こんなもの小学校低学年向けである。





(4) TOEICを使った勉強方法について

英語便利だよ、と書いたところで、一体どうやって勉強すれば良いのよ!? とぶち切れられる事がリアルにも多い。まあ、確かに言いたいことはよく分かる。四年前の筆者もそうだった。


筆者の場合、会社から強制的に受けされられるようになる前に、自費でTOEIC公開テストを受けに行った(2010年頃)。受けに行く前に、TOEICの本を1冊だけ買って、それを本の通り11日間だけやって受けた。本は定番のロバート・ヒルキの「新TOEICテスト 直前の技術」というやつである。※Amazonだろうが楽天ブックスだろうがその辺の本屋さんだろうがどこにでも売ってる本なので、アフィリエイトリンクなんぞ張らないので勝手に探して欲しい。




(5) TOEICの点数上昇と効能





  • (ほんとに)頭が痛くなる・吐き気が出てくる
  • すぐ眠くなって寝る
  • イライラして放り投げる
  • 読んでるつもりだけど他の事を考え始めて全然頭に入らない
  • 目がチカチカしてきて単語を追えなくなる

これらはTOEICの後半、Part 7 (長文読解)を制限時間以内(約1時間程度)に解けるようになると、何と解消されるのである。眠くならないし、持続的に読めるのだ!!TOEICの点数で言うと、Readingが450点程度、全体で900点程度あれば、何とか問題ない程度、と考えても良いかなと思っている。

この効能については各種プロの方が沢山書いてるから子細は省略するが、筋肉に相当する読解持続力を付けるための訓練、がPart 7には必要で、Part 7を解けるようになると持続力が付いて長文が読めるようになる、ということなのだろう。いかに英語のプログラミング書籍が比較的簡単であったとしても、数百ページは普通にあるわけであり、途中で放り出さない程度の持続力が無いと続けて読めない。



How to Install OpenCOBOL in OS X 10.9

I tried to install the OpenCOBOL, the open source COBOL compiler, in OS X 10.9. This is the note of it. The original site installation is old, no additional package compiles and installations are required. Just do the MacPorts installation commands only. All required packages are ready in MacPorts repository for OpenCOBOL.

1. Install MacPorts

Install MacPorts normally from here.

2. Install OpenCOBOL from MacPorts repository

$ sudo port install open-cobol
---> Computing dependencies for open-cobol
---> Dependencies to be installed: db44 gettext expat libiconv ncurses libgnugetopt libtool mpfr
---> Fetching archive for db44
---> Attempting to fetch db44-4.4.20_2.darwin_13.x86_64.tbz2 from
---> Attempting to fetch db44-4.4.20_2.darwin_13.x86_64.tbz2.rmd160 from
---> Installing db44 @4.4.20_2
---> Activating db44 @4.4.20_2
---> Cleaning db44
---> Fetching archive for expat
---> Attempting to fetch expat-2.1.0_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch expat-2.1.0_0.darwin_13.x86_64.tbz2.rmd160 from
---> Installing expat @2.1.0_0
---> Activating expat @2.1.0_0
---> Cleaning expat
---> Fetching archive for libiconv
---> Attempting to fetch libiconv-1.14_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch libiconv-1.14_0.darwin_13.x86_64.tbz2.rmd160 from
---> Installing libiconv @1.14_0
---> Activating libiconv @1.14_0
---> Cleaning libiconv
---> Fetching archive for ncurses
---> Attempting to fetch ncurses-5.9_2.darwin_13.x86_64.tbz2 from
---> Attempting to fetch ncurses-5.9_2.darwin_13.x86_64.tbz2.rmd160 from
---> Installing ncurses @5.9_2
---> Activating ncurses @5.9_2
---> Cleaning ncurses
---> Fetching archive for gettext
---> Attempting to fetch gettext- from
---> Attempting to fetch gettext- from
---> Installing gettext @
---> Activating gettext @
---> Cleaning gettext
---> Fetching archive for libgnugetopt
---> Attempting to fetch libgnugetopt-1.3_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch libgnugetopt-1.3_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch libgnugetopt-1.3_0.darwin_13.x86_64.tbz2 from
---> Fetching distfiles for libgnugetopt
---> Attempting to fetch libgnugetopt-1.3.tar.bz2 from
---> Verifying checksums for libgnugetopt
---> Extracting libgnugetopt
---> Configuring libgnugetopt
---> Building libgnugetopt
---> Staging libgnugetopt into destroot
---> Installing libgnugetopt @1.3_0
---> Activating libgnugetopt @1.3_0
---> Cleaning libgnugetopt
---> Fetching archive for libtool
---> Attempting to fetch libtool-2.4.2_3.darwin_13.x86_64.tbz2 from
---> Attempting to fetch libtool-2.4.2_3.darwin_13.x86_64.tbz2.rmd160 from
---> Installing libtool @2.4.2_3
---> Activating libtool @2.4.2_3
---> Cleaning libtool
---> Fetching archive for mpfr
---> Attempting to fetch mpfr-3.1.1-p2_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch mpfr-3.1.1-p2_0.darwin_13.x86_64.tbz2.rmd160 from
---> Installing mpfr @3.1.1-p2_0
---> Activating mpfr @3.1.1-p2_0
---> Cleaning mpfr
---> Fetching archive for open-cobol
---> Attempting to fetch open-cobol-1.1_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch open-cobol-1.1_0.darwin_13.x86_64.tbz2 from
---> Attempting to fetch open-cobol-1.1_0.darwin_13.x86_64.tbz2 from
---> Fetching distfiles for open-cobol
---> Attempting to fetch open-cobol-1.1.tar.gz from
---> Verifying checksums for open-cobol
---> Extracting open-cobol
---> Configuring open-cobol
---> Building open-cobol
---> Staging open-cobol into destroot
---> Installing open-cobol @1.1_0
---> Activating open-cobol @1.1_0
---> Cleaning open-cobol
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.

3. Try Hello COBOL

Make the COBOL program as below. (from OpenCOBOL getting started page

* Sample COBOL program
PROGRAM-ID. hello.
DISPLAY "Hello World!".

Next, compile and execute.

$ cobc -x hello.cob
clang: warning: argument unused during compilation: '-R/opt/local/lib'
$ ./hello
Hello World!

Fine 😉

Leica IIIbが我が家にやって來た



元々輕くて趣味性の高いレンジファインダーが欲しいと思ってた所であった。OLYMPUS XAがあるからいいじゃないか、とも思っていたのであるが、外裝がプラスチック過ぎるのとピント合わせがひたすら難しいのが難點であり、年代的にいつ壊れてもおかしくない電子式シャッターが心配でもあった。欲しいのは、薄くて輕くて金属製で長く使へて。


本機はその中でも1938年製である。日本の所謂大東亞戰爭よりも前のドイツ(だから第二次世界大戰)のものである。巡り巡ってこれが日本にあるのが不思議でもあるのだが、そもそも世界中のライカの何割かは日本にあるらしい。IIIbはLeica III型の3番目(III, IIIa, IIIb)であり、本體が板金で作られた最後のものださうだ。しかも設計者のオスカー・バルナックが生きてた頃の最後の機種、3萬臺程度しか作られてない、といふことで、知る人ぞ知る機種である。


  • IIIc型以降より小型であること。
  • メッキや内部部品の品質が第二次世界大戦より前で良く、長期利用に堪へさうであること
  • ファインダー部分がIIIa型の板金型より改良されたダイカストになっており、距離計との間隔が狭まったこと
  • 距離計が50mmファインダーの1.5倍像、全面二重像となっており、ピント合わせが極めて樂なこと
  • フィルム巻き戻しレバーを動かした際に誤って露光しないやうに自動でシャッターが閉まる構造になってること
  • 沈胴型Elmarが超小型で輕く、合計でも660g程度にしかならないこと
  • Elmarを沈胴させた時の薄さが半端なく薄いこと
  • コストパフォーマンスに優れていること(結構安い)


レンズはこれまた定番のElmar 5cmにとりあえず決めた。なんせレンズが引っ込む所が素晴らしい。製造番號を調べたところ、1946年製ださうである。これは戰後ですな。マニアに謂はせると年代が揃ってないダメな組み合はせなのだらうけど、とにかく良品が何せ安く買へたので良しである。恐らく市場最安値圏で買ってしまった。ガタもなく傷も少なく、多少曇ってるかも、と謂ふ程度で、ヘリコイドも絞りも重くグーッと動く感じで、グリースも切れておらず、良好である。








1. Webだけで完結するサービスが没落する




2. O2Oが本格化する

二つ目。ひとつめの延長というか裏返しになりますが、O2O (Online to Offline)が今年來るだらうと。




3. リッチクライアントが復活する


HTML5がどかーんと來るかといふと、まあここは今年の延長くらいしか無いかなと思ふ次第でして、リッチクライアント(スマホアプリ)は特にオフライン利用とRich User Experienceの方面で、市場を制覇していくのではと考へてゐます。



4. Java EEが7對應のサーバーと共に復活する

四つ目。これは去年の延長って話になります。今年は恐らくGlassFish以外の商用アプリケーションサーバーがEE 7對應してくるはずなので、そこの話になります。



5. 日本にNon Japanese技術者が増える



となると、自然に「出來るNon Japanese」が増えるのでは、といふ譯です。英語ができれば判斷根據もしっかりするし、何より情報も早いし、將來の道筋を間違ふ事も減るだらう、と考へた場合、その次にかうなる事は必定。

もしくは、日本での開發作業自體が減少する(外国へオフショア發注が増える)のではとも思ひます。ただ、過去の失敗の歷史もありますし、請負型發注のための仕様書を書ける人も少ない「行間を讀む」事を強要するNon Verbalな文化も障害になると思ひますので、やっぱり日本に來て一緒に開發するスタイルの方が多いかなと。