搜尋此網誌

2026年6月24日星期三

While loops

innocuous: not intended or likely to offend or upset anyone

tame something to make an animal, bird, etc. not afraid of people and used to living with them

The datetime class in Python is part of the datetime module and is used to represent both date and time together, with optional time zone support. It allows you to create, manipulate, and format date-time objects with precision, making it essential for scheduling, logging, and time-based calculations.

In Python, the % symbol is the modulus operator. It returns the remainder when one number is divided by another.

In Python, pass is a placeholder statement that literally means “do nothing.”


from datetime import datetime

wait_until = (datetime.now().second + 2) % 60

  • datetime.now().second → gets the current second (0–59).

  • + 2 → adds 2 seconds to the current time.

  • % 60 → ensures the value wraps around correctly (e.g., if current second is 59, 59 + 2 = 61, and 61 % 60 = 1).

So wait_until is always two seconds ahead of the current second.

while datetime.now().second != wait_until: print('Still waiting!')

  • This loop keeps checking the current second.

  • As long as it’s not equal to wait_until, it prints "Still waiting!".

print(f'We are at {wait_until} seconds!')

    Once the current second matches wait_until, the loop ends.
    It prints a confirmation message showing the target second.

In Python, the f in print(f"...") is shorthand for an f‑string, also called a formatted string literal. It lets you embed variables or expressions directly inside a string using curly braces {}.

name = "Tsz"
age = 25
print(f"My name is {name} and I am {age} years old.")

Output:
My name is Tsz and I am 25 years old.

A literal in Python (and in programming generally) is a fixed value that you write directly into your code. It represents itself, not a variable or expression. Examples are integer, float, string, and boolean.

from datetime import datetime

wait_until = (datetime.now().second + 2) % 60

while True:
    if datetime.now().second == wait_until:
        print(f'We are at {wait_until} seconds!')
        break

wait_until is set to 2 seconds ahead of the current second (wrapped with % 60).

The while True: loop runs indefinitely.

while → starts a loop that repeats as long as its condition is True.
True → is a Boolean literal that always evaluates to true.
So while True: means “keep looping forever” because the condition never becomes false on its own.

Inside, you check if datetime.now().second == wait_until.

When the condition is true, it prints the message and break exits the loop.


from datetime import datetime

wait_until = (datetime.now().second + 2) % 60

while True:   # outer loop runs forever
    while datetime.now().second == wait_until:   # inner loop runs only when condition is true
        print(f'We are at {wait_until} seconds!')
        break

When the condition is true, it prints the message once and then break exits the inner loop.
But notice: break only stops the inner loop, not the outer while True: loop.
That means the outer loop will continue running forever, checking again and again.


from datetime import datetime wait_until = (datetime.now().second + 2) % 60 while datetime.now().second != wait_until: continue print('Still waiting!') print(f'We are at {wait_until} seconds!')

wait_until is set to 2 seconds ahead of the current second (wrapped with % 60).
The while loop runs until the current second equals wait_until.

Inside the loop you wrote:
continue print('Still waiting!')

continue immediately jumps back to the start of the loop, skipping everything after it.
That means the print('Still waiting!') line is never executed.


from datetime import datetime wait_until = (datetime.now().second + 2) % 60 while True: if datetime.now().second < wait_until: continue break print(f'We are at {wait_until} seconds!')

Target second
wait_until is set to 2 seconds ahead of the current second, wrapped with % 60.

Infinite loop (while True:)
The loop runs continuously until you explicitly break out.

Condition check
If the current second is less than wait_until, the loop executes continue.
continue skips the rest of the loop body and goes back to the top, so nothing else happens.

Break
As soon as the current second is not less than wait_until (i.e., equal or greater), the loop executes break.
This exits the loop completely.

Final print
After breaking, the program prints the message showing the target second.

Suppose the current second is 18.
wait_until = (18 + 2) % 60 = 20.
While the clock shows seconds less than 20 (18, 19), the loop keeps spinning.
As soon as the clock reaches 20 or higher, the loop breaks.

