20260930

Today’s Stretches

Daily Reps

20260929

Today’s Stretches

Daily Reps

20260928

Today’s Stretches

Daily Reps

20260927

I started thinking about getting counseling

Today’s Stretches

Daily Reps

Two Sum memo based solution

class Solution:
    def maxSubarray(self, nums: list[int]) -> int:
        max_length = 0

        left = 0
        right = 0
        while right < len(nums):
            appeared = set()
            invalid = False
            for i in range(left, right):
                if (
                    nums[right] - nums[i] in appeared
                    or nums[i] + nums[right] in appeared
                    or nums[i] - nums[right] in appeared
                ):
                    left += 1
                    invalid = True
                    break

                appeared.add(nums[i])

            if not invalid:
                max_length = max(max_length, right - left + 1)
                right += 1

        return max_length
## Daily Report — Sep 27, 2026

- **Weight:** 73.0 kg
- **Calories:** ~2,200 kcal
- **Meals:** Salad 100, Curry Rice 800, Oreo 100, Fruits 200, Beef 300, Breads 100, Fries 200, Greek Yogurt 50, Cola Float 100, Protein shake 100, Popcorn 150
- **Hunger:** 3/10
- **Stress:** 4/10
- **Exercise:**
  - Multisport/run: 6.58 km — 40m

**Soft target:** ~2,100 kcal/day

**Note:** Right ankle continues to recover. COROS is no longer worn throughout the day, so daily wearable metrics are omitted.

**Summary:** A normal ~2,200-kcal day with low hunger. You also managed about 6.6 km today as you gradually return to running. Weight remains around 73.0 kg.
"Đánh chết rồi!"

I’m thinking about getting counseling, maybe with someone in Japan (as I’m most fluent in Japanese). I’ve suffered from anhedonia for a long time. I’m not clinically diagnosed, but I believe I would have been diagnosed with depression if I had gone to a psychiatrist.

In essence, my problems were:

Lifetime migrant: I was born in Vietnam and raised in Japan. My family had always been outsiders. Even after coming to the US, I’ve still been an outsider. I lack the feeling of belonging somewhere.

Violent and toxic parents: My family was poor, and when I was a student, I always declined to hang out with my friends because I didn’t have money. To be honest, being poor was fine; it’s inevitable for some people. But what troubled me most was that my parents were anxious about money and also failed to fit into Japan, and they had been very violent.

I was hit many times (though there were rationales). My mother would always say, “I’ll hit you till you die,” in Vietnamese. My mother and father always fought (they recently divorced. They should have divorced 20 years earlier). My mother suffered from hormonal issues and anxiety and would get hysterical, sometimes trying to stab my father. Even when I was studying for my university entrance exam, they didn’t stop. They were too emotional, and this continued even after I graduated from university in Japan and joined them in the US.

I kind of empathize with their situation and understand their challenges and mental illnesses, but I’m done now. I don’t contact them.

High expectations: I was smart. I’m not the guy who was #1 in math in a class, but at least I was usually around 2nd or 3rd place. I was inevitably gifted with a relatively high IQ. My estimate is 数学的 IQ → 120, 言語性 IQ → 130. I went to a top public high school in Saitama (Urawa High School) and then went to Keio University (one of the top universities in Japan).

It’s lonely at the top; I usually don’t find people very interesting. Like, I was poor, and my poor friends were only interested in sex, drugs, quick money, and all those things. I hope you see what I’m trying to say.

However, at the same time, my gift was not good enough to let me live comfortably. There was always someone better than me. No one invested in me. I was in the top 10% or something, but I was not at the very top, while I sacrificed a lot.

Now, I’m trying to get a position at Big Tech because, why not? It will stabilize my life. I’m with a startup and always wonder whether my employer will go bankrupt. I’ve practiced LeetCode and participated in LeetCode contests, but I see very little progress. I don’t have a network in the US, either. What I see is that people with good parents have their parents help them find jobs, which my parents did not offer. No generational wealth.

My depression has been mitigated since my wife moved to the US around 1.5 years ago. However, I still find myself not enjoying life very much. I think I should find something that puts a smile on my face so that my wife will be happy seeing me in that state.

I’ve burned out several times. I always feel like I don’t need to wake up tomorrow. I did my best, and who can blame me?

20260926

Today’s Stretches

Daily Reps

20260925

Today’s Stretches

Daily Reps

## Daily Report — Sep 25, 2026

