Corporate flu prevention in Japan

coughing etiquetteSince coming back from Golden Week vacations, my company has been sending flu-related information by email to all employees twice a week.

Last week we had an employee coming back from the US get yanked into quarantine at Narita for a week because he sat in the vicinity of a guy with a fever.

Today we received the following email:

Due to prevention of New type Flu, VTSJ Safety & Health Committee would like you to deploy as followings.

Before coming work place, it is necessary to check your body temperature. If you have more than 38℃ of fever, Report to your manager and call to inquiry counter (phone desk organized by the health ministry).

*If you are not able to talk by Japanese, inform to your HR Department.

When your team member will be infected a flu, Manager must report it to Safety Group by attached format. Manager must ask your team member to avoid coming to his/her work place until approval from Public Health Department.

Along with PDF flyers about proper hand washing and “coughing etiquette” as well as the official excel-made (everything is made with excel in Japan) “Flu Patient Declaration” form for use by managers to report to Human Resources.

flureport

One of my team members didn’t come to work today because he wasn’t feeling good. I’m tempted to rat him out to the company with the provided form and get him quarantined until next week… (^o^)/

Golden Parachutes or Organized Cartel: which is more popular?

scrooge-mcduckLast week my company, Valeo, made the frontpage of all the big newspapers (at least in Europe) as our CEO stepped down and was given a 3.2M€ “golden parachute” farewell bonus in spite of the company needing governmental aid to stay afloat. The French government promptly started working on a new law to ban such bonuses in companies receiving financial aids.

His replacement was nominated at the same time as the ex-CEO of Saint Gobain, a high-tech materials manufacturer mostly known for its glass products (your car’s windshield and windows have a good chance of coming from them). The interesting thing being that he had to step down last December when Saint Gobain was indicted for price-fixing cartel by the European Union and fined for 900M€.

The interesting part is the reactions I observed on my French and Japanese colleagues as they heard the news:

  • French people follow the news about the company and were all talking about it the Monday morning after the announcement.
    • The bonus, although everyone thinks it’s pretty tasteless in our situation, was more or less expected.
    • However people are really shocked that the new CEO’s last accomplishment was getting his company indicted for the very serious offense of price-fixing.
  • For my Japanese colleagues, I had to break the details of the news to them as the local papers are much more interested in the latest development of the North Korean missile threat.
    • They are pretty much outraged about the bonus.
    • When told about the cartel affair, their reaction is incredulity: “Europe is really severe on those things…”

Funny how the points of view differ on the subject.

What is your job?

I have a private mailing-list with my closest childhood friends which we use to keep in touch now that we’re spread all around the world. One of them, who recently finished an MBA at Waseda and has yet to jump into the business world, started a thread asking all of us to describe our jobs objectively and in simple terms, not using all the cryptic buzzwords that we might use in our LinkedIn profiles.

I found the exercise very interesting which is why I will copy my reply in here. Be prepared, it’s a bit lengthy.

What is it I do?

I work for Valeo in the Compressor Branch. We make compressors for automobile air conditioning systems: for those who remember their physics lessons and the first law of thermodynamics, the decompression of a fluid lowers its temperature. This is why A/C systems use what we call an A/C loop where we compress/condense a gas on one side before decompressing/evaporating it in a heat exchanger to cool the air coming in your car (then that gas goes back into the compressor for another round in the closed loop). The technology is rather cool and I love looking at CAD models, manipulating the prototypes and talking with our designers to understand how every little part of our product works.

Back to me. So Valeo is this big automotive parts company which is organized into branches by product family: Compressors, Transmissions, Wipers (don’t under-estimate, windshield wipers are high technology items), Lighting Systems, etc. Under each branch there is a division for each country of production. I work for the Compressor branch and therefore give services to all the divisions of my branch in multiple countries: Japan, Thailand, South Korea, China, Czech Republic and USA.

The Compressor branch is a bit special by the fact that it is the only one whose HQ is not around Paris but in Tokyo. The activity was bought back from a Japanese company as a joint-venture with Bosch, then 100% by Valeo 4 years ago. It is therefore a Japanese company whose whole top management (except for R&D) was replaced by French expatriates after acquisition…

I work in a team that manages the information systems (computers and software) of the whole R&D service: 80% in Japan, 20% and growing in the other divisions I listed above. I work mainly on the the PLM system (Product Lifecycle Management) – a kind of big software system that handles all the product design activity from start to finish:

  1. design new technology prototypes
  2. management of projects to adapt, manufacture and sell this product to new clients
  3. design of all the parts included in the compressor and storage of all 3D models and 2D drawings
  4. approval process for these designs
  5. life of the product with continuous updates to lower production costs and improve margin