Microsoft Copilot

三分法

「三分法」(Rule of Thirds)又稱「井字構圖法」,是視覺藝術中最經典、最穩妥的基礎構圖原則。它能避免主體呆板,透過將畫面分為九宮格來引導視覺動線,創造平衡與空間感。

核心原理
  1. 劃分九宮格:將畫面的長與寬各畫兩條等距的直線,劃分出 9 個相等的格子和 4 條分割線。
  2. 視覺焦點(交叉點):將照片的主體或重要元素,放置在四條線的四個交叉點上。
常見應用方式
  • 人物攝影:將人物的眼睛或身體軀幹對齊在垂直的三分之一線上,並為視線方向保留適當的空間。
  • 風景攝影:將地平線對齊在上方或下方的水平線上。若想強調天空,地平線放在下方 1/3 處;若想強調地面或水面,地平線則放在上方 1/3 處。
  • 引導視線:利用線條或物體(如道路、河流、橋樑)從三分之一處延伸,引導觀眾進入畫面深處。
Google AI overview

自我實現預言

ditch: to get rid of something/somebody because you no longer want or need it/them

Creeping normality is the psychological and social process by which a major, often harmful change is accepted as the new standard because it happens gradually. Also called gradualism or "death by a thousand cuts," it occurs through small, barely noticeable increments that prevent widespread alarm.

hypervigilant: extremely alert, careful, or cautious; overly aware of one's environment and the potential dangers it presents

procrastination: the act of delaying something that you should do, usually because you do not want to do it

be in a rut: to not have changed what you do or how you do it for a very long time so that it is not interesting any longer

I need to change jobs - after 15 years here I feel I'm (stuck) in a rut.

unsolicited: not asked for and sometimes not wanted

culprit: a person or thing responsible for causing a problem

connotation: an idea suggested by a word in addition to its main meaning

detrimental: harmful

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

perpetuate: to make something such as a bad situation, a belief, etc. continue for a long time

A self-fulfilling prophecy is a psychological and sociological phenomenon where a prediction or belief unconsciously influences a person's behavior, causing the expectation to come true. Essentially, your thoughts and actions shape reality to match your initial assumption.

自我實現的預言(Self-fulfilling prophecy)指的是一個人或群體對某件事情的信念或期待,會影響他們的行為,而這些行為最終導致原本的信念或期待成真。換言之,因為相信某件事會發生,行為就不自覺地推動了它的發生。例子︰

  • 教育情境:老師若認為某位學生很聰明,便會給予更多鼓勵與資源,結果該學生真的表現優異。

  • 社會互動:若一個人相信自己不受歡迎,他可能會避免與人互動,導致他真的被孤立。

  • 經濟市場:投資者若普遍相信某公司會倒閉,便會拋售股票,結果公司因資金不足而真的倒閉。

Explained by Microsoft Copilot

adaptive: connected with changing; able to change when necessary in order to deal with different situations

Nicole Vignola "Rewire"

hk.dictionary.search.yahoo.com

oxfordlearnersdictionaries.com

dictionary.cambridge.org

Google AI overview

Trajectory of Microsoft

Kirtland is a city in Lake County, Ohio, United States. The population was 6,937 at the 2020 census.

opt: to choose to take or not to take a particular course of action

rampant: (of something bad) existing or spreading everywhere in a way that cannot be controlled

juggle: to try to deal with two or more important jobs or activities at the same time so that you can fit all of them into your life

ambivalent: having or showing both positive and negative feelings about somebody/something

trajectory: a path, progression, or line of development resembling a physical trajectory

frenetic: ​involving a lot of energy and activity in a way that is not organized

play out: enact

a veiled threat, warning, etc. is not expressed directly or clearly because you do not want your meaning to be too obvious

corny: mawkishly old-fashioned : tiresomely simple and sentimental

trey: a card numbered three or having three main pips

murky: (of people’s actions or character) not clearly known and suspected of not being honest

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

en.wikipedia.org

2026年6月23日星期二

