搜尋此網誌

2025年10月28日星期二

人不知,而不慍,不亦君子乎?

人家不了解我,我卻不怨恨,不也是君子嗎?

君子務本,本立而道生。

君子專心致力於基礎工作,基礎樹立了,「道」就會產生。

巧言令色,鮮矣仁!

花言巧語,偽善的面貌,這種人,「仁德」是不會多的。

謹而信。

寡言少語,說則誠實可信。

無友不如己者。

不要跟不如自己的人交朋友。

禮之用,和為貴。

禮的作用,以遇事都做得恰當為可貴。

恭近於禮,遠恥辱也。

態度容貌的莊矜合於禮,就不致遭受侮辱。

敏於事而慎於言。

對工作勤勞敏捷,說話卻謹慎。

不患人之不己知,患不知人也。

別人不了解我,我不急;我急的是自己不了解別人。

視其所以,觀其所由,察其所安,人焉廋哉?

考查一個人所結交的朋友;觀察他為達到一定目的所採用的方式方法;了解他的心情,安於什麼,不安於什麼。那麼,這個人怎樣隱藏得住呢?

君子周而不比。

君子是團結,而不是勾結。

知之為知之,不知為不知,是知也。

知道就是知道,不知道就是不知道,這就是聰明智慧。

人而無信,不知其可也。

作為一個人,卻不講信譽,不知那怎麼可以。

見義不為,無勇也。

眼見應該挺身而出的事情,卻袖手旁觀,這是怯懦。

君子無所爭。

君子沒有什麼可爭的事情。

君使臣以禮,臣事君以忠。

君主應該依禮來使用臣子,臣子應該忠心地服事君主。

成事不說,遂事不諫,既往不咎。

已經做了的事不再解釋了,已經完成的事不便再挽救了,已經過去的事不便再追究了。

唯仁者能好人,能惡人。

只有仁人才能夠喜愛某人,厭惡某人。

惡不仁者,其為仁矣,不使不仁者加乎其身。

厭惡不仁德的人,他行仁德只是不使不仁德的東西加在自己身上。

觀過,斯知仁矣。

仔細考察某人所犯的錯誤,就可以知道他是什麼樣式的人了。

放於利而行,多怨。

依據個人利益而行動,會招致很多的怨恨。

不患無位,患所以立。不患莫己知,求為可知也。

不發愁沒有職位,只發愁沒有任職的本領;不怕沒有人知道自己,去追求足以使別人知道自己的本領好了。

夫子之道,忠恕而已矣。

他老人家的學說,只是忠和恕罷了。

見不賢而內自省也。

看見不賢的人,便應該自己反省,有沒有和他類似的毛病。

古者言之不出,恥躬之不逮也。

古時候言語不輕易出口,就是怕自己的行動趕不上。

匿怨而友其人,左丘明恥之,丘亦恥之。

內心藏著怨恨,表面上卻同他要好,這種行為,左丘明認為可恥,我也認為可恥。

顏淵曰︰「願無伐善,無施勞。」

顏淵道︰「願意不誇耀自己的好處,不表白自己的功勞。」

已矣乎,吾未見能見其過而內自訟者也。

算了吧,我沒有看見過能夠看到自己的錯誤便自我責備的呢。

有顏回者好學,不遷怒,不貳過。

有一個叫顏回的人好學,不拿別人出氣;也不再犯同樣的過失。

人之生也直,罔之生也幸而免。

人的生存由於正直,不正直的人也可以生存,那是他僥倖地免於禍害。

仁者先難而後獲,可謂仁矣。

仁德的人付出一定的力量,然後收獲果實,可以說是仁德了。

中庸之為德也,其至矣乎!民鮮久矣。

中庸這種道德,該是最高的了,大家已經是長久地缺乏它了。

己欲立而立人,己欲達而達人。

自己要站得住,同時也使別人站得住;自己要事事行得通,同時也使別人事事行得通。

不義而富且貴,於我如浮雲。

幹不正當的事而得來的富貴,我看來好像浮雲。

多聞,擇其善者而從之;多見而識之;知之次也。

多多地聽,選擇其中好的加以接受;多多地看,全記在心裡。這樣的知,是僅次於「生而知之」的。

直而無禮則絞。

心直口快,卻不知禮,就會尖刻刺人。

人而不仁,疾之已甚,亂也。

對於不仁的人,痛恨太甚,也是一種禍害。

不在其位,不謀其政。

不居於那個職位,便不考慮它的政務。

學如不及,猶恐失之。

做學問好像生怕趕不上,還生怕丟掉了。

毋意,毋必,毋固,毋我。

不懸空揣測,不絕對肯定,不拘泥固執,不唯我獨是。

逝者如斯夫!不舍晝夜。

消逝的時光像河水一樣呀!日夜不停地流去。

知者不惑,仁者不憂,勇者不懼。

聰明人不致疑惑,仁德的人經常樂觀,勇敢的人無所畏懼。

為仁由己,而由人乎哉?

實踐仁德,全憑自己,還憑別人嗎?

內省不疚,夫何憂何懼?

自己問心無愧,那有什麼可以憂愁和恐懼的呢?

浸潤之譖,膚受之愬,不行焉,可謂明也已矣。

點滴而來,日積月累的讒言和肌膚所受、急迫切身的誣告都在你這裡行不通,那你可以說是看得明白的了。

政者,正也。子帥以正,孰敢不正?

政字的意思就是端正。您自己帶頭端正,誰敢不端正呢?

夫達也者,質直而好義,察言而觀色,慮以下人。

怎樣才是達呢?品質正直,遇事講理,善於分析別人的言語,觀察別人的容色,從思想上願意對別人退讓。

先是後得,非崇德與?攻其惡,無攻人之惡,非修慝與?一朝之忿,忘其身,以及其親,非惑與?

首先付出勞動,然後收穫,不是提高品德了嗎?批判自己的壞處,而不去批判別人的壞處,不就消除無形的怨恨了嗎?因為偶然的忿怒,便忘記自己,甚至也忘記了父母,不是糊塗嗎?

如不善而莫之違也,不幾乎一言而喪邦乎?

假若說的話不正確而也沒有人違抗,不近於一句話便喪失國家麼?

人而無恆,不可以作巫醫。

人假若沒有恆心,連巫醫都做不了。

君子和而不同。

君子用自己正確意見來糾正別人的錯誤意見,使一切都做到恰到好處,卻不肯盲從附和。

小人難事而易說也。說之雖不以道,說也;及其使人也,求備焉。

在小人底下工作很難,討他的歡善卻容易。用不正當的方式去討他的歡喜,他會歡喜的;等到他使用人的時候,便會百般挑剔,求全責備。

君子恥其言而過其行。

說得多,做得少,君子以為恥。

不患人之不己知,患其不能也。

不著急別人不知道我,只著急自己沒有能力。

以直報怨,以德報德。

拿公平正直來回報怨恨,拿恩惠來酬答恩惠。

躬自厚而薄責於人,則遠怨矣。

多責備自己,而少責備別人,怨恨自然不會來了。

小不忍,則亂大謀。

小事情不忍耐,便會敗壞大事情。

吾嘗終日不食,終夜不寢,以思,無益,不如學也。

我曾經整天不吃,整夜不睡,去想,沒有益處,不如去學習。

道不同,不相為謀。

主張不同,不互相商議。

辭達而已矣。

言辭,足以達意便罷了。

益者三友,損者三友。友直,友諒,友多聞,益矣。友便辟,友善柔,友便佞,損矣。

有益的朋友三種,有害的朋友三種。同正直的人交友,同信實的人交友,同見聞廣博的人交友,便有益了。同諂媚奉承的人交友,同當面恭維背面譭謗的人交友,同誇誇其談的人交友,便有害了。

不學禮,無以立。

不學禮,便沒有立足社會的依據。

性相近也,習相遠也。

人性情本相近,因為習染不同,便相距懸遠。

敏則有功。

勤敏就會工作效率高、貢獻大。

道聽而塗說,德之棄也。

聽到道路傳言就四處傳播,這是應該革除的作風。

子日︰「有惡︰惡稱人之惡者,惡居下流而訕上者,惡勇而無禮者,惡果敢而窒者。」

孔子憎恨一味傳播別人壞處的人,憎恨在下位而譭謗上級的人,憎恨勇敢卻不懂禮節的人,憎恨勇於貫徹自己的主張,卻頑固不通,執拗到底的人。

小人之過也必文。

小人對於錯誤一定加以掩飾。


楊伯峻《論語譯注》

2025年10月27日星期一

職場生存學

勢者,因利而制權也。

所謂勢,就是根據於己有利的原則而採取臨機應變的作戰行動。

不戰而屈人之兵,善之善者也。

不經過交戰而能使敵人屈服,才算是高明中的最高明。

不若則能避之。

實力不如敵人,就要避免決戰。