I’m the main-guy on this rather big-big-system. I’m the expert. I train the users, I solve their problems be it technical (buggy server) or functional (software not used in the right way), but mainly I observe all the processes linked to the system – spanning all domains of the company except finance/accounting) – and try to modify the software (by writing specifications that will be written in code by offshore developer in India) or the way that we use it to improve the efficiency of these processes. See Kaizen.

What I like in my job:

  • I gravitate around the R&D service but I get to touch all domains of the business which is very interesting.
  • I get to travel quite a bit, at least when the company has money (cf. last point of what I don’t like in my job).
  • I can play around with servers, make mini-projects on the side to code and build useful tools for my team and I, but I do not spend my whole time coding: I code what I want (i.e. what I like) and pay other people to write the big boring 100.000s lines of code for me.

What I don’t like in my job:

  • It’s complicated to work in Japan for my manager in France and users all over the world to satisfy imperatives from Group Headquarter in France who seems to always forget that I am the only bastard with a time difference of +7h (don’t I love it when I get asked why I wasn’t there for the meeting at 4PM Paris time…).
  • It’s not easy to quantify my ROI (return on investment – how much money I saved for the company compared to how much I cost) at the end of the year.
  • The location: my office is in a factory in the middle of nowhere, 1h of train away from Tokyo plus 20min of bus from the closest train station.
  • Right now, the automobile business is not the funniest place to be at: budget cuts, canceled projects, travel and hiring freezes, restructuration plans. It’s not all rainbows and unicorns…

Alone at work for Christmas

It’s christmas day and I’m at the office, working…

Actually, it’s nothing unusual for Japan where the 25th is a day like any other day. But this year is special: you should know that I work for a big French automotive parts manufacturer, and this is not a very fun time for us.

Car production is down ~30% over all the industry, which means we also must cut our production by 30%. So our manufacturing plants all over the world are shutting down 1 or 2 weeks early for new year vacations.

But then, since part of my job is support, not only for Japan but for all our plants around the world, I have to be there in an empty office in an empty factory on Christmas day in case the phone rings or an email comes in requiring my mad skills…

*crickets chirping*… yeah, right…

Custom Django filters in Google App Engine

You want to create your own custom Django filters in App Engine without running a whole Django stack? Here’s how in a few lines of code.

First create a specific python file to hold your custom filters at the root of your application. In my case I use customfilters.py like this:

import re
from google.appengine.ext import webapp

register = webapp.template.create_template_register()

