2020年10月6日 星期二

【隨想】我們的小店中秋 2020

中秋過去,難得的一連四天假期,過去了。

月下同行

今年中秋小店還是決定推出月餅。起初我這助手是並不支持,在今年市道和準備時間不多的情形下,還要研究用新產品推中秋市場的。倆人商量之後,折衷之下,是抱著保留市場上的存在感,在不求銷量的情況進行今次中秋企劃。前期主力由太太店長設計款式口味,在她的嘗試完成後,中秋前那一星期的時間就是不斷工作的時侯,連帶我這個助手也一直幫手準備月餅、包裝、送貨。


從去年做焗的水果酥月餅,到今年的冰皮水果餡月餅。其實用現成材料的話,冰皮比以往焗的更簡單,因為本身全是熟的材料準備好後就是包餡壓模就完成,但冰皮月飯要準備怎樣存放和運送方面就很考心機了。縱然如此,當做起首批KOL單的時侯已經發現要提早截單,但之後每次準備起貨的那天仍是最忙碌的日子,同樣做到懷疑人生。

2020年4月22日 星期三

【隨想】 香樹森林動物寓言

依家gei時事,真係忍唔住要寫返出黎笑下。

係從前唔係好耐的廿幾三十幾年前,過百年來獅子管理住呢片香樹森林。由過每次辦事的判決同經驗,紀錄成「普通約章」去依法辦事,係獅子成長過程中摸索到的管理手法。有一日,狗狗大臣係處理森林的土地問題時候,題下佢:「嗯...照似前d合約咁呢...森林北部嗰片土地,之前係臨時係北面老虎借黎,依家我地d香豬一早習慣成個香樹森林係一體gei,  佢地住緊的地方到期之後點算呀?」當時狗狗仲係行緊精英制,唔似依家出名為五斗米擺擺尾,做做show。
獅子:「洗唔洗同嗰隻老虎傾傾佢呢?好,大家傾下之後點算。」

呢個時候的老虎坐上北面大陸的王位不過幾十年,百廢待興。佢嗰套統治手法都係依法辦事,但法規由我寫成,最緊要都係「我話事」。之前有時自己爪痕,搞廢左大片土地,有時又搞殘左d小動物,又要再摸索試過,大家跌跌碰碰咁發展,未有心力管理呢片繁榮的香樹森林,所以仲點同你商量點做咩?老虎的口風好簡單:「It's all mine!到時我全都要!」。最後結果就係約定香樹森林嗰場13年後交俾老虎。但點run落去?跟獅子嗰套啦!大家放心,將來一個虎口之下有兩種制度(吼~),香樹森林將會獅規虎循,50年不變,香樹森林由香森動物治理。雙方出份虎獅聯合聲明,立張字據係聯合動物世界。

同埋係過渡時候,老虎派老狐狸黎香森開個「通訊社-香森分社」,呢個類通訊社老虎領地內外都有。 嗯...重點黎啦,通訊可以是一個有趣的功能,香森分社的老狐狸呢方面好識玩。  今日重點係想講狐狸一族。時移世易,老狐狸的「通訊社-香森分社」流傳落去變身「老虎政府駐香森聯絡辦公室」,仲有「香森事務辦公室」等狐狸崽。從前到現在,大家都是狐,狐假虎威、為作虎倀的狐,沒怎麼分別嘛。

係獅子管理下,老狐狸當然不敢造次。但到交接終於發生左之後,雖然話香森動物高度自治,但有時老虎知道唔方便出面講既,就搵借狐狸崽把口講幾句……有時狐狸崽又鍾意自己衝出黎講下野,有句成語叫狐假虎威……總之,狐狸開口,班管治階層的狗狗 Puppy,就會頭耷耷、搖搖尾、聽話、Good Dog。所以某程度狐狸崽真係可以係香森做到舞高弄低。今時今日的狗狗 到底為虎作倀,定係 為狐作倀?是旦啦,係香豬受害的角度咪一樣。

只係今日,狐狸崽又黎口多多:「邊隻豬豬唔聽話,狗狗應該要 D左佢!Q左佢!炒左佢!」。其實狗狗習慣賣豬仔ga la ,而狐崽野心,一早豬豬皆知。不過狐狸崽實質無權,無咩既,亂叫下啫。.... 

作為維護香森動物權益的香豬當然要笑下佢地啦:「多管閒事,香森事務唔到狐狸佢亂叫喎。」「根據香森基本法22條,中央政府所屬各部門,......,均不得干預香森自行管理的事務。...... 甚至如需在香森設立機構,須徵得香森政府同意喎....」狐狸的角色一向都係「講野」(吹水):「我地唔係22條所指一般意義的中央所屬部門」。狐狸心裡自己代表老虎,老虎就係話晒事,我地係香森的做法就係「我話事」!

另一方面,見“主子”俾話的狗狗就急了,只有繼續用佢最慣用嗰套花式-謊言藝術:「狐狸是22條第2款所設立的3個機構之一,代表老虎,理所當然提出意見!」
Shit!狐狸話唔係22條?OK,改返先:「狐狸代表老虎,理所當然提出意見!」
Shit Shit!俾豬豬捉到我咁柒改口tim,兜返先:「狐狸一早設立係度代表老虎,不是22條第2款所指,@!?#*^......」 唔睇下22條第一款gei...?都話呢招叫謊言藝術。
Shit Shit Shit!邊隻狗狗咁死蠢,講多錯多,呢鋪真係要炒左佢,重新整頓狗狗隊型。

所以各位小豬豬要知道,講大話係唔啱ga。用大話掩飾大話係遲早會穿崩,醜死怪的。

