2017年1月9日月曜日

きよしこの夜(Silent Night)クメール語版歌詞

 昨年末にプノンペンのコミュニティクワイア「Bella Voce」で「きよしこの夜」を10の言語で歌う機会があり、その中にクメール語が入っていたので、私なりに確認のために、歌詞に発音記号を付したものを作成しました。

 なお、クメール語版歌詞を私なりに訳すと以下のとおりです:

安らかな夜、清らかな夜。
静寂の、最も平安な。
御子の辺にいる。
清く柔らかな素晴らしい息子であるところの。
安らかに眠ってください。
安らかに眠ってください。

 私はこのBella Voce(ベラボーチェ)に10年以上参加しています。今回の10言語は、参加メンバーたちの母語で、ほかにタガログ語・ドイツ語・英語・オランダ語・スウェーデン語・フランス語・ポーランド語・韓国語・日本語でした。私はこれらのうちクメール語・ドイツ語・日本語・韓国語・タガログ語は見りゃだいたい発音できますが、他の欧州諸語についてはYouTubeで発音を聞いて勉強しましたが、それらはメジャー言語ですので他にいくらでもネット上に資料があると思いますので、ここでは公開しません。

 いつものインターコンチネンタルホテルのボールルームで、700人のお客さんの前で歌いました(リンク先の映像は他の歌を歌ってる時の映像ですが)。




2016年7月18日月曜日

「ポケモンGOの中国・韓国リリースは政治的事情で困難」ハンケCEO

 ポケモンGOの製造元ナイアンティックのジョン=ハンケCEOは、日本でのリリースはサーバキャパシティ増強中のため7月中になると語るとともに、韓国では北朝鮮との緊張により地図情報が充分に得られないこと、また中国では当局によるさまざまな規制のために正式サービス提供が難しいとの考えを明かした。

 なお、韓国では非正規ダウンロードしたポケモンGOによるプレイヤーがすでに百万人を突破したと報じられており、とりわけナイアンティックの地図システムがなぜか韓国領に含めていないらしい束草市近辺や鬱陵島および日本領竹島にはポケモンがわくとあって韓国人プレイヤーが殺到、束草市長まで乗り出してのにわか町おこしにわいている。

http://www.forbes.com/sites/peterlyon/2016/07/15/pokemon-go-is-still-pokemon-no-in-its-home-of-japan


ポケモンGOアカウントの売買早くも盛んに、レベル24が499$、レベル10が25$など

 ポケモンGOが正式リリースとなってまだ2週間であるにもかかわらず、育てたアカウントの売買がすでにネット上で多数行なわれており、例を見ない速度だと業者は語っている。

http://www.playerup.com/accounts/pokemongoaccount/


ポケモンGO「電話見ながらそこらじゅう歩き回っているお前らを明日粛清します」ネットに書き込んだ男をテロ容疑で逮捕

 米国の男がネットに、電話見ながらそこらじゅう歩き回ってポケモンGOをやってる人々を明日粛清すると書き込んだところ、通報され、テロ容疑で逮捕された。

https://www.facebook.com/harlingenpolice/photos/a.236775753056589.63258.217002041700627/1196886373712184/?type=3&theater


ポケモンGOで「何かゲットした?」「ああ。お前は?」泥棒と間違われ19・16歳撃たれる

 米国の男性が、夜1時半に家の前で大きな音がしたので出て見たら、白い車がヘッドライトを点けたまま停車しており、中から「何かゲットした?」「ああ。お前は?」という男2人の会話が。

 てっきり泥棒だと思った男性は車の前に立ちはだかり「動くな!」と叫んだところ、車が急発進して男性のほうへ向かってきたため、自分をひくつもりだと思った男性はとっさに飛びすさり、車に向かって銃を数発発射。

 朝になって、近所の女性から「車に弾痕が…」と届出があり、調査の結果、車に乗っていたのは女性の息子(19)とその友人(16)で、2人は事件当時ポケモンGOについて話していたことがわかった。

https://www.facebook.com/notes/flagler-county-sheriffs-office/pok%C3%A9mon-go-hunters-shot-at-this-morning-in-palm-coast/629038090604393


2016年6月22日水曜日

