搜尋此網誌

2026年6月9日星期二

對人的工作

大主管將我投閒置散,我這個小主管怎都要做一些事情。內地姐姐離職,樓下 Pop-up Store 工作環境有改善,正是時機。天下武功,唯快不破。小朋友不明白我便解釋給他聽。小朋友問我為什麼不私下與大主管商討人手安排,而選擇一開始便在群組提議,認為我以下犯上,架空權力。可是,小朋友沒有想到私下商討失敗了,再在群組反抗會有什麼後果。區經叫我和大主管多溝通,面對面是行不通的,因為大主管經常扮失憶,要用文字溝通,要有根有據。區經說 Pop-up stores 可交給彩虹姐姐 Run, 叫我多專注主舖的工作。在群組提議了,就算大主管沒有接納,區經都知道發生什麼事。題外話,大主管放假的時候會吩咐我做一些工作。上班要完成上司給我的工作十分正常,但問題是大主管會遙控彩虹姐姐,監察我的工作情況。被監察的我,一點也不好受。對著時常設陷阱的主管,對人的工作,心很累。

2026年6月8日星期一

"Haven't"〈Yoasobi feat. Lee Suhyun〉


連淚水都沒流下
度過的日子連一絲痕跡也沒留下
 「再見了」

一個獨自迎接的早晨
迴響著某個人的聲音
在兩人曾一同度過的房間裡
依然閉著雙眼思索

犯錯的是誰?
我不知道啊
誰都沒有錯吧!
或許

我們不論經歷多少次
對,不論過了多少年也必定
都只會隨著「再見」而畫上句號
這也是沒辦法吧 一定
「歡迎回家」
不經意脫口而出的這句話
感覺不對吧

一個獨自迎接的早晨
忽然想起某個人的事
兩人一同度過的日子裡
理所當然地殘留著

犯錯的是你
是這樣嗎?
犯錯的是我
或許吧!

這也就是世俗平庸的戀愛吧
那便是最終的答案了
我們漸漸地產生了分歧
這也不過是常有的、聽慣了的故事罷
就連那般閃耀著光芒的日子
也終究會蓋滿灰塵

我們不論經歷多少次
對,不論過了多少年也必定
都會走向「再見」的道路
這也是沒辦法吧 一定
「歡迎回家」
像往常一樣 衝出了口

無法互相理解的事
不論多少一定會有吧
畢竟我們不可能包容彼此的所有
然而,要是你感覺到那些溫柔的日子
漸漸變成痛苦的日子的話
那就再也回不去了

我們不論經歷多少次
我們不論經歷多少次
不論過了多少年也必定
都只會隨著「再見」而畫上句號
這也是沒辦法的吧 一定
「歡迎回家」
不經意脫口而出的這句話
感覺不對吧

即使如此 不論經歷多少次
對,不論過了多少年也必定
如果還能回到最初的話……
不禁產生了這樣的想法
「歡迎回家」
對這句無法傳達的話語
露出了苦笑
是一個有些寒冷的早晨

2026年6月4日星期四

仲夏

今年仲夏(6–8月)香港預料會比常年偏熱,天文台指出全年平均氣溫「偏高」,並有較高機會進入歷史前十名;媒體與專家估計市區最高溫可能逼近或超過38°C(HKO)。城市熱島效應會令市區比郊區高 約 3–4°C,屯門相對新界內陸或山區仍會感到悶熱但略低於市中心。

Microsoft Copilot

香港今年仲夏(大約6至8月)大機會偏熱,天文台最新季節預報亦指出2026年6月至8月香港氣溫「高於正常」而雨量「正常至偏少」的機會稍高。

perplexity.ai and HKO

根據香港天文台最新的季度預報,在氣候持續暖化與厄爾尼諾現象等多重因素影響下,預料香港今年仲夏(6月至8月)的氣溫會高於正常,且全年平均氣溫有很大機會躋身歷史最高首十位。

gemini.google.com

2026年6月2日星期二

Part I of Python test

def encodeString(stringVal):

    encodedList = []

    prevChar = stringVal[0]

    count = 0


    for char in stringVal:

        if prevChar != char:

            encodedList.append((prevChar, count))

            count = 0

            prevChar = char

        count = count + 1


    encodedList.append((prevChar, count))

    return encodedList


Step 1: Setup

  • encodedList = [] → empty list to store results.

  • prevChar = stringVal[0] → start with the first character of the string.

  • count = 0 → counter for consecutive occurrences.


Step 2: Loop through each character

for char in stringVal:

Goes through every character in the string one by one.


Step 3: Check if the character changes

if prevChar != char:
    encodedList.append((prevChar, count))
    count = 0
    prevChar = char

If the current character is different from the previous one:

  • Save the previous character and its count into encodedList.

  • Reset count to 0.

  • Update prevChar to the new character.


Step 4: Count occurrences

count = count + 1

Always increment the counter for the current character.


Step 5: Add the last group

encodedList.append((prevChar, count))

After the loop finishes, add the final character group to the list.


Step 6: Return result

return encodedList

The function returns the list of (character, count) tuples.

Microsoft Copilot

Naughty

catnap: a short sleep