唉....其實狐狸多管閒事多年黎都係問題火頭。狗狗錯在心態同做法,亂咁周圍撲火,搞到重組隊型係柒。但大家本質不變,接下來的遊戲模式咪又係咁。如果為虎的選擇作倀,如果狐繼續假借虎威,如果香森的當權狗狗繼續只識討好外面的權貴。大家認為香森「主人」係邊個……香豬除了嘲笑之外,其實應該做咩?一直以來我係覺得學到的教訓和下一步方向才是港人將來的重點,有機會再寫。你又點睇?

* 各動物只係顯然的借喻,可惜現實有時人比動物荒誕。

~條文~
香港基本法第22條:
「中央人民政府所屬各部門、各省、自治區、直轄市均不得干預香港特別行政區根據本法自行管理的事務。

中央各部門、各省、自治區、直轄市如需在香港特別行政區設立機構,須徵得香港特別行政區政府同意並經中央人民政府批准。

中央各部門、各省、自治區、直轄市在香港特別行政區設立的一切機構及其人員均須遵守香港特別行政區的法律。

中國其他地區的人進入香港特別行政區須辦理批准手續,其中進入香港特別行政區定居的人數由中央人民政府主管部門徵求香港特別行政區政府的意見後確定。

香港特別行政區可在北京設立辦事機構。」






2019年12月26日 星期四

從音樂劇 《Company》 到 Netflix 《Marriage Story 婚姻故事》 的一首 Being Alive

《Marriage Story 婚姻故事》 中的男主角 Charlie 在官司告一段落後,與劇場朋友在酒吧內傾訴,然後唱出這首 <Being Alive>。


Someone to hold you too close,
Someone to hurt you too deep,
Someone to sit in your chair,
To ruin your sleep.

PAUL: That's true, but there's more to it than that.
SARAH: Is that all you think there is to it?
HARRY: You've got so many reasons for not being with someone, but Robert, you haven't got one good reason for being alone.
LARRY: Come on, you're on to something, Bobby. You're on to something.

Someone to need you too much,
Someone to know you too well,
Someone to pull you up short
And put you through hell.

DAVID: You see what you look for, you know.
JOANNE: You're not a kid anymore, Robby. I don't think you'll ever be a kid again, kiddo.
PETER: Hey, buddy, don't be afraid it won't be perfect. The only thing
to be afraid of really is that it won't be.
JENNY: Don't stop now. Keep going.

Someone you have to let in,
Someone whose feelings you spare,
Someone who like it or not,
Will want you to share
A little, a lot.

2019年10月10日 星期四

[閱讀] 《賦權:當責式管理的延伸實踐》 當責-授權-賦能 的運作方式

《賦權:當責式管理的延伸實踐》
張文隆,商周出版,2010

剛剛 8 月的 177 期 經理人月刊,以「帶出得力部屬的11堂賦權課」為主題,當中對這本書和作者的名字有點印象,其後圖書館就留意到這本書了。「賦權」Empowerment,或者最初我接觸時所聽「賦能」Enabling 的概念,一直是個希望更好地做到的事。怎樣才能讓團隊成員有能力做出成果,有所擔當,從工作中得到滿足,感到的是成長而非消磨?剛開始閱讀時,覺得只是大堆文字鋪陳說教著一個簡單的理念;但愈讀下去就愈是欣賞,當看到它的脈絡之後,和它對每個小步都有深入的闡釋。是值得細閱的書。

Accountability (當責)


這一切從 Accountability (當責) 開始講起。本書認為責任感有兩個層次,「當責」是「負責」的提升。負責者有責任確實執行被交付的任務、把事情做對;當責者更是有責任去交出最後成果、做對的事情。這說法是怎麼樣?想起2017年龍尾人工泳灘工程中的遷移生物行動,職員指有關的搬遷手法是按規定而做。事情是做了,但所謂方法是否做到保護生物的原意乗成果?又例如,工作上這個電郵我是寄出了,要我做的事在行動上是做了,但我是否有跟進目的有否達到?當責的態度就像《7 Effective Habit》中的首要習慣-主動積極。如果區分一個陷入受害者循環的人,總在推諉卸責、怨天尤人;他要提升到負責;更要向外再跨出一步,會主動想像「我該做些什麼,......,以交出我所期望的成果?」。

2019年9月21日 星期六

[閱讀] 《父母效能訓練》 的 「行為四角形」

今日分享一本書《父母效能訓練》,介紹一套同名 Parent Effectiveness Training ( P.E.T. ) 的家長訓練課程。所教授的核心技巧是積極聆聽、「我」信息、轉換法、和無輸家的衝突協議。而「行為四角形」 是這套方法內,認識在什麼情況用什麼技巧的關鍵。今日就著書本中的內容,介紹一下 P.E.T. 中的 「行為四角形」 的概念。

在開始之前,會先循書本的切入角度了解這套家長訓練的背景和理念。


在1962年由心理學家的 Thomas Gordon 提出。對當時的青少年成長、家庭問題中,他看到往往父母只有被責備,而無接受訓練的機會。每年有無數的新手爸媽展開人生中最困難的任務—迎接完全無助的嬰兒。他們負起照顧孩子身體及心理健康的責任,並將孩子養育成具有生產力、合作、能有所貢獻的公民,還有什麼被此工作更為困難吃力呢?然而有多少父母接受相關的訓練?

許多父母仍然沿用它們上一代的方式教養子女。其實在心理學、兒童發展以及其他的行為科學,皆提供有關孩子、父母、人際互動、如何協助他人成長、為他人創造健康的心理情境等方面,一些豐富的新知。

他最初擬定的目標是教導父母一些專業諮詢師、治療師所使用的技巧,以協助孩子克服情緒的困擾和不適應的行為。即使不曾修過大學心理學課程的父母也能學習這些技巧,並且懂得如何有效地適時地幫助他們的孩子。

父母是人,不是神