善守者,藏於九地之下。

善於防守的人,隱藏自己的兵力就像藏在地下,深不可見。

奇正之變,不可勝窮也。

奇正的錯綜變化,卻是無窮無盡。

故善戰者,求之於勢,不責於人,故能擇人而任勢。

所以,善於指揮作戰的將帥,總是設法尋求有利的態勢,不強求自己的部屬,這樣他們的注意力就能不放在強求人上,而放在充分利用有利的態勢上。

兵之勝,避實而擊虛。

作戰取得勝利,是由於避開敵人實處而攻擊敵人的虛處。

無邀正正之旗,勿擊堂堂之陳,此治變者也。

不要去攔截那種旗幟整齊、陣形嚴密的敵軍,不要去攻擊那種陣容盛大、實力雄厚的敵軍,這是掌握戰術變化的方法。

故用兵之法,無恃其不來,恃吾有以待也。

所以用兵的法則是,不要指望敵人不來,而要依靠自己作好準備,嚴陣以待。

廉潔,可辱也。

自愛廉潔,就可能受不了敵人污辱而落入圈套。

兵非多益,惟無武進,足以併力、料敵、取人而已。

打勝仗不在於兵力越多越好,只要不是輕敵貿進,能集中兵力、判明敵情、取得人心就足夠了。

主不可以怒而興師,將不可以慍而致戰。

國君不可因一時惱怒而發動戰爭,將帥不可因一時氣憤而進行戰爭。


吳仁傑《新譯孫子讀本》

Chapter Quiz

In C++, a member function is simply a function that belongs to a class (or struct). It operates on objects of that class and has access to the class’s data members (including private ones).

The -> is called the arrow operator in C++. It’s used when you have a pointer to an object (or struct) and you want to access one of its members (a variable or a function).

The dot operator (.) in C++ is called the direct member access operator. It’s used to access data members (variables) and member functions (methods) of an object, structure, or union directly.

In C++, an object is an instance of a class.

Think of it this way:

  • A class is like a blueprint (it defines attributes and behaviors).
  • An object is the real thing created from that blueprint.
Using "this" inside constructor:

ComplexNumber(float real, float im){
 this->real_part = real;
 this->im_part = im;
}

An include guard in C++ is a technique used in header files to prevent the same file from being included multiple times during compilation. Without it, if a header is included more than once (directly or indirectly), you’ll get redefinition errors because classes, functions, or variables would be declared multiple times.

#ifndef HEADER_FILE_NAME   // If not defined yet
#define HEADER_FILE_NAME   // Define it now

// Your header file content goes here
class MyClass {
public:
    void hello();
};

#endif // HEADER_FILE_NAME

#ifndef MYCLASS_H
#define MYCLASS_H

class MyClass {
public:
    void greet();
};

#endif

#pragma once is a preprocessor directive in C++ that tells the compiler to include a header file only once per compilation, no matter how many times it’s referenced.