天水圍公園的睡蓮

 

光圈先決︰f/6.3

ISO 200

快門︰1/500 秒

因相片等效焦距為 216mm,怕不夠光,所以將 ISO 調至 200。雖然 ISO 200 Noise 絕對不明顯,但相機將快門設定為 1/500 秒,根本沒有需要這麼快,下次可嘗試用 ISO 100.

2026年6月22日星期一

心理捷思法

malicious: having or showing a desire to harm somebody or hurt their feelings, caused by a feeling of hate

cascade: a number of things happening, in which each one leads to another

intrusive: too direct, easy to notice, etc. in a way that is annoying or upsetting

dwelling: a house, flat, etc. where a person lives

heuristics: a method of solving problems by finding practical ways of dealing with them, learning from past experience

心理捷思法(mental heuristics)在心理學中指的是一種快速、簡化的思考方式,用來幫助我們在有限時間與資訊下做決策。它能節省心力與時間,但也可能導致偏差或錯誤判斷。

Microsoft Copilot

revert: to come or go back (as to a former condition, period, or subject)

compelled: having to do something, because you are forced to or feel it is necessary

ingrained (in somebody/something) (of a habit, an attitude, etc.) that has existed for a long time and is therefore difficult to change

panoramic: with a view of a wide area of land

demoralizing: making somebody lose confidence or hope

huff: to say something or make a noise in a way that shows you are offended or annoyed

ditch: to get rid of something/somebody because you no longer want or need it/them

groundwork: work that is done as preparation for other work that will be done later

delve: to reach inside a bag, container, etc. to search for something

Nicole Vignola "Rewire"

hk.dictionary.search.yahoo.com

oxfordlearnersdictionaries.com

merriam-webster.com

dictionary.cambridge.org

2026年6月21日星期日

Shaping a child

mannerism: a particular habit or way of speaking or behaving that somebody has but is not aware of

Venezuela: country (a republic) bordering the Caribbean Sea in northern South America; capital Caracas area 352,144 square miles (912,050 square kilometers), population 31,869,000

tribe: a social group in a traditional society consisting of people with the same language, culture, religion, etc., living in a particular area and often having one leader known as a chief

Ye'kuana: a Cariban-speaking tropical rain-forest tribe

weird: very strange or unusual and difficult to explain

sentiment: a feeling or an opinion, especially one based on emotions

What a weird sentiment it is to think that as adults we have the ability to mould and shape a child to become who they will be in their adulthood, and most of the time we do not even realize we are doing it.

Nicole Vignola "Rewire"

孩子不是被動接受者,而是透過與成人的互動建構內在模式(internal working model),這會影響他們未來的人際關係與自我認知。

Microsoft Copilot

2026年6月17日星期三

Rumination

neurodivergent: differing in mental or neurological function from what is considered typical or normal (frequently used with reference to autistic spectrum disorders); not neurotypical

nuanced: ​with very slight differences in meaning or expression

rampant: existing or spreading everywhere in a way that cannot be controlled

Suggestibility is a psychological trait where an individual easily accepts and acts upon ideas, opinions, or information suggested by others, often without critical analysis.

groggy: weak and unsteady on the feet or in action

If someone or something is hardwired to do a particular thing, they automatically do it and cannot change that behavior.

modality: the particular way in which something exists, is experienced or is done

We are not born with low self-esteem and ruminating thoughts.

Microsoft Copilot Explanation:

人際敏感度高者容易把別人的反應內化為自我評價,進而反覆思考。

記錄思維:寫下反覆出現的想法,標註證據與反證,練習以不同角度詮釋。

Nicole Vignola "Rewire"

hk.dictionary.search.yahoo.com

oxfordlearnersdictionaries.com

merriam-webster.com

dictionary.cambridge.org

Brief and Concise

for n in range(1, 101):
    if n % 15 == 0:
        print('Yeah')
    elif n % 3 == 0:
        print('Yo')
    elif n % 5 == 0:
        print('Hey')
    else:
        print(n)

