Kazuho
Oku


@kazuho
Github
Blog

Organization: DeNA, Inc.
Location: Tokyo, Japan
Projects: JSX-lang
Languages: JSX-lang, C++
2013-08-20

Could you give us a brief introduction of yourself, what you do for a living, and what kind of problems you work on?

I'm Kazuho Oku, a web technology developer.

In the past I've developed Palmscape, the world's first web browser for the Palm OS, as well as Q4M, a message queue that works on MySQL.

I also created a service called Japanize, which aimed to localize foreign websites to Japanese through the efforts of the end users (There was a similar Firefox plugin at the time too, which was one of the most frequently used plugins at the time).

I currently work at DeNA Co., Ltd. where I develop JSX, "a faster, safer, easier javascript", among other things.

(interviewer's note: DeNA is a major player in Japan's very large social and mobile gaming market)

Do you have any personal pet projects (OSS, side businesses, community stuff, etc.) you can tell us about?

I currently don't have any side projects, since I spend a great deal of my time at the office working on open source projects.

What languages and frameworks are you using these days?

I naturally use the JSX programming language that our team develops in house. I write JSX's processing system using JSX itself, and use the language for the vast majority of my web related work.

Other than JSX, I often use C++ for work that is performance sensitive.

Could you tell us how you first got into programming, and how you decided to make this your career? Was there a particular moment when you realized that this was what you wanted to do?

The first time I wrote a program was in elementary school, when we had a class using the LOGO programming language. It was so much fun moving the turtle around with the program, I'd camp out in the computer lab even during recess. I had a long train ride to school during my junior high and high school years, and spent that time playing around writing BASIC on my Pocket Computer. Also, we had a Macintosh and a PC-9801 at home, so I wrote HyperCards and wrote some C code as well.

That being said, I had no intention to make a living as a programmer until I got to college. But my introduction to Unix and the Internet upon entering college (this was right after the school's educational systems had been replaced with Unix machines, so we had the fun of writing and building our own systems) made me start writing programs in earnest.

What changed my life at this stage was discovering the PalmPilot Professional.

The Internet was starting to take off for the average consumer at that time, and web browsers were nowhere near as complicated as they are today. However, at that time nobody had written a web browser for the PalmPilot that had just been released.

Writing a functional web browser with just 10KB of working memory was quite a technical challenge, but my experience in middle and high school building programs in low resource environments, my knowledge on building Macintosh applications (At a high level, PalmPilot apps are made by converting a program written for the Macintosh), and the familiarity I had gained with network-related programming during college helped me tremendously. Owing to these factors, I was able to release the initial version after 3 months.

As the PalmPilot became popular, web browser development naturally became my work.

What is your most memorable (triumph, catastrophe, etc) hacking/programming experience?

I'd have to say it was the moment in elementary school. Having been taught by my teacher that I could draw a circle with

REPEAT 360 [ FD 1 RT 1 ]

I wrote the following code to draw a small circle.

REPEAT 180 [ FD 1 RT 2 ]

But my teacher had written it as

REPEAT 360 [ FD 0.5 RT 1 ]

The revelation that there are two ways to solve a given problem left a lasting impression on my young self. I also experienced a bit of culture shock when I learned the concept of Cartesian Coordinates through BASIC.

Through such experiences, I've been able to enjoy programming while continuously considering approaches from a variety of angles.

How would you describe Japan's Hacker Community?

I don't think it's that different compared to various places overseas. These days we put our code on Github and communicate with one another through irc or Twitter (Japanese has very high information density per character, so it acts as a bit of a "compression scheme" when communicating over Twitter. We can fit much more information into 140 characters compared to English).

What are some of the things you feel are unique and wonderful about Japan's Hacker Community?

I think one of the big plusses in this community is the popularity of offline mingling and thought exchange through things like "study sessions". They say that 80% of Japan's software industry is located in the greater Tokyo area, so countless hackers are holding a variety of study groups on a near-daily basis.

Since we have a whole ecosystem within just one city, we can attend a study group of our choice in the evening after work, discuss and debate over beers afterwards at a nearby eatery, then get on a train to head home.

How do you feel about the current level of camraderie and communication between the global Hacker Community and the Japanese Hacker Community?

For starters, I would really like to stress my belief that this divide isn't caused by something like cultural differences, but is instead a result of logical, rational decisions made by each individual.

Now, among the hackers around the world who aren't native English speakers, those of us in Japan are quite fortunate. Many technical books have been translated from English to Japanese, and in addition, we can exchange information with one another through technical blogs written by our peers or by attending local study groups.

But as a side effect, most Japanese Hackers don't output their information and knowledge in English. Why is this the case? It's because using Japanese is much more convenient and productive when exchanging information with the communities that we belong to. Since there are fellow hackers in our communities who aren't comfortable with English, even those of us who are quite adept at English are compelled to use Japanese rather than English.

As a result, I must admit that our hacker community in Japan may at times appear to be isolationist when seen from the outside. But again, please keep in mind that this is the result of conscious, rational choices that each of us have made for ourselves, as opposed to some immutable cultural characteristic.

What can we work on to close this divide?

Let me answer this from "a hacker's perspective".

I believe that we can start to improve the situation by working on (1) making "places" multilingual and (2) making information written in foreign languages "observable".

To illustrate what I man, let's compare slashdot with Github.

Those of you in the English speaking world may not know this, but there is a Japanese version of slashdot.org called slashdot.jp. However, because these two sites are completely separate, information is rarely shared between the two sites and their respective communities even if the same subject or article is or both sites. This is because slashdot.org users only read comments posted on slashdot.org, and slashdot.jp users only read comments posted on shashdot.jp. In such a situation, the divide will never be bridged.

What about Github then? Github has placed source code, a (spoken) language agnostic asset, at its core and has surrounded it with modules such as issue trackers, wikis, etc. This has made it natural to open issues in English against a repository maintained by a Japanese hacker, or for hackers who use Japanese on a day to day basis to submit a pull-request in English. You can even find repositories where there have been issuen submitted in multiple languages.

Even if it's a language we're not familiar with, we can use an automated translator once we recognize that there's some information there that we may be interested in.

Of course, some may point out that it is rare to find a service like Github where its core is comprised of a language agnostic asset. But I'd like to posit that when Japanese native hackers create such services, we must avoid making a service that has been "localized for Japan". Instead, we must make a concerted effort to create services where Japanese is supported as a part of its multilingual support and design. I believe that this is the approach we need to take in order to bridge the current divide between our respective communities, and for us to create services that can be adopted worldwide.

Do you have any interests outside of programming?

My hobbies are hiking and stargazing. Walking in the wilderness and spending the night in a sleeping bag under the stars is an amazing experience. When I was in California for Google I/O earlier this year, I was considering varios places to spend the night outdoors and eventually decided on a one night stay at Yosemite.

Japan is small country but it's blessed with a diverse natural environment. I definitely recommend checking the country out if you're interested in the outdoors.

Is there anything you'd like to say to us Hackers overseas?

As I mentioned earlier, many of us in Japan use Japanese to communicate with one another "because it is convenient". It doesn't mean that we're opposed to communicating in English or other languages when it's called for. So if there's something that grabs you attention but we've been communicating thus far in Japanese, by all means shoot us a message or leave a comment in your language of choice.

Who would you like us to interview next?

@tokuhirom (Hiromu Tokunaga, Perl Hacker)

Anything we haven't covered?

I think we've covered everything for now :)

Thanks Kazuho!