学校図書館を電子化したい

 プノンペン補習授業校の図書館をバーコード化したいねという話を数年前の保護者会図書担当さん(当時私は保護者会長)から受け、それはいいねと言って早数年。
 ついに今年度は私が保護者会図書担当の役に就いているので、その間にできたプノンペン日本人学校の図書担当の先生とも協議を進めてます。
 ちょうどいまプノンペン補習授業校の校長先生や図書担当の先生も図書館に造詣の深い方で、いろいろ教わることしきりであります。

 んで、図書館電子化のためのソフトにつきまして、先日のJICA前Jomaでの会合で先生方からお教えいただきましたものを含め、いくつかの候補をあたってみましたので、以下、簡単に報告申し上げますよん。

◎Filemaker

一般的なデータベースソフト。
図書館システムが必要なら自分で開発しないといけない。


◎WebLib

http://weblib.jpn.org/

無償(広告・アフィ収入)webアプリ。貸出返却時つねにインターネット接続してないといけないので、外部からの不正侵入などセキュリティに気を遣わねばならない。


◎Noah

http://www.geocities.jp/kazukun3631/noahindex.htm

「図書管理システムNoah2000 for WindowsXP」 2008年8月1日出荷分より     ¥73,500(税込み・送料込み)

基本的に高校向け。3学年99クラス99人に対応

Microsoft Access2000およびMicrosoft Access2002上で働くソフトウェア(Accessも買わないといけない)


◎りぶりぶ

http://wemfls.web.fc2.com/libriv2/manual.html

昔廣田が軽く検索した時にヒットしたもの。無償。

XAMP環境(無償)が要るので導入の手間はややかかる。
PHPなのでカスタマイズは容易。
ネットMARCと称してひとさまのOPACから本の情報をぶっこぬく。そのひとさまに了承をとるべきとされており、大変。


◎文籍(MonJack)

http://hp.vector.co.jp/authors/VA036268/MonJack/

文籍データ入力で国会図書館NDL-OPACのダウンロードデータ(タグ付きMARC SHIFT-JIS)に対応。
3年くらい前で更新止まってるっぽいのが若干気にかかる。


◎Win書庫

http://www.ne.jp/asahi/blue/sts/wb_flame.html

NDL-OPACから書誌を取得するため、データ入力が軽減される。
Windows 8にも完全対応を謳っている。
ネットでの評判高い。

-----
 以上、個人的には文籍とWin書庫が謳い文句を見るかぎり好印象ですが、まだ時間がなく試用していません。

http://www.ride-boogaloo.com/blog/archives/373

2016年6月13日月曜日

カンボジアにSAT試験会場は8ヶ所あるがGED試験会場はない

 SATを受けるかGEDを受けるかというのは、米国の大学を目指す場合の進路設計に依存するので、一概には言えないのだが、SATで比較的高得点を取ることができる生徒が、現時点でカンボジアにどのくらいの人数毎年いるのか、興味はある。

SAT:
https://collegereadiness.collegeboard.org/k-12-school-code-search


CIA First International School
655042
CIA First International School
655001
Hope International School
655026
International of School Phnom Penh
655025
Jay Pritzker Academy
655041
Logos International School
655000
Northbridge International School Cambodia
655030
Zaman International School
655040


 ただし、学外生でも試験を受けることができるかどうかは、各会場へ問い合わせる必要があると考えられる。

 新SATについてはちょうどここで簡単に解説されている:
http://www.voacambodia.com/a/3363484.html
 このくらい超ゆっくりしゃべってくれると、僕にも9割ぐらいわかるのだが、この程度しか英語力がない者は、もちろんSATなど受けてはならないだろう。

 ただしよく言われるように、SATの数学のレベルは大変低い:



GED:
http://www.gedtestingservice.com/testers/locate-a-testing-center

 GEDの試験会場は、ベトナムにはハノイに1ヶ所あり、タイにはバンコク・チェンマイなど3ヶ所がある。


2016年2月18日木曜日

カンボジアで教育。ホームスクーリングで最終的に米国とかの大学に入るにはどうしたらいいのか? というか入れてもらえるのか? 米国大学へ進むルート、そして英語圏の子供教育サイトまとめ

長い間、調べなきゃ調べなきゃ、と思っていたんですが、
「カンボジアで教育を受けさせていて、それで教育内容は全部習得できたとしても、資格として、米国とかの大学に将来入れるものなのか? というかそもそも、教育内容をちゃんと習得できるものなのか?」
という疑問への具体的な答えを、僕はずっと知りませんでした。

知らないままに、早く調べなきゃと思いつつ、子供は2人とも幼稚園に入り、小学校に入り、そして上は早くも小学四年生になってしまいました。

こんな親は米国とかだったらきっと育児怠慢でとっくに逮捕されているでしょう。

2016年2月17日水曜日

バンコク病院健康診断結果がメールで届いたぜ!!

