Showing posts with label research. Show all posts
Showing posts with label research. Show all posts

Thursday, April 24, 2014

My new startup: Kenji Rikitake Professional Engineer's Office

This is an announcement of my new startup business.

I've started my own business, as a Japanese government-licensed Professional Engineer of Information Technology (in Japanese it's called Gijyutsushi), since April 21, 2014. It's called Kenji Rikitake Professional Engineer's Office (KRPEO).

KRPEO provides the consulting and engineering services on information technology in general, including but not limited to: information and network security, the design, deployment, implementation and performance tuning of Erlang/OTP, FreeBSD, and Riak. KRPEO will provide all services in both Japanese and English.

I had been looking for a full-time job since October 2013, and I made a conclusion that the job market near Osaka was mostly for energy-consuming legacy programming tasks due to the fact that most of the high-end software engineering companies were only located in Tokyo. Most of the employers in Japan do not accept remote teleworking due to the cultural and legal reasons either. So I had to lean out from the traditional corporate culture of Japan, for a more sustainable business model, making myself, my family, and my customers happy at the same time. I understand this is a hard challenge, but I will definitely take it.

My involvement in the open-source developer and network operator communities in Japan and the world will remain the same and unchanged.

The English announcement site for KRPEO is at http://www.k2r.org/krpeo/. The Japanese site URL is: http://www.k2r.org/gijyutsushi/.

Update 28-APR-2014: add the URL of the English site, correct the URL of the Japanese site.

Thursday, January 31, 2013

Lost in transportation

I will resign from my full professor position at Kyoto University. The employment contract will terminate by 31-JAN-2013.

I've got killed by commuting, again. Yes, again. I should have learned from my past dreadful experience from 1990 to 1992. I know regular long-distance commuting is hazardous to my health. And being forced to synchronously work with other people from 9am to 5pm simply does not work for me. But I had to take the job for my paycheck, because no other practical job offer was available on Spring 2010. And I have to admit that I did not survive the tough working condition.

I was taking a sick leave from November 2012 to January 2013. I got mentally crashed due to chronic and accumulated fatigue, presumably caused by spending nearly four hours every day during commuting from home. Fortunately at the end of January 2013 my mental and physical health conditions have been back to the normal ones, but at the end of October 2012 I was very weak and mentally disorganized.

I once experienced a similar situation of chronic fatigue when I was working in Tokyo, commuting to a Yokohama office, with four train line transits every day, taking nearly two hours for each direction, from 1990 to 1992. I was young enough to tough it out for two years, but I collapsed on Autumn 1991. I had to quit the job on April 1992.

Commuting from Northern Osaka including Toyonaka to Kyoto is relatively less stressful than commuting from Setagaya in Tokyo to Hodogaya in Yokohama. It takes three train lines for each direction, much less crowded than that of Tokyo. I have to walk a lot though in Kyoto and Osaka, so the time I have to consume is approximately two hours for each direction, virtually the same as the one I experienced in Tokyo.

I tried to reduce commuting by doing my job from home, but the nature of my missions eventually changed to mandate daily commuting, and my physical and mental health conditions got deteriorated. What was worse was that I also had to work from home. I was simply spending too much time on my working hours, and in the end my productivity turned into nil.

I took my personal records of working hours spent on each task at the workplace simply for my own curiousity, measured by the unit of Pomodori, which is plural of Pomodoro. Each Pomodoro in my case means 30 minutes. I take this definition of Pomodoro/Pomodori from a popular book called Pomodoro Technique Illustrated, by Steffan Nöteberg. Note that Steffan suggests that you have to take at least a five-minute break for each Pomodoro, which takes 25 minutes. This is unfortunately virtually impossible in the corporate life.

I think the worst time wasting events at the workplace were regular meetings. Many of the meetings take at least two Pomodori, and some of them even take six or more, which means three hours or more. Locked onto a chair for such a long time without a break makes you feel very sick, and will surely hurt your back. I also have to write that commuting only for attending face-to-face meetings is simply a waste of time and the physical energy. And I've found that for many days I had to work more than 20 Pomodori at the workplace, which suggested lower productivity.

I think allowing telecommuting, teleworking, working from home, or whatever frees the employees or managers from the physical office or being forcefully bound onto an unnecessary face-to-face meeting, is a must for a modern organization to boost the productivity of each organizational member. Some people may argue this is not for everyone, but I strongly believe this option should be available for all people, unless the person deliberately want to dedicate a fixed window of time to a fixed place with prior consent. I also think that the number of meetings should be minimized, and that the time spent on the dedicated meetings should be kept as small as possible.

I understand that occasional or sometime less frequent (for example per month or bi-weekly) business trips will be necessary, and I usually accept them. Face-to-face meetings are indeed necessary for some decision makers, which I also consider logical. But I think daily long-distance (more than 30 minutes or even one hour) commuting should not be used as a piece of litmus paper test of the royalty to an organization.

Unfortunately people at most of the organizations in Japan still think physical commuting and daily or weekly face-to-face meetings are critical and mandatory, and that there's no other way. I think this sort of thinking will no longer work well, regarding the increasing population density and train network failure rate, especially in Tokyo and the Kanto plain, and also in Osaka/Kansai, Nagoya, and less crowded regions. And people in Japan are now struggling to allocate their scarce resource of time to taking care of their family members, of their children, or of their elderly parents, which no one else will take it as the primary role. The time and physical energy management gets even more important for each individual than ever.

So I've decided to choose another way of living, before getting lost in transportation. Getting back to the days of working from home and telecommuting/teleworking is nothing new to me, because that's what I've done from 1992 to 2010. Leaving the career track of academic research is sad. But I need to live and survive. And I want to use my time and physical energy wisely. I'll take this new challenge again.

Update 7-JUL-2013: A followup post is here in Medium.

Saturday, May 7, 2011

My technical interests for Erlang/OTP as of April 2011

This is a list of my technical interests for Erlang/OTP as of April 2011:

  • Catching up the latest cryptographic algorithms, including hash functions, shared-key cryptography, public-key cryptography, pseudo random number generators (PRNGs), while making them efficient in parallel/concurrent execution environment;
  • Delay tolerance network technologies which can handle days, weeks, months of message delivery delays;
  • Fundamental support functions of IPv6, especially for Distributed Erlang and epmd, and cryptographic transport support with SSL/TLS;
  • DNSSEC-compatible resolver implementation for inet_res module;
  • Large binary heap handling of BEAM, and the programming methodologies for the faster NIF implementation, including the performance measurement;
  • PRNGs with small context/internal-state size, e.g., Wichmann-Hill 1982/2006, LShift, XOR32;
  • PRNGs with large context/internal-state size, e.g., SFMT;
  • TAI or leap-second handling by NIF;
  • Privilege separation techniques between BEAM instances (e.g., virtualization, FreeBSD Jail); and
  • the effective usage and choice of port drivers, linked-in drivers, and NIFs

And projects I'm interested in (but not limited to):

  • Disco Project, a MapReduce implementation
  • ZeroMQ and other general queueing systems
  • UBF, BERT-RPC, and other messaging formats
  • CouchDB

And don't forget I'll be hosting the ACM Erlang Workshop 2011.

(This article is a revised version of http://heikou-konton.blogspot.com/2011/02/erlangotp.html (originally written in Japanese.)