Skip to content

Home

Azure EventHub, Logic Apps, and DataVerse

Kafka messages can be exported to and imported from Microsoft Cloud for Financial Services (FSI). This cloud solution offers various components, including a unified customer profile for managing customer data. It also has the capability to store personally identifiable information (PII). Data can flow from Kafka to Azure EventHub, and from there, Logic Apps can synchronize the data to DataVerse, which FSI can then consume. This workflow is illustrated in the diagram below:

To set up this connection, follow the steps below:

1. Sending Events to Azure EventHub

For example, you can use the Python script below to send three simple event messages to Azure EventHub.

import time
import os
import json
from azure.eventhub import EventHubProducerClient, EventData
from azure.eventhub.exceptions import EventHubError

# Replace placeholders with your EventHub name and connection string
EVENTHUB_NAME = "REPLACE_WITH_EVENTHUB_NAME"
CONNECTION_STR = "Endpoint=sb://REPLACE_WITH_CONNECTION_STRING.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=REPLACE_WITH_SHARED_ACCESS_KEY"

body = json.dumps({"id": "something"})

def send_event_data_batch(producer, i):
    event_data_batch = producer.create_batch()
    event_data_batch.add(EventData(body))
    producer.send_batch(event_data_batch)

producer = EventHubProducerClient.from_connection_string(
    conn_str=CONNECTION_STR,
    eventhub_name=EVENTHUB_NAME
)

start_time = time.time()
with producer:
    for i in range(3):
        send_event_data_batch(producer, i)

print("Sent messages in {} seconds.".format(time.time() - start_time))

Replace the placeholders for the EventHub name and connection string. If the message is sent successfully, you will see output similar to "Sent messages in 1.730254888534546 seconds."

If you encounter the error "Authentication Put-Token failed. Retries exhausted," double-check the placeholder values to ensure they are correct.

2. Connecting Azure EventHub to Logic Apps

Navigate to the Azure portal and search for Logic Apps. Create a new one to serve as your automated workflow. EventHub events will act as the trigger, and DataVerse will be the output. Choose "Consumption" as the plan type, which is suitable for entry-level development.

Once your Logic App is created, go to Development Tools and access the Logic App designer. The process involves three steps:

2.1 EventHub Trigger

The first step is to connect to EventHub as the trigger. For development purposes, set the check interval to 3 seconds.

2.2 Initialize Variables

The next step is to parse the message from EventHub. The sample message is:

{
  "id": "something"
}

To extract the value using the key "id," you can use the following expression:

json(decodeBase64(triggerBody()['ContentData']))['id']
2.3 Add a Row to DataVerse

The final step is to use the database connector to add a new row to the corresponding DataVerse table. If the table doesn't yet exist, navigate to https://make.powerapps.com/, select DataVerse, and then Tables to create one. Use the variable initialized in step 2 to populate the fields.

Once completed, save the workflow.

3. DataVerse

DataVerse serves as a database for storing data in tables. If the Logic App is successfully triggered when a new event is added, you will see a new row in the DataVerse table.

Finally, once all the data is synced to Azure FSI, you can navigate to the Microsoft Cloud Solution Center at https://solutions.microsoft.com/ to select the component you wish to use. For instance, you can select the Unified Customer Profile to manage customer data.

To launch the Dynamics 365 sandbox, navigate to the Solution Center and click the "Launch" button. The Unified Customer Profile app will display populated sample data.

Feel free to reach out if you have any questions about setting this up. Cheers.

Azure EventHub, Logic Apps, and DataVerse

Welcome to "Continuous Improvement," the podcast where we explore practical tips and strategies to enhance your work processes and boost your productivity. I'm your host, Victor, and today we're diving into the world of data synchronization between Apache Kafka and Microsoft Cloud for Financial Services (FSI). In this episode, we'll walk you through the steps to export and import Kafka messages to FSI and discuss the benefits of integrating these two powerful platforms. So, let's get started!