1月にバンコクへ受けに行った健康診断の結果がメールで届きました!

前回は、カンボジアへ郵送してもらうと、
カンボジアの郵便はクソなので、なくなっちゃう気がしたので、
日本へ郵送してもらいまいした。
それを、日本からカンボジアへ来る方にたのんで
持ってきてもらいましたので、
手元へ来るまで何ヶ月もかかりました。

といっても、当日のうちに結果ぜんぶお医者さんが
体内写真見せてくれながらていねいに説明してくれるので、
大筋としては診断結果レポートを見て新たなことを知ることはないのですが、
やっぱ心情として早く見たいもんです。

今回、受付で聞いたら、メールで送ってくれることもできるとのこと!
ですので、そうしてもらったというわけです。

2016年2月15日月曜日

インセンティブ制はなぜうまくいかないことがあるのか。カンボジアではどうか。プノンペンではどうか。

スポークを細かく切り抜く自転車・バイク画像切り抜きのポイントを、社内でのみ2倍にすることを、今日、カンボジア大六の全社員に発表しました。

日本の市場の趨勢により、この「スポークを細かく自転車・バイク画像切り抜き」はだいぶ安売りになってしまっています。
市場を社員に感じてもらうため、当社では原則として、売価をそのまま作業者のポイントとし、ひいてはその月の実績給に比例させています。
が、この「スポークを~」については、大変な割にポイントが少ない……と、以前から社員たちのひそかな不満の筆頭に挙げられていました。

お客さんへの売価は以前と同じですので、社員の給料が上がる差額は、カンボジア大六が会社として負担することになります。
当社は廣田の個人商店ですので、私や社員たちの体感としては「廣田の財布から負担することになります」に99%近いです。
大きい組織だと、支出を決めるときに、担当部署のトップも、会計部も、「でも自分のお金ではないし」という感じがあると思います。
そのぶん感情的に、大胆な施策を行いやすかったり、逆に遠慮して、行いにくかったりします。
ここは個人商店の強みでもあり弱みでもあると思います。

2016年2月14日日曜日

息子の学校から手紙が来たけど一読してまるで解読できなかったので辞書見ながら解読したよ!

息子が通ってる英語の学校「The CAMFIRST SCHOOL」からお手紙が来ました。
この学校は、インターっていうより、英語の学校です。
うちから徒歩3分ととても近いし、地に足が着いた方々がかよっているので、全人的教育という意味で非常に気に入っております。
英語以外の科目については、ホームスクーリング状態です。
それについてはまた稿をあらためます。

さて、このお手紙なんですが、上半分と下半分で内容が分かれており、上半分は学費払えということでとてもわかりやすいんですが、下半分が、さらっと一読しただけでは、お恥ずかしい話、まったく意味がわかりませんでした。
これは「はぁ? 意味わかんない」とか日本のJKが言うアレではなくて、純粋に、文字どおり、私のクメール語力不足で、解読できなかったのです。

そこで、日曜の夜をちょっと時間割いて、辞書ひきひき、解読に挑むことにしました。

2015年10月6日火曜日

FrameMakerスクリプトでFMObjectをTextFrameへ「キャスト」する

ニッチすぎて99.9999%の方には何言ってるか意味不明と思うが、スクリプティングガイドにもネット上にもまったく記述がなくあれこれ試行錯誤して2時間ほどハマったので吐き出したい。

FrameMaker 10のスクリプトで(whileループ内にいると思いねえ)、

2015年7月28日火曜日

node.jsからどうしてもFTPアクティブ接続がしたい貴方に

 私もそんな少数派の一人であります。
 なぜなら接続先がパッシブ接続を受け付けてくれないからであります(ちゃんと構成してくれよ…)。

 そもそもnode.jsとか以前に、アクティブ接続をするからには、FTPサーバからのデータコネクションを受け入れるポートが開いてないといけません。
 ポート決め打ちせずFTP接続モジュールだけ特別扱いする方法もあるのですが、安易にiptablesの、SSHとかHTTPを許可してる行に寄り添う場所に
# accept FTP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8686    -j ACCEPT
を追加いたしました。こんなんでマジいいのか?

※実際追加したポート番号は8686ではなくいちおう内緒ですので8686をアタックしてこないようお願いいたします。



 さてnode.jsにはアクティブ接続をしてくれるFTPクライアントがありません。jsftpもftpも残念ながらパッシブ接続しかできないのです。

 そこでlftpをchild_process.execから利用ということになります。command引数は、たとえばls情報がほしい場合は