- **Weight:** 72.4 kg
- **Calories:** ~2,400 kcal
- **Meals:** Popcorn 100, Smoothie 100, Protein shake 100, Protein chips 150, Ice cream 250, Sushi Bowl 700, Soup 100, Oreo 100, Fruits 100, Gyoza 200, Eggs 300, Otyazuke 200
- **Hunger:** 3/10
- **Stress:** 4/10
- **Steps:** 4,015
- **Exercise:**
  - Outdoor run: 5.32 km — 28m — 5:19/km
  - Yoga: 11m
- **Sleep:** 5h 37m
- **HRV:** 41 ms — Below normal (baseline 49 ms; normal 44–54)
- **COROS Stress:** 23

**Soft target:** ~2,100 kcal/day

**Note:** Classic Friday meal with my wife. Right ankle is recovering, and I tried my first casual recovery run.

**Summary:** A higher-calorie Friday at ~2,400 kcal, which fits the flexibility you've intentionally kept for time with your wife. No need to compensate tomorrow. The bigger development is returning to running after the ankle sprain; see how the ankle responds before increasing the load further. Weight also reached a new low of 72.4 kg, though a single low reading shouldn't be overinterpreted.

20260924

Today’s Stretches

Daily Reps

20260923

Today’s Stretches

Daily Reps

**Golden dataset** (a.k.a. golden set / gold standard / ground truth)
- A small, curated, fixed set of test cases with known correct answers.
- In RAG, each entry typically contains: question, expected answer, and the chunks that should be retrieved.
- Used to measure:
  - Retrieval quality: recall@k, precision@k, MRR
  - Answer quality: correctness, faithfulness to retrieved context
- Example use: tune `numCandidates` by running the same golden set at 20 / 40 / 100 / 200 and picking where recall plateaus but latency keeps rising.
- Tools: Ragas, DeepEval, LangSmith
## Daily Report — Sep 23, 2026

- **Weight:** 73.2 kg
- **Calories:** ~2,100 kcal
- **Meals:** Burgers 500, Fries 300, Nuggets 100, Cookie 100, Pizza 300, Ramen 500, Ham 100, Ice cream 200
- **Hunger:** 3/10
- **Stress:** 4/10
- **Steps:** 4,516
- **Exercise:** 48m
  - Indoor cycling: 9.00 km — 20m
  - Strength: 28m — 16 sets
- **Active Calories (COROS):** 609 kcal
- **HRV:** 51 ms — Normal (baseline 48 ms; normal 42–54)
- **COROS Stress:** 23

**Soft target:** ~2,100 kcal/day

**Note:** Still recovering from right ankle sprain. Replaced running with indoor cycling and strength training.

**Summary:** Right on the 2,100-kcal soft target with hunger only 3/10. Weight remained at 73.2 kg after yesterday's pizza-heavy team lunch. Indoor cycling also gave you some cardio without returning to running yet.

20260922

Today’s Stretches

Daily Reps

20260921

Today’s Stretches

Daily Reps

{
  "model": "jev-latest",
  "state": "I was charged twice for my subscription. Can I get a refund?",
  "questions": {
    "category": {
      "type": "choice",
      "instructions": "Which team should handle this request?",
      "criteria": {
        "billing": "Payments, refunds, and invoices",
        "technical": "Bugs and technical problems",
        "sales": "Pricing, upgrades, and new accounts"
      }
    }
  }
}
## Daily Report — Sep 21, 2026

- **Weight:** 73.1 kg
- **Calories:** ~2,000 kcal
- **Meals:** Breads 200, Soup 200, Natto 100, Cookie 100, Chocolate 100, Fruits 300, Ramen 200, Rice 200, Oyakodon 400, Ice cream 200
- **Hunger:** 3/10
- **Stress:** 4/10
- **Steps:** 5,319
- **Exercise:** 33m
  - Strength: 33m — 18 sets
- **Active Calories (COROS):** 449 kcal
- **Sleep:** 5h 00m
- **HRV:** 46 ms — Normal (baseline 48 ms; normal 42–54)
- **COROS Stress:** 23

**Soft target:** ~2,100 kcal/day

**Note:** Still recovering from right ankle sprain and avoiding running. Appetite seems lower without regular running.

**Summary:** Hunger was only 3/10 at 2,000 kcal, which may partly reflect the temporary reduction in running. Weight reached 73.1 kg, another recent low. Continue treating 2,100 as a soft reference rather than something you need to eat up to when comfortably satisfied.

20260920

Today’s Stretches

import bisect


class Solution:
    def countIntersectingIntervals(self, intervals: list[list[int]]) -> int:
        sorted_intervals = sorted(intervals)

        intersects = 0
        for i, (_, end) in enumerate(sorted_intervals):
            first_excluded = bisect.bisect_right(
                sorted_intervals,
                end,
                lo=i + 1,
                key=lambda interval: interval[0],
            )

            intersects += first_excluded - i - 1

        return intersects