['Yeah' if n % 15 == 0 else 'Yo' if n % 3 == 0 else 'Hey' if n % 5 == 0 else n for n in range(1, 101)]

Python Course

Set

numbers = set([1, 2, 2, 3])

Square brackets [] in above example are just creating a list before converting it into a set.

Role of Square Brackets
  • [1, 2, 2, 3] → this is a list literal in Python.

  • Lists can contain duplicates and preserve order.

  • Then set([...]) takes that list and removes duplicates, giving {1, 2, 3}.

So the square brackets are not part of the set itself — they’re simply defining the list that you pass into set().

Microsoft Copilot

2026年6月16日星期二

健腦

perpetuate: to make something such as a bad situation, a belief, etc. continue for a long time

ingrained: (of a habit, an attitude, etc.) that has existed for a long time and is therefore difficult to change

concerted: done in a planned and determined way

Research shows that older people who remain physically active throughout old age have more proteins in the brain that keep the connections between the neurons strong and healthy.

rumination: the act of thinking deeply about something; deep thoughts about something

exhume: dig up

dismantle: the act of thinking deeply about something; deep thoughts about something

Nicole Vignola "Rewire"

如果年紀大了還常常運動,腦袋裡的「連接」會比較健康。

這些連接就像電線,把腦細胞連在一起。

運動能幫助腦袋製造更多「保護電線的材料」,讓腦細胞之間的訊息傳得更快、更清楚。

「保護電線的材料」不是髓鞘,而是另一類叫做突觸蛋白。它們不是包住神經的,而是幫助腦細胞之間的「接頭」更牢固,讓訊息在細胞之間傳遞得更好。

Microsoft Copilot

Polymath

consummate: ​showing great skill; perfect

polymath: ​a person who knows a lot about many different subjects

gusto: enthusiasm and energy in doing something

knock out: to surprise and impress somebody very much

lurch: to make a sudden, unsteady movement forward or to one side

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2026年6月15日星期一

植物特寫

以三腳架 + 低 ISO + 小一點光圈 + 手動白平衡拍攝植物特寫

建議起始設定

拍攝模式:M 模式,方便固定曝光。

ISO:100,盡量保持最低以減少雜訊。

光圈:f/8 到 f/11,通常最實用;植物特寫要兼顧清晰度和景深,這個範圍較穩。

快門:有三腳架可先由 1/10s 到 1s 試拍,再看曝光是否足夠;如果植物會微微擺動,就要再加快。

對焦:單點 AF 或直接手動對焦,對在你最想清楚的位置,例如花蕊、葉脈、露珠邊緣。

影像防震:上三腳架時可關閉鏡頭 IS,避免防震系統在長曝下反而造成輕微抖動。

白平衡:室內有燈光,先用 AWB 試拍;如果顏色偏黃或偏綠,改用 鎢絲燈 / 白光管。

鏡頭焦段怎樣用

50mm 到 135mm 比較適合植物特寫,畫面會更自然,背景也更容易壓乾淨。

如果你想突出單一葉片、花朵局部,先試 85mm 到 135mm。

18mm 到 35mm 也能拍,但容易把背景和白布一起拍得太多,特寫感會弱一些。

室內白背景要注意

光線最好用柔光,例如燈照向白牆、柔光布、或反射到白紙板,避免葉面反光太硬。植物攝影也常靠穩定三腳架和適當控光來保細節。

拍攝小技巧

用 2 秒自拍或遙控,減少按快門震動。

背景白但不要過曝成一大片死白,保留一點層次會更好看。

若葉面反光明顯,可以稍微改變燈角度,比單純後製更有效。

Perplexity.ai

M mode

ISO:100

135mm*1.6 = 216mm

f/9

0.5s

2026年6月11日星期四

Similar pronunciation

incense

  • IPA[ɪnˈsens]

insane

IPA[ɪnˈseɪn]

Similar words

shawl IPA[ʃɔːl]

披肩

scarf IPA[skɑːf]

圍巾