'lftp -e "set ftp:ssl-allow off;set ftp:passive-mode off;set ftp:auto-passive-mode no;set ftp:port-range 8686-8686;recls -1B nanika/path;exit;" -u oresama,oresamapass 123.456.789.012'

という感じになります。
 こうするとexecのコールバックのstdout引数にファイル・ディレクトリ一覧が改行区切りで入ってきます。
 パッシブとかSSLに絶対ならないようこれでもかと設定しています。これらのうちどれかの設定は省けるかもしれませんが面倒なので試していません。
 FTPクライアントからFTPサーバに通知するデータコネクション受け入れポートをつねに、さっきiptablesで穴開けた8686番一択に固定しています。こんなことしてFTP標準的には許されるんでしょうか、よく知りません。

 まぁ動いているのでとりあえずいいかとしておきますが、そんなんヤベーよというお教えお待ちしております。

※ちなみにreclsの-Dはなぜか動作しませんでした(--長い名前のほうも)。


2015年7月24日金曜日

ハッキングのリスクを減らしたいなら、これらのアカウント名は作るな!

 毎日、ウチのVPSサーバへいらした悪いひとが、ウチをハッキングするために、ウチに存在するかどうかいろんなUNIXアカウントを試しています。

 その様子はログに残ります。

 ご参考までに、昨日1日のうちに試されたアカウントの一覧は、以下のとおりです:


webmaster

baseball

backup

backuppc

badmin

bank

billing

biblioteca

blink

blog

bo

boffice

book

box

business

buster

cache

captured

captures

ceo

checkin

checkout

chief

clamav

clerk

client

communication

com

couple

couples

comercial

company

contact

computer

contactus

controller

corp

customer

cv

cvsuser

curl

databank

debug

default

desk

device

dialer

dir

direction

director

dns

doctor

admin

admin01

accounts

administrator

communications

display

postmaster

support

service

spam

contakt

sales

exit

education

fax

formation

general

sample

sales01

sales1

score

scores

scan

scanner

school

send

setting

settings

hr

info

intern

inventory

monitor

newsletter

office

reception

user01

user1

webadmin

test01

direction

client

test

administration

record

vscan

transfer

tomcat

backoffice

backupexec

bkupexec

canon

admin123

admin12345

admin1

administrate

kontakt

advanced

account

accounting

accouting

user

user2

agent

video

sekretariat

secretaria

webmaster

baseball

backup

backuppc

badmin

bank

billing


 たまに、なんでこんなアカウント名がありがちと思われてるんだろう、というアカウント名もありますが、きっと、私などには計り知れない理由により、ありがちなのでしょう。

 「baseball」とか意味わかりませんが、野球好きのユーザーがこういうアカウントにしやすいということなのでしょうか。

 いずれにせよ、ハッキングされるリスクを少しでも減らすためには、できれば、これらのアカウント名は避けておくのが賢明な気がします。

2015年7月21日火曜日