First things first, let's understand the process of exporting Kafka messages to Azure EventHub, one of the components of Microsoft Cloud for FSI. To achieve this, we'll be using a Python script that sends event messages to Azure EventHub.

[Background explanation]

Here's an example Python script to get you started. You would need to replace the placeholders with your own EventHub name and connection string. The script sends three simple event messages to Azure EventHub, demonstrating the process of exporting data.

[Code snippet]

Once you've customized the script, execute it. If everything goes well, you should see a message indicating the successful delivery of the events. But remember, if you encounter any errors, double-check the placeholder values to ensure they are correct.

With the Kafka messages successfully sent to Azure EventHub, the next step is to connect Azure EventHub to Logic Apps. Logic Apps will act as the workflow automation tool to synchronize data from EventHub to DataVerse, another component of Microsoft Cloud for FSI. Let's walk through the process.

[Background explanation]

Start by navigating to the Azure portal and searching for Logic Apps. Create a new Logic App to serve as your automated workflow. EventHub events will act as the trigger, while DataVerse will be the output. For development purposes, choose the "Consumption" plan type, suitable for entry-level development.

Once your Logic App is created, access the Logic App designer. The process involves three main steps: EventHub trigger, initializing variables, and adding a row to DataVerse.

[Background explanation - EventHub Trigger]

In the first step, configure the Logic App to connect to EventHub as the trigger. For development purposes, set the check interval to 3 seconds to ensure smooth processing.

[Background explanation - Initialize Variables]

Now let's move on to step two – initializing variables. In this step, you'll parse the message received from EventHub. The sample message structure would look something like this:

{
    "id": "something"
}

To extract the value using the key "id," you can utilize the provided expression:

json(decodeBase64(triggerBody()['ContentData']))['id']

This expression helps you retrieve the specific data you require from the received message.

[Background explanation - Add a Row to DataVerse]

Finally, the last step involves adding a row to DataVerse. Utilize the database connector to accomplish this. If the table doesn't exist yet, you can create one by navigating to https://make.powerapps.com/ and selecting DataVerse. Populate the fields with the variables initialized in step two.

Congratulations! You've successfully set up the connection between Azure EventHub and Logic Apps, ensuring continuous data synchronization from Kafka to DataVerse within Microsoft Cloud for FSI.

But wait, what exactly is DataVerse? Well, DataVerse serves as a database for storing data in tables. Once your Logic App is triggered by a new event, you'll see a new row added to the DataVerse table.

[Background explanation]

And with all the data seamlessly synced to Azure FSI, you can now explore the various components offered by Microsoft Cloud for FSI. For instance, the Unified Customer Profile allows you to efficiently manage customer data, providing a comprehensive view of each customer.

Access the Microsoft Cloud Solution Center at https://solutions.microsoft.com/ to explore and select the desired component that best suits your needs. And don't forget that you can launch the Dynamics 365 sandbox from the Solution Center to see the Unified Customer Profile app in action with pre-populated sample data.

[Closing remarks]

That wraps up today's episode of "Continuous Improvement." We hope you've found value in learning how to export Kafka messages to Azure EventHub, synchronize data to DataVerse using Logic Apps, and leverage the powerful components provided by Microsoft Cloud for FSI. If you have any questions about setting this up or need further assistance, feel free to reach out.

Remember, continuous improvement is all about finding ways to enhance our processes and stay ahead of the game. Join us again next week for another insightful episode. Until then, keep improving and stay productive!

Azure EventHub,Logic Apps,以及DataVerse

Kafka訊息可以從Microsoft Cloud for Financial Services (FSI)導出並導入到此雲端服務。這種雲端解決方案提供了各種組件,包括用於管理客戶數據的統一客戶資料。它還具有儲存個人可識別資訊(PII)的能力。數據可以從Kafka流向Azure EventHub,然後從那裡,Logic Apps可以將數據同步到DataVerse,FSI可以使用。下圖顯示了這一工作流程:

按照以下步驟設定此連接:

1. 向Azure EventHub發送事件

例如,您可以使用以下的Python代碼發送三個簡單的事件訊息到Azure EventHub。

import time
import os
import json
from azure.eventhub import EventHubProducerClient, EventData
from azure.eventhub.exceptions import EventHubError

# Replace placeholders with your EventHub name and connection string
EVENTHUB_NAME = "REPLACE_WITH_EVENTHUB_NAME"
CONNECTION_STR = "Endpoint=sb://REPLACE_WITH_CONNECTION_STRING.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=REPLACE_WITH_SHARED_ACCESS_KEY"

body = json.dumps({"id": "something"})

def send_event_data_batch(producer, i):
    event_data_batch = producer.create_batch()
    event_data_batch.add(EventData(body))
    producer.send_batch(event_data_batch)

producer = EventHubProducerClient.from_connection_string(
    conn_str=CONNECTION_STR,
    eventhub_name=EVENTHUB_NAME
)

start_time = time.time()
with producer:
    for i in range(3):
        send_event_data_batch(producer, i)

print("Sent messages in {} seconds.".format(time.time() - start_time))

替換EventHub名稱和連接字符串的佔位符。如果信息發送成功,您將看到類似於“在1.730254888534546秒內發送了信息。”的輸出。

如果您遇到“Authentication Put-Token failed. Retries exhausted.”錯誤,請再次檢查佔位符的值,確保它們是正確的。

2. 將Azure EventHub連接到Logic Apps

導航至Azure portal並搜索Logic Apps。創建一個新的自動化工作流程。EventHub的事件將作為觸發器,DataVerse將是輸出。選擇“Consumption”作為計劃類型,此為初級開發者適用。

創建Logic App後,轉到Development Tools並訪問Logic App designer。此過程涉及三個步驟:

2.1 EventHub触发器

首個步驟是將EventHub連接為觸發器。對於開發目的,請將檢查間隔設定為3秒。

2.2 初始化變量

下一步是解析來自EventHub的訊息。範例訊息是:

{
  "id": "something"
}

要使用key“id”提取值,您可以使用以下表達式:

json(decodeBase64(triggerBody()['ContentData']))['id']
2.3 向DataVerse添加一行

最後一步是使用數據庫連接器向對應DataVerse表添加一行新的資料。如果表還不存在,轉到https://make.powerapps.com/,選擇DataVerse,然後選擇Tables來創建一個。使用在步驟2中初始化的變量填充字段。

完成後,保存工作流程。

3. DataVerse

DataVerse作為一個數據庫,用於在表格中儲存資料。如果在添加新事件時成功觸發了Logic App,您將在DataVerse表中看到一行新的資料。

最後,一旦所有數據都同步到Azure FSI,您可以導航至Microsoft Cloud Solution Center在https://solutions.microsoft.com/選擇您希望使用的組件。例如,您可以選擇統一客戶資料來管理客戶數據。

要啟動Dynamics 365沙箱,導航至Solution Center並單擊“Launch”按鈕。統一客戶資料應用將顯示填充的示例數據。

如果您對設置此內容有任何問題,請隨時聯絡我。乾杯。

Journal of Self-Growth

One area in my life that has always intimidated me is social interaction—meeting new people, talking to strangers, and building connections. My fear of failure, embarrassment, and rejection has made this a challenging aspect of my life to improve, but it's a challenge I am determined to meet.

Growing up, I often felt lonely at school. I found solace in reading history books rather than in the boisterous games of my peers. I also observed the bullying that occurred in my school, where students would ridicule others for their appearance or intelligence. My solution was to distance myself from others to avoid becoming a target. This avoidance strategy stemmed from the traumatic experiences that have left an indelible impression on me. The idea of being unpopular filled me with dread.