本來是兩個單獨的個體,突然間轉變為先生和太太,以及父母親的角色。嚴格而言這種轉變並非好現象,因為它會導致父母忘了自己仍然是人,只要人就會犯錯,人有其限制,人有真實的感情。當他們失去了自我,更忘了他們的情緒可能因時因地而不同,他們無法自由地表達自己,以為父母的身份必須優於他個人。

這訓練告訴父母無需丟棄人性,而成為稱職的父母。你能夠接受自己面對孩子時,所擁有的正面及負面的感覺。 真實的父母,有時對孩子的某些行為可以接納,有時卻有無法接納。

2019年9月14日 星期六

[閱讀] 《冰山在融化》 變革的步驟與溝通

《冰山在融化》/《Our Iceberg is Melting》,從前看過網上版本的介紹,是一本講述如何在企業內推動變革的寓言故事,今次經過圖書館看到。心想不一定要是公司的大型變革,面對在很多程序中的小改動,是否都可以有學習之處?而書中的八大步驟分別是:

「搭建平台」
步驟一:建立危機意識
幫助大家意識到變革的必要,以及馬上採取行動的重要。
步驟二:成立領導團隊
確保成立一個強而有力的領導團隊,一個具有領導才能、公信力、溝通技巧、權威、分析技能和危機意識的團隊。

「做出決定」
步驟三:提出願景
讓大家清楚認知變革後的未來與過去會有什麼不同,預見願景落實的步驟。


「實行變革」
步驟四:溝通願景
盡可能讓全體成員理解並接受變革願景和策略
步驟五:授權員工參與
盡可能為那些願意投身變革的人掃除障礙。
步驟六:創造近程戰果
盡快取得一些看得到成果的勝利
步驟七:鞏固戰果並再接再厲
取得初步成功後要更加努力,不斷進行變革,直到將願景變為現實。

「鞏固成果」
步驟八:將新做法深植企業文化中
堅持新的行為方式,確保他們成功並日益強大,直到取代舊傳統,成為企業文化。

故事中面臨融化危機的冰山,可以是整個公司、部門,但應該也可以是一個職場小薯仔,日常所面對的工作?只是當然地規模有別。例如,小薯經常出現的情況是,有事情發生,留意到一些徵兆,預計日常流程需要改變。希望提點自己可以這樣做:

1. 馬上讓大家看到情況。挑選一個小型的領導團隊,大扺1至2人的SME/Change跟進。
2. 讓團隊研究處理的方案,提出主意和步驟。(耐心和追蹤進度)
3. 向全體成員解釋方向和做法。了解執行者會面對什麼困難,並嘗試協助掃除。盡快有一些可見的成果。累積成果直到完成改變。
4. 將新流程傳送給所有人,監察新流程的執行。

此外,現實會面對的困難,可能是如何順利推動每個步驟當中涉及的參與者。企鵝弗雷德每天觀察冰山,本身是可算是冰山狀況的SME,但這方面的知識冷門得其他企鵝沒什麼認識,大家因習慣而既有的信念是:冰山是大家安穩無憂的家。所謂推動變革,一個重要部份就是推動這些「企鵝」/「人」們去進行變革。

就像在研究型的弗雷德推動行動派的主管愛麗思時,最有效的是帶她親自看看。為準備在時間匆匆的領導層會議中說服高層,他要預先了解與會者的特質,才決定以看得到的模型輔助和動之以情的說話來闡述主張。然後讓大眾理解現況時,也是類似的方法,可以眼見的模型作類比。

而企鵝國王路易士成立團隊後,先是要聯繫大家關係,讓成員對團隊有信心,再由成員不斷發掘和討論各種方案。決定方案後,就是溝通上有親和感染力的巴迪和路易士向群體交待方向,帶動大家。過程中群體內成員可能有想法可以幫助變革的過程,團隊就去支持這些願意貢獻的小企鵝實踐他們的計畫。

相比步驟,這份推動力的作用更能在不同層面的工作有所作用。 無論是Change,以至恆常Routie的、各種零碎Ad hoc 的。回到小薯的辦公室工作上,看完這本書後的想法,一個立即可以嘗試的行動,就是留意一下這 8 個步驟是否改善這些日常的改變。

2019年2月16日 星期六

青蝶脊-尋路 + 屯門青山的聖山墩臺考察

路線:青蝶脊-青山山頂(517副頂、發射站、韓陵片石亭)-青山青雲站
點去:屯門市中心,乘巴士 K52 往望后石站 ,過馬路後沿龍門路向巴士的反方向走,經過將來的隧道入口之後沿臨時行人路行,有樓梯處即為青蝶脊的登山入口。
需時:從 龍門路 入口到 青山發射站,大約 1 小時 45分,從「韓陵片石」亭到山腳約 45 分

 青山,今次探索了一條經青山南面「青蝶脊」的登山路線。上一輩的行山界有一條稱為 「杯靈雙渡」 的「考牌路線」,經過杯渡山(屯門青山)和靈渡山(元朗圓頭山),當中上青山一段經東面青山禪院的話,已經是修葺好了層層的階級急上山頂,數年前上青山接走良田坳下白泥時已經走過,算是上青山的大路之選。去年留意到另一個選擇則是連接青山和蝴蝶灣的「青蝶脊」。




2019年2月6日 星期三

[閱讀] 「教養」是一種可怕的發明

< The Gardener and the Carpenter >
"What the new science of child development tells us
about the relationship between parents and children"

我們養育小孩,是否要按著某套「教養」的方式,將孩子管教養育成醫生、律師、或某個大家希望將來要達成的職業?是否可以我們到要訓練孩子在音樂、語文、STEM等各個方向變成專才?