A scarf (圍巾) is usually long and narrow, worn around the neck for warmth or style, while a shawl (披肩) is larger and wider, draped over the shoulders or upper body for coverage and elegance.

Microsoft Copilot

2026年6月10日星期三

Chapter Quiz

In Python, a defaultdict is a special kind of dictionary from the collections module. Its main advantage is that it automatically provides a default value for any key that doesn’t exist yet, instead of raising a KeyError.

You create it by passing in a default factory function (like int, list, or set).

When you access a missing key, defaultdict calls that factory to create a default value and stores it under that key.

In Python, the get() function is a method of dictionaries. It’s used to safely retrieve the value for a given key without risking a KeyError if the key doesn’t exist.


In Python, a set is a built‑in data type that represents an unordered collection of unique elements. Think of it like a mathematical set: no duplicates, and order doesn’t matter.

Unique elements only → duplicates are automatically removed.

Unordered → items don’t have a fixed position or index.

Mutable → you can add or remove elements.

Fast membership tests → checking if something is in a set is very efficient.

# Using curly braces fruits = {"apple", "banana", "cherry"} # Using the set() constructor numbers = set([1, 2, 2, 3]) print(numbers) # {1, 2, 3} (duplicates removed)


In Python, item[1:3] is an example of list slicing (or sequence slicing).

item is assumed to be a list (or another sequence like a string or tuple).

[1:3] means:

    Start at index 1 (the second element, since Python uses zero‑based indexing).

    Stop before index 3 (so it includes elements at positions 1 and 2, but not 3).

In Python, item[1:] is another example of slicing.

1: means start at index 1 (the second element, since indexing starts at 0).

The colon without an end index means go all the way to the end.

So item[1:] returns everything from index 1 onward.


A nested list comprehension in Python is simply a list comprehension inside another one. It’s often used to flatten lists, generate combinations, or apply transformations across multiple levels of data.

[expression for outer in iterable1 for inner in iterable2]

The outer loop runs first, then the inner loop.

You can nest more than two loops if needed.

To apply a function someFunc to all comments in a list of blog objects using a nested list comprehension

[[someFunc(comment) for comment in blog.comments] for blog in blogs]

Outer loopfor blog in blogs → iterate through each blog object.

Inner loopfor comment in blog.comments → iterate through each comment in that blog.

ExpressionsomeFunc(comment) → apply your function to each comment.

Result → a list of lists, where each inner list contains the processed comments for one blog.

def someFunc(text): return text.upper() class Blog: def __init__(self, comments): self.comments = comments blogs = [ Blog(["Nice post!", "Great read"]), Blog(["Interesting idea", "Could be improved"]), Blog(["Loved it", "Thanks for sharing"]) ] processed = [[someFunc(comment) for comment in blog.comments] for blog in blogs] print(processed)

Result:
[['NICE POST!', 'GREAT READ'], ['INTERESTING IDEA', 'COULD BE IMPROVED'], ['LOVED IT', 'THANKS FOR SHARING']]

  • __init__ → the special method that runs automatically when you create a new object from the class.

  • self → refers to the new object being created.

  • comments → a parameter you pass in when creating the object.

  • self.comments = comments → stores the passed‑in value as an attribute of the object, so you can access it later.

class Blog: def __init__(self, comments): self.comments = comments # Create a Blog object with a list of comments blog1 = Blog(["Nice post!", "Great read"]) print(blog1.comments) # ['Nice post!', 'Great read']

  • When you call Blog(["Nice post!", "Great read"]), Python automatically calls __init__.

  • The comments list is passed in and stored as self.comments.

  • Now the object blog1 has an attribute comments you can use anywhere.


list(range(101))[::5]

range(101) → generates numbers from 0 up to 100 (inclusive).

So list(range(101)) = [0, 1, 2, 3, ..., 100].

[::5] → slice syntax with:

start = empty → defaults to beginning (0).

stop = empty → defaults to end (100).

step = 5 → take every 5th element.

Result → all multiples of 5 between 0 and 100.