However, as I've come to understand, establishing good relationships can significantly enhance one's quality of life. Online popularity can lead to a higher income, a better career, and increased self-confidence, not to mention reduced stress levels. To improve my soft skills and foster better interactions, I need to let go of my past negative experiences and be more open to socializing. Self-reflection is key. I need to question some of my ingrained assumptions, differentiate facts from misconceptions, and adopt a more collaborative and curious attitude towards others.

By honing my soft skills, I believe I can unlock greater success and fulfillment in my life.

Journal of Self-Growth

Welcome to Continuous Improvement, the podcast where we explore ways to better ourselves and achieve our goals. I'm your host, Victor, and today we're going to delve into a topic that many of us struggle with: social interaction.

Socializing, meeting new people, and building connections can be intimidating for many of us. Whether it's the fear of failure, embarrassment, or rejection, it's a challenge that we can all relate to. Today, we'll discuss how we can overcome these obstacles and improve our social skills.

But before we dive in, let me share a little bit about my own experience. Growing up, I often felt lonely at school. While others were playing games, I sought solace in books and observed the bullying happening around me. This negative environment fueled my fear of social interaction, causing me to distance myself from others to avoid becoming a target.

However, as I've come to understand, building good relationships can greatly enhance our quality of life. It can lead to higher income, better career opportunities, increased self-confidence, and even reduced stress levels. So, how can we improve our soft skills and foster better interactions?

The first step is self-reflection. It's important to question some of our ingrained assumptions and differentiate facts from misconceptions. The fear of being unpopular, for example, can hold us back from reaching out to others. But let's challenge that notion. Instead of seeing socializing as a popularity contest, let's view it as an opportunity for growth and connection.

Another crucial aspect is to let go of past negative experiences. Traumatic events or instances where we felt rejected can leave a lasting impression on us. But it's essential to recognize that those moments don't define us. By embracing a more collaborative and curious attitude towards others, we can create a fresh perspective and start building healthier relationships.

Now, you might be wondering how to practically improve your social skills. One way is to actively seek out opportunities for interaction. Attend networking events, join clubs or groups with shared interests, or even strike up conversations with strangers. With each interaction, challenge yourself to be present, listen actively, and engage with genuine curiosity.

Additionally, don't shy away from learning about effective communication techniques. Books, online courses, and podcasts (like this one!) can provide valuable insights and practical tips. Learning how to express yourself clearly, ask open-ended questions, and empathize with others can go a long way in improving your social interactions.

Remember, improving our social skills is an ongoing process. It requires patience, practice, and the courage to step outside of our comfort zones. But the rewards are well worth it—greater success and fulfillment in our personal and professional lives.

That's all for today's episode of Continuous Improvement. I hope you found these insights helpful as you embark on your own journey of improving your social skills. As always, remember that progress is made one step at a time.

Thank you for joining me today. I'm Victor, your host, and I'll be back soon with more tips and strategies for continuous improvement. Until then, keep striving to be the best version of yourself.

自我成長期刊

我生活中一直讓我畏懼的一個區域是社交互動 - 認識新朋友,與陌生人交談,和建立連繫。我對失敗、尷尬和被拒絕的恐懼使我在這一生活方面的提高充滿了挑戰,但這是一個我決心要去面對的挑戰。

在我長大的過程中,我經常在學校感到孤獨。我在閱讀歷史書籍而不是參與同儕吵鬧的遊戲中找到慰藉。我還觀察到學校中發生的欺凌事件,學生們會因為他人的外貌或智力而嘲笑他們。我選擇遠離他人以免自己成為目標。這種逃避策略源於對我留下不可磨滅印象的創傷經歷。對不受歡迎的概念充滿了恐懼。

但是,如我所了解,建立良好的關係可以顯著提高生活質量。在線受歡迎可以帶來更高的收入,更好的職業,更高的自信心,更不用說降低壓力水平了。要提升我的軟技能並促進更好的互動,我需要釋放我的過去的消極經歷並更開放地對待社交。自我反思非常重要。我需要質疑一些我固有的假設,區分事實與誤解,並對他人采取更合作和好奇的態度。

