Traveling to Japan for business

I recently traveled to Japan for work. It was an awesome experience. I wanted to share some of the knowledge I gained.

Business Cards

When meeting executives and other hight level personnel there is a right and wrong way of exchanging business cards. You should always carry business cards. In this case less is not more. Running out of business cards will be awkward.

Try to get your business cards translated with one side in English and the other one in Japanese. This is a nice to have but I found that people were really impressed.

Here is a good video on how you should exchange business cards. I found that it was spot on. http://www.youtube.com/watch?v=of8UgykfUbw

Presentations

I feel like this is obvious but not everyone speaks English in Japan. If you are presenting you will need to consider that there will be a translator on-site. If you have never had someone translate for you here are some things you need to consider:

If you have slides of some sort allow for the translator to finish translating your spiel before you switch slides. Furthermore, do not point to the slides while speaking. You think you are pointing something out but they will not understand you and I doubt the translator will mimic your actions.

If you have written a script keep in mind that, depending on your skills and delivery, it might be hard for the translator to translate what you are saying. Some people get nervous and stutter, say the wrong word, or pause awkwardly when they shouldn’t.  I found that speaking freely is way more effective.

Gift Giving

If you have brought a gift ensure it is in a presentable package. Presentation is more important than the gift itself. Gift exchange is done on the last day and not the first.

Business Lunch/Dinner

I found that the Japanese will pre-arrange everything from the time and place to the menu. If you have any restrictions (allergies, vegetarian) let them know in advance and they will accommodate you.

I believe all restaurants will give you moist towels to clean your hands with. These towels will remain at the table and the waiter/waitress will not collect them. This may see strange to some people so if you wish you can ask the  waiter/waitress to take the towel away.

If you are a smoker I believe it is rude to leave the table for a smoke break but that may depend on if members of the host team also smoke. When I was in Japan none of my co-workers smoked but a couple of the executives from the Japanese company did smoke. During my week there they NEVER left the table during a meal to go for a smoke break.

 

I hope you found this knowledge useful 🙂

Advertisements

Sync Server

I recently set up my own sync server. It is one of the requirements for a projects I am currently working on. All of the information I needed was on two separate Mozilla wiki pages: sync setup and user setup.  After spending some time in the #sync IRC Channel. I finally got it working. In order to configure a server on Fedora you will need PHP with the mbstring extension, mysql, apache, mercurial, and captcha.

Setting up the sync server:

– Get the latest server from Mozilla. You can save this directory anywhere on the hard-drive.

 hg clone http://hg.mozilla.org/services/sync-server/

– Edit the Apache config file found under etc/httpd/conf/httpd.conf

Append these two lines:

Alias /1.0 <full path to the dir you just saved>/sync-server/1.0/index.php

– Copy 1.0/default_constants.php.dist to 1.0/default_constants.php

Open this file and change the following parameters:

 define('WEAVE_AUTH_ENGINE', 'mysql');
 define('WEAVE_MYSQL_AUTH_HOST', '<db host>');
 define('WEAVE_MYSQL_AUTH_DB', '<db name>');
 define('WEAVE_MYSQL_AUTH_USER', '<db username>');
 define('WEAVE_MYSQL_AUTH_PASS', '<db password>');

Note that you have to create the database and the above user. If you have never set up mysql this blog may help.

-Make a database name it the same as above
-Make a user with and give him privileges to the

– Create three tables: wbo and collections using the following script:

 CREATE TABLE `collections` (
 `userid` int(11) NOT NULL,
 `collectionid` smallint(6) NOT NULL,
 `name` varchar(32) NOT NULL,
 PRIMARY KEY  (`userid`,`collectionid`),
 KEY `nameindex` (`userid`,`name`)
 ) ENGINE=InnoDB;