list(range(101))[::-5]

Step 1: Build the list

list(range(101)) → [0, 1, 2, 3, ..., 100]

Step 2: Understand the slice

The slice is [::-5], which means:

start → empty → defaults to the end of the list.

stop → empty → defaults to the beginning.

step = -5 → move backwards, taking every 5th element.


Microsoft Copilot

Cons of social media

William James said, "Our life experience will equal what we have paid attention to, whether by choice or by default."

我們的人生經驗,將等同於我們所注意到的事物,無論是出於選擇還是無意之中。

我們所注意到的事物不只是外在事件,也包括我們的想法、情緒、人際互動、習慣與重複的觀察。換句話說,注意力決定了哪些事物被放大、被記住、被內化。

如果你經常刻意練習感恩、關注身邊的美好,你的生活經驗會偏向正面與滿足。如果你習慣性地沉迷於負面新聞或無止境的社群媒體滾動,即使沒有刻意選擇,你的人生感受也會變得焦慮或空虛。

注意力就是資源:有意識地選擇把注意力放在哪裡,就能改變你未來的回憶與感受。
管理環境與習慣:減少無意的干擾,建立有意的練習(如專注、閱讀、深度交流),能讓人生經驗更符合你想要的樣子。

Microsoft Copilot

Nicole Vignola "Rewire"

Part II of Python Test

def decodeString(encodedList):
    decodedStr = ''
    for item in encodedList:
        decodedStr = decodedStr + item[0] * item[1]
    return decodedStr

1. Start with an empty string: decodedStr = ''

2. Loop through each (char, count) tuple in encodedList.

3. Multiply the character by its count:

item[0] * item[1]

Example: 'a' * 3 → "aaa".

4. Concatenate to decodedStr.

5. Return the final reconstructed string.

Microsoft Copilot

Be water

如水柔順,如水堅強,方可如水無孔不入、無堅不摧。

在人際關係中,要懂得柔軟、包容。

在挑戰困境時,要保持堅毅、持續。

在策略上,要懂得靈活變通,找到突破口。

Boss without insight

outlier: a person or thing that is different from or in a position away from others in the group

brim: to be full of something

underscore: ​to emphasize or show that something is important or true

chalk up: ​(informal) to achieve or record a success, points in a game, etc.

to trip over something: to fall over, to stumble on, to slip on something

spill out: ​to tell somebody all about a problem etc. very quickly; to come out quickly

goad: ​to keep annoying somebody/something until they react

scrap something: to cancel or get rid of something that is no longer practical or useful

cotton candy: ​a type of sweet in the form of a mass of sticky threads made from melted sugar and served on a stick, especially at fairgrounds

if a computer crashes or you crash a computer, it stops working suddenly

spawn: to cause something to develop or be produced

rightfully: according to the law or to what is right or correct

flawed: having a flaw; not perfect or correct

horde: a large crowd of people

boomerang: if a plan boomerangs on somebody, it hurts them instead of the person it was intended to hurt

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

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.

  • When you hit a character change, you first append the tuple (prevChar, count) to encodedList.

  • At that moment, the value of count is already finalized for that run (e.g., 3 for 'a').That tuple is stored in the list and won’t be touched again

  • After saving, you reset count = 0 because you’re about to start counting a new run for the next character.

  • This reset only affects future counting, not the already-saved tuple.


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.

Take "aaabbc" as input:

  1. Start: prevChar = 'a', count = 0

  2. Loop:

    • 'a' → same as prevCharcount = 1

    • 'a' → same → count = 2

    • 'a' → same → count = 3

    • 'b' → different!

      • Save ('a', 3)

      • Reset count = 0

      • Update prevChar = 'b'

      • Then increment → count = 1

    • 'b' → same → count = 2

    • 'c' → different!

      • Save ('b', 2)

      • Reset count = 0

      • Update prevChar = 'c'

      • Then increment → count = 1

  3. End of loop → Save ('c', 1)

Result: [('a', 3), ('b', 2), ('c', 1)]


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