在了解本書的觀點之前先要區分另一個有關「教養風格」的概念:Parenting Style 是 按 家長控制 (Parental control) 和情感關愛 (Parental warmth) 兩個維度 劃分的四象限分類。普通推崇恩威並施的權威型教養風格,不過風格的形成和尺度會受社會文化時宜等因素影響著。這個常見的「教養」詞彙在本書旳內容中沒有提,這是留意中文書名時要區分的一個誤會。
專制型(authoritarian)、權威型(authoritative)
疏離型(uninvolved)、放任型(permissive)
而本書所不同意的「教養」,是指以為有種絕對標準的方式,作為做人父母/教養孩子的公式;是指家長以為可試圖形塑孩子未來的模樣。父母所造的事,不是一項工作,或職務。如果有一個共同目標:要將孩子變成一個更好或更快樂或更成功的大人,這是出於對孩子的愛,而非為了達致某個標準答案。無論夫妻間、親子間、以至人類共同撫養的行為,這書認為這份愛和親密不再是虛無或哲學的觀念,而是演化出來的天然因素。

書中借助有關孩子發展的科學 ,透過各種實驗顯示孩子學習時一些與成人不同的特質。例如提出:人類成年期和幼年期的共處,讓小孩有足夠的幼年期去發揮學習和探索的特質,讓將來的他(以至人類族群)能夠適應變化、進步。而真正教養的關鍵仍是親子關係,孩子與照顧者之間的相處,如何提供環境讓孩子發展他自身的可能性。原文書名會更反映到這個觀點:木匠 (carpenter) 和 園丁(gardener) 的分別 。「愛並沒有標準或是藍圖,其意圖並不是要改變我們所愛的人,而是給予他們成長茁壯所需要的東西」。

2019年1月27日 星期日

體驗手作步道-「自己山徑自己修」(Day 2)

為斜度大的路段加上石梯級

進入第二日的工作坊,上星期日活動完結後徐老師的「千里步道」團隊就要回台灣了,今個星期就由香港漁護署的現職/退休同事 帶領,最老資格的幾位退休或快將退休的老總、師傅,各位年輕管事的也懂是交給他們帶領大家。示範一時各有主見,是老師傅的經驗;一時對對方想要什麼,兩人又合作無間:「以前一齊砌左成條路上馬鞍山喎」

這次不用木頭,而是完全用石處理。在坪墩村,大網仔路附近的山徑起步不遠之處。附近的大石比上次多,第一步都是採石,說有拳頭大的才看上眼,當然是因為工法不同之故,過程和成品的確是沒有碎石的需要。到之後砌石時也遂漸會發覺分得出不同質地的石頭:有容易打碎的粉石,多帶點粉紅粉黃色,折面會看到顆粒質地,應該是沉質岩類;有種打開的折面會是黑色片狀,聲音清脆,有點陶壺感覺的,可是岩石類型就不懂分別了;而最合適使用的就是常見的花崗岩質地。



2019年1月17日 星期四

體驗手作步道-「自己山徑自己修」(Day 1)

台灣的陸地面積是香港的 29 倍,人口只是香港的 3 倍。山徑的使用率去看,山跑比賽一年就有二百多項,竟然小小的香港卻是亞洲第二。山徑使用頻繁,路面的損秏也多。綠惜地球、千里步道、漁護署,這兩星期就舉辦了一個「自己山徑自己修」的活動。
修復前後的對比,將沖蝕溝回填成土木階梯
事前的講座亦由 台灣「千里步道」的嘉賓分享有關手作步道的經驗。從海外幾個較大型的志工組織講起,包括講者參與美國-阿帕拉契山徑保育志工(The Appalachian Trail Conservancy,ATC)的經驗,從當時選擇㧵石仔的故事和經驗,到當地導師如何講解;在補路修橋的過程中,處理不同情況的工法和一些設計背後的考慮;講到回台灣後的步道發展,包括台灣近年推出「步道學」、找回傳統手作步道經驗的「步道師」、和政府合力修整傷健共融的步道等;再到世界各地的有趣步道分享。例如廁所設計、移動的橋、天然的樹橋等。也少不了香港步道-麥理浩有關郊野公園發展的一番話、和劉克襄的「四分之三的香港」的連繫、考察中看到傳統古道中的問路石和修路碑(東和墟)串起的歷史關係。

2018年12月9日 星期日

生活雜記 - 學車、進修、小生意

近月決定學車,第一步的報考筆試,政府網上報名的功能完全是廢的,只有襯著放假日子,親身到長沙灣填表報考。報考的櫃位並不多人輪侯,整個過程算很快完成。只要帶好: 1) 近3個月發出的住址證明,2) $510 報考費。 11月6號報考,筆試排到 11月29號,筆試合格的話即日發出路試排期:下年9月初。之後就是慢慢再找學車師傅。以從前在街機賽車的表現,認真擔心,祝好運⋯⋯  對將來是一方面看到最近的交通事故的意外難料,另一方面看到近期對 GOGOVAN 出市集、開始出批發市場大手入貨等需求,如果更投入幫手的話車應該會變得很實用。

留意到一個 「Udemy限免課程」的 FB group,經常有免費課程的優惠碼提供,應該是用程式撈出來的。已經遇到幾個好像不錯的課程,試過輸入優惠碼是有效的。人奇怪的是,對比之前在Coursera付費的自學課程, 今次幾個課甚至連開始也未曾開始,這是對於沒有認真付出就沒有珍惜和盡力的意思嗎?還是面對未熟悉的平台就遲遲地不去行動? 進修的心願偶爾仍會浮起,看大學的課程選擇科目時,卻總是很猶豫很多可以自學的內容是否值十幾萬去讀個碩士 或 短期課程?如果是買一個學位的心態,換取轉行的資格從Freshgrade做起。是否值得?