通過提升我的軟技能,我相信我可以在我的生活中解鎖更大的成功和滿足。

FinTech - Digital Banking Overview and Market Research

In the Asia-Pacific region, large banks face challenges from emerging digital banks. The adoption of digital banking is growing globally, fueled by changing customer expectations and increased digital penetration. The COVID-19 pandemic has further accelerated this trend, compelling a more immediate need for change.

For example, in Hong Kong, large banks like HSBC are responding to competition from virtual banks. HSBC launched the PayMe mobile application well after the introduction of AliPayHK and WeChatPay in Hong Kong. Despite the late start, PayMe has amassed two million users and secured an impressive 68% market share. In addition to intensifying their digital transformation efforts, many of Hong Kong's large banks are eliminating or reducing fees to compete with newcomers.

In Malaysia, the underinvestment in technology by traditional banks raises concerns about their ability to compete with incoming virtual banks. FinTech developments are rapidly changing the financial sector landscape, with nearly 200 FinTech startups reported as of April 2019. The most significant growth areas include e-wallets and payment services. Mobile and internet banking penetration reached close to 34% and around 90%, respectively, in 2018.

Thailand also presents a robust digital and mobile penetration, making it well-positioned to become a key ASEAN FinTech hub. Although 22% of the Thai population is unbanked, high digital payments and peer-to-peer lending platforms target this demographic. The volume of mobile and internet banking transactions has grown rapidly, with mobile banking expanding at a 123% Compound Annual Growth Rate (CAGR) from 2014 to 2018.

Overall, the trend favoring virtual banks is extending across the Asia-Pacific region. Regulatory bodies like the Financial Supervisory Commission (FSC) in Taiwan and the Monetary Authority of Singapore (MAS) have recently approved new virtual bank licenses. Countries with large underbanked and unbanked populations, such as the Philippines, Vietnam, and Indonesia, offer compelling cases for the introduction of virtual banking.

In London, JPMorgan Chase is entering the UK market with a digital-only lender, marking its first retail bank overseas in its 222-year history. Initially offering current accounts with a rewards program, Chase plans to expand into personal lending, investment, and eventually, mortgages.

In New York, Tier 1 banks dominate the market, charging high fees while showing little demand for new products and instant payments. However, the city seems to be following digital banking trends in the Asia-Pacific region, and changes are on the horizon.

In Tokyo, the Japanese FinTech market has seen rapid growth, with revenues expected to reach HKD80 billion by 2022. Most of the top-funded FinTech applications focus on cryptocurrency, investment management, and trading. Demographic trends like a declining and aging population have led to decreased profits in the overall banking industry.

In other large markets, digital banking is experiencing a period of significant growth. Traditional banks, initially slow to adapt, must navigate a highly regulated and complex landscape to remain competitive. The scarcity of digital talent has further hindered this transition, making it essential for established banks to adapt quickly to protect their market share against emerging challengers.

FinTech - Digital Banking Overview and Market Research

Welcome back to another episode of Continuous Improvement, the podcast where we explore the ever-evolving landscape of the banking industry and discuss strategies for staying ahead in the digital age. I'm your host, Victor, and today we're diving into the challenges faced by large banks in the Asia-Pacific region as they contend with the rise of digital banking.

The adoption of digital banking is on the rise globally, driven by changing customer expectations and increased digital penetration. The COVID-19 pandemic has further accelerated this trend, creating an urgent need for change. In this episode, we'll take a closer look at how traditional banks in the Asia-Pacific region are responding to competition from emerging digital banks.

Let's start with Hong Kong. Large banks like HSBC are feeling the pressure from virtual banks. Despite being a late entrant into the digital banking space with their PayMe mobile application, HSBC has managed to amass an impressive 68% market share and two million users. To compete with newcomers, many of Hong Kong's traditional banks are intensifying their digital transformation efforts and even eliminating or reducing fees.