It serves the same purpose as traditional include guards (#ifndef … #define … #endif), but it’s shorter and less error‑prone.

parse something: to divide a sentence into parts and describe the grammar of each word or part

Operator overloading in C++ is a way to give special meaning to operators (like +, -, ==, [], etc.) when they are used with user‑defined types (classes or structs). It’s a form of compile‑time polymorphism that makes objects behave more like built‑in types.

When you define a member function outside the class, you use the scope resolution operator to tell the compiler which class the function belongs to.

A global function is defined outside of any class. If there’s a naming conflict (e.g., a local variable or function with the same name), you can use the global scope resolution operator (::) to explicitly call the global version.

Microsoft Copilot

something basic

"Hello, World!\n"; → A string literal. The \n is an escape sequence that inserts a newline after printing.

#include <iostream>
using namespace std;   // brings all names from std into scope

int main() {
    cout << "Hello" << endl;       // works because of 'using namespace std;'
    std::cout << "World" << std::endl; // also works, fully qualified
    return 0;
}

2025年10月25日星期六

Death of his friend

"Retreat into myself" means to withdraw from the outside world to focus on your inner thoughts, feelings, and well-being, often for reflection and recharging.

recollection: memory

wash over somebody: (of a feeling) to suddenly affect somebody strongly, so that they are not aware of anything else

frantic: done quickly and with a lot of activity, but in a way that is not very well organized

schemer: a person who plans secretly to do something for their own advantage

entrepreneur: DJ[͵ɔntrəprəˋnə:]

accomplished: very good at a particular thing; having a lot of skills

ungainly: moving in a way that is not smooth or attractive

spindly: very long and thin and not strong

contained: calm and controlled, and not showing a lot of emotion or trying to attract attention

goofy: silly; stupid

glimpse: a sight of somebody/something for a very short time, when you do not see the person or thing completely

sob: to cry noisily, taking sudden, sharp breaths

marooned: left in a place from which you cannot escape

cork: a light, soft material that is the thick bark of a type of Mediterranean oak tree

chute: a tube or passage down which people or things can slide

avalanche: a mass of snow, ice and rock that falls down the side of a mountain

To "careen down" means to move forward quickly while swaying or lurching from side to side, often in an uncontrolled or reckless manner.

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

stumble: to walk or move in an unsteady way

tumble: to fall downwards, often hitting the ground several times, but usually without serious injury; to make somebody/something fall in this way

igloo: a small round house or shelter built from blocks of hard snow by the Inuit people of northern North America and Greenland

gung-ho: too enthusiastic about something, without thinking seriously about it, especially about fighting and war

peril: serious danger

harbor something to keep feelings or thoughts, especially negative ones, in your mind for a long time

overland: across the land; by land, not by sea or by air

ranger: a person whose job is to take care of a park, a forest or an area of countryside

profound: very great; felt or experienced very strongly


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

dictionary.cambridge.org

2025年10月22日星期三

Constructor

public:
    Person(const std::string& name, float energy, float happiness, float health)
        : name(name), energy(energy), happiness(happiness), health(health) {}

parameterized constructor with a member initializer list

Person(...) → Constructor for the Person class.

const std::string& name → Passes the string by reference (avoids copying) and const ensures it won’t be modified inside the constructor.

A reference is an alias for another variable. 

float energy, float happiness, float health → Parameters to initialize the object’s state.

: name(name), energy(energy), happiness(happiness), health(health) → This is the member initializer list.

It directly initializes the data members with the values passed in.

More efficient than assigning inside the constructor body, especially for complex types like std::string.

{} → Empty body, since all initialization is already done in the initializer list.

Microsoft Copilot

2025年10月21日星期二

glacier

freak: (informal) a person with a very strong interest in a particular subject

outcrop: a large mass of rock that stands above the surface of the ground

lexicon: (linguistics) all the words and phrases used in a particular language or subject; all the words and phrases used and known by a particular person or group of people

crag: a high, steep, rough mass of rock

crux: the most important or difficult part of a problem or an issue

belay: (specialist) (in climbing) to attach a rope to a rock, etc.; to make a person safe while climbing by attaching a rope to the person and to a rock, etc.

bivouac: a temporary camp or shelter, without a tent, that is made and used especially by people climbing mountains or by soldiers

branch out: to start to do an activity that you have not done before, especially in your work or business

iron out: to get rid of any problems or difficulties that are affecting something

stipend: an amount of money that is paid regularly to somebody, especially a priest, as wages or money to live on

glaciated: covered or having been covered by glaciers or ice sheets.

glacier: a slow-moving mass or river of ice, formed from snow on mountains or near the North Pole or South Pole

careen: to move forward very quickly especially in a way that is dangerous or shows a loss of control

mumble: to speak or say something in a quiet voice in a way that is not clear

weird: DJ[wiəd]


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年10月20日星期一

Edema and CCBs

Lower limb edema is one of the most common side effects of calcium channel blockers (CCBs), especially the dihydropyridine group like Amlodipine. CCBs dilate arterioles but not venules. This imbalance raises capillary hydrostatic pressure, pushing fluid into surrounding tissues. As a result, fluid accumulates in the interstitial space, most noticeably in the ankles and lower legs. Risk factors include older age, female sex and warm weather.

Summarized from Microsoft Copilot (GPT-5)

Inheritance and Polymorphism

modular: (of machines, buildings, etc.) consisting of separate parts or units that can be joined together

Inheritance in C++ is one of the core pillars of Object-Oriented Programming (OOP). It allows you to create new classes (called derived classes) based on existing ones (called base classes). This helps you reuse code, establish relationships between classes, and extend functionality without rewriting everything from scratch.

attribute: a quality or feature of somebody/something

In C++, a data member is simply a variable that belongs to a class. It represents the attributes or properties of the objects created from that class.

A member function in C++ is a function that belongs to a class. It defines the behavior of the objects created from that class, while data members define the state (attributes).

ammo: ammunition (= a supply of bullets, etc. to be fired from guns)

hindsight: the understanding that you have of a situation only after it has happened and that means you would have done things in a different way

In C++, the phrase virtual void is used when declaring a virtual function that returns nothing (void).

Virtual functions are a cornerstone of runtime polymorphism—they allow the program to decide at runtime which version of a function to call, depending on the actual type of the object being pointed to, not just the type of the pointer.

Declared in a base class using the keyword virtual.

Can be overridden in a derived class.

Enable dynamic dispatch (late binding).

If a class has virtual functions, its destructor should also be virtual to ensure proper cleanup when deleting derived objects through base pointers.

A destructor in C++ is a special member function of a class that is automatically called when an object goes out of scope or is explicitly deleted. Its main purpose is to release resources (like memory, file handles, or network connections) that the object may have acquired during its lifetime.

In C++, a protected member is a class member (data or function) that sits in between private and public in terms of accessibility.

Accessible inside the class where it is defined.

Accessible in derived (child) classes.

NOT accessible from outside the class hierarchy (unlike public).

So, protected is mainly useful when you want to hide details from the outside world but still allow subclasses to use or extend them.

Polymorphism in C++ is one of the most powerful features of Object-Oriented Programming (OOP). The word literally means “many forms”, and in programming it allows the same function, operator, or method name to behave differently depending on the context.

Function overloading allows multiple functions with the same name but different parameter lists within the same scope.

Function overriding allows a derived class to provide a specific implementation of a method already defined in its base class.

A parameter list appears inside the parentheses of a function declaration or definition.

void greet(string name, int age);

Parameter Type: Specifies the data type (string, int, etc.)

Parameter Name: Variable name used inside the function (name, age)

In C++, access specifiers determine the visibility and accessibility of class members (variables and functions). They are essential for implementing encapsulation — one of the core principles of object-oriented programming.

Types of access specifiers in C++ include Public, Private and Protected.

A virtual function is a member function in a base class that you expect to override in derived classes. It’s declared using the virtual keyword.

In C++, const override is used when a virtual function in a derived class overrides a const virtual function from a base class. It ensures both const correctness and runtime polymorphism.

In C++, polymorphism and pointers work together to enable runtime polymorphism, allowing you to call derived class methods through base class pointers. This is a powerful feature of object-oriented programming that supports flexible and extensible code design.

instance: a particular example or case of something

The declaration std::vector<Item*> inventory; in C++ defines a dynamic array of pointers to Item objects.

inventory: The name of the vector.

inventory is a container that holds pointers to Item objects, not the objects themselves.

An abstract class in C++ is a class that serves as a blueprint for other classes but cannot be instantiated directly. It’s mainly used to define a common interface for derived classes.

An abstract class is created when at least one pure virtual function is declared.

A pure virtual function is a virtual function with = 0 at the end of its declaration.

You cannot create objects of an abstract class, but you can use pointers or references to it.

Any class that inherits from an abstract class must implement all pure virtual functions, otherwise it also becomes abstract.

A pure virtual class in C++ is essentially the same as an abstract class—it’s a class that contains at least one pure virtual function. Such a class cannot be instantiated directly and is meant to serve as a base class for other classes to implement specific behavior.

Inheritance is the mechanism by which one class (child/derived) acquires properties and behaviors of another class (parent/base). It promotes code reusability and establishes a relationship between classes. 

class A {

public:

    void greet() {

        cout << "Hello from A!" << endl;

    }

};


class B : public A {

    // B inherits greet() from A

};

Polymorphism allows objects of different classes to be treated as objects of a common base class, typically through virtual functions. It enables flexibility and dynamic behavior.

class Base {

public:

    virtual void show() {

        cout << "Base class" << endl;

    }

};


class Derived : public Base {

public:

    void show() override {

        cout << "Derived class" << endl;

    }

};


Base* ptr = new Derived();

ptr->show();  // Outputs: Derived class

Base* ptr: Declares a pointer to the base class Base.

new Derived(): Creates an object of the derived class Derived.

ptr->show(): Calls the show() method using the base class pointer


Microsoft Copilot

The Real World

Now-defunct: no longer existing, operating, or functioning

the bowels of something [plural] (literary) the part that is deepest inside something

trip up: to make a mistake; to deliberately make somebody do this

deliberately: done in a way that was planned, not by chance

mantra: a statement or slogan that is often repeated

prototype: the first design of something from which other forms are copied or developed

meld: to combine with something else; to make something combine with something else

cobble together: to produce something quickly and without great care or effort, so that it can be used but is not perfect

entice: to persuade somebody/something to go somewhere or to do something, usually by offering them something

pitch: talk or arguments used by a person trying to sell something or persuade people to do something

tout: to try to persuade people to buy your goods or services, especially by going to them and asking them directly

flyer: a small sheet of paper that advertises a product or an event and is given to a large number of people


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年10月14日星期二

Operator Overloading

In C++, operator overloading lets you redefine how operators (like +, -, [], ==, etc.) behave when used with user-defined types (classes/structs). It’s a form of compile-time polymorphism, making objects act more like built-in types.

In C++, the return type of a function (or operator overload) specifies what kind of value the function gives back to the caller.

The caller is simply the function that initiates a call to another function. The callee is the one being executed as a result.

In C++ (and C), when we talk about the left-hand side operand (LHS operand), we usually mean the expression that appears to the left of an assignment operator (=).

In C++, a prototype usually refers to a function prototype. It’s essentially a declaration of a function that tells the compiler the function’s name, the return type, the number and types of parameters, but it does not include the function body (implementation).

std::string& item means:
"item is a reference to an existing std::string object."

alias: (computing) a name that can be used instead of the actual name for a file, internet address, etc.

int x = 10;

int& ref = x;   // ref is another name for x

ref = 20;       // changes x to 20


In C++, void is a special keyword that essentially means “no type”.

If a function doesn’t return a value, you declare it with void:

void greet() {

    std::cout << "Hello!" << std::endl;

    // no return statement needed

}

Here, greet() performs an action but doesn’t give back a result.


In C++, the expression return *this; is very common inside class member functions.

class Number {

    int value;

public:

    Number(int v=0) : value(v) {}

    Number& operator=(const Number& other) {

        value = other.value;

        return *this;   // return the current object by reference

    }

};

Microsoft Copilot

Exposure Value

Why we have to change the exposure value rather than changing the aperture size, shutter speed or ISO?

This is a subtle but important distinction in photography.

The Exposure Triangle

- Aperture: Controls light intake and depth of field (background blur vs. sharpness).

- Shutter Speed: Controls exposure time and motion blur (freeze vs. streak).

- ISO: Controls sensor sensitivity and image noise.

Changing any of these affects not just brightness, but also the look of your photo.


What Exposure Value (EV Compensation) Does

Exposure Value (EV compensation) is not a fourth setting—it’s a way of telling the camera:

“Make this scene brighter or darker than your meter thinks it should be, but keep my chosen aperture/shutter/ISO priorities intact.”

- In Aperture Priority mode: you lock aperture, the camera adjusts shutter speed. EV shifts brightness without touching your chosen aperture.

- In Shutter Priority mode: you lock shutter speed, the camera adjusts aperture. EV shifts brightness without touching your chosen shutter.

- In Auto ISO setups: EV can nudge brightness without you manually juggling ISO.


 Why Use EV Instead of Aperture/Shutter/ISO?

- Preserve creative intent

- Speed and convenience

- EV is a quick dial adjustment, especially useful in fast-changing light (e.g., clouds, stage lighting).

- Fine-tuning exposure

- Sometimes the camera’s meter is “fooled” (e.g., snow scenes look too dark, backlit subjects look too bright). EV lets you correct this instantly.

- Avoiding side effects

- Changing ISO adds noise.

- Changing aperture alters depth of field.

- Changing shutter speed alters motion blur.

EV lets you adjust brightness without those trade-offs.


When to Change Aperture, Shutter, or ISO Directly

- If you want to change the artistic look (blur, sharpness, motion, grain).

- If you’re in Manual Mode—EV doesn’t apply, you directly balance the triangle yourself.


 In short:

You use EV compensation when you want to adjust exposure brightness without sacrificing your chosen creative settings. You change aperture, shutter, or ISO when you want to change the visual style of the photo itself.


Microsoft Copilot

Photos with description

bedrock: a strong base for something, especially the facts or the principles on which it is based

dub: to give somebody/something a particular name, often in a humorous or critical way

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

artifact: an object that is made by a person, especially something of historical or cultural interest

aspiration: a strong desire to have or do something

vogue: a fashion for something

astronaut: DJ[ˋæstrənɔ:t]

cottage: a small house, especially in the country

wrangler: a cowboy or a cowgirl, especially one who takes care of horses

preside: to lead or be in charge of a meeting, ceremony, etc.

dexterity: skill in using your hands or your mind

reminisce: DJ[͵remiˋnis]

cub: a branch of the Scout Association for boys and girls between the ages of 8 and 10 or 11

mecca: a place that many people like to visit, especially for a particular reason

rugged: (of the landscape) not level or smooth and having rocks rather than plants or trees

ford: to walk or drive across a river or stream

sophomore: a student in the second year of a course of study at a college or university


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年10月12日星期日

Source Files

In C++ development, especially when using Visual Studio Code (VS Code), the tasks.json file plays a crucial role in automating the build process.

If you're writing pure C++ code, using .hpp can make your intent clearer.

If you're working in a mixed C/C++ environment, .h might be more compatible.

In Visual Studio Code (VS Code), the .hpp file extension is used for C++ header files

#pragma once is a preprocessor directive in C++ that ensures a header file is included only once during compilation.

In C++, the #ifndef and #define directives are part of include guards, which prevent a header file from being included multiple times during compilation. This is crucial for avoiding redefinition errors.

In C++, a macro name is an identifier used with preprocessor directives like #define, #ifdef, and #ifndef.

#endif is a preprocessor directive in C++ that marks the end of a conditional block started by #if, #ifdef, or #ifndef. It's most commonly used in include guards to prevent multiple inclusions of a header file

In C++, public function prototypes refer to the declarations of member functions that are accessible from outside the class. These are typically placed in the public section of a class definition, often inside a header file (.hpp or .h)

In C++, private data member declarations are used to define variables inside a class that are not accessible directly from outside the class. This is a key part of encapsulation, one of the core principles of object-oriented programming.

The scope resolution operator in C++ is written as :: and is used to access identifiers (like variables, functions, or classes) that are defined in a specific scope—such as a namespace or class.

Microsoft Copilot

2025年10月8日星期三

header and implementation files

Header files contain declarations — they tell the compiler what functions, classes, and variables exist, but not how they work.

Implementation files contain the definitions — the actual code that performs the work declared in the header.

A compiler toolchain in C++ refers to the complete set of tools used to transform source code into executable programs.

Assembly language is a low-level programming language that provides direct control over a computer's hardware. It's one step above machine code and uses mnemonics (human-readable instructions) to represent processor operations.

In C++, an object file is an intermediate binary file generated during the compilation process. It contains machine code and metadata, but it's not executable on its own — it must be linked with other object files and libraries to create a final executable.

hassle: a situation that is annoying because it involves doing something difficult or complicated that needs a lot of effort

In C++, I/O streams (Input/Output streams) are a powerful abstraction for reading and writing data. They are part of the library and allow you to interact with the console, files, and other data sources in a consistent way

In C++, a linker is a crucial tool that combines multiple object files into a single executable or library. It resolves references between functions and variables across different files, ensuring that your program runs as a unified whole.

An IDE (Integrated Development Environment) is a software application that provides comprehensive tools for software development in one place. For C++ programming, IDEs streamline coding, compiling, debugging, and project management.

Microsoft Copilot

Lakeside School Schedule

surefire: certain to be successful or to happen as you expect

thespian: an actor

fixated (on somebody/something) always thinking and talking about somebody/something in a way that is not reasonable

slumber: to sleep

crampon: a metal plate with pointed pieces of metal on the bottom, worn on somebody’s shoes when they are walking or climbing on ice and snow

undaunted: still enthusiastic and determined, despite difficulties, danger, etc.

unabashed: not ashamed, embarrassed or affected by people’s negative opinions, when other people would be

glint: a sudden flash of light or color shining from a bright surface

Herculean: needing a lot of strength, determination or effort

permutation: any of the different ways in which a set of things can be ordered

sledding: the activity of riding on a sled

sled: a vehicle for travelling over snow and ice, with long narrow pieces of wood or metal instead of wheels. Larger sleds are pulled by horses or dogs and smaller ones are used for going down hills as a sport or for pleasure.

hole up: (informal) to hide in a place

guru: (informal) a person who is an expert on a particular subject or who is very good at doing something

A teletype is an electromechanical device that sends and receives typed messages over communications channels like telephone lines, telegraphs, or radio waves. Historically, teletypes were used for sending telegrams or as computer input/output devices.

assassination: DJ[ə͵sæsiˋneiʃən]

shellshocked: shocked, confused or anxious because of a difficult situation, and unable to think or act normally

cocoon: to protect somebody/something by surrounding them or it completely with something

self-imposed: a self-imposed task, duty, etc. is one that you force yourself to do rather than one that somebody else forces you to do

cobble together: to produce something quickly and without great care or effort, so that it can be used but is not perfect


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年9月30日星期二

Using classes

Inventory myInventory(5);

Inventory → the name of a class (or struct) you’ve defined earlier.

myInventory → the name of the object (an instance of the class).

(5) → this calls a constructor of the class Inventory that takes an int parameter.

So this line means:

“Create an object called myInventory of type Inventory, and initialize it using the constructor that accepts the integer 5.”

myInventory.addItem("Arrow");

myInventory is an object of some class, say Inventory.
addItem() is a member function of that class.
"Arrow" is a string literal being passed as an argument.
So in C++, you’d typically define a class Inventory that stores items (maybe in a std::vector<std::string>), and then implement addItem() to push new items into that container.

The dot (.) operator is one of the most fundamental symbols in many programming languages, including C, C++, Java, and C#. Its main purpose is to access members (variables, methods, or properties) of an object, structure, or namespace.

When you create an object of a class, you use the dot operator to call its methods or access its fields.

In programming, when we say “call a method”, we mean asking the computer to run the block of code defined inside that method.

A method (or function) is a reusable block of code that performs a specific task.

To call a method is to execute it: the program jumps to that method, runs its instructions, and then comes back to continue where it left off.

Microsoft Copilot

The power of quiet

rant: to speak or complain about something in a loud and/or angry way

what the heck: (informal) used to say that you are going to do something that you know you should not do

struck: strike past tense

unjust: not deserved or fair

ire: anger

stern: serious and often showing that you do not approve of somebody/something; expecting somebody to obey you

affiliate: a company, an organization, etc. that is connected with or controlled by another, larger one

accuse: to say that somebody has done something wrong or is guilty of something

larceny: the crime of stealing something from somebody; an occasion when this takes place

renege: to break a promise, an agreement, etc.

implicit (in something) suggested without being directly expressed

stipulate: to state clearly and definitely that something must be done, or how it must be done

tiff: a slight argument between close friends or two people who love each other

rack up: to collect something, such as profits or losses in a business, or points in a competition

dive in: (informal) to start doing something without hesitating or with enthusiasm

paycheck: the cheque that you are given when your salary or wages are paid to you

pitch: to aim or direct a product or service at a particular group of people

tedious: lasting or taking too long and not interesting

balk (at something) to be unwilling to do something or become involved in something because it is difficult, dangerous, etc.

slot: to put something into a space that is available or designed for it; to fit into such a space

underway: having started

overwhelm: DJ[͵əuvəˋhwelm]

if something happens several times in a row, it happens in exactly the same way each time, and nothing different happens in the time between

bastion: (formal) a group of people or a system that protects a way of life or a belief when it seems that it may disappear

insular: (disapproving) only interested in your own country, ideas, etc. and not in those from outside

coed: a female student at a co-educational school or college

bemoan: bemoan something to complain or say that you are not happy about something

insinuate: to slowly move yourself or a part of your body into a particular position or place

draw up: to make or write something that needs careful thought or planning

geeky: very knowledgeable about and interested in a particular subject, especially one that is technical or of specialist or niche interest; unfashionable and lacking social skills or boringly studious

squeaky: making a short, high sound

antihero: the main character in a story, but one who does not have the qualities of a typical hero, and is either more like an ordinary person or morally bad

wannabe: a person who behaves, dresses, etc. like somebody famous because they want to be like them

Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年9月28日星期日

Constructors and Destructors

A constructor is a special member function of a class that is automatically called when an object is created. Its purpose is to initialize the object.

A destructor is a special member function that is automatically called when an object goes out of scope or is deleted. Its purpose is to clean up resources.

In programming, overloaded refers to a feature where multiple functions or operators share the same name but differ in their parameters or behavior.

Function Overloading
This allows you to define multiple versions of a function with the same name but different:
- Number of parameters
- Types of parameters
- Order of parameters

Operator Overloading
This lets you redefine how operators (like +, -, ==) behave for user-defined types (classes).

An implicit constructor in C++ refers to a constructor that the compiler automatically provides or uses without you explicitly defining it.

explicit: (of a statement or piece of writing) clear and easy to understand, so that you have no doubt what is meant

Heap memory is a region of memory used for dynamic allocation—you manually request and release memory during runtime using pointers.

void greet(string name) {
    cout << "Hello, " << name << "!" << endl;
}

Here, name is a parameter of the greet function.

void greet(string name) {  // 'name' is a parameter
    cout << "Hello, " << name << "!" << endl;
}

int main() {
    greet("Alice");        // "Alice" is the argument
}

Object instantiation in C++ refers to the process of creating an instance of a class—in other words, making an actual object that you can use in your program.

A default constructor in C++ is a constructor that takes no parameters (or all parameters have default values). It's automatically called when an object is created without any arguments.

In C++, new and delete are operators used for dynamic memory management—they allow you to allocate and deallocate memory on the heap manually.

In C++, this is a keyword that refers to the pointer to the current object—the instance of the class where the member function is being executed.

class Person {
private:
    string name;

public:
    void setName(string name) {
        this->name = name;  // Resolves ambiguity between parameter and member
    }

    void greet() {
        cout << "Hello, " << this->name << "!" << endl;
    }
};

Parameter is a variable passed into a function or constructor to provide input.
Member is a variable declared inside a class to represent the state of an object.

In C++, a member initializer list is a special syntax used in constructors to directly initialize class members before the constructor body runs. It's more efficient and often necessary for certain types of members.

In C++, an overloaded constructor means defining multiple constructors within the same class, each with different parameter lists. This allows objects to be created in various ways depending on the arguments provided.

// overloaded constructor 
Inventory(int capacity_i) : capacity(capacity_i) {
    items = new std::vector<std::string>();
}

Inventory(int capacity_i) is a constructor for the Inventory class.

: capacity(capacity_i) is the member initializer list, which directly initializes the member capacity with the value of capacity_i.

Inside the constructor body, items is dynamically allocated as a new std::vector on the heap.

In C++, the ~ symbol is used to define a destructor, which is a special member function that is automatically called when an object is destroyed.

Microsoft Copilot

2025年9月24日星期三

scandal

rift: ​a serious break in the relationship between people or organizations

in retrospect: thinking about a past event or situation, often with a different opinion of it from the one you had at the time

ebb: a point or condition of decline

absorbed: very interested in something/somebody so that you are not paying attention to anything else

spool: a round object around which you wind such things as thread, wire or film; a reel together with the film, wire, thread, etc. that is wound around it

canister: a flat, round metal container used for storing film

fire sale: a sale at low prices of things that a company or person owns, usually in order to pay debts

scour: ​to search a place or thing carefully and completely in order to find

Dumpster: a large open container for putting old bricks, rubbish, etc. in. The Dumpster is then loaded on a lorry and taken away.

grime: dirt that forms a layer on the surface of something

squabble: to argue noisily about something that is not very important

smear: to make something dirty or greasy

yank: to pull something/somebody hard, quickly and suddenly

stash: to store something in a safe or secret place

glee: a feeling of happiness, usually because something good has happened to you, or something bad has happened to somebody else

abscond with: to leave secretly and take with you something, especially money, that does not belong to you

go ballistic: ​(informal) to become very angry

a litany of: (formal) a long boring account of a series of events, reasons, etc.

grievance: something that you think is unfair and that you complain or protest about; a feeling that you have been badly treated

falsehood: the state of not being true; the act of telling a lie

head off: prevent, block

bequeath: to say in a will that you want somebody to have your property, money, etc. after you die

Treasury: (in the UK, the US and some other countries) the government department that controls public money


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

2025年9月23日星期二

腹式呼吸

Diaphragmatic breathing, often seen during NREM sleep, refers to the use of slow, deep breaths that engage the diaphragm. It's different from the shallow, chest-focused breathing often seen during REM sleep. Diaphragmatic breathing involves expanding the abdomen to fully utilize the lungs' capacity and can help to regulate the autonomic nervous system, potentially reducing stress and improving respiratory and cardiovascular function.

Google AI overview and edited

iOS 26

Is it a good idea to upgrade my iPhone SE2 to iOS 26? Is it a good idea to postpone the upgrade after Apple finding more bugs? Will the battery be used up faster when I upgrade my iPhone SE2 to iOS26?

Upgrading can be fine, but you should be prepared: expect a short-term battery and heat hit right after installing, some early users report bugs on day‑one builds, and many experts recommend waiting for the 26.0.1/26.1 patch if your iPhone is critical for work or travel.

Immediately after a major iOS update your iPhone will do background work (indexing, model downloads, app updates) that commonly causes higher battery drain and warmer operation for 24–72 hours; Apple says this is normal and usually temporary.

When Apple says your iPhone is “indexing,” it’s essentially re‑organizing and cataloging your data in the background so the system can find things quickly later. Think of it like a librarian going through every book in a library, tagging and shelving them so you can instantly find what you need

Over the longer term, new features that demand more resources can produce a measurable, ongoing battery impact for some users, depending on how heavily you use those features.

Microsoft Copilot

Act like a business man

blazer: a jacket, not worn with matching trousers, often showing the colors or badge of a club, school, team, etc.

nonchalance: a calm and relaxed way of behaving; behavior that gives the impression you are not feeling worried

pore over: to look at or read something very carefully

upscale: in a way that involves buying or selling goods and services that are expensive and of high quality

go belly up: (informal) to fail completely

scrawl: to write something in a careless untidy way, making it difficult to read

broach: to begin talking about a subject that is difficult to discuss, especially because it is embarrassing or because people disagree about it

hotshot: a person who is extremely successful in their career or at a particular sport

proponent: a person who supports an idea or course of action

addendum: ​a section of extra information that is added to something, especially to a book

obligation: something which you must do because you have promised, because of a law, etc.

stipulate: specify

giddily: dizzily

rehash: to arrange ideas, pieces of writing or pieces of film into a new form but without any great change or improvement

miffed: slightly angry or upset

scramble: to get or gather something with difficulty or in irregular ways


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

2025年9月22日星期一

Similarity of atomic world and solar system

Atom (Bohr model):
- Dense central nucleus (protons + neutrons).
- Electrons orbit around it in shells.

Solar System:
- Massive central Sun.
- Planets orbit around it in paths.

Atom: Held together by electromagnetic force (negative electrons attracted to positive nucleus).
Solar System: Held together by gravity (planets attracted to the Sun’s mass).
Both forces follow an inverse-square law (strength decreases with the square of distance).

However, electrons don’t move in neat circular orbits like planets. Instead, quantum mechanics tells us they exist in probability clouds, not fixed paths. If atoms really behaved like tiny solar systems, they would collapse quickly due to radiation loss. Quantum rules prevent that.

In classical electrodynamics, an electron orbiting a nucleus is an accelerating charge. Accelerating charges must emit electromagnetic radiation, losing energy continuously. That would make the electron spiral into the nucleus in about 10⁻¹¹ seconds --- atoms would collapse, and matter as we know it couldn’t exist.

Acceleration isn’t just about speeding up or slowing down. In physics, acceleration means any change in velocity, and velocity includes both speed and direction. So, even if an electron were moving at a constant speed around the nucleus, it would still be constantly changing direction. That change in direction means it has a centripetal acceleration toward the nucleus.

Quantum mechanics says electrons can only occupy discrete energy states. They cannot radiate energy continuously; they can only “jump” between levels, emitting or absorbing photons of specific energies. In the lowest state (the ground state), there’s no lower level to fall into, so no radiation is emitted.

Microsoft Copilot

悶熱

為什麼颱風吹襲前通常會比較悶熱?

颱風中心附近有強烈的上升氣流,空氣被抽升到高空後,會在颱風外圍下沉。這些下沉氣流在壓縮過程中會升溫,使受影響地區天氣晴朗炎熱。下沉氣流會驅散雲層,使天空變得晴朗,陽光更容易直射地面,進一步推高氣溫。在颱風還沒靠近時,當地風勢通常不大,空氣流動減弱,熱氣和濕氣容易積聚,讓人感覺悶焗。在北半球,颱風環流是逆時針的。如果颱風在華南以東,香港常會吹偏北風,把內陸的熱空氣帶過來,加劇悶熱感。

Microsoft Copilot

2025年9月21日星期日

Function members

Keeping data as private as possible in C++ is a cornerstone of good object-oriented design.

Encapsulation means bundling data with the methods that operate on it.

By making data private, you ensure that it can only be accessed or modified through controlled interfaces (public methods).

This protects the internal state of an object from unintended interference.

Private members prevent external code from directly changing critical values.

In C++, setters and getters are public member functions used to access and modify private data members of a class. They’re essential for encapsulation, which protects internal data and provides controlled access

Getter (Accessor): Retrieves the value of a private member.
Setter (Mutator): Updates the value of a private member.

The concept of a vector spans across mathematics, physics, and computer science --- but each field gives it a slightly different flavor.

In Mathematics, a vector is a quantity with both magnitude and direction.

In Physics, vectors describe physical quantities that require direction and magnitude. Velocity, acceleration, force, momentum are common examples.

In computing, a vector often refers to a dynamic array --- a resizable list of elements.
Example in C++: std::vector<int> nums = {1, 2, 3};

The arrow operator (->) in C++ is used to access members of a structure or class through a pointer. It’s a shorthand for dereferencing a pointer and then accessing a member.

std::string&: passes the string by reference, avoiding a copy.

Together, const std::string& is the best practice for passing large objects efficiently and safely.

In C++, the std::find() function is part of the Standard Template Library (STL) and is used to search for a specific value within a range of elements. It’s defined in the <algorithm> header and works with containers like arrays, vectors, lists, and more.

std::find(start_iterator, end_iterator, value);

start_iterator: Beginning of the range.
end_iterator: One past the last element of the range.
value: The value to search for.

The != operator in C++ means "not equal to". It's a relational operator used to compare two values. If the values are not equal, it returns true; otherwise, it returns false.

items->end() returns an iterator that points one past the last element of the container. It does not point to a valid element. It’s a sentinel used to mark the end of a range.

In C++, the const qualifier is a powerful tool that tells the compiler: “This value should not be changed.” It’s all about protecting data and clarifying intent.

Constant correctness in C++ is the discipline of using the const keyword wherever possible to ensure that data which shouldn't be modified—isn't. It’s not just a style preference; it’s a powerful way to catch bugs early, clarify intent, and make your code safer and more maintainable.

It means, “Everything that isn’t supposed to change should be marked as const.”

In C++, && can be used as logical AND operator:

int a = 5, b = 10;
if (a > 0 && b > a) {
    std::cout << "Both conditions are true!" << std::endl;
}

tweak: to make slight changes to a machine, system, etc. to improve it

for (initialization; condition; update) {
    // code to execute
}

Microsoft Copilot

payroll system

demise: the end or failure of an institution, an idea, a company, etc.

poke around: to look for something, especially something that is hidden among other things that you have to move

miffed: slightly angry or upset

cursive: (of handwriting) with the letters joined together

slick: done or made in a way that is clever and efficient but often does not seem to be sincere or lacks important ideas

subterfuge: a secret, usually dishonest, way of behaving

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

stipulate: to state clearly and definitely that something must be done, or how it must be done

pettiness: the fact of caring too much about small and unimportant matters, especially when this is unkind to other people

pecking order: ​(informal, often humorous) the order of importance in relation to one another among the members of a group

"Low stakes" refers to a situation with minimal risk, small potential consequences, or minor importance.

pull rank: to make use of your place or status in society or at work to make somebody do what you want

outrage: to make somebody very shocked and angry

slight: to treat somebody rudely or without respect

glean: to obtain information, knowledge, etc., sometimes with difficulty and often from various different places

reconcile: to check (a financial account) against another for accuracy

flag: to become tired, weaker or less enthusiastic

rabbit hole: a situation, often a confusing or strange one, from which it is difficult to escape

sole: only; single

devise: think up

insulting: causing or intending to cause somebody to feel offended

shrug: to raise your shoulders and then drop them to show that you do not know or care about something

An Orange Julius is a sweet, creamy, and frothy beverage made from frozen orange juice concentrate, milk, sugar, and vanilla extract, blended with ice to create a refreshing drink with a taste similar to a Creamsicle.

trespass: to enter land or a building that you do not have permission or the right to enter

bang out: to produce something quickly and often without taking much care

dub: to give somebody/something a particular name, often in a humorous or critical way

feign: to pretend that you have a particular feeling or that you are ill, tired, etc.

micromanage: to control every detail of an activity or project, especially your employees’ work

thrilled: ​very excited and pleased

"Wrap up" is a phrasal verb that means to finish or complete something, such as a meeting or project.

An acoustic coupler is a now-obsolete telecommunications device that allowed computers to transmit data over telephone lines by converting electrical signals into audible tones and vice versa.

enrage: ​to make somebody very angry

stoke: to make people feel something more strongly

chastise: (formal) to criticize somebody for doing something wrong


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

Some explanations are provided by Google AI Overview.

2025年9月20日星期六

Programming suitable for games

inventory: a written list of all the objects, furniture, etc. in a particular building; all the goods in a store

Object-oriented programming (OOP) is a powerful paradigm in C++ that helps you model real-world systems more intuitively. Instead of just writing functions and manipulating data, you create objects that bundle both data and behavior.

explicitly: clearly or directly, so that the meaning is easy to understand

Kids teaching kids

sabbatical: a period of time when somebody, especially a teacher at a university, is allowed to stop their normal work in order to study or travel

tumultuous: DJ[tju:ˋmʌltʃuəs] involving many difficulties and a lot of change and often violence

double down: to make a stronger commitment to a strategy or course of action, especially one that may be dangerous

radical: new, different and likely to have a great effect

modest: not very large, expensive, important, etc.

fall: autumn

decorum: polite behavior that is appropriate in a social situation

sorely: seriously; very much

ad hoc: arranged or happening when necessary and not planned in advance

conscript: to enroll into service by compulsion

assembler: (computing) the language in which a program is written before it is changed into machine code

liberally: generously


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

2025年9月19日星期五

焦距、視角與景深的關係

焦距的定義:焦距是鏡頭光學中心到感光元件的距離。焦距越長,鏡頭就像「望遠鏡」一樣,把遠方的景物放大。

Photo source: https://snapshot.canon-asia.com

視角變窄:因為放大了遠方的景物,能投射到感光元件上的範圍就變小,所以畫面看起來視角收窄。
- 廣角鏡頭(短焦距)→ 視角大,能容納更多場景。
- 長焦鏡頭(長焦距)→ 視角小,只能捕捉畫面中較窄的一部分。

長焦距 → 景深變淺:在相同光圈和拍攝距離下,焦距越長,景深就越淺。
- 主體清晰,但前後景物很快就脫離清晰範圍,變得模糊。


Photo source: www.bhphotovideo.com

Pottery and Porcelain

陶器:主要以黏土或陶土為原料,含雜質較多,不需額外添加高嶺土或長石。

瓷器:以高嶺土為主要原料,輔以長石、石英等白色礦物,質地更純淨。

在陶瓷鑑別中,我們所說的截面通常是將器物破片或切片後磨平,觀察胎體內部結構與氣孔分布。透過截面可看出陶器內部多孔粗糙,或瓷器內部致密無孔等關鍵差異。

胎體,簡單來說,就是陶瓷器去除釉層後,露出來的器物「本體」。它既是成型後、上釉前的坯土,也包含燒成後因燒結而形成、支撐釉層的那部分硬質陶瓷材料。

陶器:窯溫多在 900 至 1,200 ℃ 之間,溫度較低,燒結程度有限。
瓷器:必須在大於1,200 ℃ 的高溫中燒成,釉面會熔結,胎體致密且堅硬。

硬度與質感:
- 陶器胎體較鬆散、略顯粗糙,手感溫潤卻不光滑。
- 瓷器胎體細膩、堅硬,表面光潔或富有光澤。

敲擊聲:
- 陶器敲擊時發出「咚咚」渾厚鈍聲。
- 瓷器敲擊時發出「丁零」清脆悅耳。

陶器:整體不透明,即使胎體非常薄也無法透光。
瓷器:具有半透明特性,薄處可見光線穿透。

燈光透射測試︰
陶器杯側放小手電,不透光
瓷器薄壁處可見微光透出

陶器:胎體含多孔隙,能蓄熱保溫,茶杯或砂鍋等日常器皿可保持食物和飲品溫度更久。
瓷器:胎體致密、導熱快,不易長期保溫。

Microsoft Copilot

ambitious

nursery: a place where young plants and trees are grown for sale or for planting somewhere else

monstrosity: something that is very large and very ugly, especially a building

plow through: to make slow progress through something difficult or boring, especially a book, a report, etc.

proxy: a person who has been given the authority to represent somebody else

A stock option gives an investor the right — but not the obligation — to buy or sell a stock at an agreed-upon price and date.

blurt out: to say something suddenly and without thinking carefully enough

boom: to have a period of rapid growth; to become bigger, more successful, etc.

A tape drive is a data storage device that reads and writes data on a magnetic tape.

lawn: DJ[lɔ:n]

akin: similar to something

deliberately: done in a way that was planned, not by chance

betray: to tell somebody or make them aware of a piece of information, a feeling, etc., usually without meaning to

entity: something that exists separately from other things and has its own identity

proto-: original; from which others develop

kernel: ​the inner part of a nut or seed


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

2025年9月18日星期四

Classes and Objects in C++

In C++, classes and objects are the foundation of object-oriented programming. They help you model real-world entities by bundling data and behavior together.

A class is a blueprint or template for creating objects. It defines data members member functions.

An object is an instance of a class. It has actual values and can perform actions defined by the class.

Operator overloading in C++ lets you redefine how operators behave for user-defined types like classes and structs. It’s a powerful feature that makes your custom types feel more natural to use—like built-in types.

- To make code involving custom types more intuitive.

- To enable operations like +, -, ==, etc., on objects of your class.

Operator overloading is the process of giving special meaning to an existing operator (like +, -, ==, etc.) when used with objects of a class. For example, if you have a Complex class, you can define how + works between two Complex objects.

Inheritance and polymorphism are the keys to writing flexible, reusable, and scalable code.

Inheritance allows a class (called a derived class) to inherit properties and behaviors from another class (called a base class). It promotes code reuse and establishes a hierarchical relationship.

Polymorphism: One Interface, Many Forms

Polymorphism means “many forms.” It allows you to use a single interface to represent different underlying forms (data types or behaviors).

Inheritance gives you structure. Polymorphism gives you flexibility.

Encapsulation is one of the pillars of object-oriented programming in C++, and it’s all about bundling data and the methods that operate on that data into a single unit—usually a class. Think of it like putting valuables in a safe: you control who gets access and how.

Constructors and destructors are the backbone of object lifecycle management in C++.

A constructor is a special member function that’s automatically called when an object is created. Its job? Initialize the object.

A destructor is called automatically when an object goes out of scope or is deleted. It’s used to release resources like memory or file handles.

A memory leak in C++ happens when your program allocates memory on the heap but fails to release it after it's no longer needed. This leftover memory remains occupied, even though your program can't use it anymore—leading to wasted resources and potentially serious performance issues over time.

In C++, a parameter is a variable used in a function definition to accept values passed during a function call. These values are called arguments. Parameters allow functions to operate on different data without rewriting the function itself.

// C++ example

void greet(std::string name) {  // 'name' is a parameter

    std::cout << "Hello, " << name << "!\n";

}

greet("Alice");  // "Alice" is the argument

In C++, stack and heap are two distinct areas of memory used for different purposes, and understanding them is key to writing efficient and safe code

int* ptr = new int(10);  // Allocated on the heap
delete ptr;              // Must be manually freed

Microsoft Copilot

Activities other than computing

adventure: an unusual, exciting or dangerous experience, journey or series of events

cram: to push or force somebody/something into a small space; to move into a small space with the result that it is full

The Volkswagen Beetle is a small family car produced by the German company Volkswagen from 1938 to 2003.

lash: to fasten something tightly to something else with ropes

best: to defeat or be more successful than somebody

scarf down: to eat (something) quickly

giggle: to laugh in a silly way because you are embarrassed or nervous or you think that something is funny

peek: to look at something quickly and secretly because you should not be looking at it

hitch:  to get a free ride in a person’s car; to travel around in this way, by standing at the side of the road and trying to get passing cars to stop

barge: a large boat with a flat bottom, used for carrying goods and people on canals and rivers

agape: if a person’s mouth is agape, it is wide open, especially because they are surprised or shocked

strikingly: in a way that is interesting and unusual enough to attract attention

hospitalize: to send somebody to a hospital for treatment

sanatorium: a place like a hospital where patients who have a long-term illness or who are getting better after an illness are treated

A stock split is when a corporation splits its outstanding stocks to increase the number of shares on the market, which boosts liquidity and decreases its stock price.

liquidity: ​the state of owning things of value that can easily be exchanged for cash

In the financial markets, such as stocks, when prices have generally been increasing or are expected to increase, a bull market exists. Bull markets commonly refer to the stock market but can be applied to anything that is traded, such as bonds, real estate, currencies, and commodities.

commodity: a product or a raw material that can be bought and sold

The P/E ratio (price-to-earnings ratio) is a stock valuation tool that compares a company's stock price to its earnings per share (EPS), indicating the amount investors are willing to pay for each dollar of earnings.

A bond yield is the annual return an investor expects to receive from a bond, expressed as a percentage of its current market price. It is influenced by the bond's price, coupon rate, time to maturity, and broader market conditions like interest rate changes.

streak: a part of a person’s character, especially an unpleasant part

Unitarian: a member of a Christian Church that does not believe in the Trinity and has no formal teachings

minister: a trained religious leader in some Christian churches

lavish on: to give a lot of something, often too much, to somebody/something

cock: to raise a part of your body so that it is pointing upwards or at an angle

A Southern drawl is a feature of a Southern American accent characterized by a slower pace of speech, where pure vowel sounds are lengthened, broken into diphthongs, or prolonged, creating a sliding effect.

diphthong: a combination of two vowel sounds or vowel letters, for example the sounds /aɪ/ in pipe /paɪp/ or the letters ou in doubt

disfigure: to damage the appearance of a person, thing or place

ostracize: to refuse to let somebody be a member of a social group; to refuse to meet or talk to somebody

qualm: a feeling of doubt or worry about whether what you are doing is right

depiction: the act of showing somebody/something in a particular way in words or pictures, especially in a work of art

heel: to lean over to one side

cork: a light, soft material that is the thick bark of a type of Mediterranean oak tree

sloop: a small sailing ship with one mast (= a post to support the sails)

plywood: ​board made by sticking thin layers of wood on top of each other

To "get hooked on" something means to become addicted to a drug or, more commonly, to become very interested, enthusiastic, or obsessed with an activity, hobby, or interest to the point where you can't stop doing it.

relish: to get great pleasure from something; to want very much to do or have something

slack: characterized by slowness, sluggishness, or lack of energy

depth sounder (echo sounder): a device that measures the depth of the sea, or that finds objects underwater, by measuring how quickly sound waves are reflected

dead reckoning: the process of calculating one's position, especially at sea, by estimating the direction and distance travelled rather than by using landmarks or astronomical observations.


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

Some explanations are provided by Google AI Overview.

2025年9月16日星期二

Just Kids?

banishment: the punishment of being sent away from a place, especially from a country

hone: to develop and improve something, especially a skill, over a period of time

coup: a brilliant, sudden, and usually highly successful stroke or act

thaw: to become more friendly and less formal

hiatus: a break in activity when nothing happens

mark up: to mark or correct a text, etc., for example for printing

venture: a business project or activity, especially one that involves taking risks

lay off: to stop employing somebody because there is not enough work for them to do

nail down: to fasten something in place with a nail or nails

repo man: a person whose job is to repossess (= take back) goods from people who still owe money for them and cannot pay

the New Testament: the second part of the Bible, that describes the life and teachings of Jesus Christ

Confirmation: a ceremony at which a person becomes a full member of the Christian Church

aptly: in a way that is suitable or appropriate in the circumstances

decipher: to succeed in finding the meaning of something that is difficult to read or understand


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

攝影常識

合焦︰透過對焦過程,使被攝主體在相機感光元件上形成清晰成像的狀態。

泛焦︰泛焦是一種透過調整光圈與焦點距離,使畫面特定範圍內的景物全部清晰成像的攝影技術。焦距越短,即使光圈較大,亦很容易將泛焦的相片拍攝出來。

曝光補償(Exposure Compensation)︰這個詞指的是在攝影中,當相機的自動測光值無法準確滿足拍攝者意圖時,使用者手動調整影像亮度(增加或降低曝光量)的一種功能。

A classic pointer example in C++

#include <iostream>

using namespace std;


int main() {

    int x = 10;          // a normal integer variable

    int* ptr = &x;       // pointer to int, storing the address of x


    cout << "Value of x: " << x << endl;

    cout << "Address of x: " << &x << endl;

    cout << "Value stored in ptr (address of x): " << ptr << endl;

    cout << "Value pointed to by ptr: " << *ptr << endl; // dereferencing


    // Modify x through the pointer

    *ptr = 20;

    cout << "New value of x after modification via pointer: " << x << endl;


    return 0;

}


int* ptr = &x;ptr stores the address of x.

*ptr → dereferences the pointer, giving access to the value stored at that address.

Changing *ptr actually changes x, since they refer to the same memory location.


Value of x: 10

Address of x: 0x7ffee7b8c9ac

Value stored in ptr (address of x): 0x7ffee7b8c9ac

Value pointed to by ptr: 10

New value of x after modification via pointer: 20


In C++, dereferencing a pointer means accessing the value stored at the memory address the pointer is holding. The operator that does this is the asterisk (*), but only when it’s used outside of a declaration.


Microsoft Copilot

Exercise solution and quiz

std::abs is a standard C++ function used to compute the absolute value of a number. It’s part of the or header, depending on the type of input.

static_cast<int> is a C++ type conversion operator that explicitly converts a value to an int type at compile time.

In C++, a function declaration tells the compiler about a function's name, return type, and parameters—without specifying its actual body. It's like saying, “Hey compiler, this function exists, and here’s what it looks like,” but not yet saying what it does.

In C++, an argument refers to the actual value or variable passed to a function when it is called. It’s what you give to the function so it can do its job.

In C++, a function prototype is a declaration that tells the compiler about a function's name, return type, and parameters—before the function is actually defined. It’s like giving the compiler a heads-up: “This function exists, and here’s how it should be called.”

const my_array& a: It takes a constant reference to a my_array object

Microsoft Copilot

2025年9月15日星期一

科學家的思維模式

    Science grabbed me in part because if fit my need for order and organization and offered the kind of reassuring, satisfying framework I'd already found in math. It also appealed to my hyper-rational sense of the world. At its core, science requires a wildly curious mind that can tame itself with discipline and skepticism. I liked how scientists think, constantly asking themselves, "How do I know?" and "How might I be wrong?"

    科學吸引了我,部分原因是它符合我對秩序與組織的需求,並提供了一種我在數學中早已找到的、令人安心且滿足的框架。它也迎合了我對世界極度理性的看法。從本質上說,科學需要一顆極度好奇的心,同時能以紀律與懷疑精神來約束自己。我喜歡科學家的思維方式——他們不斷問自己:「我怎麼知道的?」以及「我可能錯在哪裡?」

nightwatchman: a man whose job is to guard a building such as a factory at night

German shepherd: a large dog, often trained to help the police, to guard buildings or (especially in the US) to help blind people find their way

smart-aleck: a person who thinks they are very clever and likes to show people this in an annoying way

devil-may-care: cheerful and not worried about the future

facade: the way that somebody/something appears to be, which is different from the way somebody/something really is

groan: DJ[grəun] to make a long deep sound because you are annoyed, upset or in pain, or with pleasure

conspicuously: ​in a way that is easy to see or notice, or that is likely to attract attention

declension: a set of nouns, adjectives or pronouns that change in the same way to show case, number and gender

Latin declension is the set of patterns according to which Latin words are declined—that is, have their endings altered to show grammatical case, number and gender.

lingering: slow to end or disappear

harness: to control and use the force or strength of something to produce power or to achieve something

theorem: DJ[ˋθiərəm] a rule or principle, especially in mathematics, that can be proved to be true

if something complicated or difficult to understand falls or slots into place, it becomes organized or clear in your mind

scaffolding: a system or framework of support provided by an instructor to help a student reach the next level of learning

goofy: silly; stupid

revelation: a fact that people are made aware of, especially one that has been secret and is surprising

"To put off reading" can mean delaying reading for a later time,

planarian: any of various dark-colored freshwater triclad flatworms (family Planariidae) with two eyespots and a triangular head

notion: an idea, a belief or an understanding of something

head first: ​without thinking carefully about something before acting

engaging: interesting or pleasant in a way that attracts your attention

blot out: to deliberately try to forget an unpleasant memory or thought

payoff: an advantage or a reward from something you have done

blossom: DJ[ˋblɔsəm]

intuit: to know that something is true based on your feelings rather than on facts, what somebody tells you, etc.

pounce on: to quickly notice something that somebody has said or done, especially in order to criticize it

frantic: done quickly and with a lot of activity, but in a way that is not very well organized

notion: ​an idea, a belief or an understanding of something

rote: the process of learning something by repeating it until you remember it rather than by understanding the meaning of it

decent: of a good enough standard or quality

upend: overcome

sip: ​to drink something, taking a very small amount each time

devise: to invent something new or a new way of doing something

fizzy: ​(of a drink) having bubbles of gas in it

slog: a period of hard work or effort

plodding: working or doing something slowly and steadily, especially in a way that other people think is boring

strip away: to remove (something that covers a surface) : to pull pieces of a covering away from a surface

monomania: too much interest in or enthusiasm for just one thing so that it is not healthy

esoteric: ​likely to be understood or enjoyed by only a few people with a special knowledge or interest

clarinet: a musical instrument of the woodwind group. It is like a pipe in shape and has a reed and a mouthpiece at the top that you blow into.

delight: a feeling of great pleasure

pyrotechnician: an expert in working with fireworks

concoct: to prepare by combining raw materials

tame: to make an emotion, an organization, a situation, etc., less powerful or easier to control

skepticism: an attitude of doubting that claims or statements are true or that something will happen

impressionable: (of a person, especially a young one) easily influenced or affected by somebody/something


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

Some explanations are provided by Google AI Overview.

Translated by Microsoft Copilot

2025年9月9日星期二

Returning values from a function

Returning values from a function in C++ is a fundamental concept that allows a function to send data back to the part of the program that called it.

Here’s a simple function that returns an int:

int add(int a, int b) {

    return a + b;  // returns the sum of a and b

}


int main() {

    int result = add(5, 3);

    cout << "Result: " << result << endl;  // Output: 8

}


int add(int a, int b) → declares a function that returns an int.

return a + b; → sends the result back to the caller.


Microsoft Copilot

vector and range-based for loop

A vector in C++ is a dynamic array provided by the Standard Template Library (STL). Unlike regular arrays, vectors can resize automatically when elements are added or removed, making them incredibly flexible and widely used.

#include <iostream>

#include <vector>

using namespace std;


int main() {

    vector<int> numbers;           // Declare an empty vector of ints

    numbers.push_back(10);         // Add elements

    numbers.push_back(20);

    numbers.push_back(30);


    cout << "Size: " << numbers.size() << endl;  // Output: 3


    // Access elements

    cout << "First element: " << numbers[0] << endl;  // Output: 10


    // Update element

    numbers[1] = 25;


    // Traverse using range-based for loop

    for (int num : numbers) {

        cout << num << " ";

    }

    return 0;

}


numbers is a vector<int> — a dynamic array of integers.

for (int num : numbers) means:

👉 “For each element in the numbers vector, assign its value to num, and then execute the loop body.”

Inside the loop:

cout << num << " "; prints the current number followed by a space


Microsoft Copilot

A typical example of function overloading

#include <iostream>

using namespace std;


// Overloaded print function for int

void print(int i) {

    cout << "Printing int: " << i << endl;

}


// Overloaded print function for double

void print(double d) {

    cout << "Printing double: " << d << endl;

}


// Overloaded print function for string

void print(const string& s) {

    cout << "Printing string: " << s << endl;

}


int main() {

    print(42);           // Calls print(int)

    print(3.14);         // Calls print(double)

    print("Hello C++");  // Calls print(string)

    return 0;

}


Microsoft Copilot

求學時期的 Bill Gates

In my emerging worldwide, the logic and rational thinking demanded by mathematics were skills that could be used to master any subject. There was a hierarchy of intelligence: however good you were at mathematics, that's how good you could be at other subjects --- biology, chemistry, history, even languages.

在他嶄新的世界觀中,數學所要求的邏輯與理性思維是一種技能,可以用來掌握任何學科。智慧存在一個等級體系:你的數學有多好,你在其他學科——生物、化學、歷史,甚至語言——就能有多出色。

Hood Canal is a natural fjord, not a canal, that sits between the Puget Sound and Olympic Mountains in Mason County, Washington.

fjord: a long narrow area of sea between high cliffs

lug: to carry or drag something heavy with a lot of effort

lodge: a small house in the country where people stay when they want to take part in some types of outdoor sport

leap: to jump high or a long way

distinctly: in a way that shows a quality that is easy to recognize

also-ran: a person who is not successful, especially in a competition or an election

camaraderie: a feeling of friendship and trust among people who work or spend a lot of time together

cheerio: goodbye

dub: to give somebody/something a particular name, often in a humorous or critical way

spearhead: a person or group that begins an activity or leads an attack against somebody/something

relish: to get great pleasure from something; to want very much to do or have something

infallible: that never fails; always doing what it is supposed to do

elicit: to get information or a reaction from somebody, often with difficulty

chuckle: an act of laughing quietly

gall: rude behavior showing a lack of respect that is surprising because the person behaving badly is not embarrassed

gratuitously: DJ[græˋtju:itəsli] ​without any good reason or purpose, in a way that may have harmful effects

betray: to hurt somebody who trusts you, especially by lying to or about them or telling their secrets to other people

auditorium: DJ[͵ɔ:diˋtɔ:riəm] the part of a theatre, concert hall, etc. in which the audience sits

mediocre: DJ[ˋmi:diəukə] not very good; of only average standard

exempt:  if somebody/something is exempt from something, they are not affected by it, do not have to do it, pay it, etc.

slumped: sitting with your body leaning forward, for example because you are asleep or unconscious

feed your ego: engage in actions or receive experiences, such as praise, success, or validation, that make you feel important, better about yourself, and boost your self-esteem.

weirdo: DJ[ˋwiədəu] a person who looks strange and/or behaves in a strange way

up-and-coming: likely to be successful and popular in the future

outscore: to score more points than

"To be borne out" means to be confirmed, substantiated, or proven true by evidence or facts.


Bill Gates "Source Code"

Online Dictionaries Used:

hk.dictionary.search.yahoo.com

www.oxfordlearnersdictionaries.com

www.merriam-webster.com

Some explanations are provided by Google AI Overview.

Translated with the help of Microsoft Copilot and edited.