Drupalで新記事登録とか何か起きたらSlackへ自動通知

 Rules HTTP ClientというDrupalモジュールがありますので、これをオレオレDrupal環境にインストールすればいいのですが(7.x-1.0-beta1)、設定に癖があり、ややハマったのち成功したので備忘録。

 いろいろなルートがありえるわけですが、今回はとりあえずマイクテストてすてすって感じで、最もベーシックな方法といえるSlack本体のIncoming WebHooksを使うことにしまして、まず、投稿先チャンネル/ダイレクトメッセージ先/プライベートグループのWebhook URL(https://hooks.slack.com/services/ ではじまる)を取得しておきます。

 しかるのち、

  1. DrupalRulesで新しいルールを追加。
  2. 何かイベントを登録します。(例)新しいコンテンツを保存後 of タイプ お仕事
  3. それに対するアクションを登録し、種類を「Request HTTP data」(Rules HTTP Clientをインストールしたことによってこの選択肢が増えています)とします。
  4. このアクションの設定画面に以下のように記入します:
  • URL->Value: Slackから取得したWebhook URL
  • HEADERS->Value: Content-Type:application/x-www-form-urlencoded ※ここ重要ッス。自明のように思えますが、これを指定してやらないと、エラーが出て、アクションが引き起こされません。
  • METHOD->Value: POST
  • DATA->Value: payload=Slackへ送りたいJSON (例)payload={"text": "お仕事が登録されました: [node:url]"} ※Content-Type:application/jsonとしてここのpayload=を省いて生JSONにしてみましたが動作しませんでした。

とすれば動作します。

 上の例ではプレーンテキストを投稿しているだけですが、もっとリッチなテキストにする方法や、Slackのアバターや投稿先オーバライドなどの指定方法も、Incoming WebHooksの設定画面で具体的に記されていますので、必要に応じてJSON内で指定すればOKです。

2015年7月19日日曜日

「南旺理工(nanoRico)」の和字表記由来と英字表記由来をサイドバーにがんばって記したよー!

以下の内容をサイドバーにも記しました。
(地名表記「南旺」の由来の部分はこれまでもちょこっと書いてありましたが)

[和字表記由来]
 「南旺」(なんおう)はプノンペンの昔の漢字表記です。昭和の日本でもプノンペンは「南旺府」と呼ばれていました。プノンペンの音とプノンペンの南国の太陽のイメージをともにビビッドに表せている表記だと思っており(現代日本語読みだと音は程遠いですが…)、現在の中国語表記「金辺」より好きなので使っています。ベトナムの巷間では現在でも南旺のベトナム語読みNam Vangの名で呼ばれています。
 南旺理工の名には、プノンペンの過去をふまえながら未来の世界を理工で今日創っていこうという意気込みを込めてあります。

[英字表記由来]
 nanoはギリシャ語「小人」に由来し、10のマイナス9乗を意味する接頭辞になっています。ricoはスペイン語で「豊かな、素晴らしい」を意味します。
 nanoRicoの名には、細部にこそ素晴らしい価値を宿らせる仕事をしていこうという意気込みを込めてあります。と同時に、ちっぽけながらもみんなで豊かになりたいねというささやかな願いもひそかに込めてあります。

2015年7月10日金曜日

Drupalで、使用者ごとに異なる選択肢を提示するけど管理者に全選択肢を提示

いや~、かなりハマったけどできるようになったんで、覚書っす。

前提:


  • Customerエンティティ型のCustomerバンドルにはPurchaserフィールド(ユーザーへのエンティティ参照型)とCustomerフィールド(テキスト型)がある。
  • Jobエンティティ型のJobバンドルのCustomerフィールド(エンティティ参照型)がCustomerエンティティ型のバンドルすべてのCustomersビューのEntity ReferenceディスプレイのCustomerフィールドを参照。
  • 使用者は役割purchaserを持つ。管理者(Drupalのadministratorとは限らない、組織を回すひと)は役割coordinatorを持つ(が、役割purchaserを持たない。ここ重要)。


実現方法:

上記Entity Referenceディスプレイにおいて

  • FILTER CRITERIAでユーザーをフィルタしない。
  • RELATIONSHIPSでPurchaserフィールドへのリレーションを作成。
  • CONTEXTUAL FILTERSでCustomer: Purchaserへのフィルタを作成。

     -> WHEN THE FILTER VALUE IS NOT AVAILABLE           -> Provide default value
               -> タイプ: User ID from logged in user
          -> EXCEPTIONS
               -> Exception value: 空欄
     -> WHEN THE FILTER VALUE IS AVAILABLE OR A DEFAULT IS PROVIDED           -> Specify validation criteria: オン
               -> Validator: ユーザー
                    -> Restrict user based on role: オン
                         -> Restrict to the selected roles
                              -> coordinator: オフ(ここがミソ
                              -> purchaser: オン
               -> Action to take if filter value does not validate: Display all results for the specified field

すなわち、逆にcoordinatorは認証されなかったために全選択肢を提示されるということになります。ちょっとトリッキーです。

ハマり点:


  • はじめ、Entity Referenceディスプレイを2つ作って、片方のAccessを役割coordinator、もう片方のAccessを役割purchaserとしました。Pageディスプレイはこの方法で、アクティブユーザーの役割に応じて振り分けてくれますので。しかしEntity Referenceディスプレイはこの方法ダメなんですね。ディスプレイのMachine Nameがいちばん若いヤツだけをしか見てくれません。Entity Referenceモジュールバージョン7.x-1.1です。もうちょっとバージョン行ったらいつのまに直されてくれそうな気もします。
  • FILTER CRITERIAでもあれこれ苦戦してみましたがダメでした。
  • Provide default valueのUser ID from URLとかRaw value from URLでURLの実パラメタを読ませようとしましたが、administratorじゃないひとが編集画面へ行くとURLの実パラメタが消えてしまうのでありました。


したがって上記実現方法は僕の4つめのアプローチにしてようやく成功した方法です。1日つぶれました。この記事がお役に立って皆様の1日が潰れませんように :)


きょうでDrupal使いはじめて2週間です。