CREATE TABLE `wbo` (
 `username` int(11) NOT NULL,
 `collection` smallint(6) NOT NULL default '0',
 `id` varbinary(64) NOT NULL default '',
 `parentid` varbinary(64) default NULL,
 `predecessorid` varbinary(64) default NULL,
 `sortindex` int(11) default NULL,
 `modified` bigint(20) default NULL,
 `payload` longtext,
 `payload_size` int(11) default NULL,
 `ttl` int(11) default '2100000000',
 PRIMARY KEY  (`username`,`collection`,`id`),
 KEY `parentindex` (`username`,`collection`,`parentid`),
 KEY `modified` (`username`,`collection`,`modified`),
 KEY `weightindex` (`username`,`collection`,`sortindex`),
 KEY `predecessorindex` (`username`,`collection`,`predecessorid`),
 KEY `size_index` (`username`,`payload_size`)
 ) ENGINE=InnoDB;

This table is used by the user server:
 CREATE TABLE `users` (
  id int(11) NOT NULL PRIMARY KEY auto_increment,
  username varbinary(32) NOT NULL,
  password_hash varbinary(128) default NULL,
  email varbinary(64) default NULL,
  status tinyint(4) default '1',
  alert text,
  reset varchar(32),
  reset_expiration datetime )
ENGINE=InnoDB;

insert into users (username, password_hash, status) values ('username', md5('password'), 1);

– Ensure that the following constants are listed in the 1.0/default_constants..php file:

 define('WEAVE_MYSQL_STORE_WRITE_HOST', WEAVE_MYSQL_STORE_READ_HOST);
 define('WEAVE_MYSQL_STORE_WRITE_DB', WEAVE_MYSQL_STORE_READ_DB);
 define('WEAVE_MYSQL_STORE_WRITE_USER', WEAVE_MYSQL_STORE_READ_USER);
 define('WEAVE_MYSQL_STORE_WRITE_PASS', WEAVE_MYSQL_STORE_READ_PASS);
 define('WEAVE_PAYLOAD_MAX_SIZE', '');

Setting up the user server:

– Get the latest server from Mozilla. You can save these anywhere on the hard-drive.

hg clone http://hg.mozilla.org/services/reg-server/

– Edit the Apache config file found under etc/httpd/conf/httpd.conf

Append these lines two lines:

Alias /user/1.0 <full path to services/reg-server directory>/reg-server/1.0/index.php
Alias /user/1 <full path to services/reg-server directory>/reg-server/1.0/index.php

– Copy 1.0/weave_user_constants.php.dist  of the new directory to 1.0/weave_user_constants.php

Open this file and change the following parameters:

define('WEAVE_AUTH_ENGINE', 'mysql');
define('WEAVE_MYSQL_AUTH_HOST', '<db host>');
define('WEAVE_MYSQL_AUTH_DB', '<db name>');
define('WEAVE_MYSQL_AUTH_USER', '<db username>');
define('WEAVE_MYSQL_AUTH_PASS', '<db password>');

– To set up captcha you will need to get yourself a public key and private key from http://recaptcha.net/

-Add an alias to the 1.0/weave_user_constants.php

Alias /misc/1.0/captcha_html /reg-server/1.0/captcha.php

Once you completed this setup you need to set-up your sync profile. To do this go to the Tools=>Sync menu in Firefox or download the Sync add-on.
You will meed to set up sync to use your own serve. This tutorial will guide you through setup however it uses the Mozilla server.

View all of my blogs

Setting up mysql on Fedora

This is a quick how to on setting up mysql on Fedora. These commands are run on the terminal and may require root access. To change users use this command: su root
Install mysql packages:

yum install mysql mysql-devel mysql-server

Start the mysql server:

service mysqld start

If you want the mysql service to start everytime the machine starts do:

chkconfig mysqld on

Set up the root password for mysql:

mysqladmin -u root password <strong><em>yourpassword</em></strong>

To get into a mysql prompt do:

mysql -u root -p

The above will change your terminal prompt from something like “[annasob@ireland 1.0]$” to “mysql>”

Create a User and set their privileges in a mysql prompt

CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;

After this you can create databases and create tables.

View all of my blogs