Daily Reps

20260919

Today’s Stretches

Daily Reps

20260918

Today’s Stretches

Daily Reps

## Daily Report — Sep 18, 2026

- **Weight:** 73.4 kg
- **Calories:** ~2,300 kcal
- **Meals:** Fruits 100, Fries 400, Egg Benedict 400, BLT 400, Pancakes 400, Rice 100, Omelette 400, Soup 100
- **Hunger:** 3/10
- **Stress:** 4/10
- **Steps:** 2,206
- **Exercise:** 21m
  - Strength: 20m — 11 sets
- **Active Calories (COROS):** 273 kcal
- **Sleep:** 9h 02m
- **HRV:** 61 ms — Above normal (baseline 48 ms; normal 43–53)
- **COROS Stress:** 20

**Soft target:** ~2,100 kcal/day

**Note:** Friday IHOP with my wife. Still resting my right ankle and avoiding running.

**Summary:** 2,300 kcal is right at the upper end of the range we expected when aiming for 2,100, and hunger was only 3/10. Given that this was a Friday meal with your wife, I wouldn't treat the extra ~200 kcal as something that needs correcting tomorrow. Weight is 73.4 kg, still firmly in the recent 73.x range. Activity remains intentionally low while the ankle recovers.

20260917

Today’s Stretches

Daily Reps

20260916

I sprained my right ankle. I will refrain from jogging for a few days.

Today’s Stretches

Daily Reps

20260915

Today’s Stretches

Daily Reps

20260914

Today’s Stretches

Daily Reps

## Daily Report — Sep 14, 2026

- **Weight:** 73.5 kg
- **Calories:** ~2,200 kcal
- **Meals:** Chestnut 100, Protein shake 100, Potatoes 400, Breads 400, Salad 100, Fruits 100, Rice 200, Beef 600, Natto 100, Soup 100
- **Hunger:** 4/10
- **Stress:** 4/10
- **Steps:** 6,208
- **Exercise:** 1h 08m
  - Outdoor run: 5.32 km — 28m (5:13/km)
  - Strength: 26m — 17 sets
  - Yoga: 14m
- **Active Calories (COROS):** 753 kcal
- **Sleep:** 4h 05m
- **HRV:** 54 ms — Above normal (baseline 47 ms; normal 41–53)
- **COROS Stress:** 22

**Soft target:** ~2,100 kcal/day

**Summary:** The new target is behaving as intended: aiming for 2,100 resulted in a comfortable 2,200-kcal day with hunger at 4/10. Weight returned to 73.5 kg, matching the recent low, while activity was substantial. The main thing to watch today is the short recorded sleep rather than calories.

20250913

Today’s Stretches

This is a sample code AI generated (fixing my solution), but I won’t care much about it (at least for now)

class Solution:
    def minOperations(self, nums: list[int]) -> int:
        num_operations = 0

        def decade(d, k):
            # (smallest, largest) k-digit number whose leading digit is d
            if k == 1:
                return d, d
            return d * 10 ** (k - 1), (d + 1) * 10 ** (k - 1) - 1

        def mirror(prefix_str, length):
            if length % 2 == 0:
                return int(prefix_str + prefix_str[::-1])
            else:
                return int(prefix_str + prefix_str[-2::-1])

        for num in nums:
            if num < 10:
                continue  # single digits are always palindromes

            num_str = str(num)
            L = len(num_str)
            half_len = (L + 1) // 2
            prefix_with_middle = num_str[:half_len]
            prefix_val = int(prefix_with_middle)
            leading_digit = int(prefix_with_middle[0])
            required_parity = num % 2

            best_diff = float("inf")

            # same length: keep the prefix, or shift it by 1
            for candidate_prefix in (prefix_val - 1, prefix_val, prefix_val + 1):
                if candidate_prefix <= 0:
                    continue
                candidate_str = str(candidate_prefix)
                if len(candidate_str) != half_len:
                    continue  # crosses a digit-length change; handled below
                candidate = mirror(candidate_str, L)
                if candidate % 2 == required_parity:
                    best_diff = min(best_diff, abs(candidate - num))

            # same length, but the natural neighborhood has the wrong parity:
            # jump to whichever adjacent decade has the correct leading-digit parity
            if leading_digit % 2 != required_parity:
                k = half_len
                for d in (leading_digit - 1, leading_digit + 1):
                    if 1 <= d <= 9:
                        lo, hi = decade(d, k)
                        h = hi if d < leading_digit else lo
                        candidate = mirror(str(h), L)
                        best_diff = min(best_diff, abs(candidate - num))

            # shrink to L-1 digits: largest (L-1)-digit palindrome with correct parity
            if L > 1:
                d = 9 if required_parity == 1 else 8
                k2 = ((L - 1) + 1) // 2
                _, hi = decade(d, k2)
                best_diff = min(best_diff, abs(mirror(str(hi), L - 1) - num))

            # grow to L+1 digits: smallest (L+1)-digit palindrome with correct parity
            d = 1 if required_parity == 1 else 2
            k3 = ((L + 1) + 1) // 2
            lo, _ = decade(d, k3)
            best_diff = min(best_diff, abs(mirror(str(lo), L + 1) - num))

            num_operations += best_diff // 2

        return num_operations