pickled: (of food) preserved in vinegar

chile con queso: (in Tex-Mex cooking) a thick sauce of melted cheese seasoned with chilli peppers, typically served warm as a dip for tortilla chips

bequeath: pass (something) on or leave (something) to someone else

Plymouth was a beloved American automobile brand produced by the Chrysler Corporation from 1928 until 2001.

tow: to pull a car, boat, etc. behind another vehicle, using a rope or chain

junkyard: a place where old cars, machines, etc. are collected, so that parts of them, or the metal they are made of, can be sold to be used again

a chunk of: (informal) a fairly large amount of something

fetch: to go to where somebody/something is and bring them/it back

cruising: (of a car, etc. or its driver) to drive along slowly, especially when you are looking at or for something

rear-wheel drive: a system in which power from the engine is sent to the back wheels of a vehicle

fishtail: if a vehicle fishtails, the back end slides from side to side

joyriding: the crime of stealing a car and driving it for pleasure, usually in a fast and dangerous way

barbed wire: strong wire with short sharp points on it, used especially for fences

bail out: to escape from a situation that you no longer want to be involved in

pint: a pint of beer (especially in a pub)

foible: a silly habit or a strange or weak aspect of a person’s character that is not considered serious by other people

frenzy: a state of great activity and strong emotion that is often violent or frightening and not under control

attribute something to something: to say or believe that something is the result of a particular thing

intimidate: to frighten or threaten somebody so that they will do what you want

deferential: showing that you respect somebody/something, especially somebody older or more senior than you

"To get a kick out of" is an idiom that means to really enjoy something, or to get a strong feeling of excitement and pleasure from doing or experiencing it.

bemused: showing that you are confused and unable to think clearly

bide: to stay or live in a place

insubordination: the act of refusing to obey orders or show respect for somebody who has a higher rank

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

Google AI overview

2026年5月28日星期四

Dictionary Comprehensions in Python

Revision:

In Python, lists, tuples, sets, and dictionaries are all built-in data structures, but they differ in mutability, ordering, and how they store data. Lists and dictionaries are mutable, tuples are immutable, and sets enforce uniqueness. Dictionaries store key–value pairs, while the others store single values.

List: [ ]

Tuple: ( )

Set: { } or set()

Dictionary: {key: value}


myList = [1,2,3,4,5]

[2*item for item in myList]

This a list comprehension, not a for loop.

In a for ... in loop, the colon (:) is mandatory because it introduces a block of indented code.

for item in myList:

    print(2*item)


We can use any valid variable name instead of "item" in a for ... in loop or a list comprehension. The name is just a placeholder that represents each element in the sequence while iterating.

What is a Key–Value Pair?

A dictionary is like a real-world dictionary:
Key = the word you look up.
Value = the definition you get.

In Python:
Key must be unique and immutable (string, number, tuple).
Value can be anything (string, number, list, another dict, etc.).

person = {
    "name": "Alice",
    "age": 25,
    "city": "Hong Kong"
}

"name" → key, "Alice" → value
"age" → key, 25 → value
"city" → key, "Hong Kong" → value

animalList = [('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')]
animals = {item[0]: item[1] for item in animalList}
animals

List of tuples
[('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')]

Each tuple has two elements:
item[0] → the key (like 'a')
item[1] → the value (like 'anteater')

Dictionary comprehension
{item[0]: item[1] for item in animalList}

Loops through each tuple in animalList.
Uses the first element (item[0]) as the key.
Uses the second element (item[1]) as the value.

{'a': 'anteater', 'b': 'bear', 'c': 'cat', 'd': 'dog'}

>>> animalList = [('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')]
>>> animals = {key: value for key, value in animalList}
... animals
...
{'a': 'anteater', 'b': 'bear', 'c': 'cat', 'd': 'dog'}

animals.items()
dict_items([('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')])
Asking Python to give you all the key–value pairs in the dictionary.

list(animals.items())
[('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')]

A list comprehension that builds a list of dictionaries from your animals dictionary
[{'letter': key, 'name': value} for key, value in animals.items()]

animals.items()
Produces key–value pairs like:
('a', 'anteater'), ('b', 'bear'), ('c', 'cat'), ('d', 'dog')

Looping with for key, value in animals.items()
Each iteration unpacks the tuple into key and value.

Dictionary inside the comprehension
For each pair, you create a new dictionary:
{'letter': key, 'name': value}

Result:
[{'letter': 'a', 'name': 'anteater'}, {'letter': 'b', 'name': 'bear'}, {'letter': 'c', 'name': 'cat'}, {'letter': 'd', 'name': 'dog'}]

Microsoft Copilot

Startup Company

bear down on: to move quickly toward someone or something in a determined way

get something off the ground: to start happening successfully; to make something start happening successfully

payroll: a list of people employed by a company showing the amount of money to be paid to each of them

mundane: not interesting or exciting

monte: a card game

viable: that can be done; that will be successful

topology: a branch of mathematics concerned with those properties of geometric configurations (such as point sets) which are unaltered by elastic deformations (such as a stretching or a twisting) that are homeomorphisms

disabuse somebody (of something) to tell somebody that what they think is true is, in fact, not true

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com