Moving on to Malaysia, concerns arise about the underinvestment in technology by traditional banks. With nearly 200 FinTech startups reported as of April 2019, the rapidly developing FinTech sector is changing the landscape. E-wallets and payment services are seeing significant growth. However, traditional banks must adapt to keep up with the incoming virtual banks.

Thailand is also well-positioned to become an ASEAN FinTech hub. Despite 22% of the Thai population being unbanked, digital payments and peer-to-peer lending platforms are targeting this segment. Mobile and internet banking transactions have grown rapidly, with mobile banking expanding at a remarkable 123% Compound Annual Growth Rate from 2014 to 2018.

It's not just the Asia-Pacific region experiencing the shift towards virtual banks. Regulatory bodies elsewhere, like the Financial Supervisory Commission in Taiwan and the Monetary Authority of Singapore, have recently approved new virtual bank licenses. The Philippines, Vietnam, and Indonesia, with their large underbanked and unbanked populations, present compelling cases for the introduction of virtual banking.

Even in cities like London and New York, where tier 1 banks have dominated the market, change is on the horizon. JPMorgan Chase, for instance, is entering the UK market with a digital-only lender, marking a significant move for the bank. New York, albeit slowly, is witnessing digital banking trends similar to the Asia-Pacific region. The demand for new products and instant payments is growing, challenging traditional banks to adapt.

Meanwhile, in Tokyo, the Japanese FinTech market is booming, with revenues expected to reach HKD80 billion by 2022. Top-funded FinTech applications in Japan mainly focus on cryptocurrency, investment management, and trading. The declining and aging population has affected overall banking industry profits, prompting banks to explore new avenues for growth.

Digital banking is experiencing significant growth in large markets worldwide. However, traditional banks, initially slow to adapt, are now faced with the task of navigating a highly regulated and complex landscape. The scarcity of digital talent further heightens the need for established banks to adapt quickly to protect their market share against emerging challengers.

That's it for today's episode of Continuous Improvement. I hope you found our discussion on the challenges faced by large banks in the Asia-Pacific region enlightening. Stay tuned for future episodes where we'll continue to explore the evolving world of banking and discuss strategies for staying competitive in an increasingly digital world.

Thank you for tuning in, and until next time, keep striving for continuous improvement.

金融科技 - 數位銀行概覽及市場研究

在亞太地區,大型銀行面臨來自新興數位銀行的挑戰。數位銀行的採用在全球範圍內持續增長,其動力來自於客戶期望的變化和數碼滲透率的提高。COVID-19疫情更進一步加速了這種趨勢,使得改變的需要更為迫切。

例如,在香港,像滙豐這樣的大型銀行正對虛擬銀行的競爭做出回應。滙豐在香港引入AliPayHK和微信支付後才推出了PayMe手機應用程式。儘管起步晚,但PayMe已經吸引了二百萬用戶,並獲得了令人印象深刻的68%市場份額。除了加大數位轉型的力度,香港的許多大型銀行也在消除或降低費用以與新進入者競爭。

在馬來西亞,傳統銀行在科技方面的投資不足引發了人們對其是否能夠與即將到來的虛擬銀行競爭的疑慮。金融科技的發展正在快速改變金融領域的格局,截至2019年4月,報告的金融科技初創公司近200家。最重要的增長領域包括電子錢包和支付服務。手機和網路銀行滲透率在2018年分別接近34%和約90%。

泰國也呈現出強大的數位和手機滲透率,使其有望成為東盟金融科技中心的關鍵位置。儘管泰國有22%的人口未被銀行涵蓋,但高額的數位付款和P2P借貸平台則針對這一族群。手機和網路銀行交易量已經快速增長,其中手機銀行在2014年至2018年期間的複合年增長率(CAGR)達到123%。

總的來說,偏好虛擬銀行的趨勢正在擴展到整個亞太地區。如台灣的金融監督管理委員會(FSC)和新加坡的金融管理局(MAS)近期已經批准了新的虛擬銀行牌照。有大量未被銀行覆蓋的人口的國家,如菲律賓、越南和印尼,對引入虛擬銀行提出了有力的案例。

在倫敦,摩根大通將以一家僅數位的貸款機構進入英國市場,這是其222年歷史中首次在海外設立零售銀行。Chase初步提供的是帶有獎勵計劃的當前賬戶,並計劃擴展到個人貸款、投資,最終還將涵蓋抵押貸款。

在紐約,翹楚銀行主導著市場,它收取高額費用,對新產品和即時付款的需求卻很小。然而,這座城市似乎正在跟隨亞太地區的數位銀行趨勢,變革正在地平線上。

在東京,日本的金融科技市場已經見證了快速增長,預期到2022年收入將達到800億港元。大部分獲得最多資金的金融科技應用集中在加密貨幣、投資管理和交易上。像人口下降和老齡化這樣的人口變化趨勢導致整個銀行業的利潤下降。

在其他大型市場,數位銀行正在經歷一個重要的增長期。一開始適應力較差的傳統銀行,必須在一個高度監管和複雜的環境中導航以保持競爭力。數位人才的稀缺進一步阻礙了這種轉變,使得已建立的銀行必須快速適應以保護他們的市場份額免受新興挑戰者的影響。

My Hand Writes My Heart

I am writing this article in the hope of finding inner peace and self-reflection. Writing is therapeutic. At the moment, it helps me focus, gather my chaotic thoughts and ideas, and search my soul for answers to life's questions. It offers a solution to the issues that trouble me, disrupt my sleep, and rob me of peace.

Today, I lost my inner peace because it was the last day of my trip back home to Hong Kong, a place I hadn't visited for almost two years. Due to the COVID-19 situation and various government policies, I had been unable to travel freely. I stayed in Singapore, just 4 hours away by flight from my family and girlfriend, whom I hadn't seen for so long. Although I should have felt excited about being back in Hong Kong, I felt inexplicably frustrated, sad, and lost.

I should be grateful that my family is still here and my girlfriend is safe and communicates with me. However, Hong Kong has changed, and not for the better. I don't want to delve into politics, but this external change partly explains my sadness. Yet, the root cause of my emotional turmoil lies within me. I am disappointed in myself for not meeting certain expectations. Life would be simple if I were just living for myself; quarantining in a hotel for a week, away from work and others, brings me peace.

Reality, however, is unavoidable. I can't forever escape the relationships that demand my attention. Whether it's family, my girlfriend, colleagues, or friends, I have been using the pandemic as an excuse to avoid facing these responsibilities. Now that I am back home, I can no longer maintain my emotional distance, and this disrupts my inner peace.

Firstly, my family is wonderful, and it's good to be back. However, my parents are aging and heading towards retirement. I must find the courage to confront these facts. Health and financial challenges are inevitable, and I must prepare to take care of them. Though they are in Hong Kong and I'm four hours away in Singapore, it's manageable — despite the inconvenient travel restrictions.

Secondly, my girlfriend wants to get married but doesn't wish to leave Hong Kong, as her aging mother is there. We are limited by our differing perspectives, which is frustrating for me. I believe it's essential to consider emigration, especially from a political standpoint. Yet, she remains unconvinced, and I can't change her mind if she's unwilling to change her own.

Thirdly, I am dissatisfied with my own life. I'm unhappy about aging and losing hair, as well as not achieving traditional markers of success. I understand I shouldn't compare myself to others, but the societal pressures are difficult to resist, especially when old friends and classmates seem to be doing better according to Asian societal norms.

In summary, I feel like I have not reached my full potential, and this bothers me deeply. I am struggling to find inner peace, and it may be time to pause and meditate to understand myself better.