年尾PMI membership 要續期,又是一筆開支 :( 。好不好盡快了結那 60 PDU 就等2年後,才 PMI + PMP 一次過續?還有又到為網址續期的時侯,為女友生意開展的網頁掉空了一段時間。跟 FB 提我的兩年前的Arduino玩具車一樣,彷彿很多興趣總可以去到某個水平,然後就是無形的高牆罇頸。以業餘的時間投放,而要做到更好成果並不容易?

工作進入年尾12月, 人手緊拙。Mission impossible的困境又叫人怎會應付到呢。遲收工的情況令家人都經常咋形,當收工後回到家已經是別人晚飯完兼收拾好的時候,霋時也會感到自己其實是不是收工很晚呢? 工餘時間又要幫手伴侶的生意,沒有什麼自主的時間。但 FB上提醒的回顧,距離早期到觀塘新商廈擺過的市集,原來已經是2年了。這小生意現在也總算有些成長,從摸索中到可以是有點成形了,為她的成果歡喜。要增加生意額,大概就要改變運作的方法去擴大生產規模,這方面怎樣做還要再摸索⋯⋯  然而,一天只有24小時,我又可以做得多少呢?

2018年12月5日 星期三

社創的 Side Project

近幾個月在進行的一個項目,近日終於走到一個milestone里程碑,項目通過了評審,明年可以撥款推展。雖然撥款之外伴隨的是資源、還有限制,不過相信成事最重要的還是靠成員的想法和執行力,反而是對自己能力上可以做到什麼,就充滿懷疑和不安。為己為人為行業為社會,希望能做到一點成果、讓另一伴所走的輔導業情況有一點變化、讓人減輕一份困苦煩惱。所以,希望這個生活中的 Side Project 可以走下去。

近年愈感到一個 Designer 的重要,要成就出一件見得人的作品,外觀包裝最影響著給人的印象。剛好今次在大家考慮製作Logo時,Youtube 上自學了一下 Inkscape 這個開源軟件,一個類似 Illustrator 的向量繪圖工具,把他們的想法做出來,又打開了一扇技術的門。之後剛好又看到幾本書想分享一些章節,粗粗地自製一份圖片版的內容分享。

不過暫時技術只做到一些簡單繪圖和小修小改。對於設計上的美感和表達、可以隨心而畫的技術等,如果有一個更專長於畫畫的人應該會做得更好吧?



2018年10月28日 星期日

「WebOrganic」mBot 友師義工、深圳「厘米空間」 考察

最近參加一個在屯門區的 STEAM 義工師友計劃,最近開始到小學和他們一起上堂玩 mBot 機械人編程,第一天坐在兩位小朋友旁邊觀察,看著兩個人仔的互動比 mBot 吸引,一動一靜的倆人、從行為可以看到他們有不同的需要,和成長中要學習的課題。下一節開始會再和其作人組成小組去設計表演、參賽,這兩種性格如何和別人合作,可能是挑戰同時也是學習機會。很容易表現出想法和需要的小朋友,從什麼時麼人在長大後變得複雜難懂的呢?

兩年前的Arduino學習文,記得大概是那時候 mBot 初被留意作為教學用途,到現在市面所見的STEAM興趣班基本都以mBot作為兒童編程教學了。
Android + Arduino 小車的手機藍牙遙控計劃
Arduino 淘寶小車 - 焊接/使用CH341的Driver/功能測試



上星期跟一個前海交流團北上,由招商局基金會安排到訪位於深圳南山區「蛇口網谷」雙創基地(沿山路和南海大道之間,工業四路至工業八路)的地區(南山半島東部,應該是后海灣地區),參觀一間 「招商啟航」營運 的孵化加速器—「厘米空間」 (CM Space 的 CM 就是招商局的 China Merchant ),和相鄰的共享工作空間-「招商創庫」。整個園區會令我想起在班加羅爾工作時的園區,巴士沿大街行走到園區前下車,經過一個保安崗位和大閘進入,三楝的大厦園繞入口後的空地。我們進入其一座約十層的工業區大厦,就是今次拜訪的「厘米空間」。

2018年10月19日 星期五

[閱讀] 不被情緒勒索的 51 個方法


早前誠品找參考書的時候,發現到這本《不被情緒勒索的 51 個方法》-和田秀樹,當查過圖書館已有後,就打算慢慢等排預約。到某天另有地方剛好發現了,可以借去閱讀。原來,它的內容跟書題所寫的「情緒勒索」這預期有點出入。相比近年所講的以情緒作為操控手段的(Emotional Blackmail)— 「有些時候我們為了維繫與重要的人的關係,為了不想要自己被貶低、為了降低焦慮,會重複被迫去做一些自己不想做的事情……」這本書所講的更多是:如何不被情緒操控了自己,和如何調整情緒。所以 Emotional Backmail 式的情緒勒索著墨不算多,只有第一篇「你總是在意別人的眼光嗎?」勉強地關於那個「不被情緒勒索」的主題……

【圖輯】15張圖讓你一次了解情緒勒索(emotional blackmail)


如書中的前言,情緒整理的重點不是在於如何消除自己的情緒,而是如何不被情緒影響。我們畢竟是人就會有情緒不好的時,但如果可以的話,與其心情不好,還是希望好心情多一點,所以作者希望這是讀者可以心情由負轉正的情緒之書。

有豐富的情緒和把情緒表達出來的人更討人喜歡,但是想做到不被情緒劫持了你的行為反應,要減少引致行為問題,起點就由覺察自己的情緒開始。第一是了解自己,例如「對於自己比別人更急躁」這件事要有自覺。第二是不把自己的想法視為絕對,接受其他的可能性。第三是重視結果,然後在做出行為之前可以在認知上作出選擇。本書的這種模式,有點像從認知行為學派的角度出發。

The last of the human freedom is to choose one's attitudes. - Viktor Franki

2018年10月8日 星期一

2018年夏 - 富士山:距離山頂尚餘那最後的一段路

從打算行富士山開始,今年已經在 Facebook 見到好幾位朋友登富士山的相,網上看到的形容大多是「登山其實唔難」。今次到埗日本時,颱風天鴿剛剛經過了關西,到了預定登山的日子剛剛好重開了;遇到過一些行李上的問題也終於解決了,所以更是對上山充滿期待。但其實今次是沒有走到山頂了,對這個失敗記錄本來也有點猶豫,只係理性再考慮,都相信在第二天早上天氣的因素下,撒退是正確的決定。可惜風雨之下未有紀錄當時天氣,網上找到幾段當日記綠,好讓看到也有心理準備:除了個人體力、裝備和行程準備等,山上的天氣變化也是可以令難度和風景大幅改變。「謀事在人、成事在天」。

9月7日5:24の富士山頂上です。台風の時のように荒れてます。突風が風速15mを超えています。気温は6.1℃です。  - https://twitter.com/mushphoto/status/1037802596017172480

9月7日9:30頃の富士山御殿場口頂上の様子です。雨風ともに強く、台風並みです。大変危険です。気温は7.1℃です。 - https://twitter.com/mushphoto/status/1037870025284022272

Yamakei Online > みんなの登山記録 > 富士山(54歳から始める山さん)
https://www.yamakei-online.com/cl_record/detail.php?id=140693


早上約八九時到河口湖站買巴士票後,到7號候車處等車,也是整個車站最多人排的隊伍,在車站的最外圍。而站旁有一個專櫃賣票,要方便的話可以不用進大站買呢。巴士大約 9.30 開車,開往五合目Subaru Line 吉田口站 準備出發。先行逛一下這裡的商店,買了一支中等尺寸到膊頭的金剛杖,行神社,和在手信店二樓的餐廳食飯,之後就和女友分道揚鑣,大約十一點開始上山;而她就可以用山下的「河口湖・西湖」周遊巴士卷 遊覽。

初段平路為主,可見火山地質的土壤

北富士演習場、山中湖

2018年9月3日 星期一

「中學生看內地與香港關係」的變化-雙方交流而非單方融合,才能彼此學習

這份有關「中學生看內地與香港關係」的問卷調查,回顧原文的話其實伴隨著大量的題目,所以可以抽出不同的感興趣的數字作為題材,除了常見有關身份認同、兩地關係評分的數字外,還有幾項數字的變化和往後發展在我看來是有重要意義的。

中港融合(或者:香港被融合)是一些對香港前境有所關心的人,所感受到的一份未有明言,但似乎某個方向在逐步進行中的感覺。 不必等到50年後(現今只剩30年了)才一下子去傾要不要那套「一國兩制」、「港人治港」、「高度自治」⋯⋯,變化早在這大方向中潛移默化著。害怕改變可能讓人選擇全面封閉或抵制,要擇善固執當中的選擇才是困難。強勢的,與其只去強推改變,更有價值的應該是好像不同的兩個人,如何在交流中一起改進,『和而不同』。

許多負面指標的下降,對前往內地的接受程度上升等,正好反映著內地的一套在對香港的日常影響已逐漸增加。早從以往的較為離地的經濟金融,到散戶參與的股市方面,香港股市從受美股影響變成與中國的相關性更大。從前睇恆指你會想起匯豐,今日你會想起騰訊;近幾年淘寶、順豐是不少「達人」的購物、送貨平台。支付寶Alipay、微信Wechat 的手機支付今年同時以折扣攻入香港消費者的使用習慣。韓國綜藝節目變成內地版後一樣受香港年輕人留意,多套內地電視劇集在香港熱播。這些日常生活上的事慢慢造成一部份的文化差異收窄,要到內地生活(旅遊、創業、升學、工作、定居)可以幻想轉變比昔日減少了,接受程度就會增加。

對於熱愛旅遊的香港人,在前往內地旅遊的接受程度最高,"周未Chill下" 已經常見於最近介紹深圳玩樂的媒體文章,很可能是今後拉近香港人認識內地文化的一道門。相對於旅遊對很多人印象必然是離開香港,其次的創業大抵出於本地的機遇不足。而升學除了特定程度/科目外,內地大學往往仍是本地大學之後的次選,吸納著部份學生。
願意往內地生活的比例在2018年都有上升


問題中分開了「交流」和「融合」,不知在答題者的想像中是否有清晰的分別,結果反映出是交流多於融合。我想這正是要推動中港關係是「即」是「離」的人應該思考之處。中港兩地各有擅長和落後之處,學習別人長處,改善自己人民生活才是一個地方的政府應該推動之事。如果把一切都齊一了,反而令當地欠缺特色和變化,沒有了新的可能性,然後 The City Is Dying, you know?曾經重讀過當年1979-1984年間探討香港回歸到訂立中英聯合聲明時的歷史檔案,當年中國對香港情況的方針是保持它的繁榮穩定,其實也是因為對當年國內推動改革開放有幫助,所以就算收回香港也不欲香港融合走當時內地的模式。今日香港人除了默然接受或抗爭,可以顯示自己的什麼長處? 是否能夠理解雙方想法,甚麼因素可以影響對方要推動A方針而非B方針?



2018年7月21日 星期六

[VBA] 打開 IE 瀏覽器去操作和列印

辦公室之用,之前寫過如何用 VBA 控制 IE 去將網頁列印成 PDF。但後來遇到在 PDF 軟件上的問題,本應可以將存檔也自動化的步驟失效了,而自己對這工具的需求也減少了,就未有再檢視如何改進它。最近重新拾起辦公室內的一些VBA小工具,看見能發揮效果的感覺真不錯,所以,一於重新嘗試如何改進這個自動化的小工具,先整理之前的方法。

在基本的VBA功能以外,還有兩個 Library 需要先引入:打開 Reference - VBAProject,勾選引入 Microsoft Internet Controls 及 Microsoft HTML Object Library。 下面代碼中的 "ShellWindows" 會得到 Windows 下的 Shell 窗口對象,可以用来操控 Windows的文件夹和 IE 瀏覽器。 "InternetExplorer" 顧名思義可以控制Internet Explorer。 取得某個 IE 的控制後,會需要一點 HTML 語法 和 DOM 結構的認識,之後用 GetElementByID("") GetElementsByTagName("").Item(n)、 GetElementsByClassName("").Item(n) 之類的方法去取得HTML 當中的元素; 甚或如透過 .Style.display 、 .innerText 等屬性去改變網頁的顯示。

(直接印紙的話仍可以做到,只是要轉成 PDF 的話就要看 PDF 軟件的造化..... 可能下周試用 Sendkeys處理 Print Dialog?其實VBA又是否能做到其他語言中的Web Scraping方式呢,大概是未有Library的第 3 方支持?。 另外,因為保守地想給予足夠時間讀取網頁,所以也加入很多等待的時間。)

Sub IEautoprint
    
    Dim shellWins As ShellWindows
    Dim myIE As InternetExplorer
    
    Set shellWins = New ShellWindows
    Set mySheet = ThisWorkbook.Sheets("SecuritySheet")
    Set myIE = CreateObject("InternetExplorer.Application")
    StartRow = 2
    MaxRow = 65536
    
    '打開網址
    myIE.Navigate "http://website.com/fullpath"
    Application.Wait (Now + Time("0:00:01")) 

    ' Optional - 以 Title 標題去選擇視窗
    If shellWins.Count > 0 Then
        For i = shellWins.Count - 1 to 0 Step -1
            If (shellWins.Item(i).LocationName = "Window Title") Then
                Set myIE = shellWins.Item(i)
                myIE.Visible = True
                Exit For
            End If
        Next
    End If
    
    ' Loop Excel mySheet 中的 Input, 重覆:遞交HTML表單、改變頁面顯示、列印 等動作 
    For x = StartRow To MaxRow
        ' 填入HTML的表單及遞交
        Do While .ReadyState <> 4
        Loop ' 等待網頁載入完畢
        myIE.Document.Form(0).Elements("CTYPE").Value = mySheet.Cells(x,1).Value 'Html 表單中的元素
        myIE.Document.Form(0).Elements("CCODE").Value = mySheet.Cells(x,2).Value 'Html 表單中的元素 
        myIE.Document.Form(0).Submit 'Html 表單Submit
 
        ' 改變 HTML中的Style屬性去影響 Expand/Collapse 
        Do While .ReadyState <> 4
        Loop
        On Error Resume Next
        If Not (.Document.getElementbyID("hide105") Is Nothing) Then
            myIE.Document.getElementbyID("hide101").Style.display = "None"
            myIE.Document.getElementbyID("hide105").Style.display = "Block"
        End If
        
        ' 列印
        myIE.ExecWB 6, 2   'ExecWB指令, OLECMDID_PRINT=6, OLECMDEXECOPT_DONTPROMPTUSER=2
        Application.Wait (Now + TimeValue("0:00:02")) ' 等待特定的時間讓檔案建立
        
        Do While .Busy Or .ReadyState <> 4
        Loop
        
        ' 新一格沒有內容時完結 => Done~!!
        If mySheet.Cells(x+1, 1).Value = "" Then
            GoTo LastLine            
        End If
    Next
' 完結時的處理LineDone:
    MsgBox "Done"
    Set shellWins = Nothing
    Set myIE = Nothing
End Sub


ShellWindowshttps://msdn.microsoft.com/en-us/library/windows/desktop/bb773974(v=vs.85).aspx
InternetExplorerhttps://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752084(v=vs.85)
ExecWB 的 IOleCommandTarget interfacehttps://docs.microsoft.com/en-us/windows/desktop/api/docobj/ne-docobj-olecmdid
OLECMDIDhttps://docs.microsoft.com/en-us/windows/desktop/api/docobj/ne-docobj-olecmdid

2018年7月6日 星期五

Coursera - Applied Data Science with Python 學習筆記 05 - Social Network Analysis

到了這系列課程的最後一門課-社會網絡分析 (Social Network Analysis) ,原本以為是研究 FB、Twitter 等平台的文字資料;原來是運用圖論中的節點和線邊構成的『圖』去代表社會網絡中的人和關係。純圖論的一些經典實施問題包括:7橋問題(path)、最短路徑問題(distance)、4色問題(labeling)。圖論伸廷到今天的社會網絡分析,研究的方向可能是社群的結構、資訊如何流通等等,社交平台做成的網絡是這個方向的一大推動力,正如 Facebook 提供讓開發者使用的 Graph API 就是以 物件-關係 來處理資訊。Python中有 NetworkX 套件特別用來處理這些Social Network Analysis 問題的工具。

Week1 是圖論上的基礎,和一些特別的圖例如 bipartite graph, 它的L-Bipartite graph (weighted) projection。解釋過什麼是Graph、Node、Edge、Degree等基本詞彙後,網絡和圖的稱呼會交替出現。

要引用一張圖,可以有以下方法:
https://networkx.github.io/documentation/networkx-1.10/reference/readwrite.html
import networkx as nx
import numpy as np
import pandas as pd
%matplotlib notebook

G1 = nx.Graph()
G1.add_edges_from([('A', 'B'),
                   ('A', 'C'),
                   ('A', 'D'),
                   ('A', 'E'),
                   ('B', 'D'),
                   ('B', 'E'),
                   ('D', 'E'),
                   ('C', 'F'),
                   ('C', 'K'),
                   ('F', 'H'),
                   ('F', 'K'),
                   ('F', 'J'),
                   ('J', 'K')])

G2 = nx.read_edgelist('G_self_edgelist.txt', delimiter=',', data=[('Weight', int)])

G_df = pd.read_csv('G_self_edgelist.txt', delimiter=',', 
                   header=None, names=['n1', 'n2', 'weight'])
G3 = nx.from_pandas_dataframe(G_df, 'n1', 'n2', edge_attr='weight')

nx.info(G)
G.nodes(data=True)
G.edges(data=True)
nx.draw_networkx(G)

Week 2

「群聚分析」研究的是,網絡中的點互相連結形成群聚的程度。典型由多人形成的群聚,會是圖中一部分由所有點互相連結的完全子圖。而最簡單的一個群聚是由互相認識的三個人形成的「Triadic Closure」,對更複雜的圖的幾種群聚系數,量度的設計是由這形式推展出來的。

首先是圖中某個頂點的「局部群聚系數」-Local Clustering Coefficient,它的大概主意是去計算:與某頂點相連的近鄰們,能夠互相連結成配對的比例。即以下兩者之比:
$v$的近鄰間實際形成的邊數:$|(X,Y)| s.t. X,Y \in N(v)$
$v$的近鄰間最大可能形成的邊數:$\frac{d_v(d_v - 1)}{2}$

當考慮整個圖的整體群聚程度-「全局群聚系數」時,有兩種方法,一個是所有點的局部群聚系數平均起來-「Average Local Clustering Coefficient」。另一個稱為 「Transitivity」 的量度方法是數算圖中由三點形成的「閉三角組」和「開三角組」的比例:
Transitivity = 3 * number triangle / number of opera triad
而兩套方法的分別是對 Transitivity 對 高Degree 的點有較大比重。
nx.average_clustering(G)
nx.transitivity(G)

2018年6月18日 星期一

Coursera - Applied Data Science with Python 學習筆記 04 - Text Mining

《山林道》-「當初說這裡有天 會由樹變成路 一醒覺經已殺出這條路....
我只盼這裡有天 變回樹 撤回路 疏忽了趕快去補趁還未老... 」

Applied Data Science with Python的第四課-Applied Text Mining in Python,是更多有關文字、語言的處理,可以想像最後一課的social network應該有機會處理網絡社交平台上獲取的資料?

最基本的是文字的 Regular Expression 處理,在第一課時已略有使用過,幾個常用方法包括:

### Regular expression
import re
text = '@UN @UN_Women "Ethics are built right into the ideals and objectives of the United Nations" \
UNSG @NY @NY_Society for Ethical Culture bit.ly/2guVelr'   # 字串
text_list = text.split(' ')   # 分拆字串
[w for w in text_list if re.search('@[A-Za-z0-9_]+', w)]   # 查找吻合的pattern

# Dataframe 的字串處理
time_sentences = ["Monday: The doctor's appointment is at 2:45pm.", 
                  "Tuesday: The dentist's appointment is at 11:30 am.",
                  "Wednesday: At 7:00pm, there is a basketball game!",
                  "Thursday: Be back home by 11:15 pm at the latest.",
                  "Friday: Take the train at 08:10 am, arrive at 09:00am."]
df = pd.DataFrame(time_sentences, columns=['text'])

df['text'].str.split().str.len()   # find the number of tokens for each string in df['text']
df['text'].str.findall(r'(\d?\d):(\d\d)')   # group and find the hours and minutes
df['text'].str.replace(r'\w+day\b', '???')   # replace weekdays with '???'
df['text'].str.extractall(r'((\d?\d):(\d\d) ?([ap]m))')   # extract the entire time, the hours, the minutes, and the perio

然後就開始自然語言處理器 NLTK。課程是英語為主,但香港地更實際的一定是中文的處理,從前在 R 就聽過 Jieba 套件,Python世界似乎也是 Jieba 最廣為人所認識,當然這個 Jieba套件之後也要找機會試試。

所以,還是先溫習課程上所學習對英文的流程。首先是把文章進行分詞 (Tokenization),然後針對英文文法上的不同時態/詞型,分辨詞性 (Noun/Verb/Adj/...) 及縮減成詞根的提取 (Stemming) 或還原Lemmatization)。 這樣以後才可以做一些詞頻統計、Vectorization 後做預測模型、兩篇文章內容的相似度的比較。