def escapeimg(body):
	return re.sub(r'

', '[IMG]', body)

register.filter(escapeimg)

Then in your main application source file, call the following line outside of the main() definition, for example just after your modules loading:

"""Load custom Django template filters"""
webapp.template.register_template_library('customfilters')

You should then be able to use the new filters you registered in customfilters.py straight away in any of your Django templates without any % load foobar % call

Crossdomain proxy on Google App Engine

Here’s a crossdomain proxy to pipe Javascript Ajax calls from you Google App Engine application to the Flickr API, since most browser will not let you call another domain directly.

import cgi
import urllib
from google.appengine.ext import webapp
from google.appengine.api import urlfetch

class FlickrController(webapp.RequestHandler):
	"""Proxy for Ajax calls to flickr"""
	def get(self):
		flickrapiendpoint = 'http://api.flickr.com/services/rest/'
		flickrapikey = 'you_flicker_api_key'
		
		params = self.request.GET
		params.add('api_key', flickrapikey)
		params.add('format', 'json')
		apiquery = urllib.urlencode(params)
		
		result = urlfetch.fetch(url=flickrapiendpoint + '?' + apiquery, method=urlfetch.GET)
		self.response.out.write(result.content)

def main():
	application = webapp.WSGIApplication(
		[('/flickr/', FlickrController)],
		debug=True)
	wsgiref.handlers.CGIHandler().run(application)

if __name__ == "__main__":
	main()

I didn’t see examples of such a script anywhere else so I thought I’d post it here for all to see.

Let’s leave 20 teeth at age 80!

More cool Dental Health info from my Japanese health insurance society. Coming back from Golden Week vacation, I find the following letter on my desk at work:

Information for Dental Checkup and Treatment:

Announcing the “Let’s leave 20 teeth at age 80” campaign

Aren’t your decayed teeth or pyorrhea getting worse while you are unaware ofr them? Health Insurance society has been sending application forms of dental checkup to the insured persons in numeric order of Insurance Card.

This time your insurance card number is in range of an applicable object: you are entitled to a complete dental checkup including teeth, gum and supporting bone X-rays at 10% of the medical care cost.

This is actually a pretty good deal, apart from the goofy tag-name for the campaign, and I’ve signed up for a long overdue checkup on the cheap.

Meeting shenanigans

Just a random conversation during one of my team’s daily meetings at work:

Colleague: We have a problem with the *censored* server.
Boss: Where is that server located?
Colleague: It’s in the Intellectual Property room, on the 2nd floor of the Reliability building.
Me: Yeah, you know that place? It’s right next to the office of Lost Causes.

We always have lots of fun during our daily meetings.

More tax fun!

January sees its share of administrative tasks for the new year that just started. So I received some new forms from my office’s executive assistant and as usual the English information sheet is of great help:

Special Tax Credit
Inform of special tax credit (deduction of housing loan) system like house loan etc. of residence tax. It comes to be able to deduct the amount of a special deduction like the house loan etc. that were not able to be deducted from the income tax is able to deduct from the residence tax in 2008 fiscal year.

Okay… As usual I’m going to stamp the paper with my hanko and give it back praying that I have not signed over my soul to the devil…

MQL baffles me

My job consists of writing functional specifications and generally managing the architecture of a big R&D information system based on a wonderful jack-of-all-trade application called eMatrix from Dassault.

I often delve deep into the application with the MQL console (for Matrix Query Language) to dig out some insight into the data we manage.

And, more often than not, I find things that makes me cringe:

MQL<45> print bus ECO ZCO3171 - select history.promote;
business object ECO ZCO3171 -
history.promote = time: 10/22/2007 9:56 state: Design Work
history.promote = time: 10/22/2007 17:23 state: Review
history.promote = time: 10/22/2007 18:28 state: Release
history.promote = time: 10/24/2007 21:33 state: Implemented
MQL<46> print bus ECO ZCO3171 - select history.promote[1];
business object ECO ZCO3171 -
history.promote[1] = time: 10/22/2007 17:23 state: Review
MQL<47> print bus ECO ZCO3171 - select history.promote[0];
business object ECO ZCO3171 -
history.promote[0] = time: 10/22/2007 9:56 state: Design Work
history.promote[0] = time: 10/22/2007 17:23 state: Review
history.promote[0] = time: 10/22/2007 18:28 state: Release
history.promote[0] = time: 10/24/2007 21:33 state: Implemented

If someone has any insight on how a query language can be this flawed, I’m all ears.

PS: If you don’t understand anything about this post, I’m deeply sorry for boring you with my tech rants…

Year-end tax adjustment

I was just handed by my service’s executive assistant a 2 page “Year-end tax adjustment declaration for 2007” with a little not saying the deadline is in 5 days. The forms are accompanied by an English leaflet full of statements like this one:

Special exemption for spouses
Due to the change of income low (sic.), special exemption for spouses for the spouse qualifying for exemption for spouse is abolished from 2004.

Great info, as long as you can decypher it, and no indications as to what any of the boxes’ labels might mean. I’m going to have a fun time this week…

Cursed business trip

I’m in Detroit Metro airport waiting or my flight back to Tokyo from my 1 week business trip to the US and I hope my troubles are over. Here’s a quick list of the problems so far:

  • In NYC on the first night, my friend got strangled by a crazy drunk jock as we were coming out of a Japanese restaurant close to his place. The jock finally let him go and went on to hit another random guy a block away. He wasn’t hurt but we had a good scare.
  • When going to Greenwich Village to buy a bag my girlfriend asked me to bring back, I got fell into the Gay Pride parade and got stuck for over an hour trying to wade through the crowd back to Broadway.
  • On the flight from NYC to Dallas, I was randomly selected for a special security check. Random is the word, it’s the second time out of 2 US flights I took since 9/11.

SSSS over and over again

  • My flight today from Dallas to Detroit was cancelled and rebooked for tomorrow 6AM. I will have to wake up around 3:30AM to leave at 4AM for the airport.
  • I was randomly selected again 30 minutes ago after checking in for my flight to Tokyo. This time the machine smelling explosives started to beep and the officer called a supervisor to recheck my bag, pat me down and ask me a bunch of questions…

Just a 13 hours flight left to go and I’ll be back home in Japan, safe from all this crazy stuff. I can’t wait!

Recruiting

Today I had my first interview from the recruiting side of the table. My contract will end in less than 6 months so we’re looking for someone to replace me in job. Right now I’m working 50% on technical administration and 50% on functional administration. My replacement would take 100% of the technical stuff and if I were to stay after my contract, I’d take 100% of functional responsibilities.

Anyways, this was a really interesting experience. First it’s much harder than I thought: trying to steer the conversation with meaningful questions, helping the candidate to get out of tough spots, etc. All the while I noticed lots of errors that I also do when interviewing for a job and seeing it from the other side I learned a lot.

For example, some questions that I used to think are hard to answer and don’t look so relevant reveal themselves as being the turning point of the interview:

  • What do you want to do in 3 years?
  • What is your career plan?

Having an answer that makes sense to these questions really marks a lot more points than I thought when I was looking for a job 2 years ago, fresh out of school.