学校の宿題 その1
今、通っている大学で、Client Server systemのクラスを取っている。
そのクラスの宿題の1つですが、私がどんなことをやっているかの1例として。
ここをクリック(「homework2.txt」をダウンロード) してください。
今、通っている大学で、Client Server systemのクラスを取っている。
そのクラスの宿題の1つですが、私がどんなことをやっているかの1例として。
ここをクリック(「homework2.txt」をダウンロード) してください。
I just started my new blog site.
http://isamush.blogspot.com
It's English only.
Isamu
Shigemori
email: isamush01@gmail.com
Software (Sustaining) Engineer / Web Programmer
Summary:
Advance level C programming and debugging especially in Unix environment
Systematic Problem Solving and Root Cause Analysis
Manage 15 ~ 20 Customer Escalations per year mostly bugfixes
Experienced Web Development and Java Programming
Software Developing Skills:
Programming: C, C++, Java (Sun certified JAVA programmer/developer) Assembly language, Tcl/Tk, Unix Shell programming, Perl, SQL
Operating System: Solaris admin, Advance Solaris Installation, basic TCP/IP setting, Naming Service Administration
Internet: HTML, Client / Server Programing such as JSP and Java RMI, Wiki publishing
Others: Object-Oriented Design, Multi-Thread programming
Other Skills: Native speaker of Japanese
Experience:
2000- 2009 Sun Microsystems, Solaris Sustaining Engineer, Menlo Park, CA and Surrey, U.K.
Worked on Customer Technical Escalations and provided solutions including work-around, bug-fix , and backport fixes from the next release of Solaris. The work covered the area starting from root cause analysis, continuing to bugfix, and ending to creating patches.
The areas of work were unix commands, share libraries such as libc, and installation products such as Diskless Client Suite. Amoung others works, rewriting a command to support dynamic memory allocation, backport of whole Secure Shell suite, and massive bug fixes in Diskless Clients were included.
1998-2000 Sun Microsystems, Sales Support Engineer for Asian region, Menlo Park, CA
Worked on PreSales Technical Support and Consultation including:
Developed a midleware system for Sun internal using Java RMI teaming a few trainees from Sun's partner companies in Japan
Developed a web based customer hosting management system for Sun internal using JSP
1995-1998 Pro Unlimited Inc. as a contrractor of Sun Mirosystems, Berlingame, CA
Wrote test suites for Solaris L10N support (SJIS locale) , and developed a website
1994 Sun Mirosystems
Volunteer Engineering Work
Education:
1993-1996 University of California, Berkeley Computer Science Major
1991-1993 Diablo Valley College, Pleasant Hill, CA Computer Science Major
1986-1990 Takushoku University, Tokyo Japan Business major, receiving BA
Awards:
The Eugene L. Lawler Prize From University of California, Berkeley1
The Toyota Shourei Award from Takushoku University2
2The student who achived best of the year
Just note for myself as a bash learner.
187 export HISTSIZE=1000
188 shopt -s histappend
bash usually keeps command history in memory and doesn't flash them out to a history file as default. set histappend enables it. Please search /histappend in man BASH(1) for more info.
I visited London City office of my company on 20th of February again and attended the technical session of LOSUG. I went to the city by trains with my power chair as usual. The trip was smoother than ever as a wheelchair traveler. The following is an e-mail I wrote the next day to my colleagues who organized the technical session. They also promoted my first technical presentation in last December, whose demo didn't get through.
Actually, it was good and was the first trip that I had no major problems ...
The last time in December on the return trip, I had to wait more than one hour at freezing Ascot because the station staff thought that I can use a normal taxi ... It took some time to explain that I needed an accessible taxi, as you imagine. He had no ideas what he could do. So Igave him the business card of our famous Euro taxi since they are 24 hour service, and asked to call them. It solved the problem.
The same guy was working at Ascot last night. Then, he appeared to have learned the lesson in December. He arranged it before I got Ascot, and an accessible taxi was waiting for me what I got there. I had no delay,no problem, and no argues this time, which was good thing, I believe.
We had minor adventure when we went out for lunch! I don't tell you the details, but driving the chair in the city is pretty much same as playing video games!
And I like to share one more story which is a good story different from above. Last night before LOSUG session began, while we were sort of snacking, one guy approached me and started chatting with me. He also came LOSUG in December and attended my "unforgettable" session. He told me that the session was good, and kept talking. It was first time that someone approached me and started a chat. I brought him to the front of a desktop and we had casual talk with using the keyboard, which was nice. He would start working at Sun and we might see each other, again... It was a good surprise to me. Now I felt good about the "remarkably miserable" session of LOSUG.
[English]
今月、はじめあたりから、また会社のジムへ週2回、通いはじめた。「電動車いすに乗っている障害者が、ジムに?」なんて訊かれるかも知れないが、まあ、そのところは、穏便に、笑って、ごまかそう。
何をやるかというと、シート式のエアロ・バイク、20分。これが、かなり楽しい。1年くらい前までは10段階のレベル2位で適当にやっていたのだが、今回は、ロード(負荷)も増やしていく予定。で、今のところ、レベル3から4へ移行中。おかげさまで、少し、筋肉痛。これも、心地よい。
で、早くも、うれしい効果が現れはじめた。どこでか、というと、トイレ。女性の方、ごめんなさい、これは男性に限って言えることですが、(小)をするとき、1分かそのくらい、妙に下半身が安定して立っていられるので、楽なのである。転ぶ心配もなくなってしまった。もっとも、こんなこと感じるのは、多少歩ける脳性麻痺の男に限られるのだが、毎回トイレに入る度、にやけている。
I started going the gym at our office twice a week from the beginning of this month, again. I guess that sometimes such a question, how a guy in a wheelchair can go to gym, comes up. But here, this kind of questions are not so important ... at least for me, and I don't have to give an answer, and I don't, this time.
So what I do in the gym is Aero-Bike, 20 min. There is a seat-type aero-bike at the gym, and I can use it. It's great fun to pedal them. One year ago I was used to do the pedaling with level 2 of 10. Then, I stopped going. So this time, I'm trying to put more loads and to increase the level of exercise. Right now, I'm at level 3 and go as far as 3km according to the gauge in 20 minutes, and moving toward level 4. Of course, my legs ache a bit, but it's fine to me.
And I already got one benefit from it. Where? It might be one thing that I should not say it in public or on Net, but it is in loo or rest room. You know? men have to keep standing for a while to do it. And I'm a man, so I do it. But while I'm doing it, I had felt not easy to hold the position and had to try not to collapse on the floor before doing the exercise. After I started that, some muscles have built up, and I started feeling my lower body to hold my upper body and feeling that I don't have to pay attention to my body position. I can relax a b it and feel good to ... to do it. After all, this might be one of the few things that only guys in wheelchair who can stand and walk a bit are able to feel after such exercise.
One of my bad habits is to put many executable file dirs into PATH env variable. I know, I can use aliases or write short script for faster command invoking.
One result was that I have two versions of Java in the PATH. Last week, I put a patch of the java into my machine, but java -version gave me a result I didn't want : another dir in $PATH overrides it. It's very easy to fix the problem (e.g. redefine totally new PATH.) But I like to use more sophisticated method for solving this problem: pull one dir from PATH!
Adding a dir to an env variable is easy, and should have been taught in the first hour of UNIX introduction course. (I skipped it while I was a student at Berkeley, and it was my mistake.)
export PATH=$PATH:<new dir>
or
export PATH=<new dir>:$PATH
Then, how do we pull one dir out from $PATH? One method I thought was divide and concur. Yes, it's a fundamental subject of Computer Science!
tr(1) command is the basic building block for it. It is a cutter, and it is glue in some sense. tr(1) replaces one char in a string to another.
Example:
% echo abcbd |tr 'b' 'e'
aeced
If we do echo $PATH | tr ':' '\n', it replaces each colon with line feed (='\n') meaning that it makes multi line text. So grep -v <dir> can remove one line, and then tr '\n' ':" makes the text one line once again. Very Easy.
% echo 'dir_a:dir_b:dir_c' |tr ':' '\n' |grep -v _b |tr '\n' ':'
dir_a:dir_c:%
Ouch! the last char in the string which come out of pipe is L-F, and thus it was replaced with a colon. Moreover,
% echo 'dir_a:dir_b:dir_c' |tr ':' '\n' |grep -v _b |tr '\n' ':' |sed -e 's/:$//'
%
Nothing came out. Sed(1) needs L-F as the last char of line. it was a hard problem to solve ... I thought of it a while, ... then I found that echo $(...< some cmd process> ...) can add it at end of the line since echo adds L-F as its nature.
% echo $(echo 'dir_a:dir_b:dir_c' |tr ':' '\n' |grep -v _b |tr '\n' ':' ) |sed -e 's/:$//'
dir_a:dir_c
%
And I ended up with the line below:
export PATH=`echo $(echo $PATH |tr ':' '\n' |grep -v <some dir> |tr '\n' ':' ) |sed -e 's/:$//'`
I used it like
% java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Server VM (build 1.5.0-b64, mixed mode)
% export PATH=`echo $(echo $PATH |tr ':' '\n' |grep -v JDK |tr '\n' ':' ) |sed -e 's/:$//'`
% java -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)
%
今日、分かったのだが、私の勤めているSun MicrosystemsのSunRayという製品でも、AccessXというユーザー補助ユーティリティが使えるようだ。SunRayと言う製品は、ディスクトップ・クライアントで、プロセスは全部、サーバー側で動く。ディスクレス・クライアントでもカーネルからクライアント側で立ち上がるので、そこが違う。昔の、私もお目にかかったことのないキーボードと画面だけの端末と、原理的には、同じだが、すごいところは、IDカード一枚で、自分のディスクトップ環境を、どこへでも、持っていける、しかも、ログアウトの必要もない。インターネットの部分だけ、暗号化すれば、家でも、会社と同じ環境で作業できる。
能書きはそれくらいにして、指一本で、私は、キーボードもマウスも操作しなくては、ならないため、ユーザー補助として、AccessXを起動させているのだが、AccessXを動かすには、Xserverをxkbと言う拡張子をつけて、走らせなければならない。それには、/etc/dt/config/Xserversの書き換えなど、root権限が必要だと思われていた。が、よくよく調べてみると、Sunrayは、utxconfigというコマンドで、ユーザーセッションごとに、Xserverの設定を、変えられることが分かった。下記のようなステップで、簡単にAccessXが使えるようになる。
来週も,ロンドンのオフィスで、仕事をする日があるので、早速、使ってみようと思う。
Today, I learned something very useful. AccessX assistive utility, which enables me to operate keyboard and a mouse with one finger, can be used on SunRay, a product from my company, Sun Microsystems. SunRay is a Client / Server system, but it's not a C/S system people call. What it is is that all processes are running on server side; and its clients are just hardware. Even a diskless client requires a kernel to start at least, but SunRay is not that case. This sounds like old dumb terminals being made from a monitor and a keyboard, which even I've not touched ever, and actually I see similarity between them, but the most unique feature of SunRay is that you can bring your desktop environment to another SunRay client just with using an ID card, without logout from your desktop session. This is because what I said that all processes are running in the server including GUI programs. So, for example, by connecting your server at work from home with SSL, you can instantly bring your desktop environment to home and continue your tasks.
I'm neither in sales nor an expert in this area, and like to avoid miserable consequence from going deeper in this path, let me talk about how to activate AccessX on a Sunray client, or more technically in a SunRay session. We usually edit /etc/dt.config/Xservers script and add +kb to the X server line, or do similar thing to run x server with xkb. Any of them requires root privilege. I thought it is no different for Sunray server; only superuser can modify it. But X server is an user process; I mean, the process is not running as root. Each user should be able to configure their own X servers without any interfere. I looked into it and saw utxconfig command. utxconfig is an user command to onfigure x server for your Sunray session. I put the direction below. Pease do it yourself if you like.
I'm actually planning to work at London City office one day next week and use SunRay client there!
Direction:
1. In your Sunray session, run, /opt/SUNWut/bin/utxconfig -k on
2. Logout the session
3. Login it again
4. start accessx by [Launch]-[Preferences]-[A ccessibilitty]-[keyboard]
最近のコメント