2018年6月6日 星期三

Coursera - Applied Data Science with Python 學習筆記 03 - machine learning

第三課, Coursera上的最後一課已經開課,加快記完這篇就要再追一追進度了。機器學習隨著人工智能近年變成流行Buzzword,其實在引入神經網路(Neural Networks)前,一些模型例如Regression, logistics regression, KNN Classifier 等 迴歸 或 分類 模型; K means 的叢集;PCA 的縮減維度方法;Decision Tree的決策指引;很多概念都是統計和數學所已有的,只是一個機械學習的課程會對實作更有重視。

今次只是在有課程框架下去學python。當以<第一課>的技巧處理好數據成合用的格式, <第二課>繪圖後對數據有視覺化的印象, 可以進入第三課建立模型去做數據的形容/預測。其他例子可以參考之前幾篇,例如早期用 R 的:
[R] ML4B 課堂重溫 - 淺談 KNN (K-th Nearest Neighbors) 算法
[R] Show Me The Code - Machine Learning的簡易入門

在課堂的練習中,所有今次用到有關的scikit-learn library。從library的架構中可以留意到model selection, preprocessing, models, metrics幾大類別,對應著建立模型過程中的不同需要:
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import validation_curve

from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import PolynomialFeatures

from sklearn.neighbors import KNeighborsClassifier 
from sklearn.linear_model import LinearRegression, Ridge, Lasso, LogisticRegression
from sklearn.svm import LinearSVC, SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.dummy import DummyClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.neural_network import MLPClassifier

from sklearn.metrics.scorer import SCORERS
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
from sklearn.metrics import classification_report
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import roc_curve, auc
from sklearn.metrics import mean_squared_error, r2_score

from sklearn.datasets import make_classification, make_blobs, make_friedman1, load_breast_cancer