Daily Reps

20260912

Today’s Stretches

Daily Reps

20260911

Today’s Stretches

Daily Reps

20260910

It was so hot that I couldn’t sleep well. I didn’t perform well today.

Today’s Stretches

class Solution:
    def rob(self, nums: list[int]) -> int:
        if len(nums) == 1:
            return nums[0]

        def rob_linear(nums: list[int]) -> int:
            two_back = 0
            one_back = nums[0]
            for i in range(1, len(nums)):
                two_back, one_back = one_back, max(one_back, two_back + nums[i])

            return one_back

        return max(rob_linear(nums[1:]), rob_linear(nums[:-1]))

Daily Reps

20260909

Today’s Stretches

Daily Reps

20260908

Today’s Stretches

Daily Reps

20260907

Today’s Stretches

class Solution:
    def getRow(self, rowIndex: int) -> list[int]:
        row = [1]
        for row_i in range(rowIndex):
            row.append(1)
            for pos in range(len(row) - 2, 0, -1):
                row[pos] += row[pos - 1]

        return row
import collections


class Solution:
    def getRow(self, rowIndex: int) -> list[int]:
        row = collections.deque([1])
        for row_i in range(rowIndex):
            row.appendleft(1)
            for pos in range(1, len(row) - 1):
                row[pos] += row[pos + 1]

        return list(row)
import functools


class Solution:
    def rob(self, nums: list[int]) -> int:
        @functools.cache
        def max_earning(house: int) -> int:
            if house == 0:
                return 0
            if house == 1:
                return nums[0]

            return max(
                nums[house - 1] + max_earning(house - 2),
                max_earning(house - 1),
            )

        return max_earning(len(nums))
import functools


class Solution:
    def rob(self, nums: list[int]) -> int:
        if len(nums) <= 2:
            return max(nums[:2])
        @functools.cache
        def max_earning(house_i: int) -> int:
            if house_i == 0:
                return nums[0]
            if house_i == 1:
                return max(nums[:2])
            return max(
                nums[house_i] + max_earning(house_i - 2),
                max_earning(house_i - 1),
            )
        return max_earning(len(nums) - 1)
class Solution:
    def rob(self, nums: list[int]) -> int:
        if len(nums) <= 2:
            return max(nums)

        two_back = nums[0]
        one_back = max(nums[0], nums[1])
        for i in range(2, len(nums)):
            two_back, one_back = (
                one_back,
                max(nums[i] + two_back, one_back)
            )

        return one_back

Daily Reps

20260906

Today’s Stretches

Daily Reps

20260905

Today’s Stretches

Daily Reps

20260904

20260903

20260902

## Daily Report — Sep 2, 2026

- **Weight:** 73.9 kg
- **Calories:** ~2,200 kcal
- **Meals:** Fries 200, Soup 100, Sushi 300, Natto Salad 200, Chips 150, Protein Shake 150, Fruits 200, Eggs 200, Gyoza 300, Onigiri 200, Ice cream 100, Chocolate 100
- **Hunger:** 4/10
- **Stress:** 4/10
- **Steps:** 6,265
- **Exercise:** 1h 28m
  - Walk: 1.71 km — 25m
  - Indoor cycling: 9.33 km — 20m
  - Strength: 23m — 16 sets
  - Yoga: 18m
- **Active Calories (COROS):** 699 kcal
- **Sleep:** 9h 11m
- **HRV:** 46 ms — Normal (baseline 48 ms; normal 43–53)
- **COROS Stress:** 21

**Note:** Weight dropped substantially today, but I may have been somewhat dehydrated, and I had a bowel movement before weighing in. I won't interpret the entire drop as actual weight loss.

**Summary:** Calories landed exactly at the current soft target, with manageable hunger and stress. Today's 73.9 kg is encouraging but unusually low relative to recent measurements, so wait for subsequent weigh-ins before interpreting the change. No reason to lower the calorie target right now.

20260